From aebdb64814dadb8c8b38e8b31a5dad11f1e61d34 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Wed, 24 Apr 2024 00:23:54 -0400 Subject: [PATCH 01/66] ColEditor: Fix for exception when restoring color that doesn't exist --- PCK-Studio/Forms/Editor/COLEditor.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index 8d82aa14..a6eb38e0 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -450,15 +450,17 @@ namespace PckStudio.Forms.Editor if (tab == colorsTab) { - color = default_colourfile.Colors.Find(color => color.Name == node.Text).ColorPallette; + ColorContainer.Color col_entry = default_colourfile.Colors.Find(color => color.Name == node.Text); - if (color.IsEmpty) return; + if (col_entry == null) return; + + color = col_entry.ColorPallette; colorTextbox.Text = ColorTranslator.ToHtml(color).TrimStart('#'); } else { - var WaterEntry = default_colourfile.WaterColors.Find(color => color.Name == node.Text); + ColorContainer.WaterColor WaterEntry = default_colourfile.WaterColors.Find(color => color.Name == node.Text); if (WaterEntry == null) return; From 3812015cd76e8eab56391742c5a21a0bd7e8cf48 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Wed, 24 Apr 2024 12:48:21 -0400 Subject: [PATCH 02/66] AnimEditor: Fixed model checkbox enabling not setting correctly when both set --- PCK-Studio/Forms/Editor/ANIMEditor.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/PCK-Studio/Forms/Editor/ANIMEditor.cs b/PCK-Studio/Forms/Editor/ANIMEditor.cs index 172af4a1..49f40357 100644 --- a/PCK-Studio/Forms/Editor/ANIMEditor.cs +++ b/PCK-Studio/Forms/Editor/ANIMEditor.cs @@ -70,6 +70,7 @@ namespace PckStudio.Forms.Editor { IgnoreAndDo(item.Key, checkbox => { + checkbox.Enabled = true; // fix for checkboxes being stuck as disabled checkbox.Checked = state; switch(checkBoxLinkage[checkbox]) { @@ -82,7 +83,8 @@ namespace PckStudio.Forms.Editor checkbox.Enabled = state; break; case SkinAnimFlag.RESOLUTION_64x64: - if (state) checkbox.Checked = false; // Prioritize slim model > classic model, LCE would + checkbox.Enabled = !state; + if(state) checkbox.Checked = false; // Prioritize slim model > classic model, LCE would break; } anim.SetFlag(item.Value, checkbox.Checked); @@ -96,6 +98,12 @@ namespace PckStudio.Forms.Editor this.anim = anim; foreach (var item in checkBoxLinkage) { + /* + * not the best way to do this but whatever lol + * fix for both model flags being unset when both are set to true, with slim model prioritized of course + */ + if (item.Value == SkinAnimFlag.RESOLUTION_64x64 && anim.GetFlag(SkinAnimFlag.SLIM_MODEL)) continue; + item.Key.Checked = anim.GetFlag(item.Value); } } From bdf0411cd5731437c683d2540a4ceaf57dfc9834 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Wed, 24 Apr 2024 13:16:48 -0400 Subject: [PATCH 03/66] ColEditor: Added ability to add and remove colors (normal colors only) --- PCK-Studio/Forms/Editor/COLEditor.Designer.cs | 236 +++++++------- PCK-Studio/Forms/Editor/COLEditor.cs | 46 ++- PCK-Studio/Forms/Editor/COLEditor.resx | 298 ++++++++++-------- 3 files changed, 333 insertions(+), 247 deletions(-) diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs index c9d0ffcc..903df3a0 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs @@ -51,20 +51,8 @@ namespace PckStudio.Forms.Editor this.menuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.waterTab = new System.Windows.Forms.TabPage(); - this.waterTreeView = new System.Windows.Forms.TreeView(); - this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); - this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.underwaterTreeView = new System.Windows.Forms.TreeView(); - this.fogTreeView = new System.Windows.Forms.TreeView(); - this.colorsTab = new System.Windows.Forms.TabPage(); - this.colorTreeView = new System.Windows.Forms.TreeView(); - this.tabControl = new MetroFramework.Controls.MetroTabControl(); - this.underwaterTab = new System.Windows.Forms.TabPage(); - this.fogTab = new System.Windows.Forms.TabPage(); this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.stripPS4BiomesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.targetUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU12ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU13ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -79,7 +67,21 @@ namespace PckStudio.Forms.Editor this.TU54ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU69ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._1_9_1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.stripPS4BiomesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.waterTab = new System.Windows.Forms.TabPage(); + this.waterTreeView = new System.Windows.Forms.TreeView(); + this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); + this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.underwaterTreeView = new System.Windows.Forms.TreeView(); + this.fogTreeView = new System.Windows.Forms.TreeView(); + this.colorsTab = new System.Windows.Forms.TabPage(); + this.colorTreeView = new System.Windows.Forms.TreeView(); + this.tabControl = new MetroFramework.Controls.MetroTabControl(); + this.underwaterTab = new System.Windows.Forms.TabPage(); + this.fogTab = new System.Windows.Forms.TabPage(); + this.addColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.metroPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.blueUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.greenUpDown)).BeginInit(); @@ -308,6 +310,105 @@ namespace PckStudio.Forms.Editor this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); // + // toolsToolStripMenuItem + // + this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.stripPS4BiomesToolStripMenuItem, + this.targetUpdateToolStripMenuItem}); + this.toolsToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; + resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); + // + // stripPS4BiomesToolStripMenuItem + // + this.stripPS4BiomesToolStripMenuItem.Name = "stripPS4BiomesToolStripMenuItem"; + resources.ApplyResources(this.stripPS4BiomesToolStripMenuItem, "stripPS4BiomesToolStripMenuItem"); + this.stripPS4BiomesToolStripMenuItem.Click += new System.EventHandler(this.stripPS4BiomesToolStripMenuItem_Click); + // + // targetUpdateToolStripMenuItem + // + this.targetUpdateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.TU12ToolStripMenuItem, + this.TU13ToolStripMenuItem, + this.TU14ToolStripMenuItem, + this.TU19ToolStripMenuItem, + this.TU31ToolStripMenuItem, + this.TU32ToolStripMenuItem, + this.TU43ToolStripMenuItem, + this.TU46ToolStripMenuItem, + this.TU51ToolStripMenuItem, + this.TU53ToolStripMenuItem, + this.TU54ToolStripMenuItem, + this.TU69ToolStripMenuItem, + this._1_9_1ToolStripMenuItem}); + this.targetUpdateToolStripMenuItem.Name = "targetUpdateToolStripMenuItem"; + resources.ApplyResources(this.targetUpdateToolStripMenuItem, "targetUpdateToolStripMenuItem"); + // + // TU12ToolStripMenuItem + // + this.TU12ToolStripMenuItem.Name = "TU12ToolStripMenuItem"; + resources.ApplyResources(this.TU12ToolStripMenuItem, "TU12ToolStripMenuItem"); + // + // TU13ToolStripMenuItem + // + this.TU13ToolStripMenuItem.Name = "TU13ToolStripMenuItem"; + resources.ApplyResources(this.TU13ToolStripMenuItem, "TU13ToolStripMenuItem"); + // + // TU14ToolStripMenuItem + // + this.TU14ToolStripMenuItem.Name = "TU14ToolStripMenuItem"; + resources.ApplyResources(this.TU14ToolStripMenuItem, "TU14ToolStripMenuItem"); + // + // TU19ToolStripMenuItem + // + this.TU19ToolStripMenuItem.Name = "TU19ToolStripMenuItem"; + resources.ApplyResources(this.TU19ToolStripMenuItem, "TU19ToolStripMenuItem"); + // + // TU31ToolStripMenuItem + // + this.TU31ToolStripMenuItem.Name = "TU31ToolStripMenuItem"; + resources.ApplyResources(this.TU31ToolStripMenuItem, "TU31ToolStripMenuItem"); + // + // TU32ToolStripMenuItem + // + this.TU32ToolStripMenuItem.Name = "TU32ToolStripMenuItem"; + resources.ApplyResources(this.TU32ToolStripMenuItem, "TU32ToolStripMenuItem"); + // + // TU43ToolStripMenuItem + // + this.TU43ToolStripMenuItem.Name = "TU43ToolStripMenuItem"; + resources.ApplyResources(this.TU43ToolStripMenuItem, "TU43ToolStripMenuItem"); + // + // TU46ToolStripMenuItem + // + this.TU46ToolStripMenuItem.Name = "TU46ToolStripMenuItem"; + resources.ApplyResources(this.TU46ToolStripMenuItem, "TU46ToolStripMenuItem"); + // + // TU51ToolStripMenuItem + // + this.TU51ToolStripMenuItem.Name = "TU51ToolStripMenuItem"; + resources.ApplyResources(this.TU51ToolStripMenuItem, "TU51ToolStripMenuItem"); + // + // TU53ToolStripMenuItem + // + this.TU53ToolStripMenuItem.Name = "TU53ToolStripMenuItem"; + resources.ApplyResources(this.TU53ToolStripMenuItem, "TU53ToolStripMenuItem"); + // + // TU54ToolStripMenuItem + // + this.TU54ToolStripMenuItem.Name = "TU54ToolStripMenuItem"; + resources.ApplyResources(this.TU54ToolStripMenuItem, "TU54ToolStripMenuItem"); + // + // TU69ToolStripMenuItem + // + this.TU69ToolStripMenuItem.Name = "TU69ToolStripMenuItem"; + resources.ApplyResources(this.TU69ToolStripMenuItem, "TU69ToolStripMenuItem"); + // + // _1_9_1ToolStripMenuItem + // + this._1_9_1ToolStripMenuItem.Name = "_1_9_1ToolStripMenuItem"; + resources.ApplyResources(this._1_9_1ToolStripMenuItem, "_1_9_1ToolStripMenuItem"); + // // waterTab // this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; @@ -328,6 +429,8 @@ namespace PckStudio.Forms.Editor // ColorContextMenu // this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addColorToolStripMenuItem, + this.removeColorToolStripMenuItem, this.copyColorToolStripMenuItem, this.pasteColorToolStripMenuItem, this.restoreOriginalColorToolStripMenuItem}); @@ -416,104 +519,17 @@ namespace PckStudio.Forms.Editor resources.ApplyResources(this.fogTab, "fogTab"); this.fogTab.Name = "fogTab"; // - // toolsToolStripMenuItem + // addColorToolStripMenuItem // - this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.stripPS4BiomesToolStripMenuItem, - this.targetUpdateToolStripMenuItem}); - this.toolsToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); + this.addColorToolStripMenuItem.Name = "addColorToolStripMenuItem"; + resources.ApplyResources(this.addColorToolStripMenuItem, "addColorToolStripMenuItem"); + this.addColorToolStripMenuItem.Click += new System.EventHandler(this.addColorToolStripMenuItem_Click); // - // targetUpdateToolStripMenuItem + // removeColorToolStripMenuItem // - this.targetUpdateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.TU12ToolStripMenuItem, - this.TU13ToolStripMenuItem, - this.TU14ToolStripMenuItem, - this.TU19ToolStripMenuItem, - this.TU31ToolStripMenuItem, - this.TU32ToolStripMenuItem, - this.TU43ToolStripMenuItem, - this.TU46ToolStripMenuItem, - this.TU51ToolStripMenuItem, - this.TU53ToolStripMenuItem, - this.TU54ToolStripMenuItem, - this.TU69ToolStripMenuItem, - this._1_9_1ToolStripMenuItem}); - this.targetUpdateToolStripMenuItem.Name = "targetUpdateToolStripMenuItem"; - resources.ApplyResources(this.targetUpdateToolStripMenuItem, "targetUpdateToolStripMenuItem"); - // - // TU12ToolStripMenuItem - // - this.TU12ToolStripMenuItem.Name = "TU12ToolStripMenuItem"; - resources.ApplyResources(this.TU12ToolStripMenuItem, "TU12ToolStripMenuItem"); - // - // TU13ToolStripMenuItem - // - this.TU13ToolStripMenuItem.Name = "TU13ToolStripMenuItem"; - resources.ApplyResources(this.TU13ToolStripMenuItem, "TU13ToolStripMenuItem"); - // - // TU14ToolStripMenuItem - // - this.TU14ToolStripMenuItem.Name = "TU14ToolStripMenuItem"; - resources.ApplyResources(this.TU14ToolStripMenuItem, "TU14ToolStripMenuItem"); - // - // TU19ToolStripMenuItem - // - this.TU19ToolStripMenuItem.Name = "TU19ToolStripMenuItem"; - resources.ApplyResources(this.TU19ToolStripMenuItem, "TU19ToolStripMenuItem"); - // - // TU31ToolStripMenuItem - // - this.TU31ToolStripMenuItem.Name = "TU31ToolStripMenuItem"; - resources.ApplyResources(this.TU31ToolStripMenuItem, "TU31ToolStripMenuItem"); - // - // TU32ToolStripMenuItem - // - this.TU32ToolStripMenuItem.Name = "TU32ToolStripMenuItem"; - resources.ApplyResources(this.TU32ToolStripMenuItem, "TU32ToolStripMenuItem"); - // - // TU43ToolStripMenuItem - // - this.TU43ToolStripMenuItem.Name = "TU43ToolStripMenuItem"; - resources.ApplyResources(this.TU43ToolStripMenuItem, "TU43ToolStripMenuItem"); - // - // TU46ToolStripMenuItem - // - this.TU46ToolStripMenuItem.Name = "TU46ToolStripMenuItem"; - resources.ApplyResources(this.TU46ToolStripMenuItem, "TU46ToolStripMenuItem"); - // - // TU51ToolStripMenuItem - // - this.TU51ToolStripMenuItem.Name = "TU51ToolStripMenuItem"; - resources.ApplyResources(this.TU51ToolStripMenuItem, "TU51ToolStripMenuItem"); - // - // TU53ToolStripMenuItem - // - this.TU53ToolStripMenuItem.Name = "TU53ToolStripMenuItem"; - resources.ApplyResources(this.TU53ToolStripMenuItem, "TU53ToolStripMenuItem"); - // - // TU54ToolStripMenuItem - // - this.TU54ToolStripMenuItem.Name = "TU54ToolStripMenuItem"; - resources.ApplyResources(this.TU54ToolStripMenuItem, "TU54ToolStripMenuItem"); - // - // TU69ToolStripMenuItem - // - this.TU69ToolStripMenuItem.Name = "TU69ToolStripMenuItem"; - resources.ApplyResources(this.TU69ToolStripMenuItem, "TU69ToolStripMenuItem"); - // - // _1_9_1ToolStripMenuItem - // - this._1_9_1ToolStripMenuItem.Name = "_1_9_1ToolStripMenuItem"; - resources.ApplyResources(this._1_9_1ToolStripMenuItem, "_1_9_1ToolStripMenuItem"); - // - // stripPS4BiomesToolStripMenuItem - // - this.stripPS4BiomesToolStripMenuItem.Name = "stripPS4BiomesToolStripMenuItem"; - resources.ApplyResources(this.stripPS4BiomesToolStripMenuItem, "stripPS4BiomesToolStripMenuItem"); - this.stripPS4BiomesToolStripMenuItem.Click += new System.EventHandler(this.stripPS4BiomesToolStripMenuItem_Click); + this.removeColorToolStripMenuItem.Name = "removeColorToolStripMenuItem"; + resources.ApplyResources(this.removeColorToolStripMenuItem, "removeColorToolStripMenuItem"); + this.removeColorToolStripMenuItem.Click += new System.EventHandler(this.removeColorToolStripMenuItem_Click); // // COLEditor // @@ -595,5 +611,7 @@ namespace PckStudio.Forms.Editor private ToolStripMenuItem TU69ToolStripMenuItem; private ToolStripMenuItem _1_9_1ToolStripMenuItem; private ToolStripMenuItem stripPS4BiomesToolStripMenuItem; + private ToolStripMenuItem addColorToolStripMenuItem; + private ToolStripMenuItem removeColorToolStripMenuItem; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index a6eb38e0..e08943c0 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -98,7 +98,13 @@ namespace PckStudio.Forms.Editor cache.Add(tn); } - void SetUpTable(bool targetVersion) + void RemoveEntry(TreeNode entry, List cache) + { + cache.Remove(entry); + entry.Remove(); + } + + void SetUpTable(bool targetVersion) { colorTreeView.Nodes.Clear(); waterTreeView.Nodes.Clear(); @@ -598,5 +604,43 @@ namespace PckStudio.Forms.Editor SetUpTable(false); } } + + private void addColorToolStripMenuItem_Click(object sender, EventArgs e) + { + if(tabControl.SelectedTab == colorsTab) + { + using (TextPrompt prompt = new TextPrompt()) + { + prompt.OKButtonText = "Add"; + prompt.contextLabel.Text = "Insert the name of the color you would like to add"; + if(prompt.ShowDialog(this) == DialogResult.OK) + { + ColorContainer.Color entry = new ColorContainer.Color(); + entry.Name = prompt.NewText; + entry.ColorPallette = Color.FromArgb(0xFFFFFF); + + if(colourfile.Colors.Find(c => c.Name == entry.Name) != null) + { + MessageBox.Show(this, $"\"{entry.Name}\" already exists in this color table", "Color not added"); + } + + colourfile.Colors.Add(entry); + AddEntry(colorTreeView, colorCache, entry.Name, entry); + } + } + } + } + + private void removeColorToolStripMenuItem_Click(object sender, EventArgs e) + { + if (tabControl.SelectedTab == colorsTab + && colorTreeView.SelectedNode is TreeNode entry + && entry != null + && entry.Tag is ColorContainer.Color color) + { + colourfile.Colors.Remove(color); + RemoveEntry(entry, colorCache); + } + } } } diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx index b2003d3c..9f104911 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.resx +++ b/PCK-Studio/Forms/Editor/COLEditor.resx @@ -731,16 +731,142 @@ - 180, 22 + 98, 22 Save + + 47, 20 + + + Tools + + + 213, 22 + + + Remove PS4 Biome Colors + + + 213, 22 + + + Target Update + + + 416, 22 + + + TU12 (360) + + + 416, 22 + + + TU13/1.00 (360/PS3) + + + 416, 22 + + + TU14/1.04 (360/PS3) + + + 416, 22 + + + TU19/1.12/CU7 (360/PS3-4-Vita/XONE) + + + 416, 22 + + + TU31/1.22/CU19 (360/PS3-4-Vita/XONE) + + + 416, 22 + + + TU32/1.24/CU20/P3 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU43/1.35/CU32/P12 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU46/1.38/CU36/P15 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU51/1.44/CU41/P20 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU53/1.49/CU43/P23/1.0.3 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 416, 22 + + + TU54/1.52/CU44/P24/1.0.4 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 416, 22 + + + TU69/1.76/P38 (360/PS3-4-Vita/WIIU) + + + 416, 22 + + + 1.91 (PS4) + 125, 17 + + 180, 22 + + + Add Color + + + 180, 22 + + + Remove Color + + + 180, 22 + + + Copy Color + + + 180, 22 + + + Paste Color + + + 180, 22 + + + Restore Color + - 146, 70 + 181, 136 ColorContextMenu @@ -799,24 +925,6 @@ 1 - - 134, 22 - - - Copy Color - - - 134, 22 - - - Paste Color - - - 145, 22 - - - Restore Color - 0, 0 @@ -979,102 +1087,6 @@ 2 - - 47, 20 - - - Tools - - - 180, 22 - - - Target Update - - - 416, 22 - - - TU12 (360) - - - 416, 22 - - - TU13/1.00 (360/PS3) - - - 416, 22 - - - TU14/1.04 (360/PS3) - - - 416, 22 - - - TU19/1.12/CU7 (360/PS3-4-Vita/XONE) - - - 416, 22 - - - TU31/1.22/CU19 (360/PS3-4-Vita/XONE) - - - 416, 22 - - - TU32/1.24/CU20/P3 (360/PS3-4-Vita/XONE/WIIU) - - - 416, 22 - - - TU43/1.35/CU32/P12 (360/PS3-4-Vita/XONE/WIIU) - - - 416, 22 - - - TU46/1.38/CU36/P15 (360/PS3-4-Vita/XONE/WIIU) - - - 416, 22 - - - TU51/1.44/CU41/P20 (360/PS3-4-Vita/XONE/WIIU) - - - 416, 22 - - - TU53/1.49/CU43/P23/1.0.3 (360/PS3-4-Vita/XONE/WIIU/SWITCH) - - - 416, 22 - - - TU54/1.52/CU44/P24/1.0.4 (360/PS3-4-Vita/XONE/WIIU/SWITCH) - - - 416, 22 - - - TU69/1.76/P38 (360/PS3-4-Vita/WIIU) - - - 416, 22 - - - 1.91 (PS4) - - - 213, 22 - - - Remove PS4 Biome Colors - True @@ -3611,30 +3623,18 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - copyColorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - pasteColorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - restoreOriginalColorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - toolsToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + stripPS4BiomesToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + targetUpdateToolStripMenuItem @@ -3719,10 +3719,34 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - stripPS4BiomesToolStripMenuItem + + copyColorToolStripMenuItem - + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pasteColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + restoreOriginalColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + addColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + removeColorToolStripMenuItem + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 From 5d701727398ad3f6c975058605c90c99a3504dd1 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 24 Apr 2024 20:37:03 +0200 Subject: [PATCH 04/66] Update OMI submodule ref --- Vendor/OMI-Lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vendor/OMI-Lib b/Vendor/OMI-Lib index 06839b53..16893bc5 160000 --- a/Vendor/OMI-Lib +++ b/Vendor/OMI-Lib @@ -1 +1 @@ -Subproject commit 06839b53671c1280087633cdcf9eacab8aed46d6 +Subproject commit 16893bc51e459f48c6c95d3f5adbb231186728dd From ae8e9c0c234abfd255f1e9f871bf8819f8325c52 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Wed, 24 Apr 2024 14:47:47 -0400 Subject: [PATCH 05/66] Added file icons for copy, paste, and restore functions --- PCK-Studio/Properties/Resources.Designer.cs | 30 ++ PCK-Studio/Properties/Resources.resx | 289 ++++++++++---------- PCK-Studio/Resources/icons/file_copy.png | Bin 0 -> 212 bytes PCK-Studio/Resources/icons/file_paste.png | Bin 0 -> 175 bytes PCK-Studio/Resources/icons/file_restore.png | Bin 0 -> 241 bytes 5 files changed, 179 insertions(+), 140 deletions(-) create mode 100644 PCK-Studio/Resources/icons/file_copy.png create mode 100644 PCK-Studio/Resources/icons/file_paste.png create mode 100644 PCK-Studio/Resources/icons/file_restore.png diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index a4b2a0c7..cbb4dd6a 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -528,6 +528,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_copy { + get { + object obj = ResourceManager.GetObject("file_copy", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -578,6 +588,26 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_paste { + get { + object obj = ResourceManager.GetObject("file_paste", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_restore { + get { + object obj = ResourceManager.GetObject("file_restore", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 0f00925e..302b7724 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -118,11 +118,11 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\iconImageList\COL ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\anim_editor\classic_template.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\binka\mss32.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\iconImageList\GRH ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\fileTemplates\tu54colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -130,18 +130,36 @@ ..\Resources\NoImageFound.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\HamburgerMenuIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\Xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\fileTemplates\tu51colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\banners.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\iconImageList\ZZFolder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons\file_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\iconImageList\TEXTURE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\fileTemplates\tu32colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\moonPhaseData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\iconImageList\PCK ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -160,56 +178,134 @@ ..\Resources\iconImageList\ARROW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\fileTemplates\tu31colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\iconImageList\SKINS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\external\Discord.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\moon_phases.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\fileTemplates\tu13colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\iconImageList\GRH ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons\file_paste.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\mapIconData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\blockData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\fileTemplates\tu19colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\pckClosed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons\file_export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\fileTemplates\tu53colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\iconImageList\COL ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\entities.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\AddTexture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\anim_editor\classic_template.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons\music.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\iconImageList\ENTITY MATERIALS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\iconImageList\blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\paintingData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + + ..\Resources\atlases\entityMaterialsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 ..\Resources\iconImageList\IMAGE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\map_icons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\iconImageList\BINKA ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\external\trello.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\bannerData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\iconImageList\LOC ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\iconImageList\GRF ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\HamburgerMenuIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\experience_orbs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\entityBehavioursData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\binka\mss32.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\pckDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons\ranch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\explosion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\external\WiiU.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconImageList\ENTITY MATERIALS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\iconImageList\CAPE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\fileTemplates\tu19colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\external\PS3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\experienceOrbData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\icons\file_empty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pckOpen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\fileTemplates\1.91_colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -220,23 +316,32 @@ ..\Resources\iconImageList\INFO ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\atlases\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\explosionData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - ..\Resources\fileTemplates\tu53colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\particleData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\particles.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\binka\binkawin.asi;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\icons\file_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\atlases\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\additional_mapicons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\..\CHANGELOG.md;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + ..\Resources\TexturePackIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\binka\binkawin.asi;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\..\ProjectLogo.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\pack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -244,6 +349,12 @@ ..\Resources\fileTemplates\tu43colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\paintings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\..\CHANGELOG.md;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + ..\Resources\iconImageList\SKIN ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -253,133 +364,31 @@ ..\Resources\fileTemplates\tu12colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\itemData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\fileTemplates\tu14colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\atlases\entityModelsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\fileTemplates\tu69colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\external\Youtube.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\anim_editor\slim_template.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Comparison.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\pckOpen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\TexturePackIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconImageList\blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\entities.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\file_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\file_empty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\file_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\Discord.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\PS3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\WiiU.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\Xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\Youtube.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\music.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\file_export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\file_import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\icons\ranch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\..\ProjectLogo.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\moon_phases.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\additional_mapicons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\map_icons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\experience_orbs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\blockData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\experienceOrbData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\explosionData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\explosion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\itemData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\mapIconData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\moonPhaseData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\particleData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\particles.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\bannerData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\banners.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\paintingData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - ..\Resources\atlases\paintings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\external\trello.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\atlases\entityBehavioursData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\entityMaterialsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\atlases\entityModelsData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + ..\Resources\icons\file_restore.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/PCK-Studio/Resources/icons/file_copy.png b/PCK-Studio/Resources/icons/file_copy.png new file mode 100644 index 0000000000000000000000000000000000000000..a6532809376c3f8e82cb8f995b933de10f3b3f0e GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enFw@h;F~q`u>jZDU1_usj?(h4H?`9Z@q+EF6 z9q}Q%o$=p+yPOV>1v4Ltyp^=bo_B$9)#jNmeH>}DXJ+ae{A_mk$`rP-xb7_D>-Abvf!@hafR-|Ny85}Sb4q9e E0FLZQr~m)} literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/icons/file_paste.png b/PCK-Studio/Resources/icons/file_paste.png new file mode 100644 index 0000000000000000000000000000000000000000..71cdecd1b846cebf1ba3cc9b0a6d25d1c1d0660c GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en(8bfmF~q_@IpqNFzr`OVFaEGNSg+EfbnM8H zmOPEFl@gO!7?hcTKv>MN#_y=Me;45p%;Fg&XaOX16 OJO)o!KbLh*2~7akx-ne< literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/icons/file_restore.png b/PCK-Studio/Resources/icons/file_restore.png new file mode 100644 index 0000000000000000000000000000000000000000..f524aef7e9517825f844e3bda22ace891cd20eb3 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enu+7uOF~q{ZcY>o3iy{ZJ^Pm6I&&C~DDsbcN zDoc+!Y>a#=tPB47*%`(D@HT3l*E`9~BT`$lyM4~dGb{`~j@~h!qPT;~_Qkr@G62~-Olh#dc(Z)uZ_xbKS_3=ix@mz{an^LB{Ts5msnMG literal 0 HcmV?d00001 From 8d487f8e3c125bc55a8b9433f81a0feb13793fd7 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Wed, 24 Apr 2024 14:49:11 -0400 Subject: [PATCH 06/66] ColEditor: Updated context menu -Added icons for context menu items -Context menu items now only appear in the proper context --- PCK-Studio/Forms/Editor/COLEditor.Designer.cs | 39 +- PCK-Studio/Forms/Editor/COLEditor.cs | 20 +- PCK-Studio/Forms/Editor/COLEditor.resx | 332 +++++------------- 3 files changed, 119 insertions(+), 272 deletions(-) diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs index 903df3a0..30338f00 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs @@ -73,6 +73,8 @@ namespace PckStudio.Forms.Editor this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.underwaterTreeView = new System.Windows.Forms.TreeView(); this.fogTreeView = new System.Windows.Forms.TreeView(); this.colorsTab = new System.Windows.Forms.TabPage(); @@ -80,8 +82,6 @@ namespace PckStudio.Forms.Editor this.tabControl = new MetroFramework.Controls.MetroTabControl(); this.underwaterTab = new System.Windows.Forms.TabPage(); this.fogTab = new System.Windows.Forms.TabPage(); - this.addColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.removeColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.metroPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.blueUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.greenUpDown)).BeginInit(); @@ -429,32 +429,49 @@ namespace PckStudio.Forms.Editor // ColorContextMenu // this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addColorToolStripMenuItem, - this.removeColorToolStripMenuItem, this.copyColorToolStripMenuItem, this.pasteColorToolStripMenuItem, - this.restoreOriginalColorToolStripMenuItem}); + this.restoreOriginalColorToolStripMenuItem, + this.addColorToolStripMenuItem, + this.removeColorToolStripMenuItem}); this.ColorContextMenu.Name = "ColorContextMenu"; resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu"); // // copyColorToolStripMenuItem // + this.copyColorToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_copy; this.copyColorToolStripMenuItem.Name = "copyColorToolStripMenuItem"; resources.ApplyResources(this.copyColorToolStripMenuItem, "copyColorToolStripMenuItem"); this.copyColorToolStripMenuItem.Click += new System.EventHandler(this.copyColorToolStripMenuItem_Click); // // pasteColorToolStripMenuItem // + this.pasteColorToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_paste; this.pasteColorToolStripMenuItem.Name = "pasteColorToolStripMenuItem"; resources.ApplyResources(this.pasteColorToolStripMenuItem, "pasteColorToolStripMenuItem"); this.pasteColorToolStripMenuItem.Click += new System.EventHandler(this.pasteColorToolStripMenuItem_Click); // // restoreOriginalColorToolStripMenuItem // + this.restoreOriginalColorToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_restore; this.restoreOriginalColorToolStripMenuItem.Name = "restoreOriginalColorToolStripMenuItem"; resources.ApplyResources(this.restoreOriginalColorToolStripMenuItem, "restoreOriginalColorToolStripMenuItem"); this.restoreOriginalColorToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalColorToolStripMenuItem_Click); // + // addColorToolStripMenuItem + // + this.addColorToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_new; + this.addColorToolStripMenuItem.Name = "addColorToolStripMenuItem"; + resources.ApplyResources(this.addColorToolStripMenuItem, "addColorToolStripMenuItem"); + this.addColorToolStripMenuItem.Click += new System.EventHandler(this.addColorToolStripMenuItem_Click); + // + // removeColorToolStripMenuItem + // + this.removeColorToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_delete; + this.removeColorToolStripMenuItem.Name = "removeColorToolStripMenuItem"; + resources.ApplyResources(this.removeColorToolStripMenuItem, "removeColorToolStripMenuItem"); + this.removeColorToolStripMenuItem.Click += new System.EventHandler(this.removeColorToolStripMenuItem_Click); + // // underwaterTreeView // this.underwaterTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); @@ -519,18 +536,6 @@ namespace PckStudio.Forms.Editor resources.ApplyResources(this.fogTab, "fogTab"); this.fogTab.Name = "fogTab"; // - // addColorToolStripMenuItem - // - this.addColorToolStripMenuItem.Name = "addColorToolStripMenuItem"; - resources.ApplyResources(this.addColorToolStripMenuItem, "addColorToolStripMenuItem"); - this.addColorToolStripMenuItem.Click += new System.EventHandler(this.addColorToolStripMenuItem_Click); - // - // removeColorToolStripMenuItem - // - this.removeColorToolStripMenuItem.Name = "removeColorToolStripMenuItem"; - resources.ApplyResources(this.removeColorToolStripMenuItem, "removeColorToolStripMenuItem"); - this.removeColorToolStripMenuItem.Click += new System.EventHandler(this.removeColorToolStripMenuItem_Click); - // // COLEditor // resources.ApplyResources(this, "$this"); diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index e08943c0..5c9bfb10 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -172,14 +172,12 @@ namespace PckStudio.Forms.Editor { if(add) { - //alphaUpDown.ValueChanged += color_ValueChanged; redUpDown.ValueChanged += color_ValueChanged; greenUpDown.ValueChanged += color_ValueChanged; blueUpDown.ValueChanged += color_ValueChanged; } else { - //alphaUpDown.ValueChanged -= color_ValueChanged; redUpDown.ValueChanged -= color_ValueChanged; greenUpDown.ValueChanged -= color_ValueChanged; blueUpDown.ValueChanged -= color_ValueChanged; @@ -191,7 +189,10 @@ namespace PckStudio.Forms.Editor if (colorTreeView.SelectedNode.Tag == null) return; - waterTreeView.SelectedNode = null; + addColorToolStripMenuItem.Visible = true; + removeColorToolStripMenuItem.Visible = true; + + waterTreeView.SelectedNode = null; underwaterTreeView.SelectedNode = null; fogTreeView.SelectedNode = null; @@ -213,6 +214,9 @@ namespace PckStudio.Forms.Editor if (waterTreeView.SelectedNode.Tag == null) return; + addColorToolStripMenuItem.Visible = false; + removeColorToolStripMenuItem.Visible = false; + colorTreeView.SelectedNode = null; underwaterTreeView.SelectedNode = null; fogTreeView.SelectedNode = null; @@ -237,7 +241,10 @@ namespace PckStudio.Forms.Editor if (underwaterTreeView.SelectedNode.Tag == null) return; - colorTreeView.SelectedNode = null; + addColorToolStripMenuItem.Visible = false; + removeColorToolStripMenuItem.Visible = false; + + colorTreeView.SelectedNode = null; waterTreeView.SelectedNode = null; fogTreeView.SelectedNode = null; @@ -259,7 +266,10 @@ namespace PckStudio.Forms.Editor if (fogTreeView.SelectedNode.Tag == null) return; - colorTreeView.SelectedNode = null; + addColorToolStripMenuItem.Visible = false; + removeColorToolStripMenuItem.Visible = false; + + colorTreeView.SelectedNode = null; waterTreeView.SelectedNode = null; underwaterTreeView.SelectedNode = null; diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx index 9f104911..bce61f42 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.resx +++ b/PCK-Studio/Forms/Editor/COLEditor.resx @@ -117,210 +117,18 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - metroTextBox1 - - - MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 2 - - - metroLabel2 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 3 - - - setColorBtn - - - MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 4 - - - blueUpDown - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - metroPanel1 - - - 5 - - - greenUpDown - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - metroPanel1 - - - 6 - - - redUpDown - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - metroPanel1 - - - 7 - - - alphaUpDown - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - metroPanel1 - - - 8 - - - alphaLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 9 - - - blueLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 10 - - - greenLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 11 - - - redLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 12 - - - colorTextbox - - - MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 13 - - - metroLabel1 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - metroPanel1 - - - 14 - - - pictureBox1 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - metroPanel1 - - - 15 - - - Fill - - - - 20, 60 - - - 612, 523 - - - - 0 - - - metroPanel1 - - - MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 3 - + 113, 1 21, 21 + 0 @@ -684,42 +492,36 @@ 15 + + Fill + + + 20, 60 + + + 612, 523 + + + 0 + + + metroPanel1 + + + MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 3 + 17, 17 False - - 20, 60 - - - 612, 24 - - - 3 - - - menuStrip1 - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - 37, 20 - - - File - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -736,11 +538,11 @@ Save - - 47, 20 + + 37, 20 - - Tools + + File 213, 22 @@ -748,12 +550,6 @@ Remove PS4 Biome Colors - - 213, 22 - - - Target Update - 416, 22 @@ -832,41 +628,77 @@ 1.91 (PS4) + + 213, 22 + + + Target Update + + + 47, 20 + + + Tools + + + 20, 60 + + + 612, 24 + + + 3 + + + menuStrip1 + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + 125, 17 - - 180, 22 - - - Add Color - - - 180, 22 - - - Remove Color - - 180, 22 + 149, 22 Copy Color - 180, 22 + 149, 22 Paste Color - 180, 22 + 149, 22 Restore Color + + 149, 22 + + + Add Color + + + 149, 22 + + + Remove Color + - 181, 136 + 150, 114 ColorContextMenu From d7375f95d66b66459406e79002066b0476ecaabb Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 26 Apr 2024 21:05:23 +0200 Subject: [PATCH 07/66] MainForm - Remove move up/down menu items in favor of drag n' drop --- PCK-Studio/MainForm.Designer.cs | 48 ++++++++++------------------- PCK-Studio/MainForm.cs | 53 --------------------------------- 2 files changed, 16 insertions(+), 85 deletions(-) diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 48c707c4..00115d16 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -75,8 +75,7 @@ this.setModelContainerFormatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.version3114ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.renameFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -150,9 +149,8 @@ this.label11 = new MetroFramework.Controls.MetroLabel(); this.treeViewMain = new System.Windows.Forms.TreeView(); this.imageList = new System.Windows.Forms.ImageList(this.components); - this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox(); - this.version3114ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox(); logoPictureBox = new System.Windows.Forms.PictureBox(); toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); @@ -204,8 +202,6 @@ this.exportToolStripMenuItem, this.setFileTypeToolStripMenuItem, this.miscFunctionsToolStripMenuItem, - this.moveUpToolStripMenuItem, - this.moveDownToolStripMenuItem, this.extractToolStripMenuItem, this.cloneFileToolStripMenuItem, this.renameFileToolStripMenuItem, @@ -478,17 +474,11 @@ resources.ApplyResources(this.version2ToolStripMenuItem, "version2ToolStripMenuItem"); this.version2ToolStripMenuItem.Click += new System.EventHandler(this.setModelVersion2ToolStripMenuItem_Click); // - // moveUpToolStripMenuItem + // version3114ToolStripMenuItem // - this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; - resources.ApplyResources(this.moveUpToolStripMenuItem, "moveUpToolStripMenuItem"); - this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click); - // - // moveDownToolStripMenuItem - // - this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; - resources.ApplyResources(this.moveDownToolStripMenuItem, "moveDownToolStripMenuItem"); - this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click); + this.version3114ToolStripMenuItem.Name = "version3114ToolStripMenuItem"; + resources.ApplyResources(this.version3114ToolStripMenuItem, "version3114ToolStripMenuItem"); + this.version3114ToolStripMenuItem.Click += new System.EventHandler(this.setModelVersion3ToolStripMenuItem_Click); // // extractToolStripMenuItem // @@ -1118,13 +1108,13 @@ this.treeViewMain.Name = "treeViewMain"; this.treeViewMain.PathSeparator = "/"; this.treeViewMain.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit); - this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.selectNode); - this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick); - this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown); this.treeViewMain.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeViewMain_ItemDrag); + this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.selectNode); this.treeViewMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragDrop); this.treeViewMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragEnter); this.treeViewMain.DragOver += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragOver); + this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick); + this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown); // // imageList // @@ -1132,15 +1122,6 @@ resources.ApplyResources(this.imageList, "imageList"); this.imageList.TransparentColor = System.Drawing.Color.Transparent; // - // LittleEndianCheckBox - // - resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox"); - this.LittleEndianCheckBox.BackColor = System.Drawing.Color.Transparent; - this.LittleEndianCheckBox.Name = "LittleEndianCheckBox"; - this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.LittleEndianCheckBox.UseSelectable = true; - // // previewPictureBox // resources.ApplyResources(this.previewPictureBox, "previewPictureBox"); @@ -1149,11 +1130,14 @@ this.previewPictureBox.Name = "previewPictureBox"; this.previewPictureBox.TabStop = false; // - // version3114ToolStripMenuItem + // LittleEndianCheckBox // - this.version3114ToolStripMenuItem.Name = "version3114ToolStripMenuItem"; - resources.ApplyResources(this.version3114ToolStripMenuItem, "version3114ToolStripMenuItem"); - this.version3114ToolStripMenuItem.Click += new System.EventHandler(this.setModelVersion3ToolStripMenuItem_Click); + resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox"); + this.LittleEndianCheckBox.BackColor = System.Drawing.Color.Transparent; + this.LittleEndianCheckBox.Name = "LittleEndianCheckBox"; + this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White; + this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.LittleEndianCheckBox.UseSelectable = true; // // MainForm // diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 63373246..2d64a956 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2467,59 +2467,6 @@ namespace PckStudio MessageBox.Show(this, "Already up to date.", "No update available"); } - [Obsolete] // the move functions are to eventually be removed in favor of drag and drop - private void moveFile(int amount) - { - if (treeViewMain.SelectedNode is not TreeNode t || t.Tag is not PckAsset) - return; - - PckAsset file = t.Tag as PckAsset; - string path = t.FullPath; - - // skin and cape files only - if (!(file.Type == PckAssetType.SkinFile || file.Type == PckAssetType.CapeFile)) return; - - PckFile pck = currentPCK; - bool IsSubPCK = IsSubPCKNode(path); - if (IsSubPCK) - { - using (var stream = new MemoryStream((GetSubPCK(path).Tag as PckAsset).Data)) - { - var reader = new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); - pck = reader.FromStream(stream); - } - } - - int index = pck.IndexOfFile(file); - - try - { - if (index + amount < 0 || index + amount > pck.FileCount) return; - pck.RemoveFile(file); - pck.InsertFile(index + amount, file); - - if (IsSubPCK) - { - using (var stream = new MemoryStream()) - { - var writer = new PckFileWriter(pck, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); - writer.WriteToStream(stream); - (GetSubPCK(path).Tag as PckAsset).SetData(stream.ToArray()); - } - } - BuildMainTreeView(); - wasModified = true; - } - catch(Exception ex) - { - MessageBox.Show(this, "Can't move file under or above a folder"); - } - } - [Obsolete] - private void moveUpToolStripMenuItem_Click(object sender, EventArgs e) => moveFile(-1); - [Obsolete] - private void moveDownToolStripMenuItem_Click(object sender, EventArgs e) => moveFile(1); - private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); From ea77b6b6d2fc13e777af8db236b88a83c368b51a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 26 Apr 2024 21:52:44 +0200 Subject: [PATCH 08/66] MainForm - Make context menu entries only show on appropriate items --- PCK-Studio/MainForm.Designer.cs | 3 +- PCK-Studio/MainForm.cs | 50 +- PCK-Studio/MainForm.resx | 6406 +++++++++++++++---------------- 3 files changed, 3207 insertions(+), 3252 deletions(-) diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 00115d16..3f878a54 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -209,6 +209,7 @@ this.deleteFileToolStripMenuItem}); this.contextMenuPCKEntries.Name = "contextMenuStrip1"; resources.ApplyResources(this.contextMenuPCKEntries, "contextMenuPCKEntries"); + this.contextMenuPCKEntries.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuPCKEntries_Opening); // // createToolStripMenuItem // @@ -1283,8 +1284,6 @@ private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem moveUpToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem moveDownToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem joinDevelopmentDiscordToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem trelloBoardToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem recentlyOpenToolStripMenuItem; diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 2d64a956..8e97ff76 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -814,7 +814,8 @@ namespace PckStudio OpenFolderDialog dialog = new OpenFolderDialog(); dialog.Title = @"Select destination folder"; - if (dialog.ShowDialog(Handle) == true) extractFolder(dialog.ResultPath); + if (dialog.ShowDialog(Handle) == true) + extractFolder(dialog.ResultPath); } else if (node.TryGetTagData(out PckAsset file)) { @@ -872,8 +873,10 @@ namespace PckStudio switch (file.Type) { case PckAssetType.TextureFile: - if (Path.GetExtension(file.Filename) == ".png") extra_extensions = ";*.tga"; - else if (Path.GetExtension(file.Filename) == ".tga") extra_extensions = ";*.png"; + if (Path.GetExtension(file.Filename) == ".png") + extra_extensions = ";*.tga"; + else if (Path.GetExtension(file.Filename) == ".tga") + extra_extensions = ";*.png"; break; } @@ -2565,5 +2568,46 @@ namespace PckStudio private void setModelVersion2ToolStripMenuItem_Click(object sender, EventArgs e) => SetModelVersion(1); private void setModelVersion3ToolStripMenuItem_Click(object sender, EventArgs e) => SetModelVersion(2); + + private void contextMenuPCKEntries_Opening(object sender, System.ComponentModel.CancelEventArgs e) + { + if (treeViewMain?.SelectedNode == null) + { + e.Cancel = true; + return; + } + + correctSkinDecimalsToolStripMenuItem.Visible = false; + generateMipMapTextureToolStripMenuItem1.Visible = false; + setModelContainerFormatToolStripMenuItem.Visible = false; + setSubPCKEndiannessToolStripMenuItem.Visible = false; + exportToolStripMenuItem.Visible = false; + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) + { + replaceToolStripMenuItem.Visible = true; + cloneFileToolStripMenuItem.Visible = true; + setFileTypeToolStripMenuItem.Visible = true; + miscFunctionsToolStripMenuItem.Visible = true; + + if (asset.Type == PckAssetType.SkinFile) + { + correctSkinDecimalsToolStripMenuItem.Visible = true; + exportToolStripMenuItem.Visible = true; + } + if (asset.Type == PckAssetType.TextureFile) + generateMipMapTextureToolStripMenuItem1.Visible = true; + if (asset.Type == PckAssetType.ModelsFile) + setModelContainerFormatToolStripMenuItem.Visible = true; + if (asset.Type == PckAssetType.SkinDataFile || asset.Type == PckAssetType.TexturePackInfoFile || asset.Type == PckAssetType.AudioFile) + setSubPCKEndiannessToolStripMenuItem.Visible = true; + } + else + { + replaceToolStripMenuItem.Visible = false; + cloneFileToolStripMenuItem.Visible = false; + setFileTypeToolStripMenuItem.Visible = false; + miscFunctionsToolStripMenuItem.Visible = false; + } + } } } \ No newline at end of file diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index dd4ca305..f4d0fc7e 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -124,681 +124,660 @@ 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 - itPtJO1BN8kZM/CL+ReVJtKvTC+jk/HV52E2qlaRdm679HtKPz3Mf+LECXM8Hv9v4B3Tj0fq6urudjqd - H3W7XVgXviQcDl8UDocvDvgDl9fX19/gdrvvOHHixG/BFqG/9R4PkTecPw6Tw57JOEiFbVO7Ag3ERzod - xEeaLeb7LVbLLVab9Xr7UfsHnE7nRVhn9Xg8l7hcrmsdDsfNdrv9Uxar5XGT2fQVq9X6/ZaWln9wez3k - iBJkS+Tr5brPeMPkRGzCR23D52P/q9dxmTLbU++hx58gX6/Hg2NMR4LB4J9ZzOZv2Gy2Aw6HA+t/t9d7 - 65HpuCIYDF4Ui8XObU4072hpbc2xn/elWG2W7VarZZfVatltsVgut1jMN5jN5ltNJtP9JqPxaYPB8BW9 - Xv+qTqf7jdra2jdqamoOVldXH6yuPkw+a2qqD+J7/I7rjAbDV3Cf2WS6H+1YLJYbrBbL5VardbfNat1l - s9k0jXYrSkdHx7Z4Ir4jFAqd29Dg2+2t917mdruvh3LYbLa7zRbLg0aT8Wm9Qf9CbW3tN6qrq7996NDh - 1997770fvPvuu2/88pe//OHPf/GLgz//+c9z6y9+cfCXv/zlwXfffffge++9d/DQoUMY/w9ramq/r9Md - +Y7BYPi6yWT6ksViedxmsyOK/jj6huBDodAHwuHwZYFA4Jr6+vqbMJNzOBwP22y2L1gslpdMJtNrBoPh - ezqd7o3a2tqD4DEq/sZ3er3+dYPB8E2TyfQ1s9n8rNVq/bzdbr+9rq7uRqfTeYXX493T2Nh4YYOvYbfH - 47nU6XReh/5BB+gBXaDviO7Id2pra79fU1PzQypDWnlfR3RH3gAdJqPxNbPZ/KLFYnnOarU+ZLPZ9tvt - 9pvq6uqudjgcF7uczvM8HnfOrKJQCQSCVR6P91yn07mnrq7uKpvNjpnPnWaz+UGj0XTAYDC8qNPpvlVT - U/t6dXX1G+Av+Ax+g++ov5BlItRf/JzI54fvvvvuDyHPw4cOfa+6uhrjfVWv13/VaDQeMJvNj1it1k/b - 7fZbHXWOG51O11Uul2uvx+05v95bv7O+3qepm1arbbvVatsFHbZYrJdDp6mNmO83Gk0FbCSLv6qN4Hro - IWwM7ZgtlhuI7Vmtu2k/2jYSTyS2+QOB7Y2Njbu8Xu/5brd7r8vlusrhcCAjcpvNZv2M2Wx+1GgyPqc3 - 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 - +mHcbTKZARREP1wu1zler2eXv7FxRzgU2h6PN+XQH/AHtnk93u3IPDjqHAjwzrFarOdZTOYLTEbThbAZ - g95w0RHdEWpTvDI7Bt+IjzQw+RsN5xqMhl0Go2GHwWiogg+W+4Segp8er7fK6XLttNvtuyxW67mwS4PB - qPpm1V7UsVbnqfl/q62p2aOrrd1zRAf5Goj9W8zmC+w223mOurpzXC7nTmwa8zc2bg+HQjm0/soWvV6/ - jdXtqEeO6KqOHNHtOKLT7dDRulOnq91Zm1V1pOqO6HbQemSHXq+v4m2gPYNe/yvBBKTDvF7vNpfLtd1m - s2HmUGU0muBUCN0YT01tDav4O3+tRSX80GG8pA0jZr1mU5XVatlus1u3OV3OrHHX1/u2uV3ubU6HE7vs - qiwWS5XJZN5hNBp36CkNKj9Vvup0O0n7ej0ChB0mg7HKbDQhpbvdarZss2msx9Q5jm6z2W3brFbrdtAD - umA8eoOejBNtgn4dqTpadbqdR3RHSOX9sVpl0Ou3oxr1+m2ocn/lFoPesE2vN2w7otNvP6I7glrF9GuH - rhaV8ZfXmhpaawtXzivw02w27bBarVV1jroqj9ezvdHfuD0U3rwxctr1esN2WomuU91nNpJtH7TCbsjv - zE5gW6KN6A2b5ytKJBrdFgB41NdvdzgdVVai51THDHo9kXVtDXjKK+OtVGvkCh7raqluGA07TCbTDqTN - 7EftACnMLDDDKGkMnnrvNqfHtc3hcmy32m1VZivSr6YdBhPsgPAywzuiA6x/VEKfSH92rSlQa2uJfuw0 - GI07TAjSrFYEgFivxNJFybMPp8O5rc5+dJvdZocNEns0GYw7jHrDDr3uyA7YkGpXgn1xHQcPVR9p0G83 - GPTbUOV+5OJ0OrfZjx7dZrXZtpvN5iqj0Vhl0BvQH2mX2gqrhF+SHan2JMme209t7U74e/gyIl+LpQrZ - GY/LjczXtmAgUJTGSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmU - SqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmU - SqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmUSqmU - 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 + 8+BMiU9xSj9GDDCHwDUcMkHMV8I4YKwwEz0K5TTDbjg/NnbZmEsvwcYuuVQYpxwTXCyU8g2YMaMA9NIJ + QlbKc/bsWePhf9yV868cRwU+9urlV49ddc3mO2PQDmDbQrL1wvZLH2n1jwL0m3S/9BN9i3ENH0E3I+Ij + 165ePWaFyYNijmQzbk6y88LG0GHSNcktA2RXAwTAVlDG8CCv2hKBdbzbZhRPJilXFq4wuuJh8dIlYxYs + Xjhm/sL5Y+fMgz7wYKfjL5ulHyRZNmWXbKCcX4CWVvpbgeTVFkhq0j+BAmI8iTTZBwWAzyt9dNH16gP/ + HXPlvCvGzJs7Tx9M/ohfjp/5M3zskkuJl5c2/SoAuyjtI8ULoND/ZfgWuhdK9G0bxdkYVm1j0OlYdErs + wq+Zk/kS3sJXSkjy8rMGok+SZSlXQL8z3hvLkn6JT+7OLKZwXrZ0KSvWFSNio/3Wb/3Wb/3Wb/3Wb/3W + b/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3W + b/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3W + b/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb/3Wb1uy/Yf/8P8D4rKD + rca4/zIAAAAASUVORK5CYII= @@ -857,8 +836,9 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAAwSURBVDhPY/j/ - /z8DJRhDAI5FGf6jYHT5UQPQDEBXTCweTgZgw1gUY8MYAqMGkI4B8bClX7FZFPQAAAAASUVORK5CYII= + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ + /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + TkSuQmCC @@ -870,9 +850,10 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABoSURBVDhPvcxB - CsAgDAVRL9GLZ+81cj2L0kA61UQoGPjgwnmlPFdrbavZn/AY+alqjjAikCKMZkCIMFoBS4SRn4h8xj4E - Zgj7FCDCfgvwCPstoF1l7DfQ3+xDwELuHECov1/xMcDPuhsgou11NRjL2QAAAABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB + DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW + mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF + TkSuQmCC @@ -893,79 +874,19 @@ Set File Type - - 223, 22 - - - Generate MipMap Texture - - - 223, 22 - - - View File Info - - - 223, 22 - - - Correct Skin Decimals - - - 223, 22 - - - Set SubPCK Endianness - - - 216, 22 - - - Version 1 (Pre 1.13) - - - 216, 22 - - - Version 2 (1.13) - - - 216, 22 - - - Version 3 (1.14 [PS4 ONLY]) - - - 223, 22 - - - Set Model Container Format - 180, 22 Misc. Functions - - 180, 22 - - - Move Up - - - 180, 22 - - - Move Down - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACOSURBVDhPpZJd - DoAwCIPZzwV2/8NiMGnEwlDjQ+MC9aNDRVXF1HtXEdnK+vB6XYfzGA3ozTlTyGuAPVtrARJMmXxvjHGD - pCYW99Zaamk+AfySLQX8KQBGBnmFBLwcM1SQkCATYnM9ADCN5eslYKfqGo8Av+lMAeCXaJMNwC+VgGpa - pt8AJL4V+CtUwo90ADqxXn/OjxN+AAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACYSURBVDhPpZBZ + CsQwDEOd5QK5/2E9qCBGXtopzMcDxxKyY3P3izmnm9kt0OlVvsVVVgOAtvduQ4KJdYbaGKOEFFOHamut + ENKaMlk75zi2QX1rUqDpkbEF/cGktb47ygb5ODA8hVArgsK1cx+EAE7LaB8+hb3QzDx942eAXrqjBOgR + MRkBfHeUADbe8ncANw4NhLwF33R3+wA6sV5/E8GOLwAAAABJRU5ErkJggg== @@ -983,8 +904,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAACRJREFUOE9jYMAE/wlgkgBZmpDBqAGjBoDAqAFkGgDThAujAADOGivVQUoauAAA - AABJRU5ErkJggg== + vAAADrwBlbxySQAAACVJREFUOE9jwAL+E8AkAbI0IYNRA0YNAIFRA8g0AKYJF0YCDAwAzhor1TRE/JoA + AAAASUVORK5CYII= @@ -996,11 +917,11 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAC4SURBVDhPlVJR - DoUgDFsI/x7A63AvDso/XIBvfNliycCBviXLsLG11BERUYxRmiuEcPyDAbi4vfcyde/I8gyBWuvF1VqT - ZiylJHNFBkb8ZU3mMtzY5BscyJYbi9xzgIBFfnPTM1iRGdMO+XwL7kPUgtqhdrMNUQtaDnGVzyFa2BAi - 2gisYyDmnHsO5m9ZBasxPusQ4UKmc+6cbYOs52OZZtv6zmwbgqUUvGeuJ8J5CM7YsExWDl+wH0Tk2pdR - m6i0AAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAC/SURBVDhPlVHB + DQMhDEOIfwfoOuzFoPxhAd5c6/SMAgq0tRQFmdgXfA5IKUkBMcbHPxyJCxVCkK7rm+EwaK1dQO9dClzO + WfpOTM7hy1oMGNvY4pucxNY2p6cAWzFw2oZuMmiJweGeHM634UdLg50YwD05vQ2fYoaoDTEMrJyIfw3R + 4qYQWUZgg6OwlDJyMH8LcwF2T8FZ5kYQb4Lde/9Et8S6Dy1z0LUGi7VpWGvl3Lw2V98ZrtwIUYktwwPn + 3AtE5NqX8pp0ZQAAAABJRU5ErkJggg== @@ -1012,9 +933,10 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABUSURBVDhP7Y1B - CgAgCAR9h5/t6UaSIGumxw4Jk6DtSJTUIBIP7q+1A+xGXErwYgXmVSAi6ykJArR3CRK8lBHCXoD9NPuC - 5wUdUkFHYv8wr2XLCp+ZnLh7mCW3DEkAAAAASUVORK5CYII= + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACESURBVDhPlY0B + DoAgDAP3Dj7r09WTkqGUgJfUxtrOmHFEnL0U76FBqW8PZXmk/9uONEsIb3gsNRzoL/+R5hWC759mGsbQ + DnzdZbhmiSvhLsM1S1wJdxmuWeJKuMtwzRJXwl2Ga5a4Eu4yXLPElXCX4Zol/WCl6YGdI62n2Zv2cSXV + byIunLh7mD2ySLcAAAAASUVORK5CYII= @@ -1024,7 +946,7 @@ Delete - 181, 290 + 181, 246 contextMenuPCKEntries @@ -1035,9 +957,9 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABHSURBVDhPY2AY - FOD/Aob/GHillCC6Opzg/26p//9PaZCGT+qwIAxAlyQSj0gDRBkgmP4GwDSiYToagG4QlA83gFiAYfOg - AAD7x53AAJUk8AAAAABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABVSURBVDhPYxgc + 4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADsCkgAkO1jywDRIGxA8JQPlQ7PQyAaUTDUO30MACG + YZqhfKh24gGGzYMAMDAAAPvHncAZVkkSAAAAAElFTkSuQmCC @@ -1049,17 +971,17 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAImSURBVDhPpc/d - T1JxHMdxLosny82tHI9pRSeKWt4oA3mQw+aQ1lq2pdFKBQ5x6OzMaYkmlSWksS6aF8Jqri4UbT1g5jS6 - 7D9p66Yu6ybOp50vAoN10/ptr52d7fd9f89RKP73AFDYTBoweg1OGjSwGVuIRa8inYf2kWPtSmI1qOie - fF+erQSMLbDq1I0BnYocObyfdLRXMAZ5kRYndOp6QB5sdq7zIPEwB+BhWtHLtBF5WCZ/XUNgfIjF7PV+ - zI0GyWL8MhZvDiIbCeJJNIgF7gKZuuTGnUEnTpu1jYGVVBhbmThKWZF8WUqR0oJYkR0nhYkhrE9cRdfR - 1npgdXoMxQdxbM7xWLsbJuuzCWykbmFZGMaycAW7GZHkuQHkuH5SCxRmwtisBqZHIb+/TvEkLw6TnYyA - 3YyAPBdAjgvQsxaQB399/wpJksDan4PtXkUxOYYPyQh29jb7etbA2l/JQyhLv2lJLVB8yOPnj28oSxJ8 - 9hfw9azgfTKKrWQEpXkRnzIi/N0FsPaXdEcql1GYidYD+REWbydDKCZv4ON9kXC9NsRcZ2pK6Tg+p+NA - m4KkLnbVA7kRP97cDqE4FcK7ewKJO0+Bd9RtP0pgez7x98DTkBfPrrmxFHLBZVLBbVIjPeDA40BddbAZ - BQSfFYKXAd9nqQTManj1SuI3a0nzYEOA9zOI9R1HzGeBw6yC06yG06gkng5tg+rg5PmzlV/411PbvHf+ - ACl773zoakfrAAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf + T1JxGMfxc1n8qtzcyglCWhFS1PLGHAgisDmktZZtabRSEYhDZ8xpiSWVpaSxLpoXyWquLvzV+oGZq+iy + /6Stm7qsm+DT830YMJw3rbO9Djs7z/P+wob03xcAyWbUwqLXotWgha1pDzPr1axl/y52uEHFrAY1z4l5 + sVsK0IK1UVMbaKQAOXhgN2tuKLHQTKtBh6M0XwmIxe1OtexjXZa9pA6dlnomlgXx7WoCo/1eTF3pwfRQ + gM3HLmD+Wh8yIwE8CgcwFznLJs67cLPPgeMmXW1gKRXCZjqGfCbBvi6kWH6OnoXMKFsd68fa2CW0Haqr + BpYnh5G7F8PGtIyV2yG2NhXHeuo6nioD5CI+pRMsG+nFYqSHVQKrt0LYKAcmhyCeX6Vklk0MsI9phQIK + Bfy07OfPSkAs/v7xDcViEd6OZ/C2LyOXHMb75Agtlk72nF6hdy/FEgrFP3yI2OVA7r6MXz+/04siPB3P + aXgJ75JhbFIgP5PAZwr42lcp8IJnioUCBcLVQHbQizfjQTr1Kj7cTbBIpw1R54mK/GwMXwjqaYWkzrVV + A4uDPry+QYGJIN7eUVjMcQyyvWrrQRxbM/GdA4+Dbjy57MJC0AmnUQ2XUYPZXjse+qvKi9vRHZLisUJx + WyB3m0sBkwZuvYr56A8j7LQs0B2S7LMg2n0EUY8ZdpMaDgo4mlSsq1lXo7w4fuZk6Sf861U5mS9J+gsp + e+98+xbVEAAAAABJRU5ErkJggg== @@ -1071,17 +993,17 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAJESURBVDhPjdH/ - TxJhHAfw51+pBQdtbVam8HAHiSZw4Bfkngc4wKkw8+6e0zIDHsilzbut1hdZB+jUslw5qiVKttC+zF/a - +qtorO26rV967/3j57W9tw9YOgrkW+HCIS/tsdKehxwEcjt96jv/yjeUb4VJY2DuDSfv+7K7ruhT+8KH - IbDUCs6/H37UTt4/HF9tTYiQIfue7Gv31Ms+42xm/cdUsRmZ2e1ZatyQ3noXGn7w8GsKc46dX6r0ynOz - cV3wORYPhjNuZvE4uPIdGWe55z+zSY8tbVzKvnCJrBOILCOrcoJjkqz9TpMXOVuCsyU52/Tu5TjHyB8H - BR9Tnrgm+Owiy1AEQVUJ5jFXJ6H2GkKsc3MuQLGrhGASXkhw9hQ8r8oSjcOqFIlzzi4oxXpFeK5O+E1p - 4C7yFhDb1HNNPdex5Jk8QjHckv2H2iQ4eJBOcI5l3F8Sep6s3qMYVmaH9gvR7iEA3XY62qRPnxqsE35L - 9oO2hpXwle3bY9u3oo9LsxTDAoIVMmYFFMN1Mm4oo3XCg0/aNMWwpeWO11IVecS6xARmDGUU1JRQPnY1 - H4c1Ei7E3H/v/q0Jqiovep3luLsc/08wP0YxPNXTp3raOsC8M/MHhIsYllB/lURqJHyiZSiGy0KvFRQx - /Kxn2lqqC/KCG/kcGyREkaumjtQVvqqGisiyrdP5omVqhO8+V0uBguAySKSIPWUME6ydIih6GYqhdQnF - cEMJbpBQnYSAofBF7EqwF0/0NEVukXWYxlBGzZrmN8JzbVJ5S6oXAAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAI/SURBVDhPjZHt + b9JQFMbvv6IRCiYmU+cGpQXH5oACMkZvgQILG2Su7e2mE3l1cTMricaXEQtscVN0UYIaB8MZmW/ZFxP/ + KrzNpCHxi0+eL/ec53fuSQ7IHLqyXW+uwwj7lLBvQweu9N6Y/M65/h3iOmpNLL2hxaYj1bAEnxhXPkyB + TNe9/H76YS96rzOz0Z3lSQI1banX1uTLMfVkYetnMt/2LTRGMq1rwlv7SssJHnyLcbRp77csvLLdaF1l + HabVg+mElVg9cq//gOpJ+tmvVNRmiKsXUi8sPGUGPEWIshihiShlvN1meNoQoQ1R2jDfuBimCfHjJOsg + SrNXWIcRJwuQBFXJneXoOvL0NiGkzDtLrgJnKUIySp6L0MYYeVYWhUKYrAq+MG3WgGJolCfP1BGzI0zc + gfYcpNrlNHZ/SE9Ff4Ejn4vOjjIHDu7HI7RpjRsvsiOPN+7iRmVxqpkLakEANPf7ypyjnJzEQzEDegon + eS/t3grs3gw+Ki5iIAfJCgoMA7i4hWZU6TpmwCdlHr+7SvpoM1YR/VpO1wDQhRlQkzzZ0OVsmKwhby5k + 1cqnuX+tA1WZ4e3mUtiK/X/AcgBv9bUcx9YAXYOcrlPAm+fIIhyvIh/e6lhJYHiNHdX6AwAHPpcTPSWm + AVnWCh2mbeQpQEtN9tclpip78nBot37/i5KoIUY7rhIDOdaiIl+es5U4MkIZ8S15O4E/0YCB8HNbcuOh + mAGqxOQ5S4Q6f1yOF6CVp0w6gxfQ/ZdBnj/Cc21Sm8M0egAAAABJRU5ErkJggg== @@ -1123,21 +1045,21 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAImSURBVDhPpc/d - T1JxHMdxLosny82tHI9pRSeKWt4oA3mQw+aQ1lq2pdFKBQ5x6OzMaYkmlSWksS6aF8Jqri4UbT1g5jS6 - 7D9p66Yu6ybOp50vAoN10/ptr52d7fd9f89RKP73AFDYTBoweg1OGjSwGVuIRa8inYf2kWPtSmI1qOie - fF+erQSMLbDq1I0BnYocObyfdLRXMAZ5kRYndOp6QB5sdq7zIPEwB+BhWtHLtBF5WCZ/XUNgfIjF7PV+ - zI0GyWL8MhZvDiIbCeJJNIgF7gKZuuTGnUEnTpu1jYGVVBhbmThKWZF8WUqR0oJYkR0nhYkhrE9cRdfR - 1npgdXoMxQdxbM7xWLsbJuuzCWykbmFZGMaycAW7GZHkuQHkuH5SCxRmwtisBqZHIb+/TvEkLw6TnYyA - 3YyAPBdAjgvQsxaQB399/wpJksDan4PtXkUxOYYPyQh29jb7etbA2l/JQyhLv2lJLVB8yOPnj28oSxJ8 - 9hfw9azgfTKKrWQEpXkRnzIi/N0FsPaXdEcql1GYidYD+REWbydDKCZv4ON9kXC9NsRcZ2pK6Tg+p+NA - m4KkLnbVA7kRP97cDqE4FcK7ewKJO0+Bd9RtP0pgez7x98DTkBfPrrmxFHLBZVLBbVIjPeDA40BddbAZ - BQSfFYKXAd9nqQTManj1SuI3a0nzYEOA9zOI9R1HzGeBw6yC06yG06gkng5tg+rg5PmzlV/411PbvHf+ - ACl773zoakfrAAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf + T1JxGMfxc1n8qtzcyglCWhFS1PLGHAgisDmktZZtabRSEYhDZ8xpiSWVpaSxLpoXyWquLvzV+oGZq+iy + /6Stm7qsm+DT830YMJw3rbO9Djs7z/P+wob03xcAyWbUwqLXotWgha1pDzPr1axl/y52uEHFrAY1z4l5 + sVsK0IK1UVMbaKQAOXhgN2tuKLHQTKtBh6M0XwmIxe1OtexjXZa9pA6dlnomlgXx7WoCo/1eTF3pwfRQ + gM3HLmD+Wh8yIwE8CgcwFznLJs67cLPPgeMmXW1gKRXCZjqGfCbBvi6kWH6OnoXMKFsd68fa2CW0Haqr + BpYnh5G7F8PGtIyV2yG2NhXHeuo6nioD5CI+pRMsG+nFYqSHVQKrt0LYKAcmhyCeX6Vklk0MsI9phQIK + Bfy07OfPSkAs/v7xDcViEd6OZ/C2LyOXHMb75Agtlk72nF6hdy/FEgrFP3yI2OVA7r6MXz+/04siPB3P + aXgJ75JhbFIgP5PAZwr42lcp8IJnioUCBcLVQHbQizfjQTr1Kj7cTbBIpw1R54mK/GwMXwjqaYWkzrVV + A4uDPry+QYGJIN7eUVjMcQyyvWrrQRxbM/GdA4+Dbjy57MJC0AmnUQ2XUYPZXjse+qvKi9vRHZLisUJx + WyB3m0sBkwZuvYr56A8j7LQs0B2S7LMg2n0EUY8ZdpMaDgo4mlSsq1lXo7w4fuZk6Sf861U5mS9J+gsp + e+98+xbVEAAAAABJRU5ErkJggg== - 227, 22 + 228, 22 Import Skin @@ -1145,34 +1067,35 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAEfSURBVDhPY2AY - FOD/Aob/GHillCC6Opzg/26p//9PaZCGT+qwIAxAktCW44VjYxVBMHbSEvpvryX6X1uOD4xhanEasK0z - 5//evqL/x6Y1gPHe7qL/e/tK/q8qiwbL4zVgc3PO/y0tuf9X1qX9X12f939NQ/7/WQVR/3d3Fv2fk+n7 - f3amF34DtkANWFWb9n9tQy4YzymK+b+rs+D/nEyf/7MzfQgY0JL7/++/f/9drRb+31Sd8X9bdfr/PZ1F - /90tV/3/L8oAwfgM2FAe939zddL/7U1F/zPt9f9nORiA8d6OHOIMmBLv+H9anMN/RwWe/x2+tv+7fGwR - GtEwVgMKnLX+57po/HdU5PnvLMsFxuga8RqAF+PyArEAw+ZBAQAYhHHCULgAxQAAAABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAEnSURBVDhPYxgc + 4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADkCS05Xjh2FhFEIydtIT+22uJAsX4wBimFqod04Bt + nTn/9/YV/T82rQGM93YXAfkl/1eVRYPl8RqwuTnn/5aW3P8r69L+r67P+7+mIf//rIKo/7s7i/7PyfT9 + PzvTC78BW6AGrKpN+7+2IReM5xTF/N/VWQA0wAdogA8BA4Ca//7799/VauH/TdUZ/7dVp//fA7Td3XLV + //+iwNgBYXwGbCiP+7+5Oun/9qai/5n2+v+zHAzAeG9HDnEGTIl3/D8tzuG/owLP/w5f2/9dPrYIjWgY + qh3VgAJnrf+5Lhr/HRV5/jvLcoExNs0gDNWOagBeDNMM5UO1Ew8wbB4EgIEBABiEccKRdcoAAAAAAElF + TkSuQmCC - 227, 22 + 228, 22 Import Extracted Skins Folder - 227, 22 + 228, 22 Add Texture - 227, 22 + 228, 22 Add File - 185, 22 + 186, 22 Export as 3DS Texture @@ -1249,6 +1172,30 @@ Entity Materials File (.BIN) + + 223, 22 + + + Generate MipMap Texture + + + 223, 22 + + + View File Info + + + 223, 22 + + + Correct Skin Decimals + + + 223, 22 + + + Set SubPCK Endianness + 250, 22 @@ -1261,6 +1208,30 @@ Little Endian (PS4/PS Vita/Switch) + + 223, 22 + + + Set Model Container Format + + + 216, 22 + + + Version 1 (Pre 1.13) + + + 216, 22 + + + Version 2 (1.13) + + + 216, 22 + + + Version 3 (1.14 [PS4 ONLY]) + 17, 17 @@ -1295,7 +1266,7 @@ $this - 3 + 2 37, 20 @@ -1306,12 +1277,12 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADqSURBVFhH7ZdB - DoMgFESJOy7A/a/ZRYv5xmnIDCCgtYlh8TYjDA/URF2M0f0TCVKWZYnOuW64p4YE3wt7mUl475tIhbmv - hATGSBHoPQkJUGISnLfQezskQIkdKectYNFWCQkw+ayAYR1HpykBSq4QMCBR6pMAJaUJR+w7/njv3wC3 - IoTwkvEcoOSMQA0ZzwFKRgVK4NXmXAZu4Q8E8CxwLgO3sFGgdrTMFHiGQLrgETx3ClwiwNQWZKbAMwV6 - mALdArXvuBG6vgfO/BfkQFduUzI4N8mObxT+vZN1OEjhyaPkdt4kcAcS3M0KrckGNY0tDfoAAAAASUVO - RK5CYII= + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB + CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl + XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v + AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD + tDACNAfo/Sou0fQ9wGKvoQfO8i61W6SkTXi+XtLLgOwcFSna3It3c+LKO3HlfcRpBa3JBjU5E8DiAAAA + AElFTkSuQmCC @@ -1341,9 +1312,9 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAAA7SURBVDhPY2AY - FOD/Aob/GHillCC6Opzg/26p//9PaZCGT+qwIAxAlyQSjxowagCKAcSC////g/HgAgDq1K8eHE5CBAAA - AABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAABGSURBVDhPYxgc + 4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADsCkgAkO1jxoAAtgkicFQ7cPCAGLB////wXgwAQYG + AOrUrx4HdAXuAAAAAElFTkSuQmCC @@ -1365,7 +1336,7 @@ False - 159, 22 + 160, 22 Full box support @@ -1376,11 +1347,11 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADdSURBVDhPzZJB - CoJQEIa9jy0iPFAnCDpAtG3ZooUE4b6oVtIuClpJIAgqZEVlKpqEHUAm5pGPmhTbRA18G//5P5iHgvA3 - I7ZniiQ7aVM9QZzcOKYbwVDbw8I6A2YAICBvg2VJdtjSs2Cse1Dt6tCYbliGO0UCFlLBxAj590yA0D4X - 1Ec7CK8JF9j+lUmWzoVlpYJaz4JKZ5ULZqWCT6F9Jhhowcv9eeBOoQBvPXoBrA0zF8yyR6V9LvCjGLYH - NxfMvipIMaQ3Ux6ClPYFsaUq/bmd0rspuIO/Pe3/bu5p+sr3gTvFEQAAAABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8 + QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C + y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga + QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN + 38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC @@ -1398,11 +1369,11 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADdSURBVDhPY2AY - NCBLe/v8epPbf5cUPvr/9s1HOL579dX/g6vu/b9w4Ml/kNz///8ZQBgDgDTXm9wGK0I24Njap//LDc7/ - n5d3CywHUoPLALAkugEn1r2Ei8MMAGF0/XADZiTc/f/65Qe4AQ+uvwMbcvnga7AcQQNqjK79L9A5ghWD - 5AgaQCxG1w82YN/c5yj+x4ZBanAaAPLr44fP/58/cxUrBsnBAhVdP9yAF8/e/L9/5zFWDJKjqQF/QZLo - fkbHUAP+outnyNLeOn/brOt/0f2NjkFqQMkeXf/AAQD3iMQW/7yiGgAAAABJRU5ErkJggg== + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8 + IEt7+/x6k9t/lxQ++v/2zUc4vnv11f+Dq+79v3DgyX+QHBAwgDAGAGkGYrAiZAOOrX36v9zg/P95ebfA + ciA1uAwAS6IbcGLdS7g4zAAQhmpDAJjEjIS7/1+//AA34MH1d2BDLh98DZYjaECN0bX/BTpHsGKQHEED + iMVQbQgAEtw39zmK/7FhkBqcBoD8+vjh8//nz1zFikFysECFakMAmAEvnr35f//OY6wYJEdTA/6CJLH5 + GxlDDfgL1YYAWdpb52+bdf0vNr8jY5AaULKHahtwwMAAAPeIxBbbnvcfAAAAAElFTkSuQmCC @@ -1447,150 +1418,146 @@ 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 - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkA - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkA - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkA - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkA - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkA - msuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoA - vVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuDrQoAvVkAmsuD - rQoAvVkAmsuDrQoAvVkAmvvEzHArcpt8EADauNXMdb0in8oH4fw+MDPgitw1HwSANu4yc12vyAfzQTi/ - t80MuCJ/MR8EgDbuOXNdr8jV+SCc35tnBlyRR+SDANDGdA3P1/WKvCUfhPN7/cyAK/J9+SAAtDFdw/N1 - vSJvyAfh/F4xM+CKvDQfBIA2fmbmul6RV+aDcH4vnBlwRd6RDwJAG2+fua5XZOosDuQfzwy4Kl+dDwPA - 8KZrd76eV+Wp+TCc36NnBlyVf5kPA8Dwfmzmel6VqbM4kHvMDLgq00dIvtEJoI/pmr3Ur49PmX79kAO5 - LCI+PjPkqjwxHwiAYU3X7Hwdr8q13jQe3lK/Cjjlf0XELfKBABjOdK2ertn5Ol6Vqas4sCV/njPl7+QD - ATCcvztz/a7M1FUc2MNnBl2Za/xtAIChTdfo6Vqdr9+VmbqKA7vd7mcrediV+aV8KACG8Qsz1+3KTB11 - +3woDuPXZwZeHV8PDDCe75+5Xlfn1/KhOJwfmhl4dT4ZEd+RDwbAYqZr8nRtztfr6vzTfDAO589HxGdm - hl6dj0bEN+fDAVDum3bX5Hydrs7UTVNHcUT/eWbwS+RjEfHYfDgAykx/7vf/zlyfl8ir8+E4vCfNDH6p - TB85TT93AqDWUwb52P8kUzdxZHcc5OOeG2b67QC/IghwfF8YEVfOXIeXzNRJUzdR4CUzT8DSed/uCyh8 - YyDA4U3X1r+3u9bm6+/S+al8WI7n3hHx6ZknYYS8ZfdR0K3yoQE4s+lvwTwuIv7HzPV2hExddJ98aI7r - 3848ESPl6oh4RkTcNx8cgEuarp3TNXS6lubr60iZuohi94uI62aejBHzzoj42d1NK4+KiL+0u2fgNvlB - AWzIdA2croXTNXG6Nk7XyOlaOV0z83V0xEwdNHURC/hPM0+IiIhIRf5jLiXq3D8iPjXzpIiIiBwzU/dM - HcSCnjfzxIiIiBwzP57LiHqfHxF/NPPkiIiIHCPvjogvyGXEMv7WzBMkIiJyjHx3LiGWNX0Pc36SRERE - Dhnf+T+gL9l9LJOfLBERkUPkmoj48lw+jOExg/y5YBERWVembnl0Lh3G8syZJ05EROQimb6VkMFN38H/ - X2eePBERkfPkN/19lz7uFhG/N/MkioiInCV/EBFfnEuGsd0zIt4182SKiIicJu+NiK/M5UIPXxMRH5x5 - UkVERG4uH46IB+RSoZdviYiPzzy5IiIic7k2Ih6Wy4SevjEi3j/zJIuIiNwwH4mIR+YSobf7Nvob0yIi - Up/py+R87L9S9/DbASIiMpO3RsS9c2mwLl8UEa+ZefJFRGSbmTph6gY24JYRcYWvDRYR2XSui4jnR8St - c0mwfg/3B4RERDaZ90XEd+RSYFu+LCJeNfPiEBGRdeZXd9d++KzHRcTVMy8UERFZR6Zvh31SRNwiFwB8 - 3u7egE/MvHBERKRnPrX7Wf+d8kUfsvtFxH/Y3SCSX0giItIj0zV8upZP13Q4k+nLg35utz3mF5aIiIyZ - 6Te8roqIB+aLOpzV9NegXrz7isj8QhMRkTEyXaNf4i/4cQy3i4gn7DZLnwqIiCyf6d3+ayPiyRFxx3zR - hmOYfoXkn0TEq/21QRGR0kzX3OnaO12D/Tofi7rt7k9H/uhuE/3YzAtWRETOl6nwp2vrdI2drrXTNReG - NP2O6d13f1Ly+yPiJyLi5bsX8Jt2f3TiA37dUEQ2nukaOF0Lp2vidG2crpHTtXK6Zk7XzukaOl1L/d7+ - Rv1/69+2SP4A5EsAAAAASUVORK5CYII= + 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 + Q7rFLf4f69+2SFS1CrsAAAAASUVORK5CYII= @@ -1605,26 +1572,27 @@ iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DAAACwwBP0AiyAAAA2VJREFUeF7t2jtrFFEYxnEvUUErr0iitZ0fQGKlFgp+iFh4AbVIYxMULO1jQHvF - CyhooSDRxluliIilraJijIqF+pdXzi7Dc2b2zJwzSybr+UEg7Mzznnl3ZufMzO6KFVmWZVmWZUMA7ARu - Al9pzjK3gF1ad1lwzX/SriJ8tlpav/Pcnm/Lda3feZGHfZUFrd952oEuD0nNL7nUBlLzSy61gdT8kktt - IDWfJHH+7ppm1xMtzt9dU+96ouX5u2vC1xMjcthXCV9PaGLUaL8eDYwa7dejgVGj/Xo0UMOeQnZSFw5B - 0nj9RqsAU8Bt4IeGy5TkhypyvO+upynNVwLWAweA88B94B3wUyuX5Iaqxni2jbat99y277deNJdlFYBp - YDewUpctV9aL62lal3kKn6X3wBXgmDvbbgfW6fpdY9vottW2+Thw1fXyj67vKbwBtaTmm0odT/MeDYSk - 5ptKHU/zHg3UMFnI7tWFQ5A0Xr/RKhoYNdqvRwMtegH80hdL/AZe6ott0X49GmjBW+CQqz2jC0vMuHX3 - Aa90YSrt16OBBPYI6gywtlB7FfBAVyx4BKwurD8GHAU+6Iqx+o1W0UCkO8BmrW2AcbdnXwPzwEPgjTtS - xnV9Y7WAuzpIDK3t0UCkC1o3ldXUQWJoXY8GItnhv0Frx3J3ph91kBha26OBBCe0diyrpcVjaW2PBhLM - a+1Y7jzRCq3t0UCkP8BhrR0LOOhqJtPaHg1Euqh1U1lNHSSG1vVoIII9S9yqdXvc7epp4Bnwzf3Z/6cG - 3W4DW9yzvSRa16OBCHNasweYCFzm2uXyhOZ6gFkNNKU1PRqo4TFwCTjrnihv1JrG7flBzffYm1B6JFht - 4AhwDrgMPNFwiNb0aKCGMa1Rxh32dZ3UfBlgjQZDtIZHAyGarwI81+wATzVfRYMhmvdoIETzVYBFzQ6w - qPkqGgzRvEcDIZqv0vANCH+N7WgwRPMeDYRovspy+gg0/YFE3ZOgzfN1Desk+EVreNwPipqwqcimJJua - bIoaNA3aFBdi6/QfohQBmxKnwWta02O/pnK3s7FmtWaPuxAa9CaELoTmNNCA3U7v0Jql3C/FbkR8HIxd - rpY+DTK2d+0Qt8+5OzHan+1Je610zxtgW92v7MWC7fnazWdZlmVZ9t/4C8lMcFLVyYT9AAAAAElFTkSu - QmCC + DAAACwwBP0AiyAAAA6pJREFUeF7tms9vDVEYhouqpFZVRFpdd+cPkFphQeKPqIUfSVl0Y9OQWNpXE/ak + SEhYkEjZUFZERCxtCaKKWKDe787jpNftmTlzz4x0rvMkb3Lzzfu9c8690zkz0+lLJBKJRCKRqIOVlZUx + 6Yb0WSqL9dyUxolrFhq4Tf6DFMtHaYzY5qBB2y9fFdeIbQ4adDeHvY8lYpsDA3dQDoY2B+XmwLgdlIOh + zUG5OTBuB+VgaHNQbg6M20E5GNoclP8N2l/M+r3eKHc9IWNV6/d6I+x6QqYq1+/1RvH1hEy9cNj7KL6e + wNizME0/+HoWpukHX8/CNP3gK8NeWq13IivVStT+aPUjz6R0S/pmDUXQ5qBcG+zGQbmIr5LNaZK2YmQe + lA5K56V70hvpu9QGdgfl2mA3DsqrsTHaWO9KNvYD0iD2RKIIHS7T0h5pA6XGY3NhTtOU/Mj0h7fSFem4 + ZGfbXdIWbOsWGyNjtTGfkK5KNpcW2PzgC4Y2B+XaYDcOysHQ5gdfMLQ5KNcGu3FQDoY2P/jKMEGr9e7L + SrUStT9a/eDrWZimH3x18Ez6kX3M5af0PPtYPUzTD74qeS0dJnumVclnBu9+6UWrUiGWnQu+KrBHUGek + AaIte6N0X/LxUNqE3fz90jHpnVQJRPvBF8ttaZjINlQfkeyXfSktSA+kV5IdKSPY2lB9WLojRUOkH3yx + XCCuMiwzi46DOD/4YrHDfyuR0SjL7kzfW3AsRPrBVwUniYzGsrLIeIj0g68KFoiMRll2nqgEIv3gi+WX + dITIaJR1iMxoiPSDL5aLxFWGZWbRcRDnB18M9ixxB3EdaJvdrp6WnkhfkH0+JXlvt7Vtu2TP9qIgzg++ + GOaI6kDbRqW8y1y7XB7F3oG2zbZcERDlB18ZHkmXpLOSPVEeIqoN1e2XD7nGty9hzSNB9SHpqHROuiw9 + lkpBlB98ZeinNRf57LAPZYq2XOTbnNnDodUPvmBoK0TWp1lHEIu0FYI/GNr84AuGtkJkXc46glimrRD8 + wdDmB18wtBUia5kvIPi1OPzB0OYHXzC0FSJrY/4Eyr4gEXoStHU+lLpOgp9o9SOTvVBUBluKbEmypcmW + qLxl0Ja4IszjHqKsRvVtUswyOE+UH5nGJbud7ZZZojrQNrsQyvsSii6E5lqu7rDb6d1E5SOjvSl2Xerm + fSG7XF3zaZChbQPSlLQo2YnRZL+k1db85Q1t2ykF/cv+L5akeSls8olEIpFIJP4T+vp+A8lMcFIN42ej + AAAAAElFTkSuQmCC - 63, 20 + 62, 20 Tools @@ -1656,13 +1624,15 @@ iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DAAACwwBP0AiyAAAAVlJREFUeF7tzjEOA0EMAsD8/9NJs0qBdSIOLLcneWoDfr3GGGOMMUzem+HecfBh - N9w7Dj7shnvHwYfdcO926QfTe1T6ofQelX4ovUelH0rvFbc/AOL/xAeJ+D/xQSL+T3yQ2P6POoD5Luxj - 1HyhFmK+C/sYNV+ohZjvwj5GzRdqIea7sI9R84Va2M1375GaL9TCbr57j9R8oRZ28917pOYLtbCb794j - NV/YCwl1T80X9kJC3VPzhb2QUPfUfGEvJNQ9NV/YCxfsvYI5Rs0X9sIFe69gjlHzhb1wwd4rmGPUfGEv - XLD3CuYYNV/YC5fH9NoLl8f02gs3s/9rL9zM/q+9cDP7v/bCzez/2guXx/TaC5en9X65Bk7r+Zlr8LSe - n8UHifg/8UHi9n/SD6T3qPRD6T0q/VB6j0o/lN5rwwfdcO84+LAb7h0HH3bDvePgw264N8YYY4zxrw8W - 2rXX1dOmEQAAAABJRU5ErkJggg== + DAAACwwBP0AiyAAAAeRJREFUeF7tzjGOIzEMAEH//9N3SaEzwzLH2plAFTZEUq/jOI7jOI5f+beZM8/l + n9s481z+uY0zz+Wf2zjzHP4VeRtnIt/HPyJv40zk+/hH5G2ciXwf/4i8jTOR/467kW/jG5H3cSfybXwj + 8j7uRL6Nb0Tex53It/GNyL9jb+RlxsasWWYs8pw9kZcZG7NmmbHIc/ZEXmZszJplxiLP2RN5mbExa5YZ + izxnT+RlxiK/5VnkZcYiz9kTeZmxyG95FnmZschz9kReZizyW55FXmYs8pw9kZcZi/yWZ5GXGYs8Z0/k + bZyJvMxY5Dl7Im/jTORlxiLP2RN5G2ciLzMWec6eyNs4E3mZschz9kS+zLqPPF9mLPKcPZEvs+4jz5cZ + izxnT+TLrPvI82XGIs/ZE/ky6z7yfJmxyHP2RL7MusiXWRd5zp7Il1kX+TLrIs/ZE/mxfDPynD2RH8s3 + I8/ZE/mxfDPynD2RH8s3I8/ZE/ky6yJfZl3kOXsiX2Zd5Musi/w79kb+mvHIXzMeeR93In/NeOSvGY+8 + jzuRb+MbkfdxJ/JtfCPy33E38jbORL6Pf0TexpnI9/GPyNs4E/k+/hF5G2ciP4d/bePMc/nnNs48l39u + 48xz+ec2zhzHcRzHcVz0ev0HFtq118xXwn0AAAAASUVORK5CYII= @@ -1674,247 +1644,249 @@ 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 @@ -1926,264 +1898,254 @@ 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 @@ -2194,10 +2156,10 @@ - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE+1 - j7EJgDAQRW0ECwtB0MJeHMHKBWztUjtUJskmWSdygR+P44hR8MNHufjexar6O/PUBFSeZQPo3MfUIokE - 16Utk0iQC1BVooFya1ZCL8fWq5vlTJ4PXR2SQJNoxU2cc8EYcwtokJMAtNbGb+kZBXQNAr33qoRv5HD6 - BYomkSBgzIlJAk2CPoI8XIKtRSAPJK9BHkCvwS+5AB9PFJEa6B9dAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 + jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq + myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp + JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC @@ -2251,292 +2213,293 @@ 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 - jHj+CgefGQAAAABJRU5ErkJggg== + 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 @@ -2566,116 +2529,119 @@ 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 @@ -2693,329 +2659,318 @@ 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 - SUVORK5CYII= + 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 + W1gAAAAASUVORK5CYII= @@ -3042,9 +2997,9 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABPSURBVDhP5ZAx - DgAgCAMZ/f+HMcbYYOmg0UmHY2ibGzB3txNSgMKsHcD9ksBL5wcBPwyPCwLFJBjjVe4LFHGsgEDBAu6x - 4+AxAT9MkYJdKi90axNkwjxWAAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x + DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 + jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC @@ -3074,9 +3029,9 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABPSURBVDhP5ZAx - DgAgCAMZ/f+HMcbYYOmg0UmHY2ibGzB3txNSgMKsHcD9ksBL5wcBPwyPCwLFJBjjVe4LFHGsgEDBAu6x - 4+AxAT9MkYJdKi90axNkwjxWAAAAAElFTkSuQmCC + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x + DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 + jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC @@ -3088,9 +3043,10 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABUSURBVDhP7Y1B - CgAgCAR9h5/t6UaSIGumxw4Jk6DtSJTUIBIP7q+1A+xGXErwYgXmVSAi6ykJArR3CRK8lBHCXoD9NPuC - 5wUdUkFHYv8wr2XLCp+ZnLh7mCW3DEkAAAAASUVORK5CYII= + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACESURBVDhPlY0B + DoAgDAP3Dj7r09WTkqGUgJfUxtrOmHFEnL0U76FBqW8PZXmk/9uONEsIb3gsNRzoL/+R5hWC759mGsbQ + DnzdZbhmiSvhLsM1S1wJdxmuWeJKuMtwzRJXwl2Ga5a4Eu4yXLPElXCX4Zol/WCl6YGdI62n2Zv2cSXV + byIunLh7mD2ySLcAAAAASUVORK5CYII= @@ -3442,7 +3398,7 @@ $this - 4 + 3 None @@ -3453,1011 +3409,982 @@ iVBORw0KGgoAAAANSUhEUgAAA+gAAAPoCAYAAABNo9TkAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAA60JJREFUeF7snQd4VGXa9/ned3ffre8WV1lXd3XtoiKKiiDSIaRP2iSZTCaZ3vuk - J4SEANKbKCLV3hXsjd57R0BAqgUVVLDLfNf/OeeZOXMyM5kJQfdd79913VfCZM7Tn8P9f2qnTgRBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARB - EARBEARBEARBEARBEARBEARBEARBEARBEMRPz//7CezHRh5/e609yMNoy84FeViJ2E+NPD3nau1FHs75 - tGSRP5+IJYv8+UQsGeTP/hjWkcjDbss6Gnn452IEQRAEQRDEvxHcSfsv0f77JzSeBti5OpDS56XhyuM8 - F2srrdHSIA+jLWsrDk5HxBUtvo4mWjrbm9ZELNH8yNMkD+d8mjyN0nRGKy/584nYTxWH3M4l/I4wHr88 - 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 - K+dI84KcI42Vc2SyVFo+R8LneYVzZHmkh9sabnN41n9kZOTG8GcJf6bwZ2s0wzauf7DRaIQ/c/hZ/4+/ - 5mP83D5Vb5x1/zbqHztz/zYaje+rnW735OTk3ROTE7ft3Lnzhq1bt75jx44d4XG/cnx8/KpWq7UhfLdH - +6zzoH7WedA86zz4znn2mo6Bc1j+GJ+q1xurjo9wXzXOcXzs3Lnzmu07lv9C5Mqx0bGrqtXqdbVq7ZZW - qxVG+milUvlgrVYLf/6/sXIe/9TKefTSMfBKj3/4Wnv68Z+8aXR09NqtW7d+b3hs77vvvu898/hOTE7c - Xi6Xt9bq9bFardaq1+t/uVKpfLharYaP9Yl6vR5G+xt9bJfvn7PPn/D1MXydDF8vm83mvnq9Xq7X6zvD - a0mMjY29Z9euXevDX4aGH70wzqUL0KFDhxbjC04Azt+AjPTlC/6NG28Lz8otD5Dx8fEbS6XSbeVy+a5K - pbKjXC6HnxkNNSuVynSlUpmpVCp7y5Xy3vC/K/9/Ovz38IvCr1/5feHndW8LH+/08Nh+5caNG881gi5k - yyP9fe9735uHhoau3LJly9W7du0MQyw88zs8Pj6+ZXJycme5XJ4olUrh9jbL5fJUuVyeLpfLM0GpVNq7 - pnJ5b3nFmT93+L3VarVRqVRK5XIlXNxvrVQqw6VS6T1jY2Mbws8Mj0+MXz0+Pn51qVRaH54VCz+zWa/X - wqse765Wq5O1eq1erVZb1Wp1ulI9ff8uO/3P4b4N/61aq9UmqtXqrmq1ek+pVNpYLi9/O+y1e/bsuWrP - nj1XjozsuXLnzh3hmd71lUrllnA7lm/P6dtVCrcz3N6XHsfyyuepVPZWq9WZ8Plr1Vo7/LparVaqVat7 - wiuvhzFdKpVuqZTLG8bGxt4xNjb21nvuuedcI3Ktlo+z0dHRN4cBEobI6OjouyYnJzeGMVQqlcLjEY6b - aqVSaZ25fWfu63IpWOPxOMuZx27lcQyPZ/jbiWqpVJoslUphNN47Ojq6eXR09NZdu3e/6957733nXXfd - ddVNN90U/jLnzIvCrfXnWTlHNr7GcyQcI2ec/zly26ufI8u3Z3h4+E1btmx5y913333Vtm3b3rl79+53 - jYyM3DY5OXnHxOTEvZOTk3vK5fJktVqprXWMh/vz1e7T879/J1+6f0dGR27dtWvX8v37gQ984G3h/t28 - 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 - oAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMA - ADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx - 0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVs - BjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoA - AJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJAT - A13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13J - ZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqAD - AAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5 - MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCV - bAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6 - AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQ - EwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNd - yWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWag - AwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAA - OTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQ - lWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwG - OgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAA - kBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMD - XclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclm - oAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMA - ADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx - 0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVs - BjoAAJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoA - AJATA13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJAT - A13JZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13J - ZqADAAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqAD - AAA5MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5 - MdCVbAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCV - bAY6AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6 - AACQEwNdyWagAwAAOTHQlWwGOgAAkBMDXclmoAMAADkx0JVsBjoAAJATA13JZqADAAA5MdCVbAY6AACQ - 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 - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ - kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiQNSv8F - iq3rEMpM86kAAAAASUVORK5CYII= + vAAADrwBlbxySQAA5JlJREFUeF7sfQeYFFX2Pf/9re6uuusaEFHXiJIUEAQkhyGnIecsMIDDkEGCIlHJ + AiKIRAExK6hEJaOgKDkniQYUMGDcZf7nvKrXU9NTPdPdMyDgOd93prqrX913333v1dxTMZMgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIg + CIIgCIIgCIIgCIIgCIIgCIIgCIIgCIJwEeD//QG80PDzIRpGAz87qTE98LOXFv9o+PmUHkYLP1vni5HC + z0ZajBR+NtJiJPDb/nwzI+FnPzVmNPzqiJaCIAiCIAjCRQSbpP3F5f/9gbQ+kOlNIL3be+361Rst0/LV + uz7a+tOqw8L7e7R1kcH1ZTT8/IzW13AYbnuCffKzdb4Y7KPXT++69Pj2R9URzPTYzwja+oP9TA3ectH6 + H1xnOAiu09LPfkbQW4etO1xfBUEQBEEQhHTCJn5MzP4KXgH+Dfx71qxZr8qSJcvVF4Ko7x8u/+6SPlwJ + 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 + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS + JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEkaR1dd9d+KresQDLQgcAAAAABJRU5ErkJggg== @@ -4911,7 +4838,7 @@ $this - 2 + 1 True @@ -7434,9 +7361,6 @@ AP//AAA= - - NoControl - 1064, 660 @@ -7704,16 +7628,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - moveUpToolStripMenuItem + + version3114ToolStripMenuItem - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - moveDownToolStripMenuItem - - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -8022,12 +7940,6 @@ System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - version3114ToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - MainForm From 9410f7a0ad26269a088b1d24c0809b4ebea7301a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 28 Apr 2024 18:21:34 +0200 Subject: [PATCH 09/66] MainForm - Change description when adding a folder --- PCK-Studio/MainForm.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 8e97ff76..49241518 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1881,7 +1881,12 @@ namespace PckStudio private void folderToolStripMenuItem_Click(object sender, EventArgs e) { TextPrompt folderNamePrompt = new TextPrompt(); - if (treeViewMain.SelectedNode is not null) folderNamePrompt.contextLabel.Text = $"New folder at the location of \"{treeViewMain.SelectedNode.FullPath}\""; + if (treeViewMain.SelectedNode is not null) + folderNamePrompt.contextLabel.Text = + $"New folder at the location of \"{( + !treeViewMain.SelectedNode.IsTagOfType() + ? "/" + treeViewMain.SelectedNode.FullPath + : treeViewMain.SelectedNode.Parent == null ? "/" : "/" + treeViewMain.SelectedNode.Parent.FullPath)}\""; folderNamePrompt.OKButtonText = "Add"; if (folderNamePrompt.ShowDialog(this) == DialogResult.OK) { From 37a920e5784d2871c2e70d2cbde8f69b9a637a80 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 28 Apr 2024 18:53:27 +0200 Subject: [PATCH 10/66] Remove obsolete PCK-Studio.Installer project --- PCK-Studio.Installer/Bitmaps/Banner.png | Bin 1745 -> 0 bytes PCK-Studio.Installer/Bitmaps/Dialog.png | Bin 32288 -> 0 bytes .../HeatGeneratedFileList.wxs | 15 --- PCK-Studio.Installer/Icon.ico | Bin 150065 -> 0 bytes PCK-Studio.Installer/License.rtf | Bin 1306 -> 0 bytes .../PckStudio.Installer.wixproj | 77 --------------- PCK-Studio.Installer/Product.wxs | 90 ------------------ 7 files changed, 182 deletions(-) delete mode 100644 PCK-Studio.Installer/Bitmaps/Banner.png delete mode 100644 PCK-Studio.Installer/Bitmaps/Dialog.png delete mode 100644 PCK-Studio.Installer/HeatGeneratedFileList.wxs delete mode 100644 PCK-Studio.Installer/Icon.ico delete mode 100644 PCK-Studio.Installer/License.rtf delete mode 100644 PCK-Studio.Installer/PckStudio.Installer.wixproj delete mode 100644 PCK-Studio.Installer/Product.wxs diff --git a/PCK-Studio.Installer/Bitmaps/Banner.png b/PCK-Studio.Installer/Bitmaps/Banner.png deleted file mode 100644 index 73ddb0db377c23f945623f9ec53c476b31ae943c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1745 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 - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PCK-Studio.Installer/Icon.ico b/PCK-Studio.Installer/Icon.ico deleted file mode 100644 index 85357f6f1261aa55ad080aae1030554de307b768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150065 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 diff --git a/PCK-Studio.Installer/License.rtf b/PCK-Studio.Installer/License.rtf deleted file mode 100644 index d364ccc785a06ffe77ed020abf7e445f54592bff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1306 zcmZ9ML2u(W5QTdVkpD2qX}3^Q$0-7AdtzidCMrt;C2tx)7h0k$wlZmu)Ov#;|9yv& zyzLe+V2hmj-g`5G-zw|dyGm%Msz$c$qS9tiwK<-If2&%fz2EovV^OtQ^;KJU!aC^} z5Szg&X(5&8Ki=Q3uimPktAo_i3U4fMRd=#kF5uzz{`S+uV)0&mQS$tc(#>zxP~XAz zRdo`!8NqJ3ta_mjcZ>UbaB#2;a~xO@0zxmYe?{|b3$q*h-Ek3;W7xW3Az zJu2sv(V!f3(n>5nSfRaaB519YU|I;i4>AI8KrI;QF!8Fx$ltW zOzY3WO6+JrIA>}l5DJZ{hojV9_#oPTI|(<%+;Q`9RBEK?C#2GdlyJF+v+|u8 zJXqlF$?$uGvGNFB(i<^iTWN;WL*pA?68r6nxIi@@f`(C*&f<^`Y ze(+f7!eK3S=)y$5;+mZ7XM>1Q7-Nk7ug|eC%nav+PUf+>aB}X<@yASRcGeD7qc{!< z%Nm1Y9JT+JwGSsDNNf7uoI}#u=thP3?)U#LwZtN^H(%tKZ+aiJ@o0Zs#<-r*)3o^c z%5|deVK3)Nq64KTYB;|{#Mr~$d3-^X=;37SDF6THw?Ej~P$;r>`Aj$kRzS|P&um3k za6<}wzKP(Om78o=0#g#>sBQ(kFPt z<}@oIVOv%rxy+zM)tSdAHm_kzdAvb9d1MJIU!sY&W@Q@a>x=_|obZyxyM%DacRbGu zibht*PFcF{%2Ou z2nc6In9rJL+c|HTGq#})lCU|Y6DsUr9NPC)VM!R`4rg$21uIGt1mfP(DQ&2@bj(}F I|FfUI0ZUw@#Q*>R diff --git a/PCK-Studio.Installer/PckStudio.Installer.wixproj b/PCK-Studio.Installer/PckStudio.Installer.wixproj deleted file mode 100644 index 6786cb31..00000000 --- a/PCK-Studio.Installer/PckStudio.Installer.wixproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - Debug - x86 - 3.10 - 7ed78fd8-f3e6-475b-8979-fd5220545430 - 2.0 - PCKStudio-Setup - Package - $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets - $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - - - - - - $(WixExtDir)\WixUtilExtension.dll - WixUtilExtension - - - $(WixExtDir)\WixUIExtension.dll - WixUIExtension - - - - - - - - - - - - - - - - - - - HarvestPath=..\MinecraftUSkinEditor\bin\Release\ja - - - \ No newline at end of file diff --git a/PCK-Studio.Installer/Product.wxs b/PCK-Studio.Installer/Product.wxs deleted file mode 100644 index 16aa732b..00000000 --- a/PCK-Studio.Installer/Product.wxs +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From a3098bb39b466acd3b6d199f95bf974fea16112a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 28 Apr 2024 20:52:22 +0200 Subject: [PATCH 11/66] Move 'IO' folder from 'Classes' to 'internal' folder --- PCK-Studio/Extensions/PckAssetExtensions.cs | 1 - PCK-Studio/Forms/Editor/AudioEditor.cs | 2 +- .../Forms/Skins-And-Textures/AddNewSkin.cs | 2 +- .../Deserializer/ImageDeserializer.cs | 2 +- .../IO/3DST/3DSTextureReader.cs | 2 +- .../IO/3DST/3DSTextureWriter.cs | 2 +- .../IO/3DST/TextureCodec.cs | 2 +- .../IO/CSMB/CSMBFileReader.cs | 2 +- .../IO/CSMB/CSMBFileWriter.cs | 2 +- .../IO/PckAudio/PckAudioFileReader.cs | 2 +- .../IO/PckAudio/PckAudioFileWriter.cs | 2 +- .../IO/TGA/TGADataTypeCode.cs | 2 +- .../IO/TGA/TGADeserializer.cs | 2 +- .../IO/TGA/TGAException.cs | 2 +- .../IO/TGA/TGAExtentionData.cs | 2 +- .../IO/TGA/TGAFileData.cs | 2 +- .../{Classes => Internal}/IO/TGA/TGAFooter.cs | 2 +- .../{Classes => Internal}/IO/TGA/TGAHeader.cs | 2 +- .../{Classes => Internal}/IO/TGA/TGAReader.cs | 2 +- .../IO/TGA/TGASerializer.cs | 2 +- .../{Classes => Internal}/IO/TGA/TGAWriter.cs | 2 +- .../Internal/Serializer/ImageSerializer.cs | 2 +- PCK-Studio/MainForm.cs | 6 ++-- PCK-Studio/PckStudio.csproj | 34 +++++++++---------- 24 files changed, 40 insertions(+), 43 deletions(-) rename PCK-Studio/{Classes => Internal}/IO/3DST/3DSTextureReader.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/3DST/3DSTextureWriter.cs (97%) rename PCK-Studio/{Classes => Internal}/IO/3DST/TextureCodec.cs (99%) rename PCK-Studio/{Classes => Internal}/IO/CSMB/CSMBFileReader.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/CSMB/CSMBFileWriter.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/PckAudio/PckAudioFileReader.cs (99%) rename PCK-Studio/{Classes => Internal}/IO/PckAudio/PckAudioFileWriter.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGADataTypeCode.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGADeserializer.cs (97%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAException.cs (93%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAExtentionData.cs (98%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAFileData.cs (97%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAFooter.cs (96%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAHeader.cs (97%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAReader.cs (99%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGASerializer.cs (97%) rename PCK-Studio/{Classes => Internal}/IO/TGA/TGAWriter.cs (99%) diff --git a/PCK-Studio/Extensions/PckAssetExtensions.cs b/PCK-Studio/Extensions/PckAssetExtensions.cs index e5cabd15..aa33b919 100644 --- a/PCK-Studio/Extensions/PckAssetExtensions.cs +++ b/PCK-Studio/Extensions/PckAssetExtensions.cs @@ -10,7 +10,6 @@ using System.Threading.Tasks; using OMI.Formats.Pck; using OMI.Workers; using PckStudio.Interfaces; -using PckStudio.IO.TGA; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Serializer; diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index 2ed23b7b..f9730a6f 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -14,7 +14,7 @@ using NAudio.Wave; using OMI.Formats.Pck; using PckStudio.FileFormats; -using PckStudio.IO.PckAudio; +using PckStudio.Internal.IO.PckAudio; using PckStudio.Forms.Additional_Popups; using PckStudio.Properties; using PckStudio.API.Miles; diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs index 911d09b4..743e0cb2 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs @@ -8,7 +8,7 @@ using OMI.Formats.Languages; using OMI.Formats.Pck; using PckStudio.Internal; using PckStudio.Forms.Editor; -using PckStudio.IO._3DST; +using PckStudio.Internal.IO._3DST; using PckStudio.Properties; using PckStudio.Forms; using PckStudio.Extensions; diff --git a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs index 74d02535..2a4d5135 100644 --- a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs +++ b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs @@ -9,7 +9,7 @@ using System.Text; using System.Threading.Tasks; using OMI.Formats.Pck; using PckStudio.Interfaces; -using PckStudio.IO.TGA; +using PckStudio.Internal.IO.TGA; namespace PckStudio.Internal.Deserializer { diff --git a/PCK-Studio/Classes/IO/3DST/3DSTextureReader.cs b/PCK-Studio/Internal/IO/3DST/3DSTextureReader.cs similarity index 98% rename from PCK-Studio/Classes/IO/3DST/3DSTextureReader.cs rename to PCK-Studio/Internal/IO/3DST/3DSTextureReader.cs index 609eb0a8..73831659 100644 --- a/PCK-Studio/Classes/IO/3DST/3DSTextureReader.cs +++ b/PCK-Studio/Internal/IO/3DST/3DSTextureReader.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using OMI.Workers; using OMI; -namespace PckStudio.IO._3DST +namespace PckStudio.Internal.IO._3DST { internal class _3DSTextureReader : IDataFormatReader, IDataFormatReader { diff --git a/PCK-Studio/Classes/IO/3DST/3DSTextureWriter.cs b/PCK-Studio/Internal/IO/3DST/3DSTextureWriter.cs similarity index 97% rename from PCK-Studio/Classes/IO/3DST/3DSTextureWriter.cs rename to PCK-Studio/Internal/IO/3DST/3DSTextureWriter.cs index 798f4967..2008e53b 100644 --- a/PCK-Studio/Classes/IO/3DST/3DSTextureWriter.cs +++ b/PCK-Studio/Internal/IO/3DST/3DSTextureWriter.cs @@ -5,7 +5,7 @@ using System.Text; using OMI; using OMI.Workers; -namespace PckStudio.IO._3DST +namespace PckStudio.Internal.IO._3DST { internal class _3DSTextureWriter : IDataFormatWriter { diff --git a/PCK-Studio/Classes/IO/3DST/TextureCodec.cs b/PCK-Studio/Internal/IO/3DST/TextureCodec.cs similarity index 99% rename from PCK-Studio/Classes/IO/3DST/TextureCodec.cs rename to PCK-Studio/Internal/IO/3DST/TextureCodec.cs index 1302f37e..a313c4bf 100644 --- a/PCK-Studio/Classes/IO/3DST/TextureCodec.cs +++ b/PCK-Studio/Internal/IO/3DST/TextureCodec.cs @@ -3,7 +3,7 @@ using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; -namespace PckStudio.IO._3DST +namespace PckStudio.Internal.IO._3DST { /// /// Format of the texture used on the PICA200. diff --git a/PCK-Studio/Classes/IO/CSMB/CSMBFileReader.cs b/PCK-Studio/Internal/IO/CSMB/CSMBFileReader.cs similarity index 98% rename from PCK-Studio/Classes/IO/CSMB/CSMBFileReader.cs rename to PCK-Studio/Internal/IO/CSMB/CSMBFileReader.cs index 86738b6f..c8c41aaa 100644 --- a/PCK-Studio/Classes/IO/CSMB/CSMBFileReader.cs +++ b/PCK-Studio/Internal/IO/CSMB/CSMBFileReader.cs @@ -4,7 +4,7 @@ using OMI; using OMI.Workers; using PckStudio.FileFormats; -namespace PckStudio.IO.CSMB +namespace PckStudio.Internal.IO.CSMB { internal class CSMBFileReader : IDataFormatReader, IDataFormatReader { diff --git a/PCK-Studio/Classes/IO/CSMB/CSMBFileWriter.cs b/PCK-Studio/Internal/IO/CSMB/CSMBFileWriter.cs similarity index 98% rename from PCK-Studio/Classes/IO/CSMB/CSMBFileWriter.cs rename to PCK-Studio/Internal/IO/CSMB/CSMBFileWriter.cs index f7847c7d..ede501b7 100644 --- a/PCK-Studio/Classes/IO/CSMB/CSMBFileWriter.cs +++ b/PCK-Studio/Internal/IO/CSMB/CSMBFileWriter.cs @@ -4,7 +4,7 @@ using PckStudio.FileFormats; using OMI.Workers; using OMI; -namespace PckStudio.IO.CSMB +namespace PckStudio.Internal.IO.CSMB { internal class CSMBFileWriter : IDataFormatWriter { diff --git a/PCK-Studio/Classes/IO/PckAudio/PckAudioFileReader.cs b/PCK-Studio/Internal/IO/PckAudio/PckAudioFileReader.cs similarity index 99% rename from PCK-Studio/Classes/IO/PckAudio/PckAudioFileReader.cs rename to PCK-Studio/Internal/IO/PckAudio/PckAudioFileReader.cs index 2e29b2bc..97500de1 100644 --- a/PCK-Studio/Classes/IO/PckAudio/PckAudioFileReader.cs +++ b/PCK-Studio/Internal/IO/PckAudio/PckAudioFileReader.cs @@ -8,7 +8,7 @@ using System.IO; using System.Linq; using System.Text; -namespace PckStudio.IO.PckAudio +namespace PckStudio.Internal.IO.PckAudio { public class InvalidAudioPckException : Exception diff --git a/PCK-Studio/Classes/IO/PckAudio/PckAudioFileWriter.cs b/PCK-Studio/Internal/IO/PckAudio/PckAudioFileWriter.cs similarity index 98% rename from PCK-Studio/Classes/IO/PckAudio/PckAudioFileWriter.cs rename to PCK-Studio/Internal/IO/PckAudio/PckAudioFileWriter.cs index 5c62e632..a2bfa4c7 100644 --- a/PCK-Studio/Classes/IO/PckAudio/PckAudioFileWriter.cs +++ b/PCK-Studio/Internal/IO/PckAudio/PckAudioFileWriter.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Text; -namespace PckStudio.IO.PckAudio +namespace PckStudio.Internal.IO.PckAudio { internal class PckAudioFileWriter : IDataFormatWriter { diff --git a/PCK-Studio/Classes/IO/TGA/TGADataTypeCode.cs b/PCK-Studio/Internal/IO/TGA/TGADataTypeCode.cs similarity index 98% rename from PCK-Studio/Classes/IO/TGA/TGADataTypeCode.cs rename to PCK-Studio/Internal/IO/TGA/TGADataTypeCode.cs index 60456312..aa092c3a 100644 --- a/PCK-Studio/Classes/IO/TGA/TGADataTypeCode.cs +++ b/PCK-Studio/Internal/IO/TGA/TGADataTypeCode.cs @@ -16,7 +16,7 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal enum TGADataTypeCode : byte { diff --git a/PCK-Studio/Classes/IO/TGA/TGADeserializer.cs b/PCK-Studio/Internal/IO/TGA/TGADeserializer.cs similarity index 97% rename from PCK-Studio/Classes/IO/TGA/TGADeserializer.cs rename to PCK-Studio/Internal/IO/TGA/TGADeserializer.cs index 0382e16e..55690de6 100644 --- a/PCK-Studio/Classes/IO/TGA/TGADeserializer.cs +++ b/PCK-Studio/Internal/IO/TGA/TGADeserializer.cs @@ -18,7 +18,7 @@ using System.IO; using System.Drawing; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal static class TGADeserializer { diff --git a/PCK-Studio/Classes/IO/TGA/TGAException.cs b/PCK-Studio/Internal/IO/TGA/TGAException.cs similarity index 93% rename from PCK-Studio/Classes/IO/TGA/TGAException.cs rename to PCK-Studio/Internal/IO/TGA/TGAException.cs index 9f961579..7e6461c1 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAException.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAException.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.Serialization; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { [Serializable] internal class TGAException : Exception diff --git a/PCK-Studio/Classes/IO/TGA/TGAExtentionData.cs b/PCK-Studio/Internal/IO/TGA/TGAExtentionData.cs similarity index 98% rename from PCK-Studio/Classes/IO/TGA/TGAExtentionData.cs rename to PCK-Studio/Internal/IO/TGA/TGAExtentionData.cs index 3f5d6e45..c22aec78 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAExtentionData.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAExtentionData.cs @@ -18,7 +18,7 @@ using System; using System.Windows.Forms; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal struct TGAExtentionData { diff --git a/PCK-Studio/Classes/IO/TGA/TGAFileData.cs b/PCK-Studio/Internal/IO/TGA/TGAFileData.cs similarity index 97% rename from PCK-Studio/Classes/IO/TGA/TGAFileData.cs rename to PCK-Studio/Internal/IO/TGA/TGAFileData.cs index f4a12859..f1ad1111 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAFileData.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAFileData.cs @@ -19,7 +19,7 @@ using System.IO; using System.Drawing; using System; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal class TGAFileData { diff --git a/PCK-Studio/Classes/IO/TGA/TGAFooter.cs b/PCK-Studio/Internal/IO/TGA/TGAFooter.cs similarity index 96% rename from PCK-Studio/Classes/IO/TGA/TGAFooter.cs rename to PCK-Studio/Internal/IO/TGA/TGAFooter.cs index cfae98c8..6859de2f 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAFooter.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAFooter.cs @@ -16,7 +16,7 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal struct TGAFooter { diff --git a/PCK-Studio/Classes/IO/TGA/TGAHeader.cs b/PCK-Studio/Internal/IO/TGA/TGAHeader.cs similarity index 97% rename from PCK-Studio/Classes/IO/TGA/TGAHeader.cs rename to PCK-Studio/Internal/IO/TGA/TGAHeader.cs index ce967b22..a1bed5f1 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAHeader.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAHeader.cs @@ -16,7 +16,7 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { /// /// Resources: diff --git a/PCK-Studio/Classes/IO/TGA/TGAReader.cs b/PCK-Studio/Internal/IO/TGA/TGAReader.cs similarity index 99% rename from PCK-Studio/Classes/IO/TGA/TGAReader.cs rename to PCK-Studio/Internal/IO/TGA/TGAReader.cs index 112d2fc7..4ed2442a 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAReader.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAReader.cs @@ -26,7 +26,7 @@ using System.Collections.Generic; using OMI.Workers; using OMI; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal class TGAReader : IDataFormatReader, IDataFormatReader { diff --git a/PCK-Studio/Classes/IO/TGA/TGASerializer.cs b/PCK-Studio/Internal/IO/TGA/TGASerializer.cs similarity index 97% rename from PCK-Studio/Classes/IO/TGA/TGASerializer.cs rename to PCK-Studio/Internal/IO/TGA/TGASerializer.cs index dd4254f5..f82d5119 100644 --- a/PCK-Studio/Classes/IO/TGA/TGASerializer.cs +++ b/PCK-Studio/Internal/IO/TGA/TGASerializer.cs @@ -18,7 +18,7 @@ using System.IO; using System.Drawing; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal static class TGASerializer { diff --git a/PCK-Studio/Classes/IO/TGA/TGAWriter.cs b/PCK-Studio/Internal/IO/TGA/TGAWriter.cs similarity index 99% rename from PCK-Studio/Classes/IO/TGA/TGAWriter.cs rename to PCK-Studio/Internal/IO/TGA/TGAWriter.cs index ff0b5475..97fa1727 100644 --- a/PCK-Studio/Classes/IO/TGA/TGAWriter.cs +++ b/PCK-Studio/Internal/IO/TGA/TGAWriter.cs @@ -26,7 +26,7 @@ using OMI; using System.Windows.Forms; using DiscordRPC; -namespace PckStudio.IO.TGA +namespace PckStudio.Internal.IO.TGA { internal class TGAWriter { diff --git a/PCK-Studio/Internal/Serializer/ImageSerializer.cs b/PCK-Studio/Internal/Serializer/ImageSerializer.cs index b33d13d9..99c9da12 100644 --- a/PCK-Studio/Internal/Serializer/ImageSerializer.cs +++ b/PCK-Studio/Internal/Serializer/ImageSerializer.cs @@ -9,7 +9,7 @@ using System.Text; using System.Threading.Tasks; using OMI.Formats.Pck; using PckStudio.Interfaces; -using PckStudio.IO.TGA; +using PckStudio.Internal.IO.TGA; namespace PckStudio.Internal.Serializer { diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 49241518..1eefee89 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -7,12 +7,10 @@ using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Diagnostics; using System.Drawing.Imaging; -using OMI.Formats.Archive; using OMI.Formats.Pck; using OMI.Formats.GameRule; using OMI.Formats.Languages; using OMI.Formats.Model; -using OMI.Workers.Archive; using OMI.Workers.Pck; using OMI.Workers.GameRule; using OMI.Workers.Language; @@ -24,8 +22,8 @@ using PckStudio.Forms.Editor; using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Forms.Additional_Popups; using PckStudio.Classes.Misc; -using PckStudio.IO.PckAudio; -using PckStudio.IO._3DST; +using PckStudio.Internal.IO.PckAudio; +using PckStudio.Internal.IO._3DST; using PckStudio.Internal; using PckStudio.Features; using PckStudio.Extensions; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 4fa1feb1..7626bc86 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -133,8 +133,8 @@ - - + + @@ -198,12 +198,12 @@ - - - - - - + + + + + + @@ -245,14 +245,14 @@ CemuPanel.cs - - - - - - - - + + + + + + + + Form @@ -436,7 +436,7 @@ CreditsForm.cs - + CemuPanel.cs From b3dcb7160bef1cd847cff66b0f1ad99a7cfd90ed Mon Sep 17 00:00:00 2001 From: MattN-L Date: Sun, 28 Apr 2024 20:20:12 -0400 Subject: [PATCH 12/66] MainForm: Added "Edit Texture Atlas" Button --- PCK-Studio/MainForm.cs | 20 ++++++++++++++++++++ PCK-Studio/PckStudio.csproj | 3 +++ 2 files changed, 23 insertions(+) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 1eefee89..bfda29a3 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -710,6 +710,26 @@ namespace PckStudio buttonEdit.Text = "EDIT TILE ANIMATION"; buttonEdit.Visible = true; } + + bool isTerrain = file.Filename == "res/terrain.png"; + bool isItems = file.Filename == "res/items.png"; + bool isParticles = file.Filename == "res/particles.png"; + bool isMoonPhases = file.Filename == "res/terrain/moon_phases.png"; + bool isMapIcons = file.Filename == "res/misc/mapicons.png"; + bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; + bool isXPOrbs = file.Filename == "res/item/xporb.png"; + bool isExplosions = file.Filename == "res/misc/explosion.png"; + bool isPaintings = file.Filename == "res/art/kz.png"; + bool isBanners = file.Filename == "res/item/banner/Banner_Atlas.png"; + + if (( + isTerrain || isItems || isParticles || isMoonPhases || isPaintings || + isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners + ) && file.Type == PckAssetType.TextureFile) + { + buttonEdit.Text = "EDIT TEXTURE ATLAS"; + buttonEdit.Visible = true; + } } break; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 7626bc86..0ff9a08e 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -660,11 +660,14 @@ + + + From aadb8519b104ebf0502b4bb80e3cf69868398a0f Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 29 Apr 2024 16:03:43 +0200 Subject: [PATCH 13/66] MainForm - Fix animation file name when creating a new one --- PCK-Studio/MainForm.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 1eefee89..dec075b1 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1084,11 +1084,11 @@ namespace PckStudio if (diag.ShowDialog(this) != DialogResult.OK) return; - string animationFilepath = $"{ResourceLocation.GetPathFromCategory(diag.Category)}/{diag.SelectedTile}.png"; + string animationFilepath = $"{ResourceLocation.GetPathFromCategory(diag.Category)}/{diag.SelectedTile.InternalName}.png"; if (currentPCK.Contains(animationFilepath, PckAssetType.TextureFile)) { - MessageBox.Show(this, $"{diag.SelectedTile} is already present.", "File already present"); + MessageBox.Show(this, $"{diag.SelectedTile.DisplayName} is already present.", "File already present"); return; } From 8f475070e39be38bd0c929b8822a03f18daa6a7c Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:46:58 +0200 Subject: [PATCH 14/66] AnimationPictureBox - Update animation system as a whole --- PCK-Studio/Extensions/AnimationExtensions.cs | 13 ++ PCK-Studio/Forms/Editor/AnimationEditor.cs | 19 ++- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 3 +- .../ToolboxItems/AnimationPictureBox.cs | 147 ++++-------------- 4 files changed, 60 insertions(+), 122 deletions(-) diff --git a/PCK-Studio/Extensions/AnimationExtensions.cs b/PCK-Studio/Extensions/AnimationExtensions.cs index 4c7aeb3f..557e8e45 100644 --- a/PCK-Studio/Extensions/AnimationExtensions.cs +++ b/PCK-Studio/Extensions/AnimationExtensions.cs @@ -1,9 +1,11 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using AnimatedGif; using Newtonsoft.Json.Linq; using PckStudio.Internal; @@ -11,6 +13,17 @@ namespace PckStudio.Extensions { internal static class AnimationExtensions { + internal static Image CreateAnimationImage(this Animation animation) + { + var ms = new System.IO.MemoryStream(); + var generateor = new AnimatedGifCreator(ms, Animation.GameTickInMilliseconds, 0); + foreach (var frame in animation.GetInterpolatedFrames()) + { + generateor.AddFrame(frame.Texture, frame.Ticks * Animation.GameTickInMilliseconds, GifQuality.Bit8); + } + ms.Position = 0; + return Image.FromStream(ms); + } internal static JObject ConvertToJavaAnimation(this Animation animation) { diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.cs b/PCK-Studio/Forms/Editor/AnimationEditor.cs index 6df69bf8..f96da2bd 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.cs @@ -43,6 +43,7 @@ namespace PckStudio.Forms.Editor private Animation _animation; private bool _isSpecialTile; + private AnimationEditor() { InitializeComponent(); @@ -56,6 +57,7 @@ namespace PckStudio.Forms.Editor _animation = animation; tileLabel.Text = displayName; _isSpecialTile = isSpecialTile; + animationPictureBox.Image = animation.CreateAnimationImage(); } internal AnimationEditor(Animation animation, string displayName, Color blendColor) @@ -63,7 +65,7 @@ namespace PckStudio.Forms.Editor { animationPictureBox.UseBlendColor = true; animationPictureBox.BlendColor = blendColor; - } + } private void ValidateToolStrip() { @@ -90,12 +92,11 @@ namespace PckStudio.Forms.Editor InterpolationCheckbox.Checked = _animation.Interpolate; TextureIcons.Images.Clear(); TextureIcons.Images.AddRange(_animation.GetTextures().ToArray()); - UpdateTreeView(); if (_animation.FrameCount > 0) { - animationPictureBox.SelectFrame(_animation, 0); + animationPictureBox.Image.SelectActiveFrame(FrameDimension.Page, 0); } } @@ -111,13 +112,15 @@ namespace PckStudio.Forms.Editor }) .ToArray() ); - } + } private void frameTreeView_AfterSelect(object sender, TreeViewEventArgs e) { if (animationPictureBox.IsPlaying) - AnimationStartStopBtn.Text = "Play Animation"; - animationPictureBox.SelectFrame(_animation, frameTreeView.SelectedNode.Index); + { + StopAnimation(); + } + animationPictureBox.Image = _animation.GetFrame(frameTreeView.SelectedNode.Index).Texture; } private void StopAnimation() @@ -133,9 +136,11 @@ namespace PckStudio.Forms.Editor StopAnimation(); return; } + if (_animation.FrameCount > 1) { - animationPictureBox.Start(_animation); + animationPictureBox.Image = _animation.CreateAnimationImage(); + animationPictureBox.Start(); AnimationStartStopBtn.Text = "Stop Animation"; } } diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index ec5b8f2c..f52f8cb7 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -255,7 +255,8 @@ namespace PckStudio.Forms.Editor animationFile.Size > 0) { var animation = animationFile.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); - selectTilePictureBox.Start(animation); + selectTilePictureBox.Image = animation.CreateAnimationImage(); + selectTilePictureBox.Start(); } } diff --git a/PCK-Studio/ToolboxItems/AnimationPictureBox.cs b/PCK-Studio/ToolboxItems/AnimationPictureBox.cs index 666650f6..580cd49f 100644 --- a/PCK-Studio/ToolboxItems/AnimationPictureBox.cs +++ b/PCK-Studio/ToolboxItems/AnimationPictureBox.cs @@ -16,142 +16,61 @@ * 3. This notice may not be removed or altered from any source distribution. **/ using System; -using System.Threading; using System.Diagnostics; using System.Windows.Forms; -using System.Threading.Tasks; -using System.Drawing.Drawing2D; using System.Runtime.CompilerServices; using PckStudio.Extensions; using PckStudio.Internal; using System.Drawing; +using AnimatedGif; +using System.Drawing.Imaging; namespace PckStudio.ToolboxItems { internal class AnimationPictureBox : BlendPictureBox { - public bool IsPlaying - { - get - { - lock(l_playing) - { - return _isPlaying; - } - } - private set - { - lock (l_playing) - { - _isPlaying = value; - } - } - } + public bool IsPlaying => _isPlaying; + + private bool _isPlaying; - private bool _isPlaying = false; - private int currentAnimationFrameIndex = 0; - private Animation.Frame currentFrame; - private Animation _animation; - private CancellationTokenSource cts = new CancellationTokenSource(); - private object l_dispose = new object(); - private object l_playing = new object(); - - public void Start(Animation animation) - { - _animation = animation; - cts = new CancellationTokenSource(); - IsPlaying = true; - Task.Run(DoAnimate, cts.Token); - } - - public void Stop([CallerMemberName] string callerName = default!) - { - Debug.WriteLine($"{nameof(AnimationPictureBox.Stop)} called from {callerName}!"); - IsPlaying = false; - cts.Cancel(); - cts.Token.WaitHandle.WaitOne(500); - } - - public void SelectFrame(Animation animation, int index) - { - if (IsPlaying) - Stop(); - _animation = animation; - currentAnimationFrameIndex = index; - currentFrame = SetAnimationFrame(index); - } - - private void DoAnimate() - { - _ = _animation ?? throw new ArgumentNullException(nameof(_animation)); - Animation.Frame nextFrame; - while (!cts.IsCancellationRequested && IsPlaying) - { - if (currentAnimationFrameIndex >= _animation.FrameCount) - { - currentAnimationFrameIndex = 0; - } - - if (currentAnimationFrameIndex + 1 >= _animation.FrameCount) - { - nextFrame = _animation.GetFrame(0); - } - else - { - nextFrame = _animation.GetFrame(currentAnimationFrameIndex + 1); - } - - currentFrame = _animation.GetFrame(currentAnimationFrameIndex++); - if (_animation.Interpolate) - { - InterpolateFrame(currentFrame, nextFrame); - continue; - } - SetAnimationFrame(currentFrame); - if (cts.Token.WaitHandle.WaitOne(Animation.GameTickInMilliseconds * currentFrame.Ticks)) - { - IsPlaying = false; - break; - } - } - } - - private void InterpolateFrame(Animation.Frame currentFrame, Animation.Frame nextFrame) + private void PictureBox_Internal_Animate(PictureBox pictureBox, bool animate) { - for (int tick = 0; tick < currentFrame.Ticks && !cts.IsCancellationRequested; tick++) + var animateMethod = typeof(PictureBox).GetMethod("Animate", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, + null, new Type[] { typeof(bool) }, null); + animateMethod.Invoke(pictureBox, new object[] { animate }); + } + + public new Image Image + { + get => base.Image; + set { - double delta = 1.0f - tick / (double)currentFrame.Ticks; - SetTexture(currentFrame.Texture.Interpolate(nextFrame.Texture, delta)); - if (cts.Token.WaitHandle.WaitOne(Animation.GameTickInMilliseconds)) - break; + base.Image = value; + PictureBox_Internal_Animate(this, false); + if (value is null) + return; + value.SelectActiveFrame(new FrameDimension(value.FrameDimensionsList[0]), 0); } } - private Animation.Frame SetAnimationFrame(int frameIndex) + public void Start() { - var frame = _animation.GetFrame(frameIndex); - SetAnimationFrame(frame); - return frame; - } - - private void SetTexture(Image texture) - { - if (!IsHandleCreated || Disposing) - return; - Invoke(() => Image = texture); - } - - private void SetAnimationFrame(Animation.Frame frame) - { - SetTexture(frame.Texture); + _isPlaying = true; + PictureBox_Internal_Animate(this, _isPlaying); } - protected override void Dispose(bool disposing) - { + public void Stop() + { + _isPlaying = false; + PictureBox_Internal_Animate(this, _isPlaying); + } + + protected override void Dispose(bool disposing) + { Stop(); - cts.Token.WaitHandle.WaitOne(500); base.Dispose(disposing); - } + } } } From 76c8a856febf6c5e84505d241bbdbf729a1281d3 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:56:28 +0200 Subject: [PATCH 15/66] AnimationEditor - Fix null reference exception when loading treeview --- PCK-Studio/Extensions/AnimationExtensions.cs | 4 ++++ PCK-Studio/Forms/Editor/AnimationEditor.cs | 2 ++ 2 files changed, 6 insertions(+) diff --git a/PCK-Studio/Extensions/AnimationExtensions.cs b/PCK-Studio/Extensions/AnimationExtensions.cs index 557e8e45..9c6e2b8d 100644 --- a/PCK-Studio/Extensions/AnimationExtensions.cs +++ b/PCK-Studio/Extensions/AnimationExtensions.cs @@ -15,6 +15,10 @@ namespace PckStudio.Extensions { internal static Image CreateAnimationImage(this Animation animation) { + if (animation.FrameCount == 0) + { + return null; + } var ms = new System.IO.MemoryStream(); var generateor = new AnimatedGifCreator(ms, Animation.GameTickInMilliseconds, 0); foreach (var frame in animation.GetInterpolatedFrames()) diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.cs b/PCK-Studio/Forms/Editor/AnimationEditor.cs index f96da2bd..da56968e 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.cs @@ -94,6 +94,8 @@ namespace PckStudio.Forms.Editor TextureIcons.Images.AddRange(_animation.GetTextures().ToArray()); UpdateTreeView(); + animationPictureBox.Image ??= _animation.CreateAnimationImage(); + if (_animation.FrameCount > 0) { animationPictureBox.Image.SelectActiveFrame(FrameDimension.Page, 0); From 115c16db97ba7b9324287891b52a1395c7ec6aa4 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 30 Apr 2024 18:16:32 +0200 Subject: [PATCH 16/66] ImageExtension - Fix leaving bitmap data locked in memory --- PCK-Studio/Extensions/ImageExtensions.cs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/PCK-Studio/Extensions/ImageExtensions.cs b/PCK-Studio/Extensions/ImageExtensions.cs index 994b0588..27a5ff70 100644 --- a/PCK-Studio/Extensions/ImageExtensions.cs +++ b/PCK-Studio/Extensions/ImageExtensions.cs @@ -232,33 +232,38 @@ namespace PckStudio.Extensions return image1; BitmapData baseImageData = baseImage.LockBits(new Rectangle(Point.Empty, baseImage.Size), - ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); + ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); byte[] baseImageBuffer = new byte[baseImageData.Stride * baseImageData.Height]; Marshal.Copy(baseImageData.Scan0, baseImageBuffer, 0, baseImageBuffer.Length); + baseImage.UnlockBits(baseImageData); + BitmapData overlayImageData = overlayImage.LockBits(new Rectangle(Point.Empty, overlayImage.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); - byte[] overlayImageBuffer = new byte[overlayImageData.Stride * overlayImageData.Height]; + byte[] overlayImageBuffer = new byte[overlayImageData.Stride * overlayImageData.Height]; + Marshal.Copy(overlayImageData.Scan0, overlayImageBuffer, 0, overlayImageBuffer.Length); + overlayImage.UnlockBits(overlayImageData); + + byte[] finalBuffer = new byte[baseImageData.Stride * baseImageData.Height]; for (int k = 0; k < baseImageBuffer.Length && k < overlayImageBuffer.Length; k += 4) { - baseImageBuffer[k + 0] = ColorExtensions.Mix(delta, baseImageBuffer[k + 0], overlayImageBuffer[k + 0]); - baseImageBuffer[k + 1] = ColorExtensions.Mix(delta, baseImageBuffer[k + 1], overlayImageBuffer[k + 1]); - baseImageBuffer[k + 2] = ColorExtensions.Mix(delta, baseImageBuffer[k + 2], overlayImageBuffer[k + 2]); + finalBuffer[k + 0] = ColorExtensions.Mix(delta, baseImageBuffer[k + 0], overlayImageBuffer[k + 0]); + finalBuffer[k + 1] = ColorExtensions.Mix(delta, baseImageBuffer[k + 1], overlayImageBuffer[k + 1]); + finalBuffer[k + 2] = ColorExtensions.Mix(delta, baseImageBuffer[k + 2], overlayImageBuffer[k + 2]); + finalBuffer[k + 3] = ColorExtensions.Mix(delta, baseImageBuffer[k + 3], overlayImageBuffer[k + 3]); } Bitmap bitmapResult = new Bitmap(baseImage.Width, baseImage.Height, PixelFormat.Format32bppArgb); BitmapData resultImageData = bitmapResult.LockBits(new Rectangle(Point.Empty, bitmapResult.Size), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); - Marshal.Copy(baseImageBuffer, 0, resultImageData.Scan0, baseImageBuffer.Length); + Marshal.Copy(finalBuffer, 0, resultImageData.Scan0, finalBuffer.Length); bitmapResult.UnlockBits(resultImageData); - baseImage.UnlockBits(baseImageData); - overlayImage.UnlockBits(overlayImageData); return bitmapResult; } } From be1bd6d05424607ea829722c97dffd06117fb40a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 30 Apr 2024 18:55:22 +0200 Subject: [PATCH 17/66] Add serialization/deserialization of property data --- PCK-Studio/Extensions/PckAssetExtensions.cs | 22 +++++ PCK-Studio/MainForm.cs | 93 ++++++++------------- 2 files changed, 59 insertions(+), 56 deletions(-) diff --git a/PCK-Studio/Extensions/PckAssetExtensions.cs b/PCK-Studio/Extensions/PckAssetExtensions.cs index aa33b919..950d3a15 100644 --- a/PCK-Studio/Extensions/PckAssetExtensions.cs +++ b/PCK-Studio/Extensions/PckAssetExtensions.cs @@ -88,5 +88,27 @@ namespace PckStudio.Extensions string ext = Path.GetExtension(file.Filename); return file.Filename.Remove(file.Filename.Length - (MipMap.Length + 1) - ext.Length) + ext; } + + internal static void DeserializePropertiesFromString(this PckAsset file, string serializedData) + { + string[] lines = serializedData.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + foreach (string line in lines) + { + int idx = line.IndexOf(' '); + if (idx == -1 || line.Length - 1 == idx) + continue; + file.AddProperty(line.Substring(0, idx).Replace(":", string.Empty), line.Substring(idx + 1)); + } + } + + internal static string SerializePropertiesToString(this PckAsset file) + { + StringBuilder builder = new StringBuilder(file.PropertyCount * 20); + foreach (var property in file.GetProperties()) + { + builder.AppendLine(property.Key + ": " + property.Value); + } + return builder.ToString(); + } } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index a32e8c98..4375ce9e 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -764,11 +764,7 @@ namespace PckStudio File.WriteAllBytes(outFilePath, file.Data); if (file.PropertyCount > 0) { - using var fs = File.CreateText($"{outFilePath}.txt"); - foreach (KeyValuePair property in file.GetProperties()) - { - fs.WriteLine($"{property.Key}: {property.Value}"); - } + File.WriteAllText($"{outFilePath}.txt", file.SerializePropertiesToString()); } } @@ -1549,9 +1545,9 @@ namespace PckStudio private void ImportFiles(string[] files) { int addedCount = 0; - foreach (var file in files) + foreach (var filepath in files) { - using AddFilePrompt addFile = new AddFilePrompt(Path.GetFileName(file)); + using AddFilePrompt addFile = new AddFilePrompt(Path.GetFileName(filepath)); if (addFile.ShowDialog(this) != DialogResult.OK) continue; @@ -1560,8 +1556,13 @@ namespace PckStudio MessageBox.Show(this, $"'{addFile.Filepath}' of type {addFile.Filetype} already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); continue; } - currentPCK.CreateNewFile(addFile.Filepath, addFile.Filetype, () => File.ReadAllBytes(file)); - addedCount++; + var importedFile = currentPCK.CreateNewFile(addFile.Filepath, addFile.Filetype, () => File.ReadAllBytes(filepath)); + string propertyFile = filepath + ".txt"; + if (File.Exists(propertyFile)) + { + importedFile.DeserializePropertiesFromString(File.ReadAllText(propertyFile)); + } + addedCount++; BuildMainTreeView(); wasModified = true; @@ -1769,6 +1770,12 @@ namespace PckStudio : PckAssetType.SkinFile; string pckfilepath = Path.Combine(filepath, filename); + if (currentPCK.Contains(pckfilepath, pckfiletype)) + { + Trace.TraceInformation("[{0}] {1} already exists.", nameof(importExtractedSkinsFolder), pckfilepath); + continue; + } + PckAsset newFile = currentPCK.CreateNewFile(pckfilepath, pckfiletype); byte[] filedata = File.ReadAllBytes(fullfilename); newFile.SetData(filedata); @@ -1776,16 +1783,7 @@ namespace PckStudio if (File.Exists(fullfilename + ".txt")) { string propertiesFileContent = File.ReadAllText(fullfilename + ".txt"); - string[] properties = propertiesFileContent.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); - foreach (string property in properties) - { - string[] param = property.Split(':'); - if (param.Length < 2) - continue; - string key = param[0]; - string value = param[1]; - newFile.AddProperty(key, value); - } + newFile.DeserializePropertiesFromString(propertiesFileContent); } } BuildMainTreeView(); @@ -1852,45 +1850,28 @@ namespace PckStudio { string skinNameImport = Path.GetFileName(contents.FileName); byte[] data = File.ReadAllBytes(contents.FileName); - PckAsset mfNew = currentPCK.CreateNewFile(skinNameImport, PckAssetType.SkinFile); - mfNew.SetData(data); - string propertyFile = Path.GetFileNameWithoutExtension(contents.FileName) + ".txt"; + + if (currentPCK.Contains(skinNameImport, PckAssetType.SkinFile)) + { + Trace.TraceInformation("[{0}] {1} already exists.", nameof(importExtractedSkinsFolder), skinNameImport); + return; + } + + PckAsset importSkinAsset = currentPCK.CreateNewFile(skinNameImport, PckAssetType.SkinFile); + importSkinAsset.SetData(data); + string propertyFile = contents.FileName + ".txt"; if (File.Exists(propertyFile)) { - string[] txtProperties = File.ReadAllLines(propertyFile); - if ((txtProperties.Contains("DISPLAYNAMEID") && txtProperties.Contains("DISPLAYNAME")) || - txtProperties.Contains("THEMENAMEID") && txtProperties.Contains("THEMENAME") && - TryGetLocFile(out LOCFile locFile)) - { - // do stuff - //l.AddLocKey(locThemeId, locTheme); - //using (var stream = new MemoryStream()) - //{ - // LOCFileWriter.Write(stream, locFile); - // locdata.SetData(stream.ToArray()); - //} - } - - try - { - foreach (string prop in txtProperties) - { - string[] arg = prop.Split(':'); - if (arg.Length < 2) continue; - string key = arg[0]; - string value = arg[1]; - if (key == "DISPLNAMEID" || key == "THEMENAMEID") - { - - } - mfNew.AddProperty(key, value); - } - wasModified = true; - } - catch (Exception ex) - { - MessageBox.Show(this, ex.Message); - } + string txtProperties = File.ReadAllText(propertyFile); + importSkinAsset.DeserializePropertiesFromString(txtProperties); + + // Because extracting/exporting an assest doesn't export + // the actual loc value we just get an undefined loc key + // - Miku + importSkinAsset.RemoveProperty("DISPLAYNAMEID"); + importSkinAsset.RemoveProperty("THEMENAMEID"); + BuildMainTreeView(); + wasModified = true; } } } From a570f99b4489d1215ff5e45c3f24e9db94401e7a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 1 May 2024 13:53:59 +0200 Subject: [PATCH 18/66] Move 'Features' folder into 'Forms' folder --- .../{ => Forms}/Features/CemuPanel.Designer.cs | 2 +- PCK-Studio/{ => Forms}/Features/CemuPanel.cs | 2 +- PCK-Studio/{ => Forms}/Features/CemuPanel.resx | 0 .../{ => Forms}/Features/PckManager.Designer.cs | 2 +- PCK-Studio/{ => Forms}/Features/PckManager.cs | 2 +- PCK-Studio/{ => Forms}/Features/PckManager.resx | 0 PCK-Studio/MainForm.cs | 2 +- PCK-Studio/PckStudio.csproj | 12 ++++++------ 8 files changed, 11 insertions(+), 11 deletions(-) rename PCK-Studio/{ => Forms}/Features/CemuPanel.Designer.cs (99%) rename PCK-Studio/{ => Forms}/Features/CemuPanel.cs (99%) rename PCK-Studio/{ => Forms}/Features/CemuPanel.resx (100%) rename PCK-Studio/{ => Forms}/Features/PckManager.Designer.cs (99%) rename PCK-Studio/{ => Forms}/Features/PckManager.cs (98%) rename PCK-Studio/{ => Forms}/Features/PckManager.resx (100%) diff --git a/PCK-Studio/Features/CemuPanel.Designer.cs b/PCK-Studio/Forms/Features/CemuPanel.Designer.cs similarity index 99% rename from PCK-Studio/Features/CemuPanel.Designer.cs rename to PCK-Studio/Forms/Features/CemuPanel.Designer.cs index 44f0b0c9..1853180f 100644 --- a/PCK-Studio/Features/CemuPanel.Designer.cs +++ b/PCK-Studio/Forms/Features/CemuPanel.Designer.cs @@ -1,4 +1,4 @@ -namespace PckStudio.Features +namespace PckStudio.Forms.Features { partial class CemuPanel { diff --git a/PCK-Studio/Features/CemuPanel.cs b/PCK-Studio/Forms/Features/CemuPanel.cs similarity index 99% rename from PCK-Studio/Features/CemuPanel.cs rename to PCK-Studio/Forms/Features/CemuPanel.cs index e49018e4..6112f75e 100644 --- a/PCK-Studio/Features/CemuPanel.cs +++ b/PCK-Studio/Forms/Features/CemuPanel.cs @@ -24,7 +24,7 @@ using PckStudio.Extensions; using PckStudio.Classes.Misc; using System.Diagnostics; -namespace PckStudio.Features +namespace PckStudio.Forms.Features { /// /// Wishlist: diff --git a/PCK-Studio/Features/CemuPanel.resx b/PCK-Studio/Forms/Features/CemuPanel.resx similarity index 100% rename from PCK-Studio/Features/CemuPanel.resx rename to PCK-Studio/Forms/Features/CemuPanel.resx diff --git a/PCK-Studio/Features/PckManager.Designer.cs b/PCK-Studio/Forms/Features/PckManager.Designer.cs similarity index 99% rename from PCK-Studio/Features/PckManager.Designer.cs rename to PCK-Studio/Forms/Features/PckManager.Designer.cs index 61f06c53..a4cf5933 100644 --- a/PCK-Studio/Features/PckManager.Designer.cs +++ b/PCK-Studio/Forms/Features/PckManager.Designer.cs @@ -1,4 +1,4 @@ -namespace PckStudio.Features +namespace PckStudio.Forms.Features { partial class PckManager { diff --git a/PCK-Studio/Features/PckManager.cs b/PCK-Studio/Forms/Features/PckManager.cs similarity index 98% rename from PCK-Studio/Features/PckManager.cs rename to PCK-Studio/Forms/Features/PckManager.cs index 9b5874c0..6348649c 100644 --- a/PCK-Studio/Features/PckManager.cs +++ b/PCK-Studio/Forms/Features/PckManager.cs @@ -18,7 +18,7 @@ using System; using System.Windows.Forms; -namespace PckStudio.Features +namespace PckStudio.Forms.Features { public partial class PckManager : MetroFramework.Forms.MetroForm { diff --git a/PCK-Studio/Features/PckManager.resx b/PCK-Studio/Forms/Features/PckManager.resx similarity index 100% rename from PCK-Studio/Features/PckManager.resx rename to PCK-Studio/Forms/Features/PckManager.resx diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 4375ce9e..4bb3f079 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -25,7 +25,7 @@ using PckStudio.Classes.Misc; using PckStudio.Internal.IO.PckAudio; using PckStudio.Internal.IO._3DST; using PckStudio.Internal; -using PckStudio.Features; +using PckStudio.Forms.Features; using PckStudio.Extensions; using PckStudio.Popups; using PckStudio.Classes.Utils; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 0ff9a08e..e2701397 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -239,10 +239,10 @@ - + UserControl - + CemuPanel.cs @@ -376,10 +376,10 @@ Form - + Form - + PckManager.cs @@ -437,7 +437,7 @@ - + CemuPanel.cs @@ -523,7 +523,7 @@ InProgressPrompt.cs - + PckManager.cs From f6c3602d1e5dcd6d8c5e4d958cf762e4199caa9a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 5 May 2024 20:05:29 +0200 Subject: [PATCH 19/66] Update build workflow to cache nuget packages --- .github/workflows/CI.yml | 49 +++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0a21f1ae..26a6b7e2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -2,26 +2,43 @@ name: .NET on: [push, pull_request] +env: + NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages + nuget-cache-key: nuget-package-cache + jobs: + build: runs-on: windows-latest - + steps: - - uses: actions/checkout@v3 - - - name: Checkout submodules - run: | - git submodule update --init --recursive - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.1 - - - name: Setup NuGet - uses: NuGet/setup-nuget@v1.0.6 + - uses: actions/checkout@v4 + with: + submodules: recursive - - name: Restore NuGet Packages - run: nuget restore PCK_Studio.sln + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 - - name: Build Solution - run: msbuild PCK_Studio.sln + - name: Setup NuGet + uses: NuGet/setup-nuget@v2 + + - name: Restore NuGet Packages + id: nuget-packages-restore + uses: actions/cache/restore@v4 + with: + path: ${{ env.NUGET_PACKAGES }} + key: ${{ runner.os }}-${{ env.nuget-cache-key }} + + - name: Get NuGet Packages + run: nuget restore PCK_Studio.sln + + - name: Cache NuGet Packages + id: nuget-packages-save + uses: actions/cache/save@v4 + with: + path: ${{ env.NUGET_PACKAGES }} + key: ${{ steps.nuget-packages-restore.outputs.cache-primary-key }} + + - name: Build Solution + run: msbuild PCK_Studio.sln From 0b1e1eb3abf73c4d6773ba7051c555fd0b73e2e0 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 6 May 2024 18:26:02 +0200 Subject: [PATCH 20/66] Add release workflow --- .github/workflows/release.yml | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..c5f3d9db --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +name: Create release + +on: + push: + branches: main + tags: v*.* + +env: + RELEASE_NAME: PCK-Studio + +jobs: + CreateRelease: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + + - name: Setup NuGet + uses: NuGet/setup-nuget@v2 + + - name: Get NuGet Packages + run: nuget restore PCK_Studio.sln + + - name: Build solution + run: "msbuild PCK_Studio.sln -p:Configuration=Release" + + - name: Package binary + run: Compress-Archive -Path ${{ github.workspace }}\PCK-Studio\bin\Release\ -Destination ${{ env.RELEASE_NAME }}.zip + + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + files: ${{ env.RELEASE_NAME }}.zip + \ No newline at end of file From d0f4973627265f1b746fe6d1621d14a72a43b153 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 7 May 2024 18:33:22 +0200 Subject: [PATCH 21/66] Update CI workflow name --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 26a6b7e2..7dd68c5d 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,4 +1,4 @@ -name: .NET +name: CI on: [push, pull_request] From 4a856deca5f26e73c765288195fbb0023ea00657 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 7 May 2024 18:45:57 +0200 Subject: [PATCH 22/66] Fix release workflow running when just pushing to the main branch --- .github/workflows/release.yml | 69 +++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c5f3d9db..ecfe0c7e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,40 +1,55 @@ name: Create release + + on: push: - branches: main tags: v*.* env: RELEASE_NAME: PCK-Studio - + jobs: + on-main-branch-check: + runs-on: ubuntu-latest + outputs: + on_main: ${{ steps.contains_tag.outputs.retval }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: rickstaa/action-contains-tag@v1 + id: contains_tag + with: + reference: "main" + tag: "${{ github.ref }}" CreateRelease: - runs-on: windows-latest - - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive + runs-on: windows-latest + needs: on-main-branch-check + if: ${{ needs.on-main-branch-check.outputs.on_main == 'true' }} + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + + - name: Setup NuGet + uses: NuGet/setup-nuget@v2 - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 - - - name: Setup NuGet - uses: NuGet/setup-nuget@v2 - - - name: Get NuGet Packages - run: nuget restore PCK_Studio.sln - - - name: Build solution - run: "msbuild PCK_Studio.sln -p:Configuration=Release" + - name: Get NuGet Packages + run: nuget restore PCK_Studio.sln + + - name: Build solution + run: "msbuild PCK_Studio.sln -p:Configuration=Release" - - name: Package binary - run: Compress-Archive -Path ${{ github.workspace }}\PCK-Studio\bin\Release\ -Destination ${{ env.RELEASE_NAME }}.zip + - name: Package binary + run: Compress-Archive -Path ${{ github.workspace }}\PCK-Studio\bin\Release\ -Destination ${{ env.RELEASE_NAME }}.zip - - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') - with: - files: ${{ env.RELEASE_NAME }}.zip - \ No newline at end of file + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + files: ${{ env.RELEASE_NAME }}.zip + \ No newline at end of file From 70d83eca2a34da0f3f1a6cdb6b37b1e071e3a0fa Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 8 May 2024 16:44:33 +0200 Subject: [PATCH 23/66] MainForm - Fix duplicating folder when dropping onto itself --- PCK-Studio/MainForm.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 4bb3f079..92678adc 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1466,10 +1466,16 @@ namespace PckStudio return; bool isTargetPckFile = targetNode.IsTagOfType(); - - if (e.Data.GetData(dataFormat) is not TreeNode draggedNode) + TreeNode draggedNode = e.Data.GetData(dataFormat) as TreeNode; + if (draggedNode == null) { - Debug.WriteLine("Dragged data was not of type TreeNode."); + Debug.WriteLine("Dragged node is null."); + return; + } + + if (targetNode.Equals(draggedNode)) + { + Debug.WriteLine("Dragged node was not moved."); return; } From 5725e26ce6f46dbf57e4189289f1d32c0b724f88 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 19 May 2024 14:19:43 +0200 Subject: [PATCH 24/66] MainForm - Updated context menu - Move misc functions to main context menu and only show on selected file types --- PCK-Studio/MainForm.Designer.cs | 37 +- PCK-Studio/MainForm.cs | 6 +- PCK-Studio/MainForm.resx | 1304 ++++++++++++++----------------- 3 files changed, 615 insertions(+), 732 deletions(-) diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 3f878a54..5f89cede 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -65,7 +65,7 @@ this.modelsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.behavioursFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.entityMaterialsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.miscFunctionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.generateMipMapTextureToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.viewFileInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.correctSkinDecimalsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -76,6 +76,7 @@ this.version1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version3114ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.renameFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -201,7 +202,13 @@ this.importSkinsToolStripMenuItem, this.exportToolStripMenuItem, this.setFileTypeToolStripMenuItem, - this.miscFunctionsToolStripMenuItem, + this.toolStripSeparator5, + this.generateMipMapTextureToolStripMenuItem1, + this.viewFileInfoToolStripMenuItem, + this.correctSkinDecimalsToolStripMenuItem, + this.setSubPCKEndiannessToolStripMenuItem, + this.setModelContainerFormatToolStripMenuItem, + this.toolStripSeparator6, this.extractToolStripMenuItem, this.cloneFileToolStripMenuItem, this.renameFileToolStripMenuItem, @@ -405,16 +412,10 @@ this.entityMaterialsFileBINToolStripMenuItem.Name = "entityMaterialsFileBINToolStripMenuItem"; resources.ApplyResources(this.entityMaterialsFileBINToolStripMenuItem, "entityMaterialsFileBINToolStripMenuItem"); // - // miscFunctionsToolStripMenuItem + // toolStripSeparator5 // - this.miscFunctionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.generateMipMapTextureToolStripMenuItem1, - this.viewFileInfoToolStripMenuItem, - this.correctSkinDecimalsToolStripMenuItem, - this.setSubPCKEndiannessToolStripMenuItem, - this.setModelContainerFormatToolStripMenuItem}); - this.miscFunctionsToolStripMenuItem.Name = "miscFunctionsToolStripMenuItem"; - resources.ApplyResources(this.miscFunctionsToolStripMenuItem, "miscFunctionsToolStripMenuItem"); + this.toolStripSeparator5.Name = "toolStripSeparator5"; + resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); // // generateMipMapTextureToolStripMenuItem1 // @@ -481,6 +482,11 @@ resources.ApplyResources(this.version3114ToolStripMenuItem, "version3114ToolStripMenuItem"); this.version3114ToolStripMenuItem.Click += new System.EventHandler(this.setModelVersion3ToolStripMenuItem_Click); // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); + // // extractToolStripMenuItem // resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem"); @@ -1247,10 +1253,6 @@ private MetroFramework.Controls.MetroLabel labelVersion; private System.Windows.Forms.RichTextBox ChangelogRichTextBox; private System.Windows.Forms.ToolStripMenuItem colourscolToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem miscFunctionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem generateMipMapTextureToolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem viewFileInfoToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem correctSkinDecimalsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem miscToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem CreateSkinsPCKToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem editAllEntriesToolStripMenuItem; @@ -1288,6 +1290,10 @@ private System.Windows.Forms.ToolStripMenuItem trelloBoardToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem recentlyOpenToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripMenuItem generateMipMapTextureToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem viewFileInfoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem correctSkinDecimalsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem setSubPCKEndiannessToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bigEndianXbox360PS3WiiUToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem littleEndianPS4PSVitaSwitchToolStripMenuItem; @@ -1295,6 +1301,7 @@ private System.Windows.Forms.ToolStripMenuItem version1ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem version2ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem version3114ToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 92678adc..9eacbc5b 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2592,12 +2592,15 @@ namespace PckStudio setModelContainerFormatToolStripMenuItem.Visible = false; setSubPCKEndiannessToolStripMenuItem.Visible = false; exportToolStripMenuItem.Visible = false; + toolStripSeparator5.Visible = false; + toolStripSeparator6.Visible = false; if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { replaceToolStripMenuItem.Visible = true; cloneFileToolStripMenuItem.Visible = true; setFileTypeToolStripMenuItem.Visible = true; - miscFunctionsToolStripMenuItem.Visible = true; + toolStripSeparator5.Visible = true; + toolStripSeparator6.Visible = true; if (asset.Type == PckAssetType.SkinFile) { @@ -2616,7 +2619,6 @@ namespace PckStudio replaceToolStripMenuItem.Visible = false; cloneFileToolStripMenuItem.Visible = false; setFileTypeToolStripMenuItem.Visible = false; - miscFunctionsToolStripMenuItem.Visible = false; } } } diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index f4d0fc7e..2d5a3cd8 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -833,127 +833,6 @@ 116, 17 - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ - /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF - TkSuQmCC - - - - 180, 22 - - - Create - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB - DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW - mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF - TkSuQmCC - - - - 180, 22 - - - Import - - - 180, 22 - - - Export - - - 180, 22 - - - Set File Type - - - 180, 22 - - - Misc. Functions - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACYSURBVDhPpZBZ - CsQwDEOd5QK5/2E9qCBGXtopzMcDxxKyY3P3izmnm9kt0OlVvsVVVgOAtvduQ4KJdYbaGKOEFFOHamut - ENKaMlk75zi2QX1rUqDpkbEF/cGktb47ygb5ODA8hVArgsK1cx+EAE7LaB8+hb3QzDx942eAXrqjBOgR - MRkBfHeUADbe8ncANw4NhLwF33R3+wA6sV5/E8GOLwAAAABJRU5ErkJggg== - - - - 180, 22 - - - Extract - - - 180, 22 - - - Clone - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAACVJREFUOE9jwAL+E8AkAbI0IYNRA0YNAIFRA8g0AKYJF0YCDAwAzhor1TRE/JoA - AAAASUVORK5CYII= - - - - 180, 22 - - - Rename - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAC/SURBVDhPlVHB - DQMhDEOIfwfoOuzFoPxhAd5c6/SMAgq0tRQFmdgXfA5IKUkBMcbHPxyJCxVCkK7rm+EwaK1dQO9dClzO - WfpOTM7hy1oMGNvY4pucxNY2p6cAWzFw2oZuMmiJweGeHM634UdLg50YwD05vQ2fYoaoDTEMrJyIfw3R - 4qYQWUZgg6OwlDJyMH8LcwF2T8FZ5kYQb4Lde/9Et8S6Dy1z0LUGi7VpWGvl3Lw2V98ZrtwIUYktwwPn - 3AtE5NqX8pp0ZQAAAABJRU5ErkJggg== - - - - 180, 22 - - - Replace - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACESURBVDhPlY0B - DoAgDAP3Dj7r09WTkqGUgJfUxtrOmHFEnL0U76FBqW8PZXmk/9uONEsIb3gsNRzoL/+R5hWC759mGsbQ - DnzdZbhmiSvhLsM1S1wJdxmuWeJKuMtwzRJXwl2Ga5a4Eu4yXLPElXCX4Zol/WCl6YGdI62n2Zv2cSXV - byIunLh7mD2ySLcAAAAASUVORK5CYII= - - - - 180, 22 - - - Delete - - - 181, 246 - - - contextMenuPCKEntries - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -1042,6 +921,20 @@ EntityMaterials.bin + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ + /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + TkSuQmCC + + + + 223, 22 + + + Create + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -1094,12 +987,33 @@ Add File + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB + DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW + mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF + TkSuQmCC + + + + 223, 22 + + + Import + 186, 22 Export as 3DS Texture + + 223, 22 + + + Export + 222, 22 @@ -1172,6 +1086,15 @@ Entity Materials File (.BIN) + + 223, 22 + + + Set File Type + + + 220, 6 + 223, 22 @@ -1190,12 +1113,6 @@ Correct Skin Decimals - - 223, 22 - - - Set SubPCK Endianness - 250, 22 @@ -1208,11 +1125,11 @@ Little Endian (PS4/PS Vita/Switch) - + 223, 22 - - Set Model Container Format + + Set SubPCK Endianness 216, 22 @@ -1232,6 +1149,89 @@ Version 3 (1.14 [PS4 ONLY]) + + 223, 22 + + + Set Model Container Format + + + 220, 6 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACYSURBVDhPpZBZ + CsQwDEOd5QK5/2E9qCBGXtopzMcDxxKyY3P3izmnm9kt0OlVvsVVVgOAtvduQ4KJdYbaGKOEFFOHamut + ENKaMlk75zi2QX1rUqDpkbEF/cGktb47ygb5ODA8hVArgsK1cx+EAE7LaB8+hb3QzDx942eAXrqjBOgR + MRkBfHeUADbe8ncANw4NhLwF33R3+wA6sV5/E8GOLwAAAABJRU5ErkJggg== + + + + 223, 22 + + + Extract + + + 223, 22 + + + Clone + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAACVJREFUOE9jwAL+E8AkAbI0IYNRA0YNAIFRA8g0AKYJF0YCDAwAzhor1TRE/JoA + AAAASUVORK5CYII= + + + + 223, 22 + + + Rename + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAC/SURBVDhPlVHB + DQMhDEOIfwfoOuzFoPxhAd5c6/SMAgq0tRQFmdgXfA5IKUkBMcbHPxyJCxVCkK7rm+EwaK1dQO9dClzO + WfpOTM7hy1oMGNvY4pucxNY2p6cAWzFw2oZuMmiJweGeHM634UdLg50YwD05vQ2fYoaoDTEMrJyIfw3R + 4qYQWUZgg6OwlDJyMH8LcwF2T8FZ5kYQb4Lde/9Et8S6Dy1z0LUGi7VpWGvl3Lw2V98ZrtwIUYktwwPn + 3AtE5NqX8pp0ZQAAAABJRU5ErkJggg== + + + + 223, 22 + + + Replace + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACESURBVDhPlY0B + DoAgDAP3Dj7r09WTkqGUgJfUxtrOmHFEnL0U76FBqW8PZXmk/9uONEsIb3gsNRzoL/+R5hWC759mGsbQ + DnzdZbhmiSvhLsM1S1wJdxmuWeJKuMtwzRJXwl2Ga5a4Eu4yXLPElXCX4Zol/WCl6YGdI62n2Zv2cSXV + byIunLh7mD2ySLcAAAAASUVORK5CYII= + + + + 223, 22 + + + Delete + + + 224, 346 + + + contextMenuPCKEntries + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 17, 17 @@ -1244,53 +1244,6 @@ None - - 24, 44 - - - 1016, 24 - - - 2 - - - MainMenuStrip - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - - - 37, 20 - - - File - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB - CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl - XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v - AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD - tDACNAfo/Sou0fQ9wGKvoQfO8i61W6SkTXi+XtLLgOwcFSna3It3c+LKO3HlfcRpBa3JBjU5E8DiAAAA - AElFTkSuQmCC - - - - 186, 22 - - - New - 151, 22 @@ -1309,6 +1262,23 @@ Mash-Up Pack + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB + CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl + XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v + AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD + tDACNAfo/Sou0fQ9wGKvoQfO8i61W6SkTXi+XtLLgOwcFSna3It3c+LKO3HlfcRpBa3JBjU5E8DiAAAA + AElFTkSuQmCC + + + + 186, 22 + + + New + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -1326,6 +1296,12 @@ Open + + 160, 22 + + + Full box support + 186, 22 @@ -1335,12 +1311,6 @@ False - - 160, 22 - - - Full box support - False @@ -1406,11 +1376,11 @@ Exit - - 39, 20 + + 37, 20 - - Edit + + File False @@ -1569,6 +1539,36 @@ Quick Change + + 39, 20 + + + Edit + + + 161, 22 + + + Pck Manager + + + 145, 22 + + + Wav -> Binka + + + 145, 22 + + + Binka -> Wav + + + 161, 22 + + + Audio Converter + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL @@ -1597,50 +1597,6 @@ Tools - - 161, 22 - - - Pck Manager - - - 161, 22 - - - Audio Converter - - - 145, 22 - - - Wav -> Binka - - - 145, 22 - - - Binka -> Wav - - - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DAAACwwBP0AiyAAAAeRJREFUeF7tzjGOIzEMAEH//9N3SaEzwzLH2plAFTZEUq/jOI7jOI5f+beZM8/l - n9s481z+uY0zz+Wf2zjzHP4VeRtnIt/HPyJv40zk+/hH5G2ciXwf/4i8jTOR/467kW/jG5H3cSfybXwj - 8j7uRL6Nb0Tex53It/GNyL9jb+RlxsasWWYs8pw9kZcZG7NmmbHIc/ZEXmZszJplxiLP2RN5mbExa5YZ - izxnT+RlxiK/5VnkZcYiz9kTeZmxyG95FnmZschz9kReZizyW55FXmYs8pw9kZcZi/yWZ5GXGYs8Z0/k - bZyJvMxY5Dl7Im/jTORlxiLP2RN5G2ciLzMWec6eyNs4E3mZschz9kS+zLqPPF9mLPKcPZEvs+4jz5cZ - izxnT+TLrPvI82XGIs/ZE/ky6z7yfJmxyHP2RL7MusiXWRd5zp7Il1kX+TLrIs/ZE/mxfDPynD2RH8s3 - I8/ZE/mxfDPynD2RH8s3I8/ZE/ky6yJfZl3kOXsiX2Zd5Musi/w79kb+mvHIXzMeeR93In/NeOSvGY+8 - jzuRb+MbkfdxJ/JtfCPy33E38jbORL6Pf0TexpnI9/GPyNs4E/k+/hF5G2ciP4d/bePMc/nnNs48l39u - 48xz+ec2zhzHcRzHcVz0ev0HFtq118xXwn0AAAAASUVORK5CYII= - - - - 60, 20 - - - Help - iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -2154,20 +2110,6 @@ About - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 - jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq - myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp - JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC - - - - 205, 22 - - - Tutorials - 312, 22 @@ -2210,6 +2152,38 @@ How PCKs work + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 + jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq + myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp + JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC + + + + 205, 22 + + + Tutorials + + + 233, 22 + + + Nobledez (Original Developer) + + + 233, 22 + + + PhoenixARC (Developer) + + + 233, 22 + + + MattNL (Other Developer) + iVBORw0KGgoAAAANSUhEUgAAAgAAAAIBCAYAAAA/JAdfAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN @@ -2508,24 +2482,6 @@ Support a Developer - - 233, 22 - - - Nobledez (Original Developer) - - - 233, 22 - - - PhoenixARC (Developer) - - - 233, 22 - - - MattNL (Other Developer) - iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -2982,32 +2938,53 @@ Settings + + + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAeRJREFUeF7tzjGOIzEMAEH//9N3SaEzwzLH2plAFTZEUq/jOI7jOI5f+beZM8/l + n9s481z+uY0zz+Wf2zjzHP4VeRtnIt/HPyJv40zk+/hH5G2ciXwf/4i8jTOR/467kW/jG5H3cSfybXwj + 8j7uRL6Nb0Tex53It/GNyL9jb+RlxsasWWYs8pw9kZcZG7NmmbHIc/ZEXmZszJplxiLP2RN5mbExa5YZ + izxnT+RlxiK/5VnkZcYiz9kTeZmxyG95FnmZschz9kReZizyW55FXmYs8pw9kZcZi/yWZ5GXGYs8Z0/k + bZyJvMxY5Dl7Im/jTORlxiLP2RN5G2ciLzMWec6eyNs4E3mZschz9kS+zLqPPF9mLPKcPZEvs+4jz5cZ + izxnT+TLrPvI82XGIs/ZE/ky6z7yfJmxyHP2RL7MusiXWRd5zp7Il1kX+TLrIs/ZE/mxfDPynD2RH8s3 + I8/ZE/mxfDPynD2RH8s3I8/ZE/ky6yJfZl3kOXsiX2Zd5Musi/w79kb+mvHIXzMeeR93In/NeOSvGY+8 + jzuRb+MbkfdxJ/JtfCPy33E38jbORL6Pf0TexpnI9/GPyNs4E/k+/hF5G2ciP4d/bePMc/nnNs48l39u + 48xz+ec2zhzHcRzHcVz0ev0HFtq118xXwn0AAAAASUVORK5CYII= + + + + 60, 20 + + + Help + + + 24, 44 + + + 1016, 24 + + + 2 + + + MainMenuStrip + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + 298, 17 - - 182, 92 - - - contextMenuMetaTree - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x - DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 - jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC - - - - 181, 22 - - - Add Entry - 160, 22 @@ -3026,6 +3003,20 @@ Add ANIM Entry + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x + DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 + jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC + + + + 181, 22 + + + Add Entry + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -3061,344 +3052,14 @@ Edit All Entries - - pckOpen + + 182, 92 - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + contextMenuMetaTree - - openTab - - - 2 - - - label5 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - openTab - - - 3 - - - labelVersion - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - openTab - - - 4 - - - ChangelogRichTextBox - - - System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - openTab - - - 5 - - - 4, 38 - - - 18, 30, 20, 5 - - - 1016, 558 - - - 1 - - - openTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 0 - - - None - - - 3, 17 - - - 332, 23 - - - 2 - - - pckFileLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 2 - - - Top, Right - - - True - - - 935, 252 - - - 0, 0 - - - 19 - - - labelImageSize - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 3 - - - Top, Right - - - True - - - 913, 53 - - - 0, 0 - - - 17 - - - fileEntryCountLabel - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 4 - - - Top, Bottom, Right - - - MetaTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - PropertiesTabControl - - - 0 - - - 338, 277 - - - 671, 282 - - - 11 - - - PropertiesTabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 5 - - - True - - - True - - - 433, 71 - - - 0, 0 - - - 3 - - - label11 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 6 - - - Top, Bottom, Left, Right - - - False - - - 0 - - - 467, 14 - - - 32, 32 - - - 5, 50 - - - 0, 0, 0, 0 - - - 0 - - - 330, 501 - - - 10 - - - treeViewMain - - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - editorTab - - - 7 - - - Top, Right - - - None - - - NoControl - - - 345, 50 - - - 231, 218 - - - Zoom - - - 18 - - - previewPictureBox - - - PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null - - - editorTab - - - 9 - - - 4, 38 - - - 5, 50, 5, 7 - - - 1016, 558 - - - 0 - - - editorTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 1 - - - Fill - - - 20, 30 - - - 0, 0, 0, 0 - - - 1024, 600 - - - 0 - - - tabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 3 + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 None @@ -4510,105 +4171,111 @@ 5 - - metroLabel2 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - MetaTab - - - 2 - - - treeMeta - - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MetaTab - - - 3 - - - entryTypeTextBox - - - MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - MetaTab - - - 4 - - - entryDataTextBox - - - MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - MetaTab - - - 5 - - - buttonEdit - - - MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - MetaTab - - - 6 - - - metroLabel1 - - - MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - MetaTab - - - 7 - - + 4, 38 - - 3, 3, 3, 3 + + 18, 30, 20, 5 - - 663, 240 + + 1016, 558 - - 0 + + 1 - - Properties + + openTab - - MetaTab - - + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - PropertiesTabControl + + tabControl - + 0 + + None + + + 3, 17 + + + 332, 23 + + + 2 + + + pckFileLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 2 + + + Top, Right + + + True + + + 935, 252 + + + 0, 0 + + + 19 + + + labelImageSize + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 3 + + + Top, Right + + + True + + + 913, 53 + + + 0, 0 + + + 17 + + + fileEntryCountLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 4 + + + Top, Bottom, Right + Top, Right @@ -4810,6 +4477,207 @@ 7 + + 4, 38 + + + 3, 3, 3, 3 + + + 663, 240 + + + 0 + + + Properties + + + MetaTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + PropertiesTabControl + + + 0 + + + 338, 277 + + + 671, 282 + + + 11 + + + PropertiesTabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 5 + + + True + + + True + + + 433, 71 + + + 0, 0 + + + 3 + + + label11 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 6 + + + Top, Bottom, Left, Right + + + False + + + 0 + + + 467, 14 + + + 32, 32 + + + 5, 50 + + + 0, 0, 0, 0 + + + 0 + + + 330, 501 + + + 10 + + + treeViewMain + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editorTab + + + 7 + + + Top, Right + + + None + + + NoControl + + + 345, 50 + + + 231, 218 + + + Zoom + + + 18 + + + previewPictureBox + + + PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null + + + editorTab + + + 9 + + + 4, 38 + + + 5, 50, 5, 7 + + + 1016, 558 + + + 0 + + + editorTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 1 + + + Fill + + + 20, 30 + + + 0, 0, 0, 0 + + + 1024, 600 + + + 0 + + + tabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 4 + Top, Right @@ -4838,7 +4706,7 @@ $this - 1 + 2 True @@ -7568,11 +7436,11 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - miscFunctionsToolStripMenuItem + + toolStripSeparator5 - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 generateMipMapTextureToolStripMenuItem1 @@ -7634,6 +7502,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + toolStripSeparator6 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + extractToolStripMenuItem From 9ef19cee348b504c518884787cea647589c2f9cb Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 20 May 2024 16:11:29 +0200 Subject: [PATCH 25/66] Move Misc folder to 'Internal' folder and rename namespace --- PCK-Studio/Forms/Editor/GameRuleFileEditor.cs | 2 +- PCK-Studio/Forms/Editor/LOCEditor.cs | 2 +- PCK-Studio/Forms/Features/CemuPanel.cs | 2 +- PCK-Studio/Internal/ApplicationScope.cs | 2 +- PCK-Studio/{Classes => Internal}/Misc/FileCacher.cs | 2 +- PCK-Studio/{Classes => Internal}/Misc/OpenFolderDialog.cs | 2 +- PCK-Studio/{Classes => Internal}/Misc/RichPresenceClient.cs | 2 +- PCK-Studio/MainForm.cs | 2 +- PCK-Studio/PckStudio.csproj | 6 +++--- PCK-Studio/Program.cs | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) rename PCK-Studio/{Classes => Internal}/Misc/FileCacher.cs (98%) rename PCK-Studio/{Classes => Internal}/Misc/OpenFolderDialog.cs (99%) rename PCK-Studio/{Classes => Internal}/Misc/RichPresenceClient.cs (98%) diff --git a/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs b/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs index b398ea15..ce356d52 100644 --- a/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs +++ b/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs @@ -21,7 +21,7 @@ using System.IO; using System.Linq; using System.Windows.Forms; using PckStudio.Forms.Additional_Popups.Grf; -using PckStudio.Classes.Misc; +using PckStudio.Internal.Misc; using OMI.Formats.GameRule; using OMI.Workers.GameRule; using System.Diagnostics; diff --git a/PCK-Studio/Forms/Editor/LOCEditor.cs b/PCK-Studio/Forms/Editor/LOCEditor.cs index 78ac8b1c..b2c213f6 100644 --- a/PCK-Studio/Forms/Editor/LOCEditor.cs +++ b/PCK-Studio/Forms/Editor/LOCEditor.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Collections.Generic; using System.Windows.Forms; using MetroFramework.Forms; -using PckStudio.Classes.Misc; +using PckStudio.Internal.Misc; using PckStudio.Forms.Additional_Popups.Loc; using OMI.Formats.Languages; using OMI.Workers.Language; diff --git a/PCK-Studio/Forms/Features/CemuPanel.cs b/PCK-Studio/Forms/Features/CemuPanel.cs index 6112f75e..e09cc7e8 100644 --- a/PCK-Studio/Forms/Features/CemuPanel.cs +++ b/PCK-Studio/Forms/Features/CemuPanel.cs @@ -21,7 +21,7 @@ using System.IO; using System.Linq; using System.Windows.Forms; using PckStudio.Extensions; -using PckStudio.Classes.Misc; +using PckStudio.Internal.Misc; using System.Diagnostics; namespace PckStudio.Forms.Features diff --git a/PCK-Studio/Internal/ApplicationScope.cs b/PCK-Studio/Internal/ApplicationScope.cs index e3812620..21ee70e9 100644 --- a/PCK-Studio/Internal/ApplicationScope.cs +++ b/PCK-Studio/Internal/ApplicationScope.cs @@ -2,11 +2,11 @@ using System.Diagnostics; using System.Drawing; using System.Linq; -using PckStudio.Classes.Misc; using PckStudio.Properties; using PckStudio.Extensions; using System.Globalization; using PckStudio.Internal.Json; +using PckStudio.Internal.Misc; namespace PckStudio.Internal { diff --git a/PCK-Studio/Classes/Misc/FileCacher.cs b/PCK-Studio/Internal/Misc/FileCacher.cs similarity index 98% rename from PCK-Studio/Classes/Misc/FileCacher.cs rename to PCK-Studio/Internal/Misc/FileCacher.cs index f2b6ecc5..2cafa897 100644 --- a/PCK-Studio/Classes/Misc/FileCacher.cs +++ b/PCK-Studio/Internal/Misc/FileCacher.cs @@ -18,7 +18,7 @@ using System; using System.IO; -namespace PckStudio.Classes.Misc +namespace PckStudio.Internal.Misc { internal class FileCacher { diff --git a/PCK-Studio/Classes/Misc/OpenFolderDialog.cs b/PCK-Studio/Internal/Misc/OpenFolderDialog.cs similarity index 99% rename from PCK-Studio/Classes/Misc/OpenFolderDialog.cs rename to PCK-Studio/Internal/Misc/OpenFolderDialog.cs index 5af8c808..97af8b90 100644 --- a/PCK-Studio/Classes/Misc/OpenFolderDialog.cs +++ b/PCK-Studio/Internal/Misc/OpenFolderDialog.cs @@ -2,7 +2,7 @@ * Source by: Simon Mourier(https://stackoverflow.com/users/403671/simon-mourier) */ -namespace PckStudio.Classes.Misc +namespace PckStudio.Internal.Misc { using System; using System.Diagnostics; diff --git a/PCK-Studio/Classes/Misc/RichPresenceClient.cs b/PCK-Studio/Internal/Misc/RichPresenceClient.cs similarity index 98% rename from PCK-Studio/Classes/Misc/RichPresenceClient.cs rename to PCK-Studio/Internal/Misc/RichPresenceClient.cs index fdbad35f..d89f7dc1 100644 --- a/PCK-Studio/Classes/Misc/RichPresenceClient.cs +++ b/PCK-Studio/Internal/Misc/RichPresenceClient.cs @@ -5,7 +5,7 @@ using PckStudio.Internal; using PckStudio.Properties; using DiscordRPC.Logging; -namespace PckStudio.Classes.Misc +namespace PckStudio.Internal.Misc { // https://github.com/BullyWiiPlaza/Minecraft-Wii-U-Mod-Injector/blob/main/Minecraft%20Wii%20U%20Mod%20Injector/Helpers/DiscordRpc.cs static class RPC diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 9eacbc5b..5154e2de 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -21,7 +21,7 @@ using PckStudio.Forms; using PckStudio.Forms.Editor; using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Forms.Additional_Popups; -using PckStudio.Classes.Misc; +using PckStudio.Internal.Misc; using PckStudio.Internal.IO.PckAudio; using PckStudio.Internal.IO._3DST; using PckStudio.Internal; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index e2701397..e6c073b0 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -204,8 +204,8 @@ - - + + @@ -238,7 +238,7 @@ - + UserControl diff --git a/PCK-Studio/Program.cs b/PCK-Studio/Program.cs index af587263..58f43b8d 100644 --- a/PCK-Studio/Program.cs +++ b/PCK-Studio/Program.cs @@ -3,7 +3,7 @@ using System.Diagnostics; using System.IO; using System.Text.RegularExpressions; using System.Windows.Forms; -using PckStudio.Classes.Misc; +using PckStudio.Internal.Misc; using PckStudio.Internal; using PckStudio.Properties; using PCKStudio_Updater; From cff1394b9460490723447c8968a8cd1b72fc068e Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 26 May 2024 15:41:09 +0200 Subject: [PATCH 26/66] CreditsForm - Show build info no matter what build config --- PCK-Studio/Forms/CreditsForm.cs | 10 +++++++--- PCK-Studio/PckStudio.csproj | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/PCK-Studio/Forms/CreditsForm.cs b/PCK-Studio/Forms/CreditsForm.cs index e6b18df4..df2c386c 100644 --- a/PCK-Studio/Forms/CreditsForm.cs +++ b/PCK-Studio/Forms/CreditsForm.cs @@ -10,13 +10,17 @@ namespace PckStudio.Forms public CreditsForm() { InitializeComponent(); + string buildConfig = ""; #if BETA - buildLabel.Text = $"Build Config: Beta\nBuild Version: {ApplicationBuildInfo.BetaBuildVersion}\n Branch: {CommitInfo.BranchName}"; + buildConfig = "Beta"; #elif DEBUG - buildLabel.Text = $"Build Config: Debug\nBranch: {CommitInfo.BranchName}\nCommit Id: {CommitInfo.CommitHash}"; + buildConfig = "Debug"; +#elif RELEASE + buildConfig = "Release"; #else - buildLabel.Text = string.Empty; + buildConfig = "unknown"; #endif + buildLabel.Text = $"Verion: {Application.ProductVersion}\nBuild Config: {buildConfig}\nBranch: {CommitInfo.BranchName}@{CommitInfo.CommitHash}"; } } } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index e6c073b0..2332b391 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -51,7 +51,7 @@ none true bin\Release\ - $(DefineConstants);TRACE + $(DefineConstants);TRACE;RELEASE prompt 4 true From b94ff2f149b05645c3e3bea1f9031d7829a183cd Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 16 Jun 2024 13:10:32 +0200 Subject: [PATCH 27/66] Update CreditsForm to reflect more recent Contributors --- ...signer.cs => ContributorsForm.Designer.cs} | 96 +++++--------- PCK-Studio/Forms/ContributorsForm.cs | 44 +++++++ ...CreditsForm.resx => ContributorsForm.resx} | 9 -- PCK-Studio/Forms/CreditsForm.cs | 26 ---- PCK-Studio/Internal/ApplicationScope.cs | 13 ++ PCK-Studio/MainForm.cs | 2 +- PCK-Studio/PckStudio.csproj | 31 +++-- PCK-Studio/Properties/Resources.Designer.cs | 10 -- PCK-Studio/Properties/Resources.resx | 3 - PCK-Studio/Resources/Splash.png | Bin 137748 -> 0 bytes .../ToolboxItems/GithubUserPanel.Designer.cs | 90 +++++++++++++ PCK-Studio/ToolboxItems/GithubUserPanel.cs | 78 ++++++++++++ PCK-Studio/ToolboxItems/GithubUserPanel.resx | 120 ++++++++++++++++++ 13 files changed, 398 insertions(+), 124 deletions(-) rename PCK-Studio/Forms/{CreditsForm.Designer.cs => ContributorsForm.Designer.cs} (60%) create mode 100644 PCK-Studio/Forms/ContributorsForm.cs rename PCK-Studio/Forms/{CreditsForm.resx => ContributorsForm.resx} (99%) delete mode 100644 PCK-Studio/Forms/CreditsForm.cs delete mode 100644 PCK-Studio/Resources/Splash.png create mode 100644 PCK-Studio/ToolboxItems/GithubUserPanel.Designer.cs create mode 100644 PCK-Studio/ToolboxItems/GithubUserPanel.cs create mode 100644 PCK-Studio/ToolboxItems/GithubUserPanel.resx diff --git a/PCK-Studio/Forms/CreditsForm.Designer.cs b/PCK-Studio/Forms/ContributorsForm.Designer.cs similarity index 60% rename from PCK-Studio/Forms/CreditsForm.Designer.cs rename to PCK-Studio/Forms/ContributorsForm.Designer.cs index 97229cae..1fdb6b58 100644 --- a/PCK-Studio/Forms/CreditsForm.Designer.cs +++ b/PCK-Studio/Forms/ContributorsForm.Designer.cs @@ -1,6 +1,6 @@ namespace PckStudio.Forms { - partial class CreditsForm + partial class ContributorsForm { /// /// Required designer variable. @@ -28,88 +28,47 @@ /// private void InitializeComponent() { - System.Windows.Forms.PictureBox pictureBox1; MetroFramework.Controls.MetroLabel metroLabel1; MetroFramework.Controls.MetroLabel metroLabel2; - MetroFramework.Controls.MetroLabel metroLabel3; - MetroFramework.Controls.MetroLabel metroLabel4; MetroFramework.Controls.MetroLabel metroLabel5; MetroFramework.Controls.MetroLabel metroLabel6; - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CreditsForm)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ContributorsForm)); this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.buildLabel = new MetroFramework.Controls.MetroLabel(); - pictureBox1 = new System.Windows.Forms.PictureBox(); + this.contributorsLayoutPanel = new System.Windows.Forms.FlowLayoutPanel(); metroLabel1 = new MetroFramework.Controls.MetroLabel(); metroLabel2 = new MetroFramework.Controls.MetroLabel(); - metroLabel3 = new MetroFramework.Controls.MetroLabel(); - metroLabel4 = new MetroFramework.Controls.MetroLabel(); metroLabel5 = new MetroFramework.Controls.MetroLabel(); metroLabel6 = new MetroFramework.Controls.MetroLabel(); - ((System.ComponentModel.ISupportInitialize)(pictureBox1)).BeginInit(); this.SuspendLayout(); // - // pictureBox1 - // - pictureBox1.BackColor = System.Drawing.Color.Transparent; - pictureBox1.Enabled = false; - pictureBox1.Image = global::PckStudio.Properties.Resources.Splash; - pictureBox1.Location = new System.Drawing.Point(4, 5); - pictureBox1.Margin = new System.Windows.Forms.Padding(0, 0, 11, 0); - pictureBox1.Name = "pictureBox1"; - pictureBox1.Size = new System.Drawing.Size(550, 293); - pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - pictureBox1.TabIndex = 0; - pictureBox1.TabStop = false; - // // metroLabel1 // metroLabel1.AutoSize = true; metroLabel1.Enabled = false; - metroLabel1.Location = new System.Drawing.Point(4, 301); + metroLabel1.Location = new System.Drawing.Point(23, 475); metroLabel1.Name = "metroLabel1"; - metroLabel1.Size = new System.Drawing.Size(250, 19); + metroLabel1.Size = new System.Drawing.Size(168, 19); metroLabel1.TabIndex = 1; - metroLabel1.Text = "Restored and maintained by PhoenixARC"; + metroLabel1.Text = "Maintained by PhoenixARC"; metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; // // metroLabel2 // metroLabel2.AutoSize = true; metroLabel2.Enabled = false; - metroLabel2.Location = new System.Drawing.Point(314, 301); + metroLabel2.Location = new System.Drawing.Point(23, 456); metroLabel2.Name = "metroLabel2"; - metroLabel2.Size = new System.Drawing.Size(269, 19); + metroLabel2.Size = new System.Drawing.Size(368, 19); metroLabel2.TabIndex = 2; - metroLabel2.Text = "Utilizing the Nobledez Website by Newagent"; + metroLabel2.Text = "Originally created and developed by jam1garner && Nobledez"; metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; // - // metroLabel3 - // - metroLabel3.AutoSize = true; - metroLabel3.Enabled = false; - metroLabel3.Location = new System.Drawing.Point(314, 339); - metroLabel3.Name = "metroLabel3"; - metroLabel3.Size = new System.Drawing.Size(212, 19); - metroLabel3.TabIndex = 3; - metroLabel3.Text = "3D skin renderer by Łukasz Rejman"; - metroLabel3.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // metroLabel4 - // - metroLabel4.AutoSize = true; - metroLabel4.Enabled = false; - metroLabel4.Location = new System.Drawing.Point(314, 320); - metroLabel4.Name = "metroLabel4"; - metroLabel4.Size = new System.Drawing.Size(199, 19); - metroLabel4.TabIndex = 4; - metroLabel4.Text = "3D renderer found by Newagent"; - metroLabel4.Theme = MetroFramework.MetroThemeStyle.Dark; - // // metroLabel5 // metroLabel5.AutoSize = true; metroLabel5.Enabled = false; - metroLabel5.Location = new System.Drawing.Point(4, 320); + metroLabel5.Location = new System.Drawing.Point(397, 456); metroLabel5.Name = "metroLabel5"; metroLabel5.Size = new System.Drawing.Size(300, 19); metroLabel5.TabIndex = 5; @@ -120,7 +79,7 @@ // metroLabel6.AutoSize = true; metroLabel6.Enabled = false; - metroLabel6.Location = new System.Drawing.Point(4, 339); + metroLabel6.Location = new System.Drawing.Point(397, 475); metroLabel6.Name = "metroLabel6"; metroLabel6.Size = new System.Drawing.Size(203, 19); metroLabel6.TabIndex = 6; @@ -132,40 +91,46 @@ this.buildLabel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(34)))), ((int)(((byte)(56))))); this.buildLabel.Enabled = false; this.buildLabel.ForeColor = System.Drawing.SystemColors.Control; - this.buildLabel.Location = new System.Drawing.Point(314, 30); + this.buildLabel.Location = new System.Drawing.Point(473, 6); this.buildLabel.Name = "buildLabel"; - this.buildLabel.Size = new System.Drawing.Size(212, 171); + this.buildLabel.Size = new System.Drawing.Size(212, 54); this.buildLabel.TabIndex = 7; this.buildLabel.Text = "Build Information"; this.buildLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; this.buildLabel.Theme = MetroFramework.MetroThemeStyle.Dark; this.buildLabel.WrapToLine = true; // - // CreditsForm + // contributorsLayoutPanel + // + this.contributorsLayoutPanel.AutoScroll = true; + this.contributorsLayoutPanel.Location = new System.Drawing.Point(23, 63); + this.contributorsLayoutPanel.Name = "contributorsLayoutPanel"; + this.contributorsLayoutPanel.Size = new System.Drawing.Size(684, 390); + this.contributorsLayoutPanel.TabIndex = 8; + // + // ContributorsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(585, 364); + this.ClientSize = new System.Drawing.Size(730, 500); + this.Controls.Add(this.contributorsLayoutPanel); this.Controls.Add(this.buildLabel); this.Controls.Add(metroLabel6); this.Controls.Add(metroLabel1); this.Controls.Add(metroLabel5); - this.Controls.Add(metroLabel4); - this.Controls.Add(metroLabel3); this.Controls.Add(metroLabel2); - this.Controls.Add(pictureBox1); - this.DisplayHeader = false; + this.ForeColor = System.Drawing.SystemColors.ButtonHighlight; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(730, 500); this.MinimizeBox = false; - this.Name = "CreditsForm"; - this.Padding = new System.Windows.Forms.Padding(20, 30, 20, 20); + this.MinimumSize = new System.Drawing.Size(730, 500); + this.Name = "ContributorsForm"; this.Resizable = false; this.ShadowType = MetroFramework.Forms.MetroFormShadowType.DropShadow; - this.Style = MetroFramework.MetroColorStyle.Black; - this.Text = "programInfo"; + this.Style = MetroFramework.MetroColorStyle.Silver; + this.Text = "Contributors"; this.Theme = MetroFramework.MetroThemeStyle.Dark; - ((System.ComponentModel.ISupportInitialize)(pictureBox1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -175,5 +140,6 @@ private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private MetroFramework.Controls.MetroLabel buildLabel; + private System.Windows.Forms.FlowLayoutPanel contributorsLayoutPanel; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/ContributorsForm.cs b/PCK-Studio/Forms/ContributorsForm.cs new file mode 100644 index 00000000..b4bf59ed --- /dev/null +++ b/PCK-Studio/Forms/ContributorsForm.cs @@ -0,0 +1,44 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using MetroFramework.Forms; +using PckStudio.Internal; +using PckStudio.ToolboxItems; + +namespace PckStudio.Forms +{ + public partial class ContributorsForm : MetroForm + { + public ContributorsForm() + { + InitializeComponent(); +#if false + Task.Run(GetContributors); +#endif + string buildConfig = ""; +#if BETA + buildConfig = "Beta"; +#elif DEBUG + buildConfig = "Debug"; +#elif RELEASE + buildConfig = "Release"; +#else + buildConfig = "unknown"; +#endif + buildLabel.Text = $"Verion: {Application.ProductVersion}\nBuild Config: {buildConfig}\nBranch: {CommitInfo.BranchName}@{CommitInfo.CommitHash}"; + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + foreach (var contributorsName in ApplicationScope.Contributors) + { + if (InvokeRequired) + Invoke(() => contributorsLayoutPanel.Controls.Add(new GithubUserPanel(contributorsName))); + else + contributorsLayoutPanel.Controls.Add(new GithubUserPanel(contributorsName)); + } + } + } +} diff --git a/PCK-Studio/Forms/CreditsForm.resx b/PCK-Studio/Forms/ContributorsForm.resx similarity index 99% rename from PCK-Studio/Forms/CreditsForm.resx rename to PCK-Studio/Forms/ContributorsForm.resx index b7a2f32a..70546ba1 100644 --- a/PCK-Studio/Forms/CreditsForm.resx +++ b/PCK-Studio/Forms/ContributorsForm.resx @@ -117,21 +117,12 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - False - False False - - False - - - False - False diff --git a/PCK-Studio/Forms/CreditsForm.cs b/PCK-Studio/Forms/CreditsForm.cs deleted file mode 100644 index df2c386c..00000000 --- a/PCK-Studio/Forms/CreditsForm.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Windows.Forms; -using MetroFramework.Forms; -using PckStudio.Internal; - -namespace PckStudio.Forms -{ - public partial class CreditsForm : MetroForm - { - public CreditsForm() - { - InitializeComponent(); - string buildConfig = ""; -#if BETA - buildConfig = "Beta"; -#elif DEBUG - buildConfig = "Debug"; -#elif RELEASE - buildConfig = "Release"; -#else - buildConfig = "unknown"; -#endif - buildLabel.Text = $"Verion: {Application.ProductVersion}\nBuild Config: {buildConfig}\nBranch: {CommitInfo.BranchName}@{CommitInfo.CommitHash}"; - } - } -} diff --git a/PCK-Studio/Internal/ApplicationScope.cs b/PCK-Studio/Internal/ApplicationScope.cs index 21ee70e9..dfa04d9f 100644 --- a/PCK-Studio/Internal/ApplicationScope.cs +++ b/PCK-Studio/Internal/ApplicationScope.cs @@ -7,6 +7,8 @@ using PckStudio.Extensions; using System.Globalization; using PckStudio.Internal.Json; using PckStudio.Internal.Misc; +using System.Threading.Tasks; +using System.Windows.Forms; namespace PckStudio.Internal { @@ -14,6 +16,8 @@ namespace PckStudio.Internal { public static FileCacher DataCacher { get; private set; } + public static Octokit.RepositoryContributor[] Contributors { get; private set; } + private static Image[] _entityImages; public static Image[] EntityImages => _entityImages; @@ -41,8 +45,17 @@ namespace PckStudio.Internal _ = Tiles.PaintingImageList; SettingsManager.Initialize(); CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; + Task.Run(GetContributors); } Profiler.Stop(); } + + internal static void GetContributors() + { + var ghClient = new Octokit.GitHubClient(new Octokit.ProductHeaderValue(Application.ProductName + "Credits")); + var allContributorsAct = ghClient.Repository.GetAllContributors("PhoenixARC", "-PCK-Studio"); + allContributorsAct.Wait(); + Contributors = allContributorsAct.Result.ToArray(); + } } } \ No newline at end of file diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 5154e2de..fc4bc306 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1703,7 +1703,7 @@ namespace PckStudio private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { - using CreditsForm info = new CreditsForm(); + using ContributorsForm info = new ContributorsForm(); info.ShowDialog(this); } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 2332b391..95545a07 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -133,6 +133,12 @@ + + Form + + + ContributorsForm.cs + @@ -159,6 +165,12 @@ Component + + UserControl + + + GithubUserPanel.cs + Component @@ -429,14 +441,11 @@ - - Form - - - CreditsForm.cs - + + ContributorsForm.cs + CemuPanel.cs @@ -566,14 +575,14 @@ AudioEditor.cs Designer - - CreditsForm.cs - PublicResXFileCodeGenerator Designer Resources.Designer.cs + + GithubUserPanel.cs + @@ -627,7 +636,6 @@ - @@ -707,6 +715,9 @@ 13.0.3 + + 12.0.0 + 4.5.0 diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index cbb4dd6a..27cbbf9d 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -1039,16 +1039,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap Splash { - get { - object obj = ResourceManager.GetObject("Splash", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 302b7724..bc72525c 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -283,9 +283,6 @@ ..\Resources\atlases\explosion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\external\WiiU.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/PCK-Studio/Resources/Splash.png b/PCK-Studio/Resources/Splash.png deleted file mode 100644 index 5b1a9b1917acb06fc167cd6450ce9cbc65d12223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137748 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 z 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 gd6b3v>DaKAR2@kFoL!Q^r5>WoP}H zdin#56N8a+(6R`3&3R*X5c%O~K33r0@5voiMZE73=^>}PaNw(9^3!w_udhU7OM_$^ zUh#^)RO)jtwi9Xh<6nS#wzNp!eYz(3#%|h>*l&+)eyQ~<+fGZF$y7~Br1_bB{6>4s zL(;)&YM3U9u0!eAy?YmVW=tCSjy{&Z;`IXOzJ`qE47`()9-(X+8IwrFLmvi}Ic8&z?1Jg14_G|kvqPWn&)1NLg;vYR>RYTfG<;D* z`)~obb=YLagz~f^uDln{wnC}ImJUKrAi%{he66a(!iuguZ@pC|%I)k2dw2S|N~jey zQGlO7R3S`9v+->wVtc){JH5f3?CwVBu$Jz6pCY@p6^oKq3Z>?fo(`K+dT{ipM4XId z|H$pA5#qp7-Vc<8$(weFL6`CAIBLnMsKe~&%kJyL!{pkb5;wNt-$NDsv;}JR6NNdS zZ$EGh2#6CJRa^ghY_d4PZQ(2vq&%F1W>j$GCtDxSh|r~&)Zg$iMNcLO#G5s!Aoh|W zcWItxT>ys21D6kN%1a>zaUV*Qu1Dw>wOPP&hGT%?ggBv9RhMnuKiwg&YL{&pmjiF8 zIT=QxHj3p%@$d2w(JF@DfQ8_lh878+9abUAAmYI!QCb`P4@gno`6+F7lt+Dkgs z%g45dMa+rLj@Ioh9NrCUJBuGC!@YhaH608$mnGnVgX*9hfJMPl$8*d8tN34Z2FN$qsVlKY?pyph>~d+-#-Z6f1kc zO_>@=h>cp|hshX?Ytz=7U!JO$`j$b7iFMX?HRc$sT1WpXAs12oKY_z)1KO|mcA;X- zBp*rDsHGH5|F)kdRe90vDzDm!HCta!n_3P%?OA^m7}^R7{v&bnFI1UD4eaq{;IlR2c^yBN%R&liNxJziHa+id#PfF)3! zsN-a+N50?OY{73M;wwr1JW^eOU^Cufb^C2SW?s`!!b-c|`f6pRrAF}$#{OP=dYjS3 zoG{rJf6B@|Z+9iF*H<^MHdVVj9nPJ3?bZ)0JvF^{vhrsS{z(p5NbAB-9~+Q9p+!2GezjcXun6Q-N?gmre5ooB?elMVD@7~m8$N-RZdgMZfGpLyG;#Ms=C3O8ajOZfC=Z#+5+uABO-37D-g5%P?ZmJ9{N#Ctx@C4Vi)^*mg!; zzjnwj?mi+7y!g7o6WrNjXm#H-7usvgZ3nMQnZ!oxyLQc~>?mBMU=e+TMZeWBmLNWPMb0bd)Ukl`3E$;^F zc_EF`13_Uop(wX@u!(`KP;_dk*ztopdrNA68- zL=22PI5Dvm(h)U6ptp_6jMW6fE8p?@#G1ue#&mEM7-*_{5;yAZ&D4-9IjGtUI2)_N$O~DRbhQCO7cczYDCi~$**z<1BXveoze zUl>e2fx9cDOGQpcjV4QFpO=D&A^xCBK(udmeE^G|K=w->#Oq5NL?4XCWgz@{Z-MTD zm3E+Fsj{;#^}w2PzwMHwBZ5MV89@BBz-d!tBULG3Z+gZ}oAl?;!Cg2-X>VEr=8=pAhDaye7+CsVUr< zkWB~L9FMIhk0cGA6H$?n(Et6E^%V;tlh;}k8EfQFEJ@+n`{3XDAa#<+x&j}BdNyG5 zY1o)0cPUIVp7X;+?;F|cK4xQnW{1`B`V_1uW}8FIAX3U8@7T$oG$`y@Cne%}1QHpY z)Q64%_||-WojfZ$WQF=3^8VC@lGDih8tWB@cFsru2r9I+k(dtB1^0sK0%*rAp13WE=oa-m{CgjC_jsuh$N1 zNCGdWT<|*-Jvj&jMSnczqAe&?I<-d2@|@ZM6e6c`>qk zk=mYhmprQP$PhG00gD$!PAOU@MwaXKwz+=WKj=$AcjmQ5AAgWHpH@?H)TOnTz0TV5O1 zo$(u0B@vTN2=+*?v>Lm}RbyiqS>gMtXxPi7Wif-j)A}R@RjMIp(mVsep{*zzzIH}T zvi`(Z$+Pk;^d1RI@2J7|n5fyYWQk;Vn7r(7xi_z}IZB#6eMg9HC2U}G33Bw2+-p_2 zU!u0!_vXRv?X}488zb%B^%(20w&Na!S0U`QVr$2sUB{GgHS^r*8hfN?Or5Jfh%}lb zhFKfnvY4o*TA7sdY%~lrbo`|}BUY?Akyb~%#~_I6_Lj_wr)*Zvj+!ThBtA0bJZ#)A zZBeM5d4wV-BnjMUub2pjL>?8nX@pS)CI!SOEGVbtGb7Aj34*^Aw0y>`r zy@okTep}r`yo@_`@QHD{tq3OM{wc-pB~y56TtEY9HDd|c(o#0Jb-BO(_Yr0s_WW#A zUfo3QOOpECklMKwtv^Qy-vYFzLdwSKQ>A_Oqt`yE00_dg(l`LZq{|dk_cf|Jes*%lEv|1i!Fz>|J(8h z4q`wxb&Py+d&PVZ(WRpsQ~8cN9xy^kM-iL z7sUE}HNcx0mA3}e_!StrNKSosjmgsjD~-UrZhS`6zJscoIP6;7dqp`hQLA1B@9XR{ zfFl^Ynyk&WaeF&A92Rhzv6-NHWw7wOQ}XF+s589R#5Q>3QF{E#U4hWQzk;-mZwac} z&~|T9V4^hj76XyD_maA_v*u0poa7Q!+foAUkz9rWM1a8 zF$J3B@6~l(qn?PtZ8o`}H11-Jc=*_V1ID4IfBAcvM~$lj*M0h21oM9pvOx79z`Q4! zZ6L`;`c*>_Q^wPL0Hh(1%-!*gq!v{n5LH7K3PrMcPmZiW*=%~TrXKEs;0S1~5o-yF z#-G(Q8bwij7`592&0-qagsW<@M!D%-`P3o)bcM!R)a>iGs+r}v*lDoW{pOMQyX5N4f|_$pyf zJ!yRZ)l=&A+uNw?8BkwVuB&o>AST`=2(1B12ghG&k5r%?5{&*URtq9*$XNKaa-ZT} zdz;3Fj>#}R3-2%`v4}yfH6o5RrdZeBsZrsbuYY#0LIg-oLEGtn?7j6@RA2ZnuA(9# zC?Q=^(%sz+QX*2)-3A~X%0;7Yf!$JGmk->6LB0XXDYfEPDe z$W8k`uHiy128Fj@Nvb$6=YQT?P0t93FmUs;v#C?<4F)pBVHVj-U>)A! z35z(42-g!+rB}4P?SkJox8KjB!KE{YH%%!M!uwng)KO011TKgZ0L|CGJ5pE;^zCB5 zDm$7q$od1Lj+`#uoC-bVDrnqMjQ)kP1AIwDr{7R%H~(ZPIbr_QiwQ~o_q=lrr0G% z4S2eU1d#u2+quk5m)FOWk6>GpdTE+J%Dv>AVG-r!keMFB3Za%1j^gJp=jv`206+!@>-W09R}n>ij|T!2c&{K5jt8tGy;MdNfinFxtMuF|I>qO;eaUEXN1bP?_ z%$)hKr5Zk5H|PhWc;!^zW64b(FY)&pcod9nlU%)f>NAq+?)qJj!Hbn%vVi#b+B{(u z&ge*6eJG=`i#DJv@n~_;mHlE7`RXzPInVVmAT#)^D?n8I`z?0oAHIL}}y_ zJBBKuiB6C?33AXkx@~(hJ6p=rmIMT0_P$=;= zY2V}dmy1FY0DOwrpP&|BufCc>ROR@S%)E^wL;X0kbmAJidT4&fows%OH;X_2lf`l6 zO;2BTVMeLqu$abP{Tkd?H_bbJg^T#Xo~)=JbN~)JkbV_$r0vflctuAb=~2YpyHssbUZRHsLxNi3@-A*J(Mi z(O75(xbNMH%%ou3#uQ;=$TK{jC`dobcZn0SjvesLJo?P{Ze}Ld{hT!(>yr7=+1KM3 zz(zQi{E)?bQi4z~*8tbxHZ|5de{kK*5~Dc0a3nXQm9yKpqpF(de$$e7i901%Mx`|% zJd1V|HG7gG-s#0s^(M~qa+9pMtQbnqk<=dvGOb>J6rXVMTo8Iate@-tg$qZ393w;; zCm?y98KvX2sN+ z-RDe@2~ivrQlX_|;kl=;-C8&-G)OWGDzZ9ryZ5ooD^PhK%?X`xAkR2BB$pS7!P}!p zrg;i4G}P79Mjmg+{ZSLZSzQ*N#ED0Fx$hnw9kH%(7~z^`>qp7iY^n(?H)JkHm{KH! zfaSxD4jc@PiWVOA{&K#uk^I=PDNy}~jpCFzi~<~jo#W* zw29WiYd))ycVIRwN_Hzgu*QzXhnDdq&|P&sK^{B$5%Ft|*6Ysx%foqZnV%_~<+tBQ ziKAbNvr2@^0X9)+wHDWl0o_&yjSUxoEp~Prz<|ADPY&&qui4kJm0+3-mQ83~VI4)U zV4E3U#3JYWIB9{lhtc(CdDQmLddDMCkTF&=Qp%%HpWQfO3Ns(cS2wFMB3tk}x;P1S zg1;u0D|m5+w=Hv0v`r#T@H;{#^9Ak@KBomd!!{>%FAAO%g8Ips3O>acKG-H_rrX*vjVU z`&^of4SbDs1h^dzCNfn#{EQ=lg0g4IL(O3X*o7F~6C)Bx(KwCeLfKsR4K{(rT4TTd z^>FuauY=Uiox)tkdC{2zajvtS7p?%?piY`LR6p4be?yUjxQxZzw-tHIyJWiX2D>J9 zb?`Qyr@tWWTpTUDJL$sR=Ik{ZOySrrbK|C*d=k@iTGQ7evBcSp7uBJ>NIdN@?}vRI zM@yDe&$a!1Etd9@u#aH)wz`0Nw6_Ph0}^#)u?bXI5r_OL z^-+}Q%m|0~&ikWZ+a2nFsguj536z%~zPWiWkBIltBnx%q_(SotZ*dKYIUb>2LeysD zm$>JJH@7zvyf{_i=cZ%Xt_^1>LX*cQqgtP1u6Hu}K_7WtrQ$;(qcV+ZZF&3aTki@; zqJG>d8n%5rLUo|EsgG!!*QMzvv1Bj^L`*@EA!V~IVBxm?YaodQUM3o2w50y_6HN1y zj5Hdk9+0P=A+8(rjsNsag@dTMxp`bBScc^GFwZ3X@HIPbcC`kl;f(h#Z45HEj9{9|;rqqfB7U9o_bwC_9q9!^{H+3IH^e6#e_1SyGLZKTBoD~T2h-g7UIxCbE zwp%ppy5KOPAsUuEGEsRrj?(B!_uu%Yz`$AV(VMUsAZ8o;DH?ZMFV@^&G%A6y4>YfE zZ`n@f?JYhknFPqhJ;1H=h0d5K+$U~lSREmT7a7}5E0$;6Q5q8W#9$*%H$CFBW~s ztH>{s?@RY@BSh?TKPfvMFzO@qDrVE>ow0n~>y%FAk?Nzn zGi&i0&VAFp4N%WEF@MHGOG^t!p&?#kwfvW1&Qaf~08YVI zYo`~zEg4ZG+E*Wg z7Rh|R{h?o!BLTwR_X2y)^<(8tw%W@T^I?_TPz$dEbLuwHoX8d-%&L}5l3nv>9?x*i zj4!_jw5jb8+z5U?P5YwGgW|G2i&NYC)^a{RSS=%iAcw4xlk^G2r?@|EstB5UKKzYY zr+0*Q&y8PUHN0OazC(yR+?|eb`&q#G7=*|;)iaikqxpb4S}n4@V?3&X$kEL>MJ7)7 zYYm~AgJk2+Q9r(O;_lRQQ!ockKQ+#8%yZb9y>6!1ICp2@$HpuqWd4trlUA>0C~hB> zS&({5+2Lae^tXv4PYF1W^>^mc6`b+oG$vz)gL#L8qeXDvCO3WH7#!X#ov|}0ao2Vj zQv{MhPCHTrpu*zciJl+gb5?3}F%gFe`)+7T31{syFfvqxb|8dz+DPE(!GXgPSSydC z&KVWQizM`7r z^05@DxrXDFMb~BXrfYT5_xjsD_@>bCyl~%W_e+PtMzoCU=mCr`6VGx-12D7j;V2;) zsL7%i=9|cBo$C?Q<~0HAy(d^&C}IdKP>5n-K3}hF$Hl^m`DMx3&EEH@=A|jyt9OV? z8KQ9#R!OF(kVrSe}C*nI2*!~}hn|*ssDWZcdD<3E49=wpQIE*vYjX$Lh z2jdZ}N*l;8M}1W*`P_TNG(!@G5^pi-Y@i6EP0QNl7&vw1)YtWQOJ#W`dLuuJ5c~-_vIXD7ZimL>Gtan{lszj zYj$n${U(>wV}YnkDv{ncMT4S|FnlYU_lYX`UHyWUZkq!X{Zt*I>gmFsc6%t1Py3#4 zc{_CEFJ@+q#9CX$1c#eKKbFAPqve0wk^74&x-X57j*Vc@&6}4Ieiy00N1oISWeG%>Gu)NUU%YFBpq9{+1%ho>>^KFYSy-=*UxXMmZndrm$^p zi!~Hx32umyp-01M9BO>NTEi9-z~oS)rhfQ&D_QbsUk|#F@k`hpNyunI|Hj=}j1}Wp z*hIdTD>)Uh`NV_mw+NK@k?yvPrf|5JC1JihtIwxmnYAA!<;oZ5=N2ePZj}#%-^4Dq z^CC%FW~M%FS7=lgap;@DdTQ6Ib=)vn;g7Cs0{(^`Hk_ww;(*k5#y>F|!z#bVy~29p zi$8fjspDklCya#hj6g5S;L_Q~5R`U2R}3Flu()R~?v8d7m0hk06C(LZOf^k6T6me1 z({tlXtTA$2xOqT@y5yt#^2E1UxNlV2$Cj0dar(X~&_;(2Vb5(jC%p|6c-3f!k+qJGJHhv>s zHTl!$b4soTTQ7YzfwQ3sem%?7UsgZ;s=FSl6eW%dR6W1Cp!f)E7-Cd=xlI+IgN;*R z&J)j@j(&q)9dI9D#F;*Jj8Xt04&Cu9q{@&IG*dGE7Eg67dCNT+PV)27GN|Vhz5*r_ zDZsbC0AKJSoSX&Y0Dl{EmqbwetnN!HY}IvJkz@E9C26XgsFZa&?L?HgLX&IkuMRRc zf++kqkHKET0%BsncgVA$-Kgajw!c_LD6Mp1HJLnfMR-3K4q8*YRyp?fA@QAG=IKwX z+#^4T_L6lGMV-E{S_gB=k;gr$-S6`vx3sB*UHLGqK7f^(O^jB|EG`a(YNN#e#fs*m zaIg~>d>>@ouK4u(26YVNU^M_Kj9fIvQ3z8-cLIA2g9%$LX?LRPml`Ec*-0@%3gri5YwZ8 z&60Om(L{5C5;yBs{1E)yvhn@ci|x-nEDr$;pDIE&U-O|2GWVg|dmk<6kM!F!>M;8* z`EKWb+$k6qG zNbBV~Ru@InChEA|I4D;~J^+o8?)Ut3$|}Z#+%}Pf;d7d!t|}9EN=c`~JFKq@Z)d;1 zM;jHjt4UWZ_6JCsWU8$B$OH(9uaFZIS{L|U#g;U5ezYDdyl6uc z%;1Ba$B7{3ENrJ61Np(6IgvekcPXneu`w|)o)C%H0S>HdlBbMxXnlQwfix8?7=4eq zeaop&R0v$zt5nMChDg5(DHL_wNmEL=@9?V8ZXG9{490@U7w7~BMPnkHy^ps}_eQAX zG=(1zE2U^94!GPa1aiB?dqID1gZj`o*W|P;SrkBv&qn9@t<*syf!h_wUO9jB#KR=zo_vCQ9#j%Z{|z{= z^ESS8*lpSNN*>{1m~d7tzM%mrLIbYPWRfRPRm@|SfN^i;jY(({=F|hDy{AE{<-gSs=#UF zF-N8=lVhMSytps4>{wQAwx zM#v*0{F)Y@QB?|fIeaNp2V{jK4Lgx>Lt0HA->GJBj)-2^ zx&zkEU%2%(*fWhjk^GzUryu=kq%X)j8RYb}%tZZ_hBp<@6CMXY<(AF819OHXzQrER zgu!y|;B^t`XhcP-h=~v4V&>;ivJKUL)63ZhNz^mu-rXEZ2%T?qKcNlte+T|#HVZ|G z53|Ij?dssh*3^tVIA$J7t#atJz-%p;w}4vs&9QPE@Z^dh<7VrSn{nCwVUCcV-2Wz^ ziYKV)O1L+xZ9fdLcWk|MQ4<0fvrqvK=^!b2I1~8SK~CE0?^L}ZgrZTY`~eL146ETA zRY{?_la_vwa=z;MiNa=-$SLQV8IIR?-VCpT|C=FOUj2!SXUNSA3H?S9?BvYCym;Kpp4im$wAYpU1b%%}?eZp`)^lgE~ zFpIb&VlT7Z;#4l<&HvdDmJs-uL7?l++ne~K;1!G>+Gt`-E#ug?e47NmGm z{par1b4@I#J_{H8?-w3UMf>ap_Y^p`FUFeFso2&XCR#%BM6@r~{{XPMeqve|T#tKJ zz*$!8Hm-Bs(kH~-wW&3}5#M`GU#N)(cUUv#94D#woW)P|<7AjFnj4DW1R7x30jdidbFD1Q?ZCsBK zX}C4}k^)MNdKwn?x5gL{k{j=F{Pff-ozH%1R56o~REX-!Z3p$f2?`@qv)6R*S;nUm zabBcXq3`lr{1-A^5K^L-{3+lg_PgGzM!*z@*3)9W&`-B{E3COQy6ycL(_VkY_!h zGcTbyr4nY$RP?VdsvUWl{Sq)HM>NF!HI71LOIZiLbk){(<{8{K4LpM|8mY4_gq`t) z*3ZXc-#4E48M<^lsXpAhYfMqIP{6k0xjPs^lsX954Q>_^3oy&bD=4%cMRQopi3kks zy=-5emLR)stZ!?tuGq)ZW?nz}?3e!-mj^^T8#k78ZAha%kgCNUS7S?_VPti-b40L} zUoviAeuEeRk+J*Sv%Tq6zf$@GxkpuI)0~ctPq4VP^0kUn)eDVcEwlMuXN<*20+Hwv z*HSQuMqvE>L6{&V&1q90kOxG=dbP;`oV~k_L;6ez!@dy}W=2;!wF=Xi2IN@_%$Wx6 z-Y(rPTJt#Hv=yIWYO89jJYWIS9lsV?PxDMJ)|q2vq2x&@Mv)~ghX~;*(3E2&?a>WE zX9f35>+;4wB4sFHcp{r=!mlVV#uF)}(eN|VDk%NBc2*7>C#Av&DRm&83(Nc4hi(kEQD~3WuQpLC zce9S3$*ZfY{Wgs5vn%dG)NO5X$h``L@|ya}ZATr-F>OS-iNpkXGi|hYu#$O4hR}Fz z!j*sCzy-oUky18EZl*KQxyMpCCnDGr20TFsi{89Q+O0Zhd)js^xf^{q2Am80$0`nG zHgGsvSN~B;-GeZP5Hw^Xr!JPUWtZYfnq*sB0b(yZpdC8L9Q?L9m;z2<)MzT(>fW!W z*!XSb6;9=|ufP%(Z$BiN{V}q*l!;-mvT}mKh)G8C5*c0e+f@)9Vlj@r5to((&#-a; z6vC%!mfijL&(@!rSmn&R{wv$v%3Y>}si|&8!=MThH<~Ft;0E=wOY^oSzI|<$Tg4iF zgF}T@x94YeJR-kF+Aokx$oFS4WNMAm=PB|-9>V6#>R4n|8Wei=wkter1vY1pM5Sb` z0ufDKCT;%39@iS7fboT^a|saYXx}Bo;5BKgRbRxv!Q3cqK=Bo|{RqCly=qSHowTpX z4ZxK|;Q>y97+daK@;S!_zfMy4e@GPHsjzCZ5 zW@t3MUMgXJFhdG4w^)z+^%;86FK1#U4gp#e&#?mVE7~#{e80csY>d3m;yrG-^Ghhr zSf-Ny__XUmr~k`;Z)`kKd-1B2Bk(k8E8y5aYa#Tf>$-e>AKpOG^p@f6{_6fDi-vhy zh4bZc+Yo)TrisDt2;P0HtKWmPF>^(F)^2X&rSGdcH{66~FK;#L0@3H7S#9@=+xL#E zbw&`gUIMigC5FBs54RcYR|=})gm(jCzwu&nx=TnK(hJi2725ZVzhIdtC8}1ZbM`3L z@Ae8B3d7i7?d?}TkwiVfhuKqTj?%gCKc=6kB#^Q*BeRno4L?HWo7~X5Zzk!b;R06B z*!#xq{An%*LRo8#6>HjDOj<=Xa@%o{~zFqEcA)5x^uF?qjV6K}CxYDi{pHzM8w=7_Jyu-qHy=U~; z3(Ykr-IIR6?dSLSq8SqfiLlnM$dHmlk(JCOV|8WIZvne`az&p5VuAQ>BPGoIB1%DIX6Mg41& zlB8JUhqhDiYMNqFOJbMX18%+Cf9vWE70ZyDWby9dM;wDyD*V1U^5qcvx@J^~)vqwL z_#la>ma|%~n@9w4AZHj8NszRcJQm3sj5H#SXCO=TmRXHDKcUEVD$ENp0Jrzp?BHo@)Hk9okk8KO@D;R^F_zw&4Ai-%aK zR@t<}EA+y6$DLhVMp0*cDt_hSKKfrQtBi(H(MJ}peh#c6qSSr}K9?eIHr7^B19>z$ zoE1khbv#tkQ?BFGHDe(Z$NEgoCM<@}s?D{DX`&SU7Lp1&6^H$j(E#}$&066V>lVE4 zA2`%!04a!ACa8OKRGr>`;S}UgdJGJqwX9DGl74L)zoStHE%C%i(C`8sX>|~c(g9&z zmxUkWXOt7G3%+nic#L@vS#h$nKxOmiOIeQuh>|k7fLD_gR)9T%o?*F3P~(;^YQ&%_ zdc&1cZ^^VnT9_>?&AyxqWm{i6|HBgH)V8%Vmg`jVs_tb9(i?c?z14dB(^;1xBaQ|5G)k3|2&7eq9xCzNee0~;qhZJ+Uoes=T6g433WPmn$ODm|3-7gE4 zbq3vn^~sPs(S5E*q_yuMa;7!uDO)Re4P+O<1InAO8up zd}7!XenkH5QS?nUh}ghX97*JzHa1qvl&n<{&w56kkM;R-_e4bI~FPvbmEKjZAaUmU-<2%AwQ1)8zRut~yy4^4s8F2#R*Uz6__+!O^;ykd_ z4n3s#%2!cB?b>*;2h}YgBq@8Vas1XR*Nbd-;mz`dU8}sW>jzuh`5Km~)#1L(vb-84 zZRV3HCjThi&-J=L@x2XR0mZ~R3~E-sCc;BYHxiZTnpJ7qp@4&2AeM=FBLr5czJjge z-0^`l@@s}9kZ1F=QXcbDB-kORj{wF9g=^!2fIjCX@0yT+K;pI9rgln{*-3>-5hE;x&49u6Sv~Mv0m%DW%0Jj7}coF(imuir=l)gQ)^XKaW}ondG_AMzX3|u#fZpo+ z`Ud2D|E)m$%k@nl;tuF}V`(SnA-yO7N-TyX>ikI`C1?1>d? z!|Ty+Cwh>Cv!Ls{m660mE?y4+cfRpNQYPDpmw$eGKT|HEcqM*q6VmP=K9|7>(UKUL zU3L=EKADYkdV*qVz~+&g>N~t&DCCZ0tpQR*BWOzxl2uhf2vA@Re`^;2o~bcQ zQC5YUoo^zLg?q8}$4d6k=r>m)fAOf1O@t;JXK1f-LE1xz$d=d2w2iUt547KP83})X zl=NHzG~}7Zy=xY?;G%0dCz82EMPQl{HyX^&AP;Qg=I*(P=5<1&?$t6h8ZJyoD- zYT^xpc!lxFZAv5+{2Nuo++3r3;h-b*s_m+k^nQy>^we=g;;u`gVbXzB$W;uVU~mSR6OfWye1J}Nn2S8SDYn&p9gYI1B*hgzT1(YAIUqJ z78)fp@X72~@k$W068>$ubiYL<;JoCQJ&!LHw;}f!=S`OhEh`B2#}D<7HD0!(o}|qr zrJ&3AqkZoYkz>&s`)T%iU6!~*bN{2KH=sV)Z@A=69PUSAv>P>{3vHlpK^i8tH)niM->wSQuS3IvXAjXiD#v5Q0CQ+Ko z7MIpBuF3P2bUs1p7lcU$Jz6fOv)<*C)*M|nX{;Bl6+ibu)eC%j?xxL4 zvf&N>yeq93l?gI~5LD~CuR_)n z+Mh38d-!TQ>>}Vbx+Vm)aMDh!b|=YAL=BgZD^2?)lu86d7UaYbe`nhhrgr8 za@TgBhdSzEuij==ALXql=|GG$+$iLAK%Dz<_CfCMCcEe5 z1UQ}7yf_b@eTQb{zWQV$>6oh+b2&1^JUont{A*1|`SiNZ*JNdT}Itq+sU!Mj#sa{ohxscelR z!4F4S(dlNgeZbkVMR|pXlAic-ca=tv!ZLx45E|o;m|LhtI;*0Fh(}6+>T8IJszgn+ zw{>aerc}aWmjZZCOYG&};MO$$LntKiod7Rw#2;E_*Aw-SP>MHG)n@Jw^cda}b$)|> zRkChcn3~m)cB)}UVO^}1H>;Hf=JT7NNeWr~_3h_G1?V_RG#&M38TwD%7*+L_QXxbV zj+BcRErVsBhWpan1OM&qxRsBoqg&ihw_Wn3h>D;Pzbx~i+FfdA+oy^n&FW@LQV_1 zC}@GzSoLK$4fmnHoP__ep(fbmQ<^7#LEJxqk~)k(N8I1iXGVn(kCaVDknQUky2|NP zw6_DN0-Xf7Plzz7n6KQ(LcUg-xF=mS2qQtRxo>f|WD1@gs$aE=eY103PKkdFgjVSA zqkFe}9H&30|Hiu*Ldlas{FyeMC+sE#3_1t3=eYatvBNe#SuehO?jbJjnD8%NE5wpF zNdBzPn|Dnd3GGdxQ5Yrh$~+8!$R9n z?tjpL_=;r*TFx>=RGE@^#Udh^^2Q5F(s?*=jU6dlR_?8YNm@-CXbCvecDY-!wWbIX zm})G~jbRWGlxfe@uj!A)|8n<$eHu#2H2Jd$V$;NnDa2v9Z84t|O=6uoBSz4vz7kd5 z-^IAunhuYEzSn#7Z)gn;i6xalQ5GNINC;{t`^&6|PaAxC5E%?ozDjeeuEEjGS+KOy z!qA3Br$u3Mq*jPu($`zRdY&c!ZwcyKHd<#Q&G_~ASw%L-;{oIFHrQ{=>PI2j znU%L+=ED6>owE2hf;e7F=7P6MU3Q@~SsNA6umSD4#HyM)8pMr{GIy5=l|~cd1h{o0 zc6J-|mhdQLNamq$NjZzARD^5}Yx}V#o?1f&_oiD)F*Rx_2L&KF+RWoYKMNAs!B=++ zj$3P}%^v)bbp9-4w*&~W@C8C2s`gq4!&Hg!_dOL()zAm(7hg`_oT4jHztR4Y%I>}( z>N0XXyI5n}_|uEr`d?UDi|hqW(y-@J1YlVD`C^fj_%+cudleG>0$xL?mJkW;*I5&SFE>fp?l+bIYrWbXF%oP=QF~ z2i+RE1|h|i6_?Sf;$NnU467SD$_(~RYEDl>1FkB4Pd9_N$V`C04rT?cxIw0ZuSv9- z6QT2gmkjPh&E=ofT@nfgw^XR$3hr)KwuydO<5zAN>{Hfh+VEIuG z`Hy7I6C*mg?I7`>NdbBX0-AycM2yz&2;;X_bf)fRO(Z^E9t+zx-3p}c?qZUoRExT3 zlo`gH$}PCT(eR{^yU!rjk<=rP6sAq)E#Uny(a?1^MgnsO{1d*8`oP7j?APk(b;W@m zmKLUO?W)t|oX3v4nPAu6*JdS6&}Pv8(P!Io_8T#&ssGYFwNN50rTLO$2r=W%fk!s2Lz(lyn%lIklRQPrJfpIL`QsAMBW-6 zX1-faVW)tquEQHW)dFnm*Pz;tBnxPvU?=ska`iLDTs``%wFxHeNzjo}K6L$R*_qodgLW?D0i&7SK+DM_YGeKljkVLxs7Fen z8vB@IDBk*(JggGl<%}$wH|T1oP6q{>{9D%P$~L27!q98hlKr=ERHK&5a==w%qNRt& zWPUVgL>Gj-Z%5XvWZbhF)IsxwW%FAs>M_QI-gGhgY`UmB^?e4K#&4qL9hT}LJxjKE zL5uMKCG9nXMrA_S#=VG|Ue!%6+g>lH-+9BX#wlOtJG~}ORZVQ?<}`87f%B*J(R{Sp z?5U^cm5}5>|B zcbZ5WtPolh_FqZ;2DXy!BAI+<0I!LNArolQv1USc9S3@H|J>WwN}9?9zb97WN%~-A zrKRuNkRhSEWFrnFFx23JN6ryL}k;`H(+%?+jU><8LudAby8LO+BARKZH(bH~A z6_j7{8o6jt?M*wSUCJTP)%99HzfQR9@4)e{n6MQ`c5L&Op z0?)3^9S5~spQzOBbI|c66wYX=dM)_7izs>&5Ijmui`Q2eNnx#=)Kc{U3d(c_sk#M9!7ag(0pE?V%INgkGMK$>xsGl5qbwFT(BI8=Wh zaP;r9W}zXraj99#YPHh9kD3pvu^{e&r$VOdF#_uDNbl^*o|kp2P8vUcN-23h6>nJ; zAPKQ!V*+C(Gxy{f+Nlf-p_P@|(OZgqtA*3#ehiDKrjU(X?8z(9QaqyaR~YX!(XN+K ztZEby+L^v(H2TdhlE~}Z{DXp3`DjYpm;`KCOng{iVfK3fT(*FtN$!;%l~EM=Zdfz# z*90>Q+05^6I^r$-y9Y;ZLhhBCY5e~+?Vl%K;ps%)J*2}$vBuanC|)UXNDxI+h)his z6cht14RQJBY?>|$Icg{26rDg??DAR;1E!zg8rA!`aqFkRR%Rt;dXdRQ7KlLtmXh{h zP~JNhMm62QX47*09c8;Gh)nbfi=Pa^n1_%ytP}V`dERdvoWr3ZrNNV7i`#@cl_up3 zh@?oKOXrRqGaX^>#D`tQ5B7^*E^8I_xYg!rL)SkUhkg!QxabLyOd6>RE0=j0opkBu z+rF)Kf-NUBX8~s9pbvxnyAmDHNdNW2pDqz+0lY;2I(P0=did+>R@;Z`7T}i?l#r{6 z`~Bx!q#k0&)D>n`ztz;VS>_;FBVHzMb?pU7%!y{K`ks064viet4V zzDqvFl_j-BX3CZT74MdxhONSIz5D{6$IEJ47p$b0O>e8rKtK43 zQf>IQ4^-?Swj$F7DzqT`ub-}wxHrwXwvuR81ke*k>N+a%fcix*m5MgQ>uP}w9!wmO zgG%0MV8h;z62-s`A`?7<5*~I*`0{mS_FCBTrnJGC>(v6{M`Fxt1zZ)MNKIAckm0=a zT6+Id5m6EyUs_ux)UxqsoyF=lmC_dJmCg9LkxClYp_0nacqsS&cZ(y)2xG2z1HHcA zf-j`qc}~dpd}}cwgux_*^>=_Zcf++Nccb9wH9^7@vqb5!y0Vf&wd{04Oqas{7iqsz z9`oE`Jp0IdKa9W)JPF>w1@2sE7m)nvo(Z2e6U2kpLgOuk0a6_2)c_#%xZ>><9qF$< zi5kE}j#zHCSC59*b)Msq1QF(D?S{K_*;kL0A4=}t24@=^`tekmFe$AFpmjHNY*t5Y zt_hrwywSQ*5d4(kr(2Cg>-XiiB9f{Ol*xD2mzD`cR{C_dPL3Lgh6{N}O#M<8UMlH3 z5U?t5-Tsy#Us+pgYou5&!D6)>Ntd$hDLrS#d_8_J|6h{*rT651HW-y}dGOjs(G=6J zYB^9O;ScwI`{tYaAx1z!D`@JsE0lz?bv$i;%H}QFH+kbs(f0xEhrEF66N|g+)7{^- zwj(w+?U&O(mCN{w39YeJ+MIe!$f>mU6)zi_#C*?VW()l&`%3gISw#Hnw=6o6WAjFN zX>8R7l)S4F6Tu4fknXsIMGaBf#=W-f3CfAkA-!cD-+JF-3%BuPs7@el<3+4-mUsYa zhDOZ^e-l^97u!QA)Q=?3O}gVoZy#SmeWOR0mNK{eq)h^XP;6V!#%s@!)-#f&+K*2q%e2(fSeHB*h9LJ9{PR^giBkZ~ z7G^%ZK?BGmnI)yPsKr;*1_?@RGV$e|D;6L7ZXqYfdDpXY&u=4MDVa zwKfS_sx@jw?HIL{R$Hs~CaF>sHG&$gJ!f~y@8|Q3`+4sB=J8(~Pw7;UZgP4p)^Kj_KEoMqU_ob}Tl_!L15LzEC=@|tUw2Y6 zHO(j)opIeK3|DRL@-&;hJt%Rt*m*R6>*40t%8}VX{;|u`%H&v62W^v{PlZet@u!(X zV=@oFq@!|>Is5{Wu^6zL342%{M~|KYZ-=9i&QH@DF^VmCyycNJ3d&6hkN zqJ5z(KEJKNwW(2c51*1K`{#K2_9aoB(~(2re+0`W#Bn|?ti(S%`YdX8e}<%RaI()g z#3n{MtnhLgj9F<&RqiZ=CMe?^Wjx{^>oZIU%bL;O0%rpz=Gv?}5_ z-VC>C=Ji3jwscBI;D=YvR7r_JoFcbF?u8_p?1gvx$0~fHzB=UYUO>I`M>)Hw(9$o| z-5d*PwD;eEY1gE?kAqK-AQu1Q(b#s<7O75XC@no)0Ff?D7Z(>3F_ea#@%T5Ur6wbEP)d|Pm5{m+&Tg+xlis>z+SS&2u~SLo;0t8F(#*A9dN5DF{eKa>A%J?5iM z<)1z*G)#=esoep~{!B3WVyT|>y$~lSk!E)u+5IRyO3Pk2T06|u(^1R{!>NB7HfS9S ztA;8Z7ZCpM0XWYg-8KgPF%hb!axi5}r!PP_Hn{k1)0ZmxAs~YRt?PZL8rB39osao+ z)02{KcQ;>M{I&gXCt0IRA@ma2nU`XJ2A*W?)*WeR^Eiaq!`b{gJ<}}<*J|+{0*0eu zmxMF&mht8ppKq=r)jNLO_aX;#JeWrbY}y!Ue0Yea*Z=Q#I&P*IZSDZ#xB}EK4?>@t5`BhJd$%nye}8QKXXe4X+x=1t zz2RKTqFp;m-EpnpKE03K1|@&8#?o=#cK6o_xoLTIdKE@m&d+}eK1*~SkG-p@{pQWn zS17G?{>NI$Q-5!}nCNEvFM~^@IbVk_rW;^#s2;xm|Hao;<-lix6{4a$j8~^fysj{0l=5z`1T9 zr6B83gWo%rn^6{pC;6ro4FGGhTRV-EIyqdI3Dr!8ah?3 zR}V&^KTk4u6afF~)pa&V9EIQXg92JuMIP~_O6oH|La=u-(75up$WhgI^3f5)p$snn z^%)D+V)A%FS-$Z830L%t1MMn&-TairO54L`*N67Mh3cbH)`e;{8pAGG4_WMlFn5U}tuF z@fXGmfx2@PeU^?K2(}%&wl#S)J|sY%EQvHek9g1nBKnW}KcQdwR-)1<1`CuI!fxhn z`mQwYZfJ+i5x|YRq&(4=I}H1sWwkf4M_(ZR-3Dc}5hv?G4RWIibP7KH9-O^SDe4F( z`BbLAln2L$C4sK)`+SCtUX8;M?yAPcpZ``QLUh`1K*OtJ72AX5iy#Mn(bJjpN zLQ>)e3Bf(39I#vBBXXn{{Z!TgYD!79wN6+MjZbDAp-q@q%t+_i4Ha z<9>L`Qzh5Q1KbgxO5go&hA%|6MPTZ#chUB)4|%zX{kRPm0@|h10)-RetO9yvs&)e{tg3vy<_v?#EGv`pE@o+r@VGI;@B7= zrkR`?E3vtoo8|HB9>Sdajp|;Jl#DVu39hxbU0`;mth5DP7l6*F>HDj$=Sq-z5D#I| zHQfC+P3Ev{M3tHA@gqbMW5ndICcL4H&lR4YhB{I6?;a59xgmTQ4K z!jD(YXTz$AOaFSipDRpyNYl5Y0nwllx-mmScUhl^877qy@x5)-wg)|u&SNq1YD3Vn>xa(}VBuIjry(JcP;>>thPBpzYhPnfLESR`FQmA-1he^G;Rg zDqd3J*YSIzMS4w~EL}XSN{DkJrhSvJJgjGZJ?^6y-jJ?<8qpWX6(Am1SK#$1b zd+&toKl!g=W1aZ~rjitLI_G@|v4!m3zNJNh@N2IWxjfnQrC&d!IDyy4h^a*pS69X! z{^w_+Ul#4Cp33y?^02#hGd2pbHJPK3^J(ykOoA3hbBxIw1Z!|@A@Z+jXbtf!Y~~K% zh!ZQ4d5^YcVkRANzspPaG)06zltN%AWygPf1*}Q7Ui{3rlcu2OSy>IjqKa2Tf!uRl z)7*=joP3FYZs(&r8f}YC)~`~P8jQUeC;Y^4m*lxfL<4BJXD`xbn*FceJ=~HAXSa)- z#&bU7I|Zjy#7WX!aK4V{t%xT5bEnZP>;32Ym<}KAXMv7i8uk6U4d^07><~!|H!b?P z^KjsNlJ*9eMR5cE_NT{MO8bj!2wEh=3Td}C+^kEY228RJ^-(X(dm(!n`5-M57g=I>(Q;cDTag7)@graRz zwUR;p-C{!6UN#iJ4|#%iO;7A|^Ulv}`z_2x_v3~qj7aO`b+{BFo@GN%H|udrfWwy7LHRdN-wzq-dw8~I!eW9C6dN+v<+k92)q z3OcIkeU)K)iotlsd*z8*T@Bgs3Sz1!3wmrbLlFJIVa9Do?YvVh{$o}1F#&Q%UV5m$ zdt|J)fE{wL!6p##1$m$Kc48-N_0HQda9o4G5}r=0_-+Ovcqb|Fjjq4L$8D$U`Z36= z5}`et+`LuDO8zyGEuNVO5y~M7goxvR(1R(apPfEn8U#v$0#O)By`<8(0Xq0()?s@0 zOq;p;4yz3HG}*_uIz=V8)lEAvC_UGk2lC~+=AIYBA@kS^IbN)SayOs+ZN-)PfnGY8 zg{tje-2kQRGH=JP9eNnm?0kU?r>OTy*T&7yZOl}=sd5_Te%+15eb(8txGSsq3UT6h z9TtLDhn_&+P}%C{(+2FMBkw9k?eP*Rcw(KDs^V=)?AU)hf)-Tdurm=Z+zn?5U~|!J zIt2e=;#ZKiWAEx@|jT~ObIKy6fC2-d4b5D(N82bU|ciEGOzol1oy zGz6&5UlP^Np!>Eej~1ZL*!f`CIA3Io+B-Bz4Q3-sefz1T%uRu92pMs^=_eKBL+U*rEuiW8cuOR zh>bF5_uW6$3c$r1vO5~Y=uGL@Xf=9|(#AFB=6Mw+DAf!FX>I3;7?)qW`@22drMta4 zPE6khq^mE6CX%n%(T$ht1?DPl52@cZRm(`wx-`;zM?$<-FsQ}cT?S_Wp8Pz2`!1se z0-or<@MO>)hAQ}dTU}?jkswZ>2t0q}mbodnx>6`Fre#mW7&J=cdju;Ic^O>>U#onR zb$i?zdGe6^5k4s}Bwms7ZZv3~a`*%7*az8-UcO~Vh;A-dq<0$P z$LV;fm~W9gzg+M70b5g5`K=S*xMW1)8xiZR#)?3@506oVsJuVVkU3o}Aa1&aA^nC@;8hNZ62Ic2Z%8ctHrY*% z&h3zEJ&Ffk3_bTPxPKA%p$Q}E?M;!(6!R>;Gr&^C6{3GIg0c!x}-KJzMwIRstgF|LcNEwS3=p|am1+a8L~9V=c! zV6mO7&HTygKKUNTtg_>D%0AI;M!)bh4QIS*4zAAQqp3ftTB4M zw-b*?Uo@P8F+%RxraqExgt^!IVq`lvrL5EW#%>C=R$jb1P{vH#WW%xfZt5?P?J_hx zA~l6H7v+&lEQiYW$gqY4#t6*aZCwh)WFZ4kmasDD#ms)4~?l!-H8`uiHMc7VjW^(DV95TN=%@qf8k1@(}PeJDW| zkbjx`MTrOzjflJ^#*<@vCmJ)vtT61=llZaLHWV(QDnevH;V6H+uqeuhh;TO~UAJkp z<-J8Z6a(cGeIx%*dLSVRbz5pL>=G+v`jp8)zn(?AQ z09$avlf^P!M zD@b?*kCbay&)qcQ>bhZS4P8AH48s=I>B>5~2*0Mc=Gyn7WVn(mn|na_Tn~(av;o$eeco>*?!pH+>LVcl9n) z5vH~T?x_EgF$512+^dJ(JB%(;txto+*mDN7ibkG%doiQbtA}xtt1JEaF2Rhk{aQ@= z@zAr^`VaDSlwkLmXReJiMMcKtPUqf|7kre`8WytU8{tt9%`Ici9B%Tol&QGAlbPCytQB$%U~J#U2Emp~UAG+mQJXlCge#2DYGAFte zRMl`f!G)m$&NtRfiEr$+)meDXTE=SbXn*@KNLL$PlqMt?i@mcvkCfvS8uT0{Vnh3T zlZPh#Ljwdp(ndsKKlU1^wW|C!1 z6$wdpW(4PIhgT7_?NG|oq1n!dS3YNlUmH|5pO;<*(GM=|5{ zXo>*Wx#=-`Mv^O}&`l~7ANPuI&TgeooF%(oTGJF*CjZWZoYy}6EykZLN>UH+k7Zu} zRx$*TkpUB(TbF%)%B!@A^L|a%C-)B0`e}69d9ITBYEZe;Mg3ak8H0A(89FHm-60%( zcK5xS$$oCL`R)Xj4Blz$o(OP%YbfQ_ZeK-y{Z(bc?gNEB&H_o0!VB6B(1@*F;hin3 zs)ku_pRD2bNmdK%fQ%xA0eh2_?kNwZNb;F-CY-Jm{0M3Od;Y7CyRV>>?G`_<-%$ZC zjP`p`Lv9yH9F7%lq>hgdVUTKEeSoK6VRuGdRzNS7b%W@r=S6J|`c1%r(F|3K1#*bM zqCcb*_)r5RJQOO$Y(!Q4Weuh(r%da(p$T&*JSeP4h`~EieUw^gvb@WxQCG~7`^|O$ zyfQYb9!`f>c|k8-7lepP_=;iGiz@#V=l19^x+Wp=nH;E_(WjI)E?diqm)`8)!z3E_ zltPtj>HfQqUh=1GvcttW^z^!MUI@Vg&Zah&p4d7ji**O#c>p}hB{|4#hQvK|nvS^f zmGY7dGflGw&%ED1=)5g(B->sCtFR(!y0jG9F4|Yv+q8wXgR{);5AyV?rNIc1UyG1B zlmUWlFYlMb7?mVv&e>ZceaRt25DI~hB?*No$*$Ra4iz48Xnn-&VZBF%Ask!3`XVxw z94?g`@**jbCZ3dwU}?9*<9M=&ma{{z_%kBE^xCvprj|c>e@iYy=n)idj#GR5EzxZ<}rqP3P< zjJj;x`Whd-JCXI4n4~F8_{HA5jA(Ct`(t;HAC>HWJY*F|!*%geO(ki!|E?!~R7^xF z>1)*^VehjkW9XWz`{?)nk-QfagU4irPGg^+^aI?~!e z!=WrAE~fx$EyAw9rP#OCD%Zu;q+~~p!{M~r!f5U{o&EXgrXyKfx7mAKA21OPKjvX~ zc%^o%CizYMRm;V!zWegtOJ*HmeY>c@(&1l*U*68JJQyJKDAA@*QRKeNK;o{iuy2G% z6WSy#&HNrOO$P9G*skWTNKsLLDah#rM|s@hcjnL#oN*R1*`i;;nAYtlzRV9*>=DLV ze*KS7$nrtHB5O+>da6RDxV*FYW*S+{&evJvNNpK!Q~_Nm=kH@V;>88-)!+oJ`dAx%M71n}0K&{F9 zMRf4it279QvPT<@xiaCGg&1h$`6c}x=m7gG6`W*1q3WXC;ri)}2=VRbZYNPk9y{h0;2=}F+acAaCd zL!m4}wwv}B|DiflH@HPbEC}xu$*~mljYa+G@fXFrK7HH&JCniaM&-~`*7?_Z$ZUU! zxfv%>nvjXoLigD0A@nNqENmDfr-ZhMZYKPsX~$oUDu_*?Ci0hU$Q z4hUMNPi=|0pH#-<|D%)eGsx!g=~R~kO{>Ta-O7lF#TQ3^mz=;b`Z%uIg~goa@otal zd32=QjKZkO5FzqPmK5qw_^#IvH;zU&`j!Vs#shy*`d1d|L4bGQXRDa`T z3zK;H1F)m9(lo|_4?)zw1FtUDPJaIlkh;2|Ex0?DsHdR$&bu{H`q~C4zakOULFXf& z?sXEj^{5dS&r|lQ-HnAbZMpB7M}qJWc=5|gC=$c4kC?v3Dj_`d!3L~{&*QpDU`rbO zSaYsZ_Hq3~yfs6W6YuW|W<4hl&@dytqc&6C7VrFfs2{I>tT5X4V}O$4`aQ)@ij=wB z7h~octjl>7LB(6T=I+ab=~Qf{AOMEd!BU!SI7I?G6ZHL62e$h8s9+++p5VF5M~}%AnlDVNEbZ+UB$Nn>;|@e|t|sU9ZQ04B#K{E!OPo^mCn`NZjMLem zGTR-gCV=stLT4~uO8j=DAXW+51M&c`Q_)nHd?Tn!-(}_$>LYW{<|;pS)0GFw!<%=X zLpp=RJk%YITX{F`%Ju}>1$L{md&j9+w7n(ppJDPW+rWBHJ9GNYhG}7MngErre*&*k z<`|cA$`d8xj)M*%wvU%qet)R$Eufob)kl@V`@;7A`Mba4=D=`m1CXhkwR%IwYAZsI zc+pk2nqImOETX<{Db9F>v-W}J07KR~-!9I#9u~gqMOgr&zj-LM22@7Xe~#si^$=-3 zCt_9W{OJ7ofBURuRil>~&GR2)o*pWI!s(dc<9(L(-{abZ)se>~=DAmUPg< z%4Q@l%6TPNET(U%x^-&6Cy#B!d*T^pY?dFsBC4OdAO%K`uRBrciv-3slk68oui6%h z)MKPus?V?86tY!^5_dqV+5!^5#c#o?)H`4DKvtGCvk&vZq=h@3F;nzDh*Kr7Z&b9S zwz}iBJQ~Zkhk6?8;0=3iCqR?+l{nOF0n;md_Id_Y>)+9{P~;X?i{$l@97u@u@_DBu z8$;rs_a)$%oLw$XPHg$z?lrlLtGu(V%0XmFmKSboHQZGmi0u22U7_D>POPTJEd zC7=gK*dmy0Nk2p4%`QNAOO-*T2+24WNkAHy%jDIUqGUGQ?5tmznM>vn=gB&iHF!KI z;e!}Gt1UE6)G7+kUWj4#IY|6EWGK7eLKk7yXBMmeQlz|v6udPAcaN5waGZJdbK9I9 zkbs?e5tHR{9M`zOYrHh8O0k z#4%p+HzXFxTlsW>r(c@!h32O{ba%t~mMQ(uKdPWEyV*Pn*~{v+R{yPJQC!HQ=^v&> zT&G1oq{R51idv*&So&;(kTHO;ci_--L$l{;az5@>zusR9HFn67oCYGOJle?e``7Yc z*Jq8nkMAx7U)RzxA>)OKez1|%b=-*8q_U%?-QbnMLOnrs#X@q|o{<^B&2e%!G;)

m(m*LjVLNZh|303x=7dP1lBrvz-VgLsl}#~B!kDSLn9*z zv;IfFZw;MJG65WSAqU=ulZE?C$%DCEL9m(&!p*_e&0`HiW6u47!I-jAobO-B@;Hq5RBpO{m784%t^FkSn??`RiL04HO zLxIJ~x)Z?AAZvLr@N&<4j}!hMx|89y$TWh8y#tLn1h-S&bj3L;+=D-;-O+nx`6PV4 zV)ga$&}tw7*twJ3OLNGUwys-AW_N|SPKP~I4jdlldm_fmuEDy!&VORZ-W>%!OoNBfWuLCuMtyTK68mmy2KAGgcHJM{yut4{N1tfh{q z*-&vJ*Q6L}6^<9CV-!vadF?kXfu+2FD}YQkX`gOXTq233)H^3(gZVfrE1uq_e64FH zsKT}1K8Ft-bK%l3>{rTjjAOnV>&K=NeZQuY0_`zrat+!KIUaqy%x$(1%R$t|eWYu; z&F-ephzX>(n4aGr`QI%@&aZtAM5>>TGM@us!xpFcu3WO`l{i?Ze#uVAqv4 zI>o}WT;D#?uG@-0uF-Bj>35Y0BqruO2)gBw_E`tXS4zsMku5`B%Ce9vG<{QJ%v|Cw z23riq?r00w*(RfEe2|3>;XV8UbvK0*tHNl$1pZ7HkOz)f0&B1y-r;() z1G+dU`Tcg@{}_68+@;hj{1drW5UX%+2FC24n%K^+zw%KLC!r+_>-kbMw1@yd4d>{i zIer6LbiytGeUq!XDL8}4$dY9B1}tFcHu)pdCM9;X`?!_L78n|>#39R#ct?mxCXhO> z)zpA-ef-(pOS4S1IH1sJAOhm#rm~mE%Ng4su~u5xlu@|+G_~)(Lladz#KNulK~f+3 zDQqHMOJV&(CTL%hKi*(3JgLcY%tB6;IX%jb!={JiB+WJ@7M!4jlB``Q2!KtFErO@i z-;qz;qg|eT&lCH*9cq?0<9&SuO+l7A2d1PV%V2=}BT1z_1RakhRcLuR5Mfuq(a2i= zr>4`ZBi{e)j8G7J^Dc<)Mvfm*bA2%!`rT-O7u|(ePaKQ$x)J4qbG*?d3O^{Oqw_F=|Kr??#r5p zeQfVz($kOMgW;dW4#-svClP{)9PxYzGh|5x=o!U-bmzkiaRJKc8ba$2Dpv5hl2R6I zfKF|izEZ!^k^sUkh9rqvaa6el1tdX|GC>E!3je7yd3=l{_XPPnMxvw%=$%n}wDg$A z*>4eLVRU@2ki&l(|g|72SS?mc(54{=wYD)P~M1hFqEdr{#Nd9bs z@Xvd<)TWhCJ&q+Zpr4M30Pkr7G)+t9SkUkkMg-g5#|=Taa8o4rAUyM*>F)ae$4jm% zJ^RhPw`1y;^oiUuIM9 zfO@0xBzTfBE@^D#?t3Zhc`kKb8XX5Bt}PJa14NO&SCF_RAU+g^TtDY=)rZGrV(2uu z5PESHAkQpybik0h@GkvFu6oG}prFs5TWnc2xQ+&U8Qg!iePGi=a*o6aH4iyr_dm z_TN6e1p7#1sT_HMG#jM|=Xs1VXHc1!z=KFJfeQ;vHm3jf4S<864W>*?&MlB_MYj78 zTS?xRz&H?;Ex^$SHt*^NNXS0xrb~R;0Um6k>9D$tVdqvvYN2o+1v_#G^XvM32^x-v z@9Fv}LBy$Qgwa z`c{K;76R-t{NAXmtM|hlvVeNOgozOzd;M-<5}44}*(+rQ1li%t%098)g}p&Vs89NY z+1uaAqBfm71%0>>I)y3!&2P0gJjfDicluoeD(&#t_#z;@7rFo#QHPn=bkX?t$cYj^ zKzxYDm5CZy8vJA1eJ4dQ7=Vef)BXSv$1`oa{5e-c&ag9lnqrEgsvCD_uTNZW_|$e= z_dC(lwQ*(AK4hd}Z@{$ScqvjgoQD0yj7wRgiEha+Mm@PFb%1_xMKxrWfmiJ&O34|c z>snD-TH5LTGVtOct41@7w*DGp!DPFUQQ*Ev8b=Y0)NFa(w{PECN|gZ@pR!A&tsN~Qq2DY>XT|L z)DBE#pD~fA63!&jxc{`a`UK(Bcrf9D0lRg;?`84vUJ@`x0Z|MSXCKHmkAK6vW^Vzq|EEqZ|#OP>m-SiMi5{$lBuker;1 zWcWv{N-X_e|KD-1#U;iMC<`pMlAM5g$Bb{kfIMjg^mNQxfE}z} zUrOrWJ|up8ufe*8*mK|Jtk`Y2^Z5zt<9g{s*bLR|q5aVaAQ+FUZ@;0vvr>iwPQrM% zYxh@L=s|@j*=+JZoz*;V$9taN4?YrKN*fk(cdV+L zv)hX!HVB4BOU?Zlr_KG7^JYNW!3}7yoF!$MQ`-VhdMz?1l8S5EvOFh(r^_8}^p|Qq zrxN{YqY`1G`KRht;x z1v7<^+xW4X?vkpFe7`)qgdi1>&$8LxEy?!+u{uNInD+YbLFg;}`#tmo6%0`WUd9bw z$sl5Kzn=5X86c}9+Ir4xkt7fD-tpNu1PVdR_tV?*1+5f}mwoK;w06D;)m2D149{Y} zYkM=mvPS=9d~^$2g+s?JLnN1kqy9gh(yr%#pQ#P$UEMxr3c0KEz30moHfB{mGuC@~ z?SDJBV6871$B^>(Oay<4)Em$1m?N3HAdV)0Y9hoW5WYB7e(+D-Y4ihsHrB|)h`NZ* zeR+9GTaM*wV%*TeKjK>*s@;!$zI`=-Pu!FuQB#!V?$kL7qj1Nx;CflpsWZT5JkdMp zWOse9AVyL}?(@k5z0H0jQtvn51LQHfn&CQ-vVFs45RgjmaP{9bl^YlON61r15j1B) z33nOAoDaP*WhW&rCT#1P^c~8PJHyQ-GZgI#vT7UG`lWDR{f8&EA6vI@z1ter@e@~o zW&^Rx4;gasu>|T0;Bu6g*Za3X)*6(Iu>gJL3jTokR2j@CM3VfI3#ss_NBx{pmFV3<8mRBgb&V5Stjbjt%6{bl#0Mew;TR>F6?k_2u<@*Xmv{>8xDw& zSBEjPWM?l)hZ(ZY*&k0mQRnP%2pP7U1w1e|>v2nQyESNwnrQHOXp?B;LNHambfM9L zOCZpLh+P7*jU+WNOBq~errx+rY9_0h?6c>{MXO;Oh6!crn0eq@&CCa0`Ik6(eZKK* zul#S**^RH)PC09ac37VT$PT^o8t?|ah;7J8MVU#V`@?qMp1L-j*dNHwpU^I^`m%}% zFW1ibx-{)sh|B6J0KvAg4E0!C{$F)*TsyNg)y?>z2QZx$(9=Eqh`KR#uHfXIvN#^* zzdELfKttWO~x!7OR>W6dO@v(=ARye7>{ z21EXOND1;BB_6EUM)j_I2Llp+D~q(5v19lB8?NZX51#S()KABH-;cFUd=|i}_|rw+ znP%AhsRXgVVpp#|lD4e(w}#|>jYfSJn+~`-n_oVf8_-vfZH51Lo|T@CQWno?ffr8A z__3YH9{%(8TVl#(u?x?AHIo{V{Caj+9oj$N@I_Km(m%f<29sKr1fk>FQgBK=A>1;2 zIozLztR8>ivZfyoe;e>Z4{5nIgW8*y^ug#=n?%KX!S2npk~K43Dfsx)>U^#%7Mx zXlUx%A#XcEak`y&2YUl<0x~q#DSm&0AY7lPxYc*PmR`Q;mke@`eEYI8{xS04wKY|CTQwn~~ZiQ8WCHpexnV9%WcH}QQSh}El9jIC-*GV`(~ zveeGLIL=3T{S+K{dxISbw)g}UgPTLJ1WD}Lb`b?spae!mPN8oGakc@L zl!I=^T%uMfW?qY~&&H8+K7q2ZCD-Gr+p>iz{5q-nl`8tOdO2TWt5D6Lz>e1*V=hI| z^c-CbIB^sYTH~ZfDx~xevhZ%jN4K7=<;;g(pkg064e$81EmI#!&W^o) zr1ENj_&&S#(T@)WB|-tCwLvtR>%8@)pKQHVgf^cFK3^r@2=qk*Lk2ek|X{D zr-$+ft~#-oXMg7#fmsEk>NUOvJW#hC=X(If$TK0mcWcd^Y%U&eURRLkxS+Uz8y2~E zN5K8q5`37u7)j>gSn=9u$Xcbh6L;`%tGw;y5zt0c{`PNW!jZHez+U6RK3ivK{;dW2 zmoI@S2S<+<04z%&9-T{Y!wl62s(IR@u)UXf(u(D){hws0d)({q%h; z`3@F2W8i3muQK;p`Lq$rY;IKXh{YsPm#G95)VNnYX}_K$r?SNak|2AXB?PPS7R%$ zQA~4GYBqH-rP3jlHp=^{sA$A~MAb~YpVnw7H;4PxIQnqD-tAyEv`@2RO8I6a=#@${ z`v-VPVbqFLjM}Jwmj?mJu=M-&C;o{ib~WA=lqPjR@`y=^#wr@%9|T)GIRZqA&F~F^ zIXTdmZ{Eh~zV@QQE%g+~$(>^KE1y{Nl9Zj%qy=*DJd7x>Td-^;#aTg+DT(~|3OO>> zqS->Z##F*-7}k##FO?;FNbY=zMs^0@Y{a{X9Te@$*;Gu!{()%F(KY_emONAV z0n59?X@|2ZTxPCdC0#_|jnXfAlaEvU!#TZn6y%C9U^=~D{{i&sq@%SjG~rAe&AZXA zul3g+v~mZtX!k6B)RmU0nIUQKl9Wg1%I-!*zw?5fEdoTslAV7&*9rTJWBIt@)Ql@ePDgv2LkH8}z#XZR zRN)I~y;h*PUHI6s%H(vi=fg2#yCNA4zmeG|?ipsiT(1~u)4f`9=_V^IRt%d@KaJx5 z)S2<>$)REQHO$2Vzmks-hoWo@q<31tS=p#R&sHNWri^}tgeK{N-``}2xt(DwJR0||MunU^uaQtFQk=9*7WoQjm5OzNPbB>u~2w-f6=RMPJRFn2VC zWB_GOd0kTA4D~>?LIpIz>kfKrOuu>Y12i7m5=SMUnweGsu{I7 zxwliP^}4!J(WYu$<$F^$u?MHXu!7O&j#P%i8VbU2++sm|e&9h>PSdmzYA5^PnXIhr zNk}lO{17ed&*plmcAEc)-w`n9+Bj&>s_J9#O|k$Q_Kg&ETFQ3L=_m00&EH-#{bw2S ziz}xye0>Mzp5xB}Y69B4>Irk1{dA|1X9cQVEL_5|7!vo@4+wOJ?lXnT;+^zs6##H{ zR&Ti(QY*FJG%>hsWn*Rvq!=JlY>gP)mfc@2EgHRg>&P|fE(}JGM zdaSK~GFJaw8{%9%Uo-P+6XObu9}>*4G+cqoHjpQ@mvVOa@;4#edfj^3yK-$V)M>Hp zB8uojJ%lY)SNXt`5;t2$z*b_G)gep?4dBGb~(MyfmgFq>S& zB8@uSyX=Eh&uOA?X`DCJxA}`dZ}<03*oRP`!B~Nk%>2ux^Y<* z;xRsld_Mr0V+o0F=PN59|Jxqikh1scFCb7N$X1wpX;QsLLryMhyJH&n9y-FNzqUQ+ zx7SZo5{yQ9!6z>k& zd%IyEee(4I$rp$a@E0p#70tCGbuYQ7X}21W<_yFPV2KXR7l-$WcX&oFH+4}jni2%bM#ZDSKE6whCJ-Gde zgUnE*wvF#ES>p4Yf3#%3fHd{FYh@dS9q7^Wg+C~DAO&Ak)GBEtU$R#SX zmK$O6Ad9NTSTj96U5x$7z`OPqpp+6hyMBD3ybJua_Es}#bk5%aKpUJ)Jcb`p0hXlP z{yZX(Kj+Q6o$O<}qJ$DEoJ7#P9m_wae@Ff6C2`6$o3LNcZ-({6t62HNxIe5@Y8?iNKfO*?Qc4xt-u!H3(5lZ1KmoZ{ z1c>BP=CwSVlTJNQxWva@x0gDbnOtHmEcVEubR}uw^U4_Q(P6A>_JO`I^+T_Li@x7JNIS z9$vpRfECv|m+-z!`$bo@jqBEeC!EWVyiBHxRRug+MbWC-))oe=0b=;RSIVy(Vn z*4ohNAJAFo_Bs5VqECBpN&z8ujT8Bsuc^l#Hu;bx{01$uu-%&UD~_iOAgVedKzxf1 zK>@ma@W=lszb(f0X?Ls&Jg2O}ceC6A==9d}bX4zW&A*7KphS9x&l2dWs1k>jMHlYJf>aIVenSm>-JEE zM5_s72hWq^3}$q6ZHa*QPeY3piiMj#Px}@Cv^h_4TdazF@+|H5o;&z4Sdo0xMXAuD ztPIN13Usyep#bXn5qehnVYB8WuZ?WE)o^(hsuqL)&=i7igH~LtQ8Ko0q**04uq=-}2^M1Nsl`e>1b@!>8JkDFzEXDgj0_fQkU;1dX-7 z^}bwn+xK22t|2)B`E@`d+(XQVh_@Y(KC#{`!R*jUnLMpG$lJnNJ%dMiy>u%2)S!S` z6O#vkmUdh_ts}YYv7RUIua=o04$MCQ@)uz3XKsY7=xD%*Jou?PEk8iK_qgb(>-@t< zinJ(|aM}ataEV=htDnXjgRT4JDoG^;>ai0IU3A@>G9&SgH?offpjJ!mAG(1Va$27x zbD%zO%#tp(^;{%FmlX99BB&l`HnBkUm3oQ$yjak;T*2HShaUn|?Wds6h|z1lrv zpjYgl^(MZ@l==SW-Af{d-k=)WlN2U~B~g+0bcx|cx;z<71g$y5(n!aU7wvCHd%wUo zZNj-HKebu06?|c=&;BBe<&~vsjFL{?$Wjjn;HA<@qgQTsXTa?zHb$1_>0A{S6zliP zA4-MO%15s(v@#k$4iLn=WNhA(3jW6#$D={w^7Q-(#Ps9oYSKFy*SXnsf-mFMxr~=z z@hTBY6jyX(sr@i})i+Fm5h098jFc@y?GF=VXQ4&837Bb2QtsCTEemKaE`-qiVUPfk z_W{F!c-hyiI5n*kp0{{SlLKq4(Gm^;@Vn##NyqBBgbHtKb*g zaox!wSlPr-@_1Psg|Q;jb68{I%h(t1HEN~$(EN^ahZaDr?S(^e+m=V&Kp!2&eeM}_ zvlkk8E~@w=ii-EN(*4cOf&{ii!)LY(DyL>@cj*f>Nw?J$jUDqsr;x)?ld;hl7h0~N zrQ1~78U?mgKmIZy-Tsa;wTf^^{1a?$c(~?^cS!$V99?%j)c+s9b2uY+d~M>+$lh^e zoUp~zl2QC7yOY>uciL+JPM`@>)NkHg&)0K! zKHr?DLke};ef7i-(@dpLWwsWh*{Y^QbaAg$PbR?xx3e#mF4^0L`^gwB^@%+R_=ChR z?3LLtJpU=>Q^L2=Mq#7s55HQ5?p;w+#Ve+|Ir4f$T+Yb9-%UTX)D7^Zm;N4j00ipC zuTmmYO~61G)wj_NEJC`co{rsyk{D@h_>YGA*KdT6aD7c&13d%+K_tv2o_vEt{0p*0 zqvc>$;0`?_I1Z=0%wWkc_QMmX$TaPs11hQRh|vLGjAN1s*#a$ml}=e?QsO@ZdIdXY2p0J<}0Yy?*%8 z2fq31*XNHroBD>w!qq=cjA&sOr-fkL@3BCo4lF?F;39hOF;5k|`#xxaC%(c5^+=2U z8<4Ex$iRH(7~;2h=z3K?@6MG?M!Hq{nhS3lCvR&|!QYlO{ehMM-B>GFpWIF(hw|jgex00-57OAFYh)jvX0^|o!b2`K|@3=7jh6i0VoWeoN z(E`Y}>((_U@cDbPnhYkgd~{8o7c3pA-WGdxTBl0Qeqf?c>-_tBceYd9k@vn?a7%AN z(RuaG87a>Pc{1`25EiYh2g@06{r6FB@Om5Y`?>}|N)&-IBPH6j@TabpX5eKdl>-js zky$QwTxj}Y!{S%fV>V>Do>`u!blhiGU@akat_yu5Vm->C9C1JAh@s^Vt$5K7IolyC zvFYa@FYg!1RLq}RGV{&I6EKtK59{kQpcZK%N%lJm!F9o$u)QxqJ*dy8)Fes_A9TT>V1Zh zl9}K=%TmAH(y-XMyjz1^u{mFR0^_o-+^g&3*inL_gU{N2hZ7JzyY}J3FyUC>dugf# zVCQpb1+j~fC)=$XgTGb0)GZo%OuJyIW0jTN8f%Yz)6y$skup^B5!@=@Ckjs>rO}oB zA0;g#b_`@nK^s$udARt0MH;^^(E>}2yWOm1Tkq!3(%U_@_&g&{y8xEmG!r@2#1pp4 zJOzUs-w^*>zd>U?<|t_9d9RWK>$x~2(=FQ$m1Ni2lKajZR(_WsymEOKkLTxJreb$+ z`?C2}ix+C?bQ7LCcPoSP%+A36O_R#g`&FmoMQ2&_4nL5wK20-mmG-f~dXwa$YiK(_?rqaglNOU?3r_&HV}PdvApc~(6l+EQ_e+>DSXzAeZ}yAViBb9& z_{aQmRVzBzlusWbe;wZ6s?f0VkVtbsc^%#dGkxy<`(V6F;>VWTc<0|&t)zatdur3$ z{C@rbPrXCp)zmh#jbP|{YGL3M45R?bPM1`BB>C-kLg35syAdN!QX#=Z)ihv|Yx!M$ z&8!}w$?brc>&5Lj4lVl4aG2%^1!Z4%3z)TEk%`VC4n!Y?k|$acLW-sBGG?{(^Yt5z zwEb^o4ga=aJ0)p9gD)9?yaj2fNQf6+ce{@`kE|PX2M3t=lYOuh+|-*-EE|&nhGZVLb^Ug zqi>$_x*0n8EOMjguD(VQdY@&F3yDu@erHm|aKJE88E_fBV*^RCfa_*Aqz~4&eswDd z#fR)nB6Het-(XC)r zyv+&H*Sz*&DWgMIPgtjXGQ=baSau;@99OK|j| z<8$v@9_F9&3P?~ zR6ljZuiS3O7wI~Pv5+F?T3dOJY13%?WAC3#4&eCQL=^l#nM5aFcG5Oez>#fD>GM~w* zG*lreY7!e?ItUy{;zNSpNP!GwBTLoPsc1A=jD)j{ya6(F&?64gEGVgM6leZHq`ci} z54z28fB5icDo;F2+9SWzP&^MCPvgK1S0y7+%Ag0?OmIT4O3?kFsz-;E6uVou?96s8 zu$@2YqB-x}*Fu>$R3L)WOz7SAN~C!m_vV$1o|w78?QM+S;@*uif$VFHKM9gavpg+f zO^jZEm1=nUDx_0DmqT7y*~b3D^^#BB2> zK+EQ2S8VNI>?Z#JyNIecfG(M)4Q&lQ?Dbv%lyIA)vU+J1XowX;DKNOrZ=f6Jy!VVGj8!O_meVC$mak;OOp>7R*Ym55!W}1%! zr{{YFo<6*F+X^PErz7y(+E0#n8t_Q?Xol@YG>bi?lyui8+ zZwevcQD`}`Wya*g9)0`qn%0)q%*`o^7R)s9OxgFsemPG$f3kluL-@HpeYq1d7=RNg zrOFp^y}+F1-Q7oIJdQb+f}MKm9xE})uEAm|&IVA@yWW=Vx4SM5Rwn+kqfsrTK7nVof1zFGkRZUbK73IXA8#P$WtQ=qp_}sz0ck3%r*pfh}U7_4VCt1 zYdKH7`RQi-(wGs8Q)i&;q#9X2tC$Wg=cy6Uhw&qwyGO=*h_lpT;j^2xnqtax1XYG+ z4vjCBHJM~p?;6A}9m3Dx)o1aV{G6Wn7SFOEhR3OUpFMWp@rnHd;FbDUE?m}I0Ta!h zS0Ovoc-zf;yL+miukG~G9tlnjx(Erl_5Mc=3A6Wp(7{N%gB941ZDvM zOi43z(2iAYaQB+^f>4Au5o)(uJZZVU-0{E|*xlM46;n?=oN5LHeZ5oF`I=WWBzw@y z3zB*18@u~^4^ElNP7^-#x_cPeBgg*K@73~Y`Fyv3eHm19XS?Nh;H=M@vb)sk@z3UC z6(fe0^^&>KL6v)}PUqZTLWK}vOTe`c_x+eCE;fEI3C zIr%T1!xk$~WK9qJ1r?Can@g`OY!(xCXYDXrL5voWKg~o(0E`c0qZ1H=FH+MeEj&v$ z)-@SQRScr^G{pFh{|2_CNX3dAmkkW2I!ou8aT+Qd&W(!2cXkEny!o_2^j zf=j)QBpx06I7yb{F9!TL>1qSmyUGAy9mIk99x%QEj8dNw#3cg%rEjqS?%OSXg}ejk z-OD~4n#663p8-9I&X*nR0RB=kFhTs^=3ULD#O`^AlSNMK<}`C@yrqZXBe)31H+3(6 zy7$0wVw8Fv$h=S!y{oK#C}^GD5$kLc!>?P%*!6Ws*WJEmly+j=zxms}yuU_G%@WV< zNoyVv%?=d|+yJ%Ai)X_OQ+FPiB!Y5f=4BXP_|Tnxcba{@-J{>`pEVsP8w_l4g126*U@ZX4SJAu_aZk($ZNq`vV#^t}1 z8TS+`5#DfPnUs>lYx-jca_G-JY3=N1{nSOiibc}X{Uu&`9Sn~QhdD024c!M^PuDfc zhVDCKIww_m9;$-yV(T|S8(mt_J<#7_+tx{1?c-)w;xmmj54+$$-s-HD1M13`M*vlf zaD-;K!(KI6c-3D~m(awCX2Vj^e#%QbUfl z4I)J5sQ7a1QKqrywgt!SM9s8;ITx{=^8ORl;NrY_dSPKu_4^3E6cf`CJ(Y4vi`CEiyO2aeSgod>(wr73QGs6@1ZvB=rW zhuf4M_}XvID<*GC=A;%u_vHJwjBUw0SAEwln*0`hFF%p~m3?^1RmAF^@AH}R?h(WD z2jfNmPS$qLX*|TJQ}pJZRA2kF&C>joJEx^H#O>&P@sS>)I`I-(2Bj$(m?OsL*UQrS zc+ly!vjS@7_I1^xZmPGD3I6_wHdWRgJ|f4Ft`C?<8ekDGzd{T01-^f#`k@$jA=wwESSe@GtvEV(fJW z75k3@1Rp4Ty|zNmT_3um5UN*T=bNPCX8$K*Z`42oHX|^w#Qamr?C&|1F5(H8Fz!O@A~$CxSR&obPi3IRO3!Ew&`@v zm^1%%Da@utI)+zLp}d>?$W2I-k@@}qN+R{TQJ0I%i%@?$OvBFA?&tm{ViPD3D0F^W z+!>d`G^1iGrMBs~$m`h!s6_2&06P;ML&%d$Ju~ikKKVX(KJ*h1b7cgdG07%B?z>@! zF&{NA)X1rSq+olJn2v;e!-@+#!jADiIVW(`Ox#Ong~M@PJfG_zhbz71w_)0&#!HVH z9NzX}Pk<{#%RF=-O_R%jVdo>`{4ioBgowI^INx`l#n(}PV`=I%aln40(%}!ij=gNL z0{a6rK(1@mym^y?NSnm=tVRYGYT6stn$3Qly5 zY|BsKXz=tgu;_`3`*$hG)`R{4`;?0S_YpYF*#QKjg(iwcKNt0U(;SGJM}S-+Jm1Hi z-1FBZ%L4k36UxN1Cl$U0>W3R2QvU77ov??T4X{Qs71YfW7Pr-l>VhUwvoi6xj?Q~| zai8D3`_WSH6Ocl<)^oRq0{dl?W58(@{e6T*mo{K!^2ctI&7p83{Zij_vqJ{S9lLn` ze5BB~V;MPG!W_}FPP`^zsddY;tGiHEGvx_~`=Vytk-|%+yITLe7oV;{&cZA&*vTrK zyb*}Rheh^8UpV^N5~;8ZuU@Zt(cz&Q;Rrnvk9;N-dvI{@(r5F~dv6F{m_P96hf?#* zUa|60H!QwV@?zkj@NClLmyg4!=ZDBhJDxd%RV${t53V17na!$)&+ZK$?#cunTN6L# zIXq0}Rfh3;ow=dzIO1tUz5zqt_d_r0u+4^XQ*Xo-e_;io50vm(wv@|rTk@QR5y$KI z)Gl29I6|n4jW6@LujYex-_2_!l6-grT#MV7d0U-$OX!;{oR@I$dBTY!O+bf|O*&IE z^wf2qb^ji zDeS-!-e~Qdq-&g!xg+IvDpsD_{t8#S{_s)2;atwAPG?%>htqPz)Ze+uOTU2?q||eU z&9wd?CmmOA-@Fxij-r;q75?YdGx^f90xWYkXZ=t$cYJpv_a?c-K1X;!SBy9$>)(Ub z0mtYH;A2ZWXt)u&9QF}bi$7XpoerBzK%PKkSlas`hjnXg zr@>Kl9sKsUkoW@*D|AC+l}0rSYLb2SLK(E3@ckKd03V5T_^|)eaSOazTiFCukGy80 zEE58vD9<;G+$D<)Ko7cCsRA?GDU{ZuhA+_#FKQkH;%cPo2Lv z&uHcInhhlQw*0F&$_5N2zuV~fc6Cmy4j#;Mqdi;uXY&PaiZ^`-Hv@bVz|m-c8)|AK z)f}#pPCoy8FYTRdx0}aNxOZsac&H}R2?$}YAy5k|z!lmy3k%Q)>vFd4gI(F0Y#&FR zH0&NaCdjrO0Xye_nXXucup)<-yW9qgh!NeDpn|D%SZPP5BW7Cux6NB_jcG5hs<4z zhiAv49g}=cT44#J&-ubtdMPAku+}5im@`Fz^017z!NB-+F9LAc(3#?5l3(nEu|HP? z*jzT7J3w@Rbkw8QUr5|!xxVk>_74{0Yrg}qgNG4bg)^hLl$nK6G1OF1WLQQFl#^>FIk?&!01Yp5b`Q)1SCU@5*+T0dJe zYRVb^G=;66dBS7u_a+ZVHn2*3ZonU0PUJYv^%=O#OH28}Ule{Y)2B3ftL!HLZ?nR- z+~2_%TciTMwWX_9Xm>nkl52#w)$n)`&DMqlT!UZBNr~>6;g2PPCd_W|J?qry zw{PmBVc@w@_h|Jn@~51gU}U(&yBSx{V<3QpixJz$Rg0-Nk2-{&j6OM{UJSi>RdLED$YgA@0 zb|U7*(G;469^Y_^=-S7*{#w6zU+{LQ*s-pL*1MDx-^{*Nk)k7|;-BL8MqC8&Ft>2sKUe7!?Rv5gutoP0lZ4W%gG}kV+Tv+4+m79L5eE`^p7JBFo z1rK65FuXwl+v59*C^?4!u5N=D*#rqxa;=Km&?5L?NB*sjEer2VoOPXP{m*?p%l@3K z4o0N`7|qK5q^;S5s4H)#gr2<`(J~$OzF#%t7Bk~37QS`6U6AaA;Qh%luGaC{^I}%K z>9hA<-m|WGAG35g)50m^mK3M$`+sj6FZp^Y&1fY@kSn((8XFo6eX(Diy_^0CU_QN7 zp3nYqqEZmicMef5shM+H+daHdC}T5vz0+ZREis@gEXD5$jD0uu<$C9DgTdA4ft9mP zt$yrq<0r3ax1Z-OonB`i7h`UaG_%<4Z@Y(g_ulJ65%1VelO8?)gG^c(sBY%<(Yboj zs~!T~jaQ+TJrdt>oHb1nD&P=O9r~BBwaH?*O#@TDNZtGl|N783f6l!-0$U4=NdL-4 z<{$}XH+4khSPLBcL=uWWl>pE{s+9u53L>8&Sxifko@X4|pDU=4Okx@#qs1tviaYE`uIA zHW6CI#(||NDDGsa_zI=JW;)>~ND%P}#S@2HhLptLD<9*vAA6!m)lm95T?RL_A$m+s zmY#WCYcUF@wr_Azza(3AMJp1ey!VyQi9PjBtRGR&LLMpa>HPf{dUdb*h(~_nGwbMxXwiHk3#9zgLwm;5)#^eRgoB402GRa6`aIzR1qdBlz z%Kfm^=f~=X*<)X?_Nbk^Y5uEkPmGof8A3js8^E4)BzCXmkB1P!@1>N#2Uv~55UuxO z!^@+wGB$=vO;^QrG{dx9UO%MAwKE4RR$CxkX*?js1m|Ybz&pcck>B;aSNUhyVl=ny zyo$Ys_%kXdKZa9T87Uik?)hFH_tNj>G< zqk98G9JlUF=+g2bN)AY{Gi~IYP;e0!KobU}jcaOA(5}>2eM9DQzL47O#m38f7yXyh z4L%2wOX6XTkb#ftV0oPAR*6=c;4M#~>f)Dda4j2u z;w7j$;2aS;)cOfH1{3*eOEz!5J$}h&oEy}7a!%sMvbK}te%AK6Kl4AvAb2QKz;UBw z4W}Wf+3suYjLjbLN>o{WX~cvGNFsTPIgtHYj4a3A(ONH=H2nLARn&{Y4$L+&V|F`T zwsa#72Q(``Gpx?&#}I8?Ix|*KW=pKe6(7awA;uKRy|hdenOOQfVx*jZ_HCV${rY?b zfNiS`IF>Wp>zf1Oo`wtp!g+eOIAV+gs%&+t&&W|3v8}7{{SDC%JyvH`exOTgio%>L%X*Lx;wW-jGG8q{n!zho zj(^7t#M6*{AsRm-0%(UE@7h z;Cuvd$Ip_t>S0m(co8PX`ag%-Tct`SrsDfW*&axYC*uUw`Fh&Bit zaf;`gYyo`iSx0Y5@XNG^DR&prbYS8$;MQG0`^w%fWBchNG1~82h3M2ykrMf2hi|?+GycV-Blp z1)s)y^n{Gm{`|+k_Y*`_9{q)SYWW7n3N*Q(^QcmM$~_4!=j^XgM{k&03u@4_?$Ya` zGIvbqx`Q|HPnSr*@bXiv9OF0|=o<$3-AdoUVA>u?Xp7(bMNm|P4mMhz;3MbmZNz7x9it=oVL z;UNI`8RbRjh^&it2+5YiW-2bXx<1+z`Vc)3#dj&%9R0F6hCnq!XlF7B>NE?~eKf;T z%%t!Vep;dFQ_O_0B%8-qH&n_7gVjAm9dNWh!mM<%gRYDq9v~AL2M6)tj>(MVu3L`q z6PCGN5tDNs$o)Lu!Qj@w^8N*Kr{-t1qxj`SfBdpmShOmxF4YCG1W_oB?&m7Za5%75 z!-P%fBlF4-AQRWhH`w0B{$~mvm~6E6W(||Hq8lUyf2?D+L$$xm8BWX~FijgZfq_6~ zAZx^Q0L(WU4^z}yF6Tq>wF3GprqCUtXh#H~AvT=`oMBv=%a_ppm3ck!5o+4TrLs$1 z(><3z8+jOn8X-1Z5yOy~ye2Q%&?MS~>hdU$NXs+@tSJN4L{bfNBq$w{ylc6VCBAC~)AJP8wTxYVl?p+vRu%m9 zH56r7(sa_k?l*a+=54j3CQp5o%N+GTvCr;9JZ5b}wg-nOP@#`8mT<)^52QZ#I z>wFcfa?d-gki zEXef|bn63*eYIz{bWS&5g7%sQa*0p@y$LK8=|Tn^M|Pcn&HG01xr^*P`(s&K z6I*JM2IFTaA9&1{#+th*6iRfTFgO~ew`t<2O&R&g--AajupfJQ;@>G7A41d~wQ zQpW>CE(@48G$L73u>qN;Ei@=P13n&gK#Mjnua)nZ?7Zakadkau6kp6$KhWpLRx+{d zywrT?XHf=MOlN$S7T><7kOfH%D?DuBBnc67{eLR3Vh{Rx zC=>WJEzf@@TBoGY_$chkb}#Fijb9&o{Iq@w;;%DnfK?cX9g&lnVX`DNLxu=mc1u=5 z6SlPapnH1y$K&vjhIkI#>j9}|@OHvhEzSP4X<&(I{RrwHb6EK8u@EaAU(i+5GSw)w zP0#FrU3wj4PRr!+N~2y(CINOuO4Ef(^9Z5NZOiQdz+;7u1ebGn@Jwm&gQ`*E1|Ub%E|0JV}?g=jFzBK2gN$!63jWRwGG#=XD8%iL*- zY|%qhTwvDRUc4QgrfRt=KX9UFO)`g$#cy|?A$M>%OUzPPV7t?2pZ=eXHPDB%!vjo* z$yu*p6J>m}uaX<=?J-3!?(36Ez?b=t!$Dw61L|iD4DQs_BA3CBi)-{UiuL$>=%|d1 zMXI7+h@hrMtQ;*IY3E~cb%-M|$cw0iD5U^;EH$)xLH3GX5qiX;xI_bN2_~op%zu6x zai>OYWW)kjrWsCGi(L*zWYHusUBWZmrV7x~UuJc%#NaKoids2nTw^)iZhOqoZQMh+ zZ3s2HDhGKAVDy(W@~<|kAmOL;#2_#56qjH;IqJ5$V$%ee2eL8n@eD_@A`~nInLpn~ zuJD*g&Va%jS)$wbID8Jr5odR-Wd2^0A>DsNbFJxl0dp>edYjLc+Hjo_&Wz~nA9&-( zX-3jk(-ck9S%O@>xvwQc5<-M{Z5lN{H$_z-P8TF+wE+Kw7sPC%yk;XEsomF%5<# zG;pB5WTY6Vy4W+|CmG(v3Vo16P19c)F$jT_4=|X23F%u%&uZ3lm;nWI3H2vg*B&aO z#FywIH!3cNEhN4H?jkMy8CWi*Jf%NXVHr}cshTnPCEaERW47grm@y2rav1c4j3J8o zrs}g@N2fokt~SH0$#Fg-R_&r1mqbG(o-X`;Es5lPSgl1Aa~KJ_Dr-r`*Yj?PWn;&l zc^{8F4cW|^x|FImHE}JXS_^}sSt%+tVGx8S@R#ps5n+!J2cOGus9?4#yY_Hnyl3O? z$=VDqJ{s!jaIyjDkHO=mdC*44_Pa0ynPElE@#b0ZCQuRudwxE`m?pA{(aDWI8=|JQ zqTfZh>QJ`gc` z=E}*(Jfnp}-6rcw9;8gWcDR1^k|WuNUhjh6BY*Py751u{Jh<6AF|(xz+Xyn}+I zchWhx%HiTu4N3La?ty(=Wr6&+Lvi*h{%7C~;p|PR@;fbwse|ARAc|HMa9*a+=iOW_ zUW~fe?g1O)4^`;M3Ef^dK%;OVw~4+ZG0aWZDD;Vva^E%81eui#>n8AoDV;}{(K>Vl zmZceeCy66?`v$k7qWcI{m4OJ^Pp+Xa>3d-~9 zGw+AFE}4XS2-Y}1Z^!i!2#FOFi7=mq7k+q7w|Z_mbA7)0LH#W7SUg)fT)kZAbl}sy zJywk)&`Jg)^*oKGS>(RfO>_UM0@ohcMfKXmFy09PYK;X(Ot!qhL0=CvLZIrQSdQsM*DCDCs8rL@MuhK+zPhewD$84xb&mw3lszt{q_#_cfU6D*JU@ z1W$|uJvuoVfi|R4WHIq#v`zjue>Qo+8^IcEy77bgVvZWc`3L)?m7`)vF?z8KJ;CZq z-;I@vp?2~K@ia5PH2Wz_Ma zFz-ovG=%Qa&Y}pNYkDz1UjuR=0*9@rV>6c>`dM}zC~ZK7l-Gq9+HdlnnpXW3L!?!* z%bQt)n3&P~V>z6BmPZ7ROXmBS%~xlbth&N~CE2Stbps}IM))VD6HU=K)U>j|SJ*8zhMZ>7AC06;Up^xcdUQAyx!<_l1~iPC}d}aqD$MSvMTt1 z!1TJ%Pyx;@MCuXZKfAISJ=7SYaDQ0EOUBDsoKyEo*45Q%8QBjcP+c{DRon7^FDD|Cu%MvauyPY8~RG0y@NrZ#@@mxf3Omuu9 z)>|m$!pP&3KGw7_pq)iQ3|O1!&(an1rME9a2cB!=Nk;lao0>ak(tmp&#_8Cq<3>0O zrx_gXZjIkA>wzA<=O4QnT)|QX8|9~Ry(vNM{P>QA>=A_PFK8r=v(;!9wcNtrkIFC$ z>r=C5bnckuOv45rIWtt*i$Cl(R5t7QQYpB8_W5m`MWEfQh!BA7~UzLb_Gf4OI?++MCPTO#GwbJ(DF3k?I)+s61pOM+6~)@Knf2n zNh@={I#%FbOaqckVSyXhH@Z@}N@7;Z+tz6qocWpG7_ypcmUw{68wdyBC)QUm_NP06 zsh++_bSZa@5LGFSKH|wK#_{&43xlETusEN31I0=-A~@>{KEtFz50Q3(>TC2qNhovq zzn8`%){%#!H(vm~OPXMxK1N%yCh~3Z;uPZvyQ7dM^W3#5Uc-Ca6Yu5L66kZ|lhd6c zJ90HS4p`S`kwXUCF@<|bv*7$1Qk4;u$m=7{rW=mC1?@e~A#8C<6$qn@x2cm5l4jIV3k%b4>RrXk07r0f5s$}m&R;@naXKT?LmHd*1w5RwirCL+~` z@{rk9uLzo^=hOH@w_N5}zd?&X&HBX-M#Iika;)kyk~dM*v%!wP411NP-m_3Np>5tM zG=LCRUgnw+*1|y;U^Lf2@?@|MjT25?&{T>Q2EZ6DW^LatMkrQBr$>}a1EoLv^+ICL zMp*v+w;Fym;*zZ*OyHj$B{(7mCUGc!YkgF?6PKhS&Q)+VoLm#)L8Wr_g5^dT zVoU>gpa;(UyY=lW0#0@PV;rIQ8s!q*+x01Z1d_ZV!)-|U>Y4z?Anmh0hBT&!Wmp84 zQ1LKcVibXToPibS3zgz>v4qg&)}m0tjFqnfB#V|Gwo4ct0up33T8U zL5>8Jf-n~(1V7tl_S}z)GPJ7tsa{oNxt}6-oLm$oy+jnD?_I-?I)zdtmxk^*ecKpj zCkmr+hkE9-IaCcv5edno2blJvV=Aw_-(`V&iKi1ccg+**C=X5?+5yF$Zm6y;@P|es zp9x#@m#PmSfyu+w>5PRlEd@0aOIYOc7ZAd<9pjfvOc2X%yIGNc?C}-vT68T`UUML;8K=Zr_fc7rH{Ad zI>h3uSF=%LkBi92XC;?H2G>@`8#iJts;5yTNO1vHszb+=_(@4IO|n0xwF6_|cPW(+ z^djXDgD9e9kH&;u1O@<2^_4YM-2A%%uusq+`VhRe*rM}nQ{o@_lWZ}o74j**p0hPJ zw;_|5(E}Rzjz* zw;NpLMkUrkb5nE%BIyCn#&V4!AUYaz)6u!x;xlsTkSDAf>@k86EtM97QY$&#XQL6z zPi)N>GZmvpjNhvC*P74?#*<#!t6nul{XJo}d-N%d*M6Xns_&Hvmg~K3+>%x5>rzQR zunFxtBi{^N8rDLeSRtRbWpnYCy4H-tF*t)IV$X_q!_9ly4X+2+;Cms8Xc4RVnSdK> z{Z<~#Hu2K|J|X%%m^w>8*KtB%5?tr&OD9Gn_$GnHITYjLtceTs!z#5WOF|u1IbEa? zrA4a=zffNJN`VyS$7ai%EXXIubqBZt$8xDWI)iD@nZ($meJGpRD61HNDK#x*PK z5dHu(mne^Kf4rhST9z`Y&<_pCD$5Qiliulsv<%5xlB}Lb$A|GZljFk|SIrJenH0&_ z>{Trd)RueRt;aj)&ZR{Hzm~M`)GZ=U+F}Nh`7;o<7=-=6n`WTWDKm99LJ8zt_f!#2lJ%_nR?CBk$CiC`jnP<2(DE0Y%vr#JXGS-vpu5Z&;nCITVydY8+=zzJ<#Jh5Ha>A$ zI_gRdjJ=^vJ1ik&LI)FUa(`J5wd}@P^~h;78$;_uOv=Y{Oe@v~4?r0`(#H(Cv@@du z$BcHUG9%;ArszI-YliCAISs`2+VSz2FU@b7x6W|^dO5jEx)YZMq~V`2z}=)tw%RZrZ&RR-YD**V38AsW*!Sa57xFuPym7CJGGFesES=Xbor zrF>!<@33*`nR%U6$Oznq+knF&+`_Cw zV|b6)^M}=fm$Z|!2&K>!zoA_P zJe9|a#s2=Wc@5jqL?wR}OxJo3Nl>3wCE1EGZ>htH+O|aDfj?m9(0%Y%ShFH@@pf;R zBVR@S!NApTPydmTFeVcIu|O6$863`qu-uzEzR+#m`o!8{d!hsyfmHO2uZiBFKOTjm z52+RE?K8R^emed5wMW!xD8L*5bDYK~KBr4vr>5$|oe zd(6h2!#e;q*-DyEY#V?~8~UuoV>WfJs`c@Q=_m+jE-~qcmnZF|^ILER;d3ElH0VR_ z10B?i>_&G`20%)qM!@qWer`ja@!>HIPtbcTcIL-cvWST@8ty&_Y4msEze9HMI#ynx z%4J;BY>6M;kypui?Z^u)8cq&#suC2nN_@V)X$f&yx06UNYeEKJWH?r#P1Q!EB?=pK z*WI5dV~&XB^|$!JGcmckS6!L|zETS(P|AF1B3z%R9*|@6rK$%Q7Wc?7zGLqlv0H{_ zdnJ5Ft(zF*SPRpXc-I^J=!wjzf#T>)DnSMC$b<@U5*zk@vRuz#v)Yj(`nJ70=*NKA zS@AMe1*ABlPP6zp>~>8XdBp-_D>o?lY&Sqy?Zr;pC?pH|RiwyLv~Yh@Uv0CSOF<@? z^MMWm?YNnvoaJP2jM0gx#C-zi)J@#d<7WW}F;s{aqc(W|Lh8&K2pFHA`xYHxp+N&8 zbp&i_Y<#n5sK>6J#_6KEYgf9gq`SGp7m+A27hU2t2~GFpw0N22`i>uXHh+=|7KBxL4A58K1y)zNxO2(t(UTc? zsO+PaCqwZnoh`AVeQ3D=hsb32Sry1GypanaM-qxmG19m)PvezbY=#|+0Jl$r{~FzU^KLP5IE_BI?gJKP z2TZN5dNKjy>M^oDY4DchihcxX`oB#RPUeIbj6;iD1TqAPFa#|s-@t2?>o0;KZpu z)axQEv{T?{DU8JC;qob_7!HfkksHO(UWAtNv1S3Ra7-C|&(AdfdRJm1b;jL=?!@~@ zQXi57^1qmpJjL{Y} z7-bBBwm|Fu?Uz&+4h>LW4g4x}*+usy4ZaR2(W@2rFNW;w5{WyC*f8KZ6_Hh@do$o54g~KOmz<^3ZcP}hEHA_lV>ZRk zK>O3w2&X%gD`6=|v2zQNB+Q8E$urSpUYEZ2;v@ZjEI^1r{-}Pr_9!P`wTlC(s)HFv zU^XvOm&Kqmu!|M#8_^w(tef(A0*q?Ge3)J}lFlyk2l8q>wrDLnc`W|A!qu8vpOsw7 z-&X_~@PdwqSc3!^gM)w@CdMq}V~1q#`~O5ebpE}!xeIm^pm~;=CC{lOlEH|4GVFY% zSY5S8=Xi?O>g3ukTNYoM{6-4jb=jgDwm<{T@#6<%HkT`T;;v~I%iE4@C$1HHlSU1y zBD}6iG=mODWPUSVjok-6M7De~osLo^LcSY9%1wQQ^E@o!|5|;o1_n90Y!d!?e7{u4 z%31{_C(SwC4Wm(WdF0{IcF9eu&w8mR=suG#c_BMlDa^BGT1ahhO6yqRcg%oRsL!2+ zq{tCO0hxDAqJ20w@pZ4hIV$EUHYzO2!-~k{pOQSl2l zfsT>`hhNj z4JNb)pMykc{6z90A06-e(a{zd;W9@MmCrRz-ylUlmJvimS?R8u3z=O}RKnjEzQQ&& zz>xNFy~My4bQH@#jSL>lVP-JZu6`zLjHZ#Ndi<&NWakqcQ0>R(Y?9-{NYwRyI88-Q z#*Fyq*ytg$(Dz%^Y4ITdbPp)e*dwz(q)`$mfjeJ2zGhur*Vu2Ebn_<=`Kk;YRD_5l z&~`B8{?yU<85LrO-tED0AC4B8dDz1{1DxUB>I_7&=APkFPL-xAgJKghFrBGfw#plW zifP(RJ+Zh)l$yn7=&T?E#5ql7F#d-3jz@0#j~50~`m8a>V+2)_k#&EZymMv=gl=iI zE0QwbH4Fp}NVfwro*{_z$&q}fbO~am{KCK|qe2CM^_5G#JT>t`w%)7V@DYfA5uR}G zhs+{SiP>;yfId{*CD7PGnSV(+69D4Bpz)0tr3;D};hdWY`)_fsRB|SUq6fn)B_(%@ zNn#%VlZf*aN_{<$Trhu$n~QS>f2Asi_`Z}e&(K-t=M)fgyn3z-JOKRs5#PRk)r(wY zaCsSS<2< zmWB9V{G#0ghQ6gH04tluQ7DOBbRxa(^zuJ=~GaR7z*bY9K%T_7AZxL zyQe<}!_Ah9Yx*G=SlSs6@5TcBC7-wpNTb9fYCx>H7^1<5L`BP1ZtX?NUA(=OsS zkUy6qL#}Q#muC$VYU}T)74mV*?6*p*VLpBU8r8i^@uSL*P3+TFeU!V=Kq!-V4>rCN z#R~cC=-urFwgzSIKA9zvT7cD{VsK9W-jwd8*ymL0tS}M-2a+M(t27-t4;F;9g4W}J z@t=NJ$;Tt9oth;o8-<3P`)r$mB8=M6GX0d6FCw_89Md0ngrIwh!9*R-LSq@%@$RAW z(I}~BuAzGvD5*?#i|vA^4knGS>|~Ed+`v7+9CNYZfaFa$S=0R2+zYH*|9m_5pi(|o z=XR3Ri9aaR+^lIK8)-%;eN#~3G}DzdgQb+y{C6eG)NIA&h~Q(%s!V9ftGXMZY4s{` zBQ&0Hb2xm4IlNX4c+gACA}cU^!9)yqz)}v~f>zsR4H_55KJ-^%M~iiaTQp4So+8lD zb#EB3X8#dnl&bB-0fP3eh!6Vk6z&LWeEQA#kI-0EUK$$MHB?Bu3{Lm9 zV;U}p|J=^76RQLsG1iaz?b3O*!FMgJUvKMuLMbM_#hn)xL{3z%6N>r|!P;ua7q;fL zZ1xb$S1MQ)=*r_)c}|QxCFf%JPZsDSIka8DBlztJaEu>cJ0L$DKKU?rdQT)1p=#88 zr&_vk!t%>>_n@6qn|85U@W{9dvdER1C=?%%KKvr7y|@k!OBmYgnj}LMOzUaH0p01w zb$EugL&~e!5FqKhk$^rh+^akM}~_J~_WA!Ggor@vvY-CV%-DUX^6Pw-{EYvCSHBh>n14tlNBg zQCX-u1vI~@d8J-i4Wa;+czw>z*AP0@F5c$!slQy0mG>#p%Bs<1{MPc%+dXM{5e+4X zr35~s1#bA$2Dic}ovr&Cn}ACGcGu*Pa;o}{VHj`3o{s6s#fe;@Str&R)(GVPI6BL) zD7!5T)1#6Kf;7k{h;$8IBA`+#DAHZRfOHKdEgjO`DAL{CT|;+=bPaX(oIn2Z@&f0b zcdz}dweH*5!e4P@ap~Qo3^E&@#SLDSJ>9utCO7mg`Xak#hpgdYCpv$N|L!B*6Nu9` zJXfB&@EHH2Md?@yz~aX_1^`}<5`!gFw8|gs@DVcYEibWQJ@|hNbZW!6AAaJMuc{l6 zp9LO;xlBXe5KfaXOkppKKCFqLeZ$mi>K%Nn<=ObUM>56blSM~dJ{6sks7tTINR`A4 z+Lmnci6-Dts^1;@i{q)mDkfgqnp#@Ym{^yURaDr2GBIHi%d5Wn^0SE2=0Q4@Ynm|B z`u-c0M57Qm)qGk^nysJxcpMckZKvJlj2FMf0R98xI^6G0Qiqzha}vdX5a=roMc0__ zs)_)y;+~@W%~98oGvKoZbLJv1fgIpZFgZ_-DP=(fP&r*y12n(}wt40|Lbl`DFA~q~ zncf%i<*%JaKg@z~dwyinVo1b@{@@k&?m>pf35WYpP&{}lwmt$p!0y;V(|scbr{a(d zy5N$m&P=8i9_uq|K{HvM4?$=WIy2~_()&+!hZT-HBwk*P_#Y`ZtU)vYZ2F8IMGe^k zpB)kfCwwx!EXmnEsp%al=M{-I@H{N3m;9X zoPr*|c>81O8O5-%X1VU}QhJCVY3V2m!*C4*0^|CLA)9*?3&RHe&uBa4Tw2JSc?l&# zh#w5SWI=4bqn&vt-lOnHVTRj17&cDqS%?fIb2A+4#!VxjURzx05a@9%!M!8?NZB+B z7(IeaTo!>ZVlKn9`Ua;Yq01CAqk$r)@A!-&e4#T=_GC#$-fp1&I zojK7)p=OV5nwR~x1qSt=&s{kp?wh70QVNp%RKt++!+v`Z$yTM*#34%46a)6vcH&XQ zCCq5x5Qk$epn*o|Req;jr9atCI)^p@v^2aSYcTus>__M&i2;_!nr?78I%9V5UAY%O z8ufOL;BP5TO7#xM83~;e2z5r-M<$Jj=^+Fw%+$P)EjilDCzyxi;eySKWD5#RfIb|6 z!kov!j#FJXlO5Mww@6ll^pDbjGr;H^Ag&!B2i*>R-7^`;2>Ea>)93{t`=dW;-7od* z0bHd0{y$qIFi>TIygl#`9|K~9yHT)}O9pj5>@bO-b~6idn;QaPH@iMj0z4c;#;!>SP#MseN>XaC zE&F;%L>*Zo|2Z}Z@1ewDGvFvY90fas!EVFEKKw9hey{_rSBX#;n70L6BC;}Ya%Vm! z@EtiG4Rnac3?@6qJz`s9k|qlas%%P}ICr*v))X5;TOO|(8FGa7oAHEd5jk0fQv^1! zi%@GLhsVdf*@Pd;kK!ge4cful#LW=^uN@eeS${Vcmj4eELeS2i9w;73YFWFTBT2do zoD4SLbe{x>$mxuuS79`wwbx*Todym-{0fx~15uM-AmOUYYXI~4)ri=_S3XH{Y2K5A ze2w!Kdj^+JZLL6_lTk%K%3nH0S2p~=2b@<1hgp_eGL$ghH9(Nhn_9*c!knF*wLWfF zEE#5OE<+D0Vk3GhaCo?8RKAS(l*FO1sWeuDXC_w@-uC2He-RsRJJUT{N(aI+GD0nf zeW&NJ;-EHQHA4O0aCk;0>C2h1F#L53paR+`MF~2d$HXcQ$B1-$igcrUaP}%u{u*&; z;r*PvlX>Iv+V`g0)1sTN{!>03hok1hlr7+rt=}Tp*ne#HIPQUFaBR5w6*eyrSe}xx z^-vlyhAHA^zZ7nF;0pU|np%a)d`6-4=~sRe=Zr{iC*S((nGW}FWb4Cm?MG;tnup=H z60kQ%WLMC)Db`WRB@DL4U(-J{ce0AH{saj*K8lHssi*G77PIRn(|yt~ngl zSi*k(QB4OF4&yPrqd~VXWphmlVRwGhuP0Rgeo-4HvC3;p8KFrq7{#ZFpM8K8 zvz>~tvw{QqB*nUuyl*N)R`l4ckv^Azs#}8QDm>Ad#|iNIXlvIZ<)FzfJNXk}@2Kty zoSNT6_shqAI$Y{1j{2R`l`lc4x6`=%I1D0X4YO&cdvGUcqYolK$!eT=H6k-O>Uo;x zz^Esg0GLxICFeE_=wzTImg@X*m1<{aM?_3cI4xsGLfp=g1O68yETZKgGiD-oe_duc zEb^?gHSK%74-sFvJi=+~%BEXVeKdJChrOXAxrPi|5sx~QgghyTiE2!lsH5LQk3q$` zgsD{3kgosZI^dkq*bQXsexT=>UXxp?z>}!&Im!j zBCeDv2+eCJqut7$u!3)YoPWCU;j{`g1_yOU9R-2}FZBoXZnSM6=mDEHHbsI8u;PfM!m!)Q0gyc)=6Yj3&$7C-*z$AM(s7dhLY!Yr7 zC5uU>D?ZS%>_6!3meDbc5)J=s-yOz&8stxOJnR!|N~c6cxE5Uc4e!C>V`k;LDY3;E z-**PjW;?~!I%wNNcY^RcSa3{7g3G1lVCm^3LRsaXDe0l@?o)4|hMH-)=NURy{UQQ{ z6ufzc2A%cFo)d9qp{D(5#J8_{UkPTDos(J3*#3=nVY|7cYLsnSuy{>g-XZ5aBc)XS zLL-H&)GQ*Gb{%}fyr&GBms-4opb#U%-iqloHaA1!D|(Ue7rnVhvG6pDmkkny(otMV zs2#2pXYh(lF#=4j@lLeHpY~b7WxWw0*iWZ5WW#6_`rm?r>Yh&AR@O1))-RY|NYcOL z^PH6X8iUerYqSxF3T1_|#y0(JMbC?Mq0yY=J;o+!0>qdhZ6&ba5TpXq6FK49xJ=7x z4?2YE1E0?A7Fhb1qP2spXAWbQlzb3*L22+@2Rl=-JnH@dv#R)j*%_vED(}wvs%Zcm z+~!PK?Jm=TOM*{G??!S)y+v+ZPD=9pPf4ji?U)sne6+}N=lHo5L!P(MQr7)|MUB2geBL zy5Cdw_zjFaoHxX^@SHc~uwZc2C!Buc5DTuG#~&@QWZe9wWac-MdItFFB?q`V$$Y-J zi$nx*jn4$(b?232vWfXx1&AL_??=o$l(3q9=ZZZO`GY;TB3F!=G$1=A9ts12tJOaMX>)qdp@qL^m&gCO?0;4`E|yJKrNKff}jae5u*X z7qB|0{m(kOhnYSntibe)tl5oA9-qoo|BYBgXE@NF1Xdjik(k{eIo@l&OY(g>@BO1n1WCi)i)Kf3U62{^(=hHdvLbc)q0c}DNdvCB`pAc!%5cpg?G4l zMNi-3^%%ThFZi>pB$t^kY`iyLrV(9z;nv?O@vD9?u4Z$!#lF#~jeM_Y7?BkD`6f%X zoIL+j3VM}9s^6Q}H~V7fPm03xqL&P3<;1i{KM3~M+e#tslOkZP@5ca}MJwO>2;*gm z1wMWc^VKo;`_y_iJAAfI>{^;AJCiZ!qo1EI#hgD4Sbv(JPwf)}h$$C5Gb<~E{(~nF za`TQS$W}7)aE($#pZ8XHmF;+{5VD;Md)<3fr&iz5?iWpAPzRyiFh1Uu$y|ArLW+nQ z6nz^)ZTdWlXgW*B-6H&*L7V+J^Ul*-f3epi=`{T(PpyESu6xgRfQVYMcO zgZZU%yZFurD}uL>9n&tS_Nh1IZY0Eqf*17Pn?2DRLvy)AGuBMtye2cO8&TX2?y$ES zAqG@R1O&%&g%yhCNz2SgXR(asyKu1@g->eh4CN7FeH^@Bj+Lhggu5A!)nh3d&pdewG#P{K}zk??VCEFi{h<;l(KBc;0+9=7G)5A#=yXil>f-CxuI z=kO`SwlZC&r5sny1f$x14H9fTy|R@QY~;f>c5`=0GN_z z-b_w55+pzI7Yq>!(Bqy4P$tEoK+J1-KpknIg%TL}!yHV>W-&^2tkZo-zg4&opiECE z*9T2Hu3$rh1?Zm%9YzdEH`a5-?XqS2j1ytdZi{3*a0DU2=B<1!*wb)MeWG43-gEMC zVf96~br*UvGbC;gOAjLsBlU++%XiL$s)T~6SI*#ft1E0cS4S#l69zQIfLpb(_Gd2P zXmFodJ_dz)*ie4Ms3Ew}P#pqd%a;MiSAU8cT~2@|7op$s8#ydRXuk;d;i+8@8XR|( zl|(13L7jf|JMCKPQK`8eh$7;9Za8Yd-9BUf5un4e7Xp6Oizwek>S$W$wFt}17lJ+n z8?%@oi<WGf!Yh~NgKo1*XX3w*ly6+^Dn&gCe_nvmkFinQEqKPSte%zFyJFf zeDImKiOmP|L8%_Y8pDCmVcR0m(>xYTw4hN@7(535WS2s60v5ZfB@cNb;5vjg{Tf(&&e1#u2E}tHNW&us;LcG-JPSM_`7fPc;7JI;f}1S|#*=bQAUx|)*pXg{3lGvL%LejxHxBAKA{hi~Cw2rMXh!EU)h*@A#!)>ZC zn(~>cUm=RWFcW&FeHsAd)5B436MSO`)kh{RB`^^%py;F4J^9-K&u@owCq~1(SKTYS zXk5$VT(A>$3adJ^r>B@}ws8?SyumYWrim#uNIQ3pv4P+mIPmIZa_<2mp z$V%0Ne#uUJa$bja*aj0!f?Di$W}`U(?2GFAbnKBvy=d8h(ojP$a*nwspO(S?!28!; zB@n=G3v>;}1VN}|7`Tejn=2vz4=Y0-bf0I{7p|)Y?@2eD0B92Fb_dPdYD(}#oF zF&ShOKZ#PBZlhWfxN-gj^%}c)KukkMlBbhw_g2pB8`XLi((6Zn$M7zwBX+dfdi8g^ z#4NvA!_!Cg9IpI{0C$ud=*AZ$4rX=K0{DHs34{U=#R(t{bKiTefrg#~CLziAG-tm%w&_r6 zn>iIN2l*XL8CQ%U5v-g$vR~+;rcMCr_9tQ%@-f+x6mG$xHcT|NY}m}GSj5Y7^J11Hv(rbw3MwVr3?dgVy?D;o$KEZ z#zT~LitX@fbK0Uzt)k!XL;X`aAsqVZ{`fA z@})lUUOVBT*wwa@$4tbR2@Bh07Yx)c&@>~o{?eL0U{4LKgNCIhL9=0#LyQK~q^u!c zYaFvH2QcV@lYzxw1<6?K*95}a5NZOKwMC~@eB`{rrD~fpzQ?!fhGiGOKJpdfrBOf1 zXa9_ys+Uvota#y5P$w%fu%0zPY=8%2O%8)OEDsRw!&&jjhpd4FH{<%DZlW74;ZpT# zXd8#XW%YnhC3*ph%Qo*%WfO2=Aju#Kf)`I#jW3(AiWdiKoLL>V9OdCwoNk5NzH%Q=d_y02e zwxA20?e-;&#DaK{VRt9s9h2fN7UM@FE)g`g55m@mAyCIMuIp9W`+&hJa&7%f$~IaG z_pU=qKe=Z+^Or_=2(G!7@HoeWWj?=)8TzqRY|pT1y%AV{eX#;n<7ivgp67v>F=bT` zN^>(e2vy>t1<%K9Ei5x&PdOw6*4Sw->a-HbR4=OAs8Zp)g8(NdZsTiK*U9j+OVYMP zyg)WMUl`vG^@)9|5-RvRBzG^kR#(3WURL&lFRd80IR--d1^cdR_1-q>^Jj%D=fl>F~^sMzBlTy}! z7T>cjIP1+J1fb9Uv$RBmKbhpgfrj-uH2Xl|y~Z4fG3d~qeffq%92#V4ihZg z_fDM#ev%ZQVUmZ-!Rug|N^{a=m$ga{whhG8%AB@uEDlKR2g7So^~dkNVFLI>bfpdo z$P*tXj~g&Q388H{2xz)&9>S~Q)|?Jk-E!(}8^E!AaFyO$J2{WZe;CwJ>-(6TN=h+8 zWM=grYZ%qT{y)zwO`P(Uul%rVF{TnL1+UtXrA{jaHkx{y0M@po_^sv3;O=0IuxIzj zI+*SLI#jL3L5M*nc#9WlG%IrD!}H%|XqmTE2lR_(m+r50$quMQcYBt>6UEX%M2}?K z4g%j>e20tSbg7X(YoPJiS{bB3y;!Jl6Z?`^+CeQlMP>`70@3fOLL{tO7$v*6 z)R@cr4GvCCnqoXH_gNnSQ4Kr;w3oAz!6A@TzHBxdg-ZN&r`h(hucCV0t*skZZ>0#* zC@Dj^)|SvC7hAuJx2@uH@U3y4pGpymj(2#O0?E}7yp_OIi!^O%AnxHTNA1@0st$lF zUwvQ}EUwSDyLEhu3JW{aYvL)sY5Dka}65{%UufcrvcXp}re2mHcuJBJwB zpfIb&m37^UQCr$Jfd2s=jKMuSplGb2s?=MVxuQfmS-*u+x`+$&emE}->66<)u%6y? z*3X2`3adUVmH2e-xy)0U)+E~m>bjJHw~Spty}NpfHv5K$%QbiwKy$Z`H9`IPc}!_l za{-inuN=CUm?`#O`=MC8Npp;Ku=OrI;S{ACG+DHRP* zT0+Riw785{fO%XfFqc42yE*q5I3Z`ww1H6|V~;%H-l>6F!jK1fWVWE_6sPnBCX%)Z z>dn_(Kw`OX&^*BS3s*^Souuli|3fI-h=;}4vOQJveu8@_Y1Nz~D3h!4@t9^Lb?ZC6 zLXqveC4RY-Hr2YKtA4$Y{HR__K-nnCZKQnT9MhM@*~G+#23UgzqF@DvvB#ijsbhURWw+`LcC_r$>BI4PH^-_!s46Jo+D%8)WpvL{rQZfCEVExt1 z=;Oephu(JZHju-jwG1=huWR|H45`1m<*@Z(8pnRX=L6f!fJC~O3u`hzaJy-Z5it=0j(dyM%?Xf->OY>lN~xGHcu@Tk9Q*P2wxEwyCyJq!J{ zn_q!K`*<1t5T{{*K=jte)^!bLz;%{h?v?g50mUy=)Wl6B*t^kHxQQ}u6-F=wc{_C5 zsTWY@qz;j_DWRmp1n}lbypb;LLLC=0bQXs^$EF6r7<)yUoA%I+R)bmsbuwDX#itua z!GD42oT2R*^fv};$f^2+#{0YLKPZ}buO@9GgCYWYRUT`FgfEBd`-lAA|2v**4sKlk z8bKy(+E?M^r~~?IgH<11eqc)e%~DYOBetldlcIf%f-68&#lqlgiM4}Z|3S8fU;n|} za_4ot*7m2etKD);A%&e$%m@D8ZbIFrYW$jb=O)7&9ya}1dCHrj3nie_;hJO%?q16B zZr8Q`wx)&dUR++Vyx|9-u<7!WKIf9cKtSfOT|lP#9ghks6vq*sWHV+?)n77*-aZEK zwSOP|){@ALeeUJVO({P6H3Fekyl43=Ky!PSL|zEnR)PJ|km9lUE~jPKt=pif6#vm(+v9t~DCS$nF>qXHto{*MQ}!Wf`Q`hQ zPLb0D(=C$TU?|zQ0#7YZm0J^WSm!6seUnTNJ1E1PkUK1sdd&TrXVq*A`nDu!fEKoY zm=1l!E5^vGz1kV_XF5llTL?eJGfSj8CS(cXFtxIRAIuI{A#j++7?w_x=V$3wt{8}& z-QsV$3OV81qwjjhl)QEZb)b-yo%K=HEc1pUSl`cejORpm#52*TlG|J^1wLpzwrY!Y zetiN$pkn71@d#py!c3S=vW|e~0~XLE7J#hR+RQAsUr%TJH&0bV`L2c<44#SoKG^s! zE!x;qF-#EgSz|5(kDNn8AbA5=JZ8Mf+?B3?<#zKJ=Tr&a&D6EUSj#wwFdL}JBfQvEw|pnff%WOEBh_$sk1o*cG~F=x6K^iag#E!oml5N zbqDom*sd4HERN1GZl5fbwGX1Kq}Y5IcH2gKH++>%sks>btd!Yiq4MFlvG4ghpoA^# zn?i!?_d=J^TJ1X*HzH4Tz{tcBei3N1S(E~MMJDmOm>85Jc>xr?MB9Q2lu?%2f)ycD z_Qz3{l$5y@Ajs)DA7?QZhjlah)@{g=|1+x&q*sy@@bO$z+pJEv$w=?wkxKc^Q&jT! zW@%rn5(qMC3bu2G*C93J5`zA1A2Vg7JU4N_=85maw^dAR&4Qz00!^k3qIQIOQs&l25(mRdPYqcP_g`qf@^ z;(0T${WZl!nMl>DWOE386GBO0rUhju6u;ptx*lb;T)Q1M6%#Z&>L8OFhzNI_>55iX_TCq2OTAfRB5CUyfzK3WJDP5Cf31(~Cr>@Z z^5O1jt+!DJPnMaCxb%(|O_2YT288IwOKR(}pGb@5KzQP22qswlLDsprdGY=9-ou0i z7;p|_abgffg{t7HtOJ-nD@Xb8YwX$jEm2{QreVd-!4q&u_#0y#p^rnBL=irYWT;=*_C(r2ar#l<_0eJO3dPZnJMSdBmR}|rE#$yRep7H2U9VJ=6Ceiqj0S02YIL$KJfHTeJ>MP!E;kSYHlJuKl9kGm9I~jS4Oy^c#V243)Ic z;kl{sGNT3OO==JYQ}05Vd*%l&`&-wLcV_WMF=nM9Hp?I<&I&u>@4qYw7dsnQR-R_SK7y2v6MReA zY;cw1PGC%pyb_AT z)f=(WK>e65ZYfU}JG5?BabdJ^3)?Ji^n+a2PPjs?RFNrVZzL?wsUzguNFUZJ``;Jc zv}b!9)tU~&YX`}P^X||u(Lsbuu+b7l)Y00*WH$xgeJAzg!WXH$mLrp9YOJ>N``@?C z9*wieJRWkYh#Pp&)YR+l{p)#2Xys4W8&aQWf!t@C=R71Ndqlga=9|v#j%rWcL8-}5 zXXorZ_}BQ#9*Z$1ghEZ;lXf}de>lYowzfJV2tYi>{wU@oqasKrD9&OChu!?y%HJh< zWL1A8<7NMzE0$Y>Yv3nyITF2 zul%VsCAs*b%8W7p0VX+7(irQKh>;w;A|=TWn*h6VJ36>^&6}_qT|Jfz*T-ZdDT*-5 zu)dznzrw`;v*`TX0X8m;XfNzqQC?ayKaTj^6ik+QFGMFSZxlv?okA<(R6Jzzsd?>S zMCRDKER!ZnDS3_zW0<)&Lbg-KKC^lO0M*u=Eya!sMu)XX+xX4ILT)R!4R%cjFrb`)Ju>{xN#KaQ}_LBoHK<} z<}|W9WmeLTqDycUd_mQ^_d#t67@}^yv2lnpXoR2qIYocqzW7%6@e@RV^?2EX_9ApH zCHu>6Lm&6k65u#57^LgVEkWOkD1FEja$*O%vK`>mt)Vefqsh=ab{<~U?*2nXM0+|c ziTmFH*X;L%O2Rb12-z^+GqPW2o?sNB{g!cVZlS< znsP5@G3=WTIhl#-dq@a=;P||N5*MBwt$q0V>Q{!<)9RY{iL$ioFZ^kcZ^hG_PaHgT zVMh0DAq>6GhvF{IK@H1h?#S2ilV0iOtz?RTEKP~{QmJB3f_E6zHj=0geReF|5O#N( zD}F@bxC}_>3L7bjVQ|4WNKYM*?p=$8A-)>mb71w0HIk;dyb^z$j8VI+SL^bKQz^~L z|CyQY>G znBCt@7&K3B9i`O5+6_2Q>s?bM7p^)(sr#r)X0qNzMFQl~!~rL8Z4|8;hdXk97=*YS zqKANFFyDe)D~ir$oo9dH#;}c1yMbw3(=c$quSl2^v>?_J@-t2A}u;7|`>U zPEb9r7Huc2t2RFS+^o6-VzE0wwAEM#5t3w!9rMk;mB(seTqj)_n`AIr$NX0Utt>7p zuhH4Zhj=ch3R*9bdBcRA(3G{SPrn>-9`wVVy@j|Z zJHZn$AP%_#O{q(GHxwmw3WEy z-(AW^k$ncS>1){QP0Co^US~n4+~dSk)mNPN7e(LIsL~Z^^gWuDr==YFq#BN~NtZ5C zd&*aSA$E(O(4WcnjACY!QA%T;vB5zh_ZKxe*CGlW!ji+ zo5p|W&K#hTxpnr+%s+6Yh`5o{Qa_WV>^>!py zV!_C}xTPbs3|il9<_EZJUTKMlVgXoD`4e&c%kiVpT-w)L9lNzbWQkIVr&Okwy?BYk zC<1kc;CQCg%pzGpxJ$~pGcu{$3d~)$f`>ys0VVb70p-yaE@M<_D&4g%CDCj(^(f${ zD~01dI2Ezq#&yERdV8QQJZ#lXG}*NvsbpQO;ejUH51qBB0N7^#i#JhCcV|TkmDc_b zf}XZeNrDf#BSBhYQQw4KmQF_+KjXHBQjKfoDXtBlSW%Z>c$!H#{(BP>lVi}EsTFmR z`u8*0mAwcll+-YgU53B2t64Q$7SGhsBbYk5WJhv#mU68-cOT)pk8+gPwo2wRB)u#W8KPsLHj^x zIcl_j6Q6&M6E;F@I2N6<_F8wn;W=#6dGyrY^QHfqDy?aI+(VcCp!bw{4F-jZyzdy! zADLay@M4~$mAvnA{f$H;$Dd_&Z8`O{@J&6%ZvW#_@|)xSo%O4wKvGAr24wTj9ilpG z5GMMQR6`v^Vh~uV;MXNxD&Ca=k`A6v`V{+9?Z)R-1J-}8o~80{bgGwbWdzlR{jFmc z_b$T`-86HE=zOVnT9QxKj-`}~o4P=Zy#;DX!B&{4>hf6-t^441*Tp*ZH%<-bUW`!stmk!SCl@?BAjn#zy{{Kwf zW$;EtIYWhzfr@W>^*vJ_IXy1{&6=aamz1wy+B{1v!fpP9T~e-XH?7TKkx{5ggW4XH zCq7YsHV;V*X($c%=UmPd&4M7AUn1$-ooX$wB=nYQkE8V)nVVv_pPpj184^DhyYH?W z+BU+;Slw4i6_Y$F6^g2d6sw^k+9^|ROZb;kLnuN^VxDi@9Jf}ZTlq1m`4_q8JT~28 zh2n=`5QPc#1&auxea1K?F4ntF@G_C;-^{7s+z3?Syq+ejRMfqDLuV_9L`kx`tQusv zPPC+$?sefBrsTw=(w9fs@%e^tN6fO)8Xx%ti*j=^RX5~f2Bi3Wkfns@e!HpQqRWTW zQzaVb9@4vkbWWs=I!EZ(D9(RQB<|6uD*cm8;MXSDKXZDZoR-Q^|7m(1SCq5+xi$r% z$I}eLt>xXUdaM2)b-;9ACQwSm1RAAD*B;2hBNe*3oD-F|di}DAR~0E(S?f1a@*&(2 zCW9Xcs5_?&q-)c0j_WUfeEuaE*U9b4yHcJ8X&@=XmwUx=MR5|5`(}9}Rm7<-U^{sl z>`JGk?mVKrU}d!=$gurG2qaZ_8zm`+V*KSGxaoqR4&pEUeecPx7Pbc*UQ z8d2moak25H6MWrHC^1axrfp28QYeaVzMy-Q5v_VNu< zTl`PgRuudy!wwZmbG3#*$1h^h_n4j%(M3f4RMt#Gi7C9PXqnf>VA++pcT(GRpJF!! zR`15z;?$;;R`saWJo85!MAP9&%A?OU{;!uW$Yf`)&PAJNdi}OYy8wq$S~>0pRBC65 z?C}3qLHkz@-@!l! zW_-VCT6CS~@86i-{g!&VMlyvhd$ls6m(^YbuXjn}L~e zRi|lLu|RS%v@7_LA#?LAYBLeq^p9&XnY{?znyimBBL8wrQOEs9E+T8{btwzc4=gzL z?Z3f6MW*P5^`l1mGb!vM47ZcS#bAt1k<`?a=0tayaVBE)4h#kQ3MtV%HKOCiz{4tH zm6#mQwZLcT-$D0aqWT0T@?eK`inSBDsyR2fw)8lHiH=Gl?S&5gXSD89AuwH)yogFM zR&LZhoo?zU7a(Be^TL1o0D zf)uhY)1@?kE!?A_)5#-!As22%B;(97~X%m zms{$vGBE&i&vG%b^U>o$b86^#CDzuT^PqNT%sXs=Z-v)UmPg&s@`U*x&o4zy#2IZ< zFFHT}<#W2C(RlnoBO%Z4V_DiFnVL=a!!96R7-%0m{iEq7$rwb!`8^&#ljcsbDVsuA z_HF@#zvWU(TOIne0Qev+o64KEm~ozX1n~Xjr$$Yl#KK-*{h)+!j=bS7yzPNtJ5)bk zVA@8{g5anvXJ6s9#_|?!r&SI8wZbsWo7qSWd*ie~RGU=+p@kP4?~>8d758Ns`-{6j zV{iOfLL-Hr940v~EA(`15#1WIZ=Yoi=UJ22gTxcO({Tiyc@g44#59lSty2Ogn31SU z0#i$Tv}bg<^ABoss9n;T0#bTS_@N+vN2#uHQ4GH)Ol(yt8jx`{&PZFb-BXBzPd0nRM?}D5^V`;{ZiVl?b22dDFU3 zQa8?opKt@l0yDF9E?dd6ihl{SJMaGuWEWAEjHZfZ--9Pdd zmDFv4%6nInO-7j?UJtb%eci_RSGWFQKK{tLEUjC)oJ58T^uJH*g#uorXkeSN`{~%& z7(A!vl|{X*s*+}Uu%#`7mTjK{gI4Vc*X@HuY8hgEU@+-`oCZpZz|ArWJmV`4=&}`&d3PYsV$2my3FZ*zhDM%~q&Gb#n5x$3U*wS^gR0 z9m+7aDVH*Eopt{zgw9B;P+)g}JLNNAx%wN3WtLN`daMdpoD2$^99xvb4}qD+%GImI z;}+qOy=d&F+b7dtsIahv!@qTfm)yQWqhc7u>N% z=CU`;|30U-%WsXJS|rFSDJ*3y2BCX(yxyq>o(VVVTE44amRYK!9~+O$^S6%^7jJU5 zd5~kqJ3br%RQAzlB}0NK$NFT>3ja_{-Dy`a+@(A*$!P8a7UJx}1!gW(hg%PS&Wsp_ z>hC@4Lu{6(la7;`A4{y7XI=yHc1T;CIJd@l z*Cu=4H_ouQaRdT{>>_UaD<#qw7G#v!TItw==M;0DW7htw_pvG>Q9qU0Qbc#vhGx!s zl-!T`cD~}-KJM7?_D<(gmD!v=E}7nm4ff(X7`1IAg%QkJzlab|;gNA0zHpRd(RtJf zWl8eb6kZhEZ1wI6kK}K4czWxCsMCf^-d@JWF%EG zHu-H&hT2`~{Z%T@Q(Biqe)3G{<&XkAey)Fgv|a3KwUQbD5tNl&Mx#1y9wmz2=8k#T zYJop@Z;3sCOso2*wu4ix95s0>)|OH7M_gRW&NO zD*F>KN{`A8{e^Ijy$lnKbm%Zw?u!=;ueP$HD6qH6w!`m?a&p=&h z+n)>E&EDZ$H@QPqKZOO)U^?n9db|H1BPFCCr#+n-MIEKs3niB4%%@_Kfy0XQJ(yhl zK&tnSm`d=gZC-19;{2Ym7#?)LB9%{f6SW1ecCR1+Xwgi!;(F!ZEffjd^eR88lHNG0 zFQuIAbk4*p{nc)$)rx1in;G81H4#USgeAz&l;!X@Y%9$2bEhE3a|aPCeSX=3-zLnw zb$u|3RorJHn}<0Zx`MR7dVhy0JRjqG!1U^JNM!k;5@$`7Bq)7u&CbEt^-RmR1x=dPZd$gp=i($K-Z*&cHHXWK_}J=K*UQlFcA z*Qb3wgJA!IwmF2@GWc_Z#Z6H>;O^LXlI-^KTkk$%cK)A3S)=zd>AybhbM7IF%A&;I zpG=8M_wGO&;tSuq{o`hc*f5V&AyGoXNj;1atrq!gX&h{~)$a48Udelir2dswxi0k8 zHBG;YAA%dt`Gb+$3;uCG`}2=sF5_#c7V41oNk#st*nLgi!danq!;Vd@?%Fx;dIc|s@}*wV4~_Bu zJsLaL!`#>IbfgABYX+3ZN?umZt$hN5QYZMF<$c(IS)__#UcI^*DA59M4C-r7WxjUgal1m zHhy_XF3DZ?y+&U6l}>^+N7FP?^uT$@?`5qNe zD`#eJJ97P_>?KQls7`w)Vzc zi;eM9(X=aXii8ytQg~8aL3^5^6dGV)BuqxGE?-omJIGMEUN*D!Gyn3xP}W6o0gs8b zoE2SXRyrzBo((72;QEv{Z&>cmMmy&5FM*@2X(iq&wcj;J`^xiqZJO2j%lg-}lviJn zgIq3)yVD=smJHIz_&6@#?pa)&)pu#V-%y!;BI@i^qO_3-Ul+3GJUWOx9hWVM@qz3Gg zn*qv`jY8M?-9Z=4yqV(qjjedpv9fht()MqE-}l$(-z)bJ!JA>e*^qFNO;ZhziKGhI zp4s%#ge)x4WeSD#`Al@HMF1n)1Id7>g<<(ogIZp`y>hCFvA={qI+ zGGb`rM}bPiZORzRD4VlYQ#N6=9Oa~+)Lr{uOZz|hL%?^^c_DMh_5Nx=dPY0%{_w5% z^#b{9@jIj_%<{OG6xwdOHGWMeW-v>#GJrEc0N%4$28PNd5}eSUsp-1s8-i-Fr&`}m ziS8qO8-wp+Uehw3{%fXEp|a*oXN*SqlQA<@@5c;e0{1N`FH^I((- z=6OYy5$2Mt6Xh%XVE@tAG>o-=OqxS9#h4;2*AK)gwm}+mD>v$KRoH}iXxtZIh9s2% zunaP%DR`5{B?fgHiy2cYF#hHB*0-ocO&}A9RE3MM1x;jF((dzrY+N0iALUao@NF94 zin*U=v~H3jzx}iJWgt_q$9|hCKuz_M=yZ34JaW${uV$w)!*N@XVP*;V)ZZ9JJm@C+wC3gnrtU zBq5(w2C0hccDe8E zEB0nh?zW2ziIzracvM4s3);D+wAKZUXR@?I*G^6vJ9o9?v^efVWVPj<%06S^&Xkzl` zC$DMQPv|PdagtCY&LlMijGunH=9yjG*trr|CNnQPXF27s9SMQoglM_cz>oS}7fw<( zV^YuSP0S#2?P}wPxy_1!_&vr(*Gs4MUXT@`?HgrFDyLT1COB}9ELC4u&m z4UXKLdcX3YIh;CNlrIBL(xjSUus-eE*=5>xC~W?!ZARgKH>%G7t8iS@V#xb_FKdxu z-(u`_ycs6sSOw&R5B98X6%1c0nJ8a2+wkEv{n!fsWQWQ=S{s=)C=@YC-a;PtONaB7 znEN(diTN9U>GQ;5vWaWbveR?!XZneIJ9jlk%lBVhHI?_vtI6!O4frH}d{AAhP-Vr=Jb|u_t z{fCiXOdVguuOQ;L!ZBcDWrxl0we!YG$j7c^S=pC)b7i8!x!HzvT?9Pw#g*67pA z`ZKg(k5ap2y??-j4*sw5Z)g9Tqk?d9_cbm+Nad-cYGfxL77&8+8FV71Si4Te26iJesb znc0GN>xCe5Jub7HPaZx%={8;bgX~J;8)j{&EI-qJx5y=8r}1E7qp$dkZyofRmRM~3 zyWR9KcvtE}`6(b#3&JlME+Res?bxxEcRX3Jve2z`4I=k*Wc-U>k)#sjOH?vwwO&U# zI50=KTjMYYj%t|@0Ta0{Z!Z}}VG2e8tD)f+5MUAi!$bQzLR@t+8%x^@q6pggjC6R{ zqR`!P^O?>@c0C$Ki42C$4SYrWt(D_WiiWlQarG5tWo5=`6{Y7H4(C{UmmdBpCH{T% z+}HM}-k2~X!0}EQYJY1d#kZ*UE_P+$DpY>5-L}UB-(@@3VTw_4@QpYEB(>2lFfD0v zsK@OKfeLzU9RqBsKG{p9#Fsjz)lsE3`Tb(~8yTr6Xzl3jr&~KZ#Iqg9TjK>1M+@7b zq@{ZD%?SyH5x;c@i@_13B{-ez4+0NV9sX($JT-fUJwCB!pZ(|=x!`QD&ZQRrdM7DeJ==5szWNz)34FFqYM`U6qs(ZAvG^%u zJ`?rM1`r^aE#;LK(ae{nvkl+w8oK}(&I^vHbMjxLR+Vg>TrHML^!mfVTj1Bri8;B) zQd5aV!9QxOexh=VrznNNRBL3Xd~xs&c=G6{#8iHzD`-#+RlUnUoCHevd%QnG?E5!-`4`eH@;H4$q*g#tTiB!hN;xRk2cOLZc z6S_^ITCG=p{A=GIwvGU2Bb~3Hx-@IG^WMViPFO@s9tcfR6L;XY<|p%r2xzxcJGuPELX%71*Vp>$qDOKiIshrG@#o&B;m<~JjKB89Hr(J5L zdGw6*K0&_H094NE{zYSHls`JLmacg8Dh!_y+s)to2}7tDk@5VXY@No|P`MIYo{S-F zvWiNP4%(P--9v<8ntb9*ScbH@9St4^w!X%RbbF}yl9;|>xmwPzz%oD0ce3JsHgHo< z373{j-(XIsWG34cnv#TPU-d6nJKDqxec%PF>iK=Eo#{1bIC<|!`F9}Y;k14*1M;h` zz%9QCSp8IX%-s`6i;`O5PlX8cRPyC6YeEA^QJ%CLNaNqQKx!5TdWsI|A|btgjRoN% z9aiKBZ?nEtmtfk?dvozy{`hQtbUg{IWa*5(zcGosR^`k+rsBTbk1L}OSW^dW4R}(g z&zmo6?~L)Ue=>=dGA*;|F{W6II6mU)Dznxis|1||k&2#uosz89q`IV+wKj2gt;X&#l|{dhPk2fZKFnH?0Y z9POMo0pp61&u4lD&+c=ZMKTRhBn6YlE7MO`2uE+ z>(y0iG_D*$yFtv-ZR7_Ddq>_iZ%u?hXCS_VhafqpvLX=i&P^D@NdA;GYLPtYm(>-8 zx~xPFD{N7$P1iR48k{o>6l-wpmX5Q}ASXaEIFUX#doXJ>n-I+IJ1dR3p0c3I+{TaK zGF$#?RecLC8s$WIZayVXyfNiX zQYZ!)b0diuR!QDoDA9um+gnJ-!ba7I+~cL5hZm4*SBEjtP&&y+ejOS_?#4fG*q0sb ztboo+Yo|5tx4p5PdhV#$_UAh|>Rb@d)GOakZN<-loy=Ryk8FxHJLF7CY1J1e?HH)< z4ZiPYG>^#Ko5?eyW}{1xZc!Xv+Cpv8AEYhjPdXS7F26&_cXyEH1JQIgQKS&j%5YBQp90a^Q=LJP z%K?!Q7d~tXR?0&@{p0HIR0eTph3tDVFX+Kf$MXw7?&;X9&|Y=ulEQKaGtWpuIfu`# zek#JQYN(CN@1+G))J_@Nov9|RND)SZiRCezj&nxcjk32Ca}@=t*Of-|M?{X!(ffX@ z7Cum=aQ(VU9Q`6hyWx}7C@WJI^~~G(g!(}}KxWYS*^Z<)Nf{OY;;<_VVgAHz982kyMMPo}0QD-zbla;-8>j%t7M}qAv z=SYE}P_K-ua&yEI**oM*J3bc8p!ZeJk~iN|o5K^#rDf-{3&021mzbk?EG64k(Dk=W z2mKhWFVH|Ds3^mve%iTU@tVf0aR)tymQ#hMUFr}j0hydFzX8qGxu?h9sa2Ph&!0k> zvpwv!WP|eh;qzMKNhyjKhyzvhIuu-NziNG^Gfn>|dMkn-BDeQZaHUjca;#vX<)O7b zzZPQeu;P3&?d<{xm_jfDqfZAPiQyB_XjIbQBY)b1@#P#{#D;a>tGRLzG!hgucF>2H zUXEAzb0GMr@jc>-edMrSx6R5lC@FLGH8jd>%p5#_8N9>I>yw<_Cs@X~HlAtT5&Ok4 zdRHsp86R4N*9Mtc1Q}GhGD*?3P=)yj3IvT_TYs2{pAHp5Mv`&-jp>syA1$81>P7 z6E@$~4KlwM#M@r`C~fCA|D!+0KJoZV?xT~~usBSN;+oozlzIvCtocFhPa5b$(yLcX z-!Rtg26@^cyEcr0aqulwJv|CRWT#bx7Tqt;q(V!3&Kos)#qaplcFaep$EU*CMk>z0 znr^|~0^u}YCfG2BwZKaO)Xcf!^%J_&vGGyK7hNyWw|ilik<+ern@_+{(NIAZ8Z-Du zVM&ziP6cCxmGTB@LS~`Zf`0Xzc$(8`2+b5}>ou$8UhgXSVEH)V-*G_G0=P@=#o)FmB$4owEK(0xf~%&vjdJ z9b>oShSsY4)!JI&d8omTL#ul7Z~<)OvKk9YATtbA5|OGsXzQg$W-m2d)ANJjXRn@F zvCsEG_PwZhGyEqNxIJ?60`hS!4o7kDKdIlx^c9g8dgaIb?c|yoQ(enBKC@)V!Toit z7;*aiDuQjSANL+j%=K^#QV+~tlUyUre%UJk~8t5aJbx6DULdmI%d%fqZ$JHhOt9h07cz>MtZ`(Y4Y)`GM;W(3=fE!XAJ(ZoqKk-8L#zCECsP| zF)`IEe0^7X;o@v{17p6X69ZGjH8uXtXt9W-&L^NKA&zqPEcV*X8@zgu&OlY=aHkjo zv)U_1t<>_nw9iopw?~{;>NiIgUzy!m5&fXRY&YO+jbn~UZMrl`ll9g&)3SxhkrT?z zzRHpb=bhc`{X|nY^%0fXR>bUZN7>~|Ox?pXnk!mXY9tt%fslhBx5si4M9}`u^Nd@g z*UC%Q^`k}&|I6SO;vrjv|GEpa7Fx-lzPwTeKq- z$Yx$&V0ULllE|DKZF*QB3HQ1>%g_VggLm&D0>TSlQgVSF0aNqAGC(}Xc=Qc#TG^?R zxFIcju$wFB-xrXsLlP7u4@hw(bdTn5@N1dRU++`4f{>a04)GeCa7uss<)sn}3P=xi zL6iRb=)I#$&`LG2R19e}G&vCX9)e&LirXU)wC3`hlaAYvCm{;99ii#qsO$(Ah>Zea ziC>OCPK?sw@1d1F995b3mwQOLI_Xh5U(=t<*LE>>tFc){Q4ERaNS9307@zFmwdA6- ze8);|gs)M`b}2_!_Pu7$3uf|vPcgV>#@#d6NMM`zweF>ETTeb~<`pzb*N88nzjDi` zc6S0(xzfuj7J?zl=`*hPz^u;g-+vx#q(%gXj9lS`Arf6?(M z*zEj@i#aNZh4cm5V3olVb7@~#)_08bM5?!GWkEfZ$$Tk~ar2x7L`(mz1R&wWD%Zw| zRb`s{d7-)uqfk^pE#--rPiyBB-su}rYZP8MzD8MhgUQu zx6dpC*vZO<$dWT(G)18bYoI(=6*&)vnM)Xb{&ZPr6IS|~Ty3sJ2IC|_X@_woTjDbM zm9=^?MbJ8Pvd=4Kxa#@Q=DF$NsvZ|&n4#Z|($t}0Mz@OvJJ}o`&KN;HHvmBk*BEbx znXhDlNa5y+bVsc$lzKcxHluO(m!CA7#a2td3{&37DsNr7JG*5+P$s#s!q5=W{XP-x zl_Ykgt@b*2i-D8@p6nh>N#WF6*Y*23vi(_Ab|8+bHe}MJ+o!?5)+;!w_BNb< zf)47V%q2J~Lfe7)n7y=CpUS$$q6GBi>k74j^J+WG-5a6g@Cf=z9?3&65p|i7R#J5d zLrjtR$w8+>35)DoW}-n#wTTZmHrso=rTe`PmA}_x3#kOTu-fp3PJJ;5PV6Wi(uw1i zOqt;YpJToT*4bEX(6#4I9)luD2SRP4D+Js`!r%1s#cfj14k^no93L*f-cC=Y@Cpu? zm)l#>KEPL`7u6`MJF48!TazoymQQ!GO2F1(ucm@FV=_RXZ?c!oy|Sb;*~0ru#F(}O zbCsgQH^bmFb1y#GjP7=ZbiB3u8ekrGr&hCH2p>&PjzDIxJW9-vYtqJaXAvZQe(?Li z4r*}T1Efj{Y4|zQ@xX~c$t{vsv)^CuKj}!8vteqK%eb>?8!}tMLNl>*!X*3UxVcH= zSk>3c#2)?u6<9{Tn-{wp+vYOMk2~L7?>u?8@Ib|_Nv>I<@{<4;pHc|RL|`7^E&G`W z0hNpp=3fm!yiJA0(iou$lr-^RQ5GDlQCbz_)Q85-T)jZ`DJ)4a?Wr*Gtj_J7tX7By zCbip;ldv0oCmY1ChuAIO7EmlXuSA&UKA=DX8xA*v(57U$kBRso z%=q>{IV!A(UgLubJ8n6yBlT6tI?} zPdL_%&aM={dTjrZiaj zUbxe3By$P9))gqeDm!--$-8#dJ;dF2JQqQu#Uw)p6miWd8qhC-q-_Gd_dK&NnkPfA z_Et1);3cTxcpx~fm|KV-N#h(0(N2uY=LGuyPKHEKkf|`Y0@K2a=H7Lc1-m)nz~|uV zw6rr{HPg)_@1(&l(_X$TsZGlby#+!J%Kv5q+ZYLa; zYc}9<;0)W9+y?Yd$Mo{ha{A9B&S_6H`Tbo-tCa4L^%RCUll+SBUPyo5@2!_u+W9m` z$~v*rkQYg0ByZrtA;DPZ*jhC$W4)1))$LG!izv2$Lu>?vbBn)3I81H9ABLPoK+0+^ zr<*lM(jAuww#nmYf`H^9N16r5?mUe|+?y|XO_PFrfLS#&3w*u`p3N6Zj$o{((dJ** zE5G}i3z~~UgPAhKm17|kt|Qfv9$o&Yx^Q20=V>EBk2KJ|t)XBgY1)S%rBpi1%C1ii zC-g^QbRnhU%ZtnW{^sxoS9TFO*wycC|0RMv9g;O6=+4r6<>a>|?^Era5A&Uu^m#}J zH@NoGIh2T3nN@aR;XKZ?Wj$!(x2!GlG+6)Wk&j!N z6%Y0{G6HMIQ+mMV`!d%2glbC^mWJYr`i3)2S7P&Fn0zEbn@>5+f+iz7piw^1~J10sglzFF% z!B=vUSGE%+Oy(44g3Uk0VY{`pKjRLRa?Zn@7JC*@^I)QJ(OOHa>3f|}g{)Xow&`p`5& z1oK66pNb@Y+1;W?mMH&De!LzIU>y>1Qn#&yQG{S?PR#mREP9YlU&>iAg`eI~L5v-XF@95|ASGIwtwf zXb)*{Nc)@*HZt@M8{y%B6@HK-eW^lN3JEXr`PIcAt^N;nHjv?)@XVXw{QQ)O^6D5d zBeCl9*Oku-@jPV+U2;fg{m)SULj9~lfWlR+1QmivG}x^9mpLMufq3yzT2R0c@b7m* z@$u^M>Fge?rOzQq$3LsTr9>f+3vUm)Zq$=|?tee-*;Q~udCH3I1u^khd5cYw-U{Vdc`6O6#9;3xw1SjrmGAQStM`|R zlOF!a@l`$L9qsk2O!P8iS_<@t!GeE*a0bMEJ&|%Og{Uok#p4c;QlitHP|9fc_VeYLOqH{W(FU z*>r{PC{JKtx7o<}Yejw(O}@IcFhP~nS=P_YA?0BK?=BxdAg_*h*r2{_%meo%PaV5L zNW->EZF{i)=7O0~*C8L->#t7o<<@LX>^=6v@g_4a-D-^w@8r=Ii2dj^Dm8i_91RVf zSv5MKI$FlV{GB&W=9l$$NGT9@^k-d~(SIPFe%|TcB~={feAy+;?RxqIlJfjCVO(+D zYeE+ScaXf0nC%Bk&$Ovvu>TX~&kAj|WIvRlg-8$<2oRT{e4@kulnh z>A#h?VwqLtvRLeRe|oCB^Js^b2k68kmd6WTUX;AgeKxg8^^P!<0$EpS7+UW+m`kae z`y$x}Vqf+(D$oTfop{uj?^nNR`8wf$UE%s$)^7=SP_4pKGQXlfOM9g~j!I)r^SQ@tZ#V_X+itRSXKYnrpuuo#T>+vOcV*Mdj1lR- z&iE#bj)pdjO0IM0p@za5l6y39iwt+iXTLtkP8AqPnenFNIE&K1lYpYCR2yy2XRsGy zS9yhvf92<*8=TuZNCf*#bv5%je)LuJ;J;T0_MM32u>dEYJ7n#pgdzNFy9T}nwIjf| z-o@}3VfU2h!+eGn7*?iW#f@y!Hl{USYY%+HU%?AX>z`$O0#{*i@6yzSA6N(U+mvXp z5yo#oK1z~Qbvqof_|)UD4N~qXbDM^}1MQLdq1^6+6TW`R7fnC+eU^J;hjy9m#;8ji z7?R2?TLWoc0h&JdbYAr9NR=G=gR>(5y~IZgP7aVh?`F6bfHvPog1+$HXY9%;yO@#7 z?Iz)Tc7BtMww*`Sn1ttq!*&R&%Beybi~=pu5MgkLv_N-y8RQKwKUoJpmziLRhMc3x zB5^^^Tke={URdr%#FNO1FrChvVl1A;Yn*H8;4yV;kiw>vkvM05GRjwaqo(9Wg4^Rb zkL<=xR%hB?Vlef_+R^Ph-Q+=YS=W*qGEwXvgb=FHh6VY7kGh7m;W&Pie%GzQQKnHx z@NfX0=TpJ~MFyt_(1c;-V(z4moY&8k)R40Z*902PZbF)cHm_JxB6QszJw)94;PhZD zR4}{Gw`Q$`OCnAWlgg~xsNWF0!oJKCTgCNW&thq71?0{_*;o7CPL*sEFCPeAF*8pV zf_&waxbOS=IhWxO9il(`Kg`)@4B7s-s0k8}w3?3@H5sf$MFW{4B#f9G>EuDvZ-9hD_S#{a7_v1503CdoUVQ^*Y+QT+?-Z-=9&;;dGEQx5>Wb*ZbDV|QN1w} z)aL0v>7f0As5~TttqCmX!=213%`K>(!uq?-x%9R@1^F0!-{SQe_e7>AB|8;9iTtv% z`l!@yco;|EThW82m;L(SZ2cr%WTL$Peq1rg!B^BCb#NRON#Ld&Df7bLs7340XB9(k ziXdQw&{Px*7@aAVHsxfh>#SYA=f%%9cE73fEEt=t4jr;-5+cZiZByy^Rx)}s&UF-d zIWRV4FC%dD&|e5Nh1+<{A0LnElsftrA?T~v!`Rogfpcvn^?2nd3Q>0}KZ5YN8=;-; zsr>}jh`IUL@x8F^Q97M9T_-PdJOkjlc1T6OqU78&}+&4|ei0yFr6a10oClm-5`F*d9)gIvqS+Si;n<(mqS_-!i9ilYw-o{hmb$i!H3sf9u z$>Zq1oonmA&Qrn$30IcR&GhHVy%+Dv1boF72)D$R?f!sZijmeI3sn}L48fLPP8PN@ zSnapNLE>ff=joV4nx$f^9<*e=dO}3It(}Yec&i!K93!l9HTJ#m4X@WKf1FjBzI47< zqR``A`W2hS0%Tz!cb?poUcV46N4UQ+bcXsx|HIxkTS<=3@;g%Cf6{OhiWRU+90B=zQC zBmeajV|MbLcL8>s$<$BhX2)wGR6Fika?7j+u)g*a*i}*_W+o^6rUrV}?#1$92!&Po zR$7{euW0O&_fRsPi=|CqDaR+$@C(M)ztm{TiI2+NtTlap|7H_-*F8f~IUY_=@<(~Eo?;c3H!yp3Ywhx*QH{A#a(}ps zJ3ZJ3i@jDxgvSVH(t?OmjaAx|CVstADxX;h5D|#I)@OnKviL6nqjQpG7*#(xf>cHo z(?fM1rLkB{A1s18rS~6nL}NahkwYV!jZXOgPBX`za)PPJkm#N`vdWgFCXF68go^^% zY4WoK8xM)a*+}#_K>h+875S+*`Gq+Tb6gYz7$dt>ic@ITZ8-nkSV3j5Uq+(q9g0U% zrJ7H$ZHFF+n61l|TJHWggy4O9R~=lpyRUp4Qo1uF4ZwfHq^hSG&`FRoPs{H{U7}vr zYwe!&DU_F>TgN3~Ry&=aB1l&n7IMScp~`?qpYdxerN%wajWzBiYtgk|dHh`TjOUmF zL+B*wzJDn)@QQf+hSAcp`}vDz`2eYa+s!{LqFK#FKRv4N_OETFyP5VL^yt^aU)*0V z9MY88I@j$t=~+of*Rztju21KsJ}~iRYJc=3vg=KAQS>2`DqycrEqCmMTbqQ(j7gXK z`%rFhml_5tCYQ5GbDuXSFoJ%-_g8EJtu2;>kFFfF6)l6^`Uq|C8lR$#^x&37fZy9` zaJmf$^6GO<+0M5DNKoP3+EX?qDqvvYSpe{ixLU&kpN#V;Nqbm5{NvAUtZCA z&b9a;oxy%m=#hZmD}HZBWDL_mZ-9sO)<0yQIocxkghaP&`?8Y$N+rxILFDVE?(HSqsQt;Ea^$k| zFcy3)=eI5IC+9x!K+J6YbmMVZEa`2ay7!?tun9Q7gFaVb3U~-94wetyuEk=1IVLyK{23{RhvIx9wvZ=Uf;jxmJ+lN{Zx2VaAE}m^? zDevFA;;6iJlP5JtZW1E62s#wB6|fuM0&d!ModNb0#>Pe?@xa4>Y<%i?cQAGTx9x5< zPU#L zp~kdOiORu_Af&d;vVjl6f zLN0f>BObh08N>1vUI#?${2r>VUJSE1oSjkv?zS&3RVeO8Za|~@MTe(oba?q)L7Jqa z71E9U31^~EFm?6;Pr?GSox9Zk=OplsYF}H8X{Fxu>QQd z|7`JHXuP@a`^faI)rSFVNI z`^W9;*I?RU-+BYhrPdrg7qF)FuhH z&Rh}n9H@bl_|Tp6_b z0^H_2n@?dKP`URk(rHN#$d_OlzFggWnhwFZA~0o>|M&`=OUX2H-Iy(JH3jfW$@{eO zPrgmtKA$o8kD815#7UDvUqSHiCOC1$dRlZZ$#(INh#MA~RFt}n7QXeQ0^eT? zSvOcQ^6f}VzTq+4@1V*rUuiAW0vJtR_SPSh0@LuJPHsSg+tdm`oKCZHEC#2|Rld4) zJOTw^0i=eNKfs+KXZ8}j-{()+=v6W!k`}|^3Aor&%KHIotnZ*m6zoaEs1%Z8BC^76 zqL8|7!B79XSM!Y(sscc2P`?A47>Fss1D*C#bdM+J4|O9&@Qi_H-S|XhA!ai3ZIy}t zh6%P}RUS)@n3x1={J(d=5{e%GXl$d}F;?fWu_Npv2b$EW%eUmnd+;FE_R;m-ojc1X z;a1X72bj@0&b(7PW+DhPikmD8e4U1rqIrhLLe8T z@e*JMjIE+=#W&XX*oa9lN0|iSopQ;&1hgu z6C090P0_1|`fcOpA{Cvgw)Pz+_pp2F;>BZiv?Y_feY=gzI?mrwN2Ts$qvvqnimkDU zo+?i{J;1;}HCfoPAQgq07g@fP%2D)R!b<7g1KUHwMd3AC!{iF2m@tOjr zh~0uRb7P^HY=-WI6E)@e%N(gh=AWiL63rJRnxE4Zy=5E-Xl5(Zl4+8JobikO*~C=! z^P_J*5G+CL!2-MJ{UaS#Skb(iQ_m7l;!~V}>+he=nC-;6hWQ)P=SPQo-p{-cUS@m@ zcDvxkl>d^!nBfbJG#{!Nc=1m2w~L(@3TO|mg_YyyVtryZzP*T5Ys|Yma9vpg$7Jpk zg76L$9b-^H1G?q=TQLXvJBG1Ibg2)-d~BZd&T=BWXDY_04tu9wGKr z^{Fp;1WUSvenr!QA01#g-#91!V9T^}BhpUoX$hzH$Zo@imFGmYs<n~EP3G?S6qKQ_-1VgD_VhSKG&!Rue8hC)m9oJDr7nu)}&R}}^CJlhHTHoY=$ z19+p-#e3vLk_tJ7*ZfZQ{P+jCPZf~p8-k@lD$$|1A#NQ=Ds{y5d3D&1edKh@EUu^S z@9Lpfo=V?J7(8_>dsK`*{)WN-leE|j0pZZ9y9-1!@dv8$hdg+07}E z!POI|)*~da&|J5i;eftcEDkEFomh9uoxCskT~c&^wi^Ip+Wq7)GPdq=uzO)JhT8Ya zWD|PZM4xDg@D{K=&WhFj{)6K;N^(uq$-Bo?3V6LIdxdanGsx*F_C0T1rFdgSw5wCS zb*s?Sv=uobJb+RH|Lyg{?r_)sP;Rcng-gc^sw?PCK9BzLP3QpHcX@0J@c2&D5Ua;d zeS!(Z@ZS@&JXPNsJMI?A__nZ${f7T@i7JyBOo61FtB^s_FkvU^fBv*PjGszTL*LUy zuy(~sa^zU3(%P%l(;sRv0I8D`J9P*kcbrdloky(;3}w%Lw(7MtCdd%R>iMxTuP zD3+*q1aFZQD#^t<1zS{Iij$FS{PQ(ggAC94j>c?#zkgnR_m&E1D~64=Ifs%SMmHyl zAY0?7fd_-3f*#*s??g;LF&EXg3jUi$WppqK5@9dqzJkVwwo2N@C8YsTx$TaUJgzT= zgwGB>Lz;-b(S_*gCB5su#r?H$?R0l7ZlPy<4JfTE^G;_PpUYc`(D3S}b5$R8qRqy> z_uCBqE>fF{U12#oKP6~+C|Cb#t8>VYY)aelG>n5>)&9j~C{x{{`AdWG&-C5sGd_&t zS(fQntH1qaVsBR796JWw0^|FvdR{Hv064_O?2Ng)N?n6VV(dO|14+GS!zIdB;-ndb zx&1V39`WpURdr`3-4XI>cOF>iUi>1Yz_f71_~yffApCr#lXbQFYGvWYh~1qqSl$DT z>0uk-cOB|=FI3q(@I@lsxePTrohV}T^f&d7u4mt^-YZ`tR1M!d8#ROs*aglSqkX{Z z>Q@JB9AcLK%xWq=MYzA3iYyPF?8djpb!UVg+wyZ;n!dkSscaFpzD#^u^y9(7XG84P z*P2TkGU1)MraY$OLzb@-ivfw1f4rZ1;@x_xAV^tg+WEye^pw+&-`>tvxagFDA$qd0 z&#Gyyvl;hZ#haK~Z{#1Tec}i<4nx0vdLZPQA8*AMQ%3;Hy!M+|RX>-7Z4KEN^dJw@%1&*446W2ww&pQOKl z1wqX5$(s@dPvDr>uOr=;O3Xf)r!Vcg3fkIVCORT_KF8Nvzn%#pt`R){f&fs$^!%wZ z>_zN%>Gc`U8<>mx0(I!F`+SV1?goHt$=6<@x}=R2LfA|TU(~#t1^$#c1q2E$hlrL_ z(-Kd}QGWG1E5rF>ocHFrkVtPqhH|vfqoW)>WL6GPB;s|yV$0f#7b0H%yHxDeKE$0$ zZOe;qSbOa{{AcL(+(&2hs_7u`I4O;!0^tqI`4pG6n^ESsarQxXN-a(8r zcWgf!3s|RUOUFvc4zW&kmEz(m#wJTC^*<;D1IRdsC+a0-;sRf`P9A3uUQHk9T;JV+UjVJM}PPGJX2^?90Gnc&4TdS z1@c>*y+ywH{bk80V#qDI>H2hyc(DScCaZ@ys-_j=do7lLu9Er z?yE~jL{YG9oYbYCCT`sf!3~0-gE1K*MFsM?L~;!ExHjXk-^OwlDE+VV$*R^ss>8R+ zeTC($*u^*70oSp~n3tLmYiXYcKoqFs=k^_&;mXB>T%dNMBtPez3XnmOb+uGXc#-Mf zCHUT0_u}07D6jjbZs9x}*7>0tN)$eEybOF<&0}`2^*EMys#UzU5|h{d=mrN(CQ(Lu zo$&P-(s$Z-nLNvCBwMj~WSG)|BDcy#AZEsFd;6!LB-deZ55O1h|HIO}!Vf=xY<;(Y zb&e;)IWHV zzOkNihx9^lIa)ephK(>Ng6Z+-jRQnQMHY7>pvz2s&t-F*+Q>XkQ|@&?NnsNem@4EB z2mBlr&9+oH zU}@mBwNpv3O$3@jhxpI~*cPfRXosUE50i8IMm-(W8WVbPyp7cMN@eV-*~TY}L&ecG zw_@K3hcTc4-g29dTDNi)7JSts{sLaB{RL8f*yq$I$dY?%chtkoi+~dvf#z1G2B=6o z3z6LMA?r5syV|Hve(kn%Rs&SSjVf~2OWG~;uodbKeEgv3olhGEU1#=mI1>2f-=K=C zv56+0WmRTX{RP4fuID4u`#mp0$g2i*MP9=|c`C$dR6Z4}k;s*Mm=H za^$qJcc=MjJNQtz+y6h@x}gl4P&Lkb@B18=Krx9UE$$0|AQGc+S2e67Q@cFv5f*rBgp`lAusJ@Id%*@H(DO(F z-Ir#t*hEIW+w-o!SjYaH1QO0FpH`ZELXA4n;zbYcF}CSVemd=Z3pXZ#d>_ccMJ;j| z$U4c~Nwrf)|Ky)zrgevsG!wt@-q{!N=6N?0gLz|w*+9)&oa|Wen^m~K_+wSk zu(NYY*m+=bqPG4MKA19JF?Y)Jcp7vVve5eV&f65XaEtwJLl|a-5Ql|LE6@ft#R}@l z5zh7NgDJb^$>O^I4CWk1t_;$okD14*4FGSi(Q53?NJ}#8z#_3!Fz}T8f4pehYw=R@ zyWw*baoM}ychaffyU*35*ronpxESMJFNc+un`BFL=K1uXH*{jzxXLN{vfS==Q{!Pz zum2r(=P*;ivT;BQAy1#N3n})gJy}8;VKPFPE$nStq!LVh; zuZVT2LLE-i0oH*t6Az=%&tY%jj}r^>u8brOk6IX97EFYt>1lco3aR@7CvBtpKENtT zjnRf@g+ZhaPSf7ez*wg@9x;0<9HAR8$=`~D@0O6A>z~4N>Uxn*+>Pq;mCdJK&fr6j zpTr_TG$!hb2>l%FR^yrBlsKMnRyG066YBcn!d!mJ;k?+!VFqu5o#D0z@@3mX`c%=+ zeYb8F?b(eP6 zO#^{~(FpkllLoO}uzLgx3~jGCLHsSncdw9IxX(4d@G_YJTaZ5)7Ub7%1C*1X@zkO_ zzSmpV^}pd#4MsAm3D29}`3|kW_;CE$bYjK8!4D`Dz5gMAz;Gh+>D%sGxxXiXVXCM0 zrH$bmbE^BN^U|ccGvk@2N47&5OY(OAfN$mrrRcu-W9iPtgY#go*Q4aw{=?L)zywHa>MG!;E zhd$mfU@C~glr%yqshU(kltBU-4XSvYaz|=x1q%EpEq)Xuj7S6fBW!*K)Vh^aHlU16 z9TanDrWUd`R?Gn1P%MY5(5qP4VzST zn&7FVT*>D@P{r~7v2l|8ZX&RfZxc$m#@GmZr<^+cx^Z|o*9v@^_J+fq&ayhSQWucV z*6ShS`I^?-6|4^KQuUiH`zBxRdQSn;t#dKT(W!trc}^QMScZCug?w@gTzPSLihtSH zlpMu7@bcSBkM-(Sc2)ue&~;|?sSHPl5r+XQQj>BE=8zcOT(nog>wiEPzqBuTS7~3P?cN2 zLo6n{=i?)D({&SHfWu*F2Ii-^90NTRSTND2ykrO2-e)t|{_@S6|6KMm zOi;zPyqm!E&yo{bbex*+@?lBuT%!q<&{D;NE!f--mX<!Pc)wFq3hCB-s+LQXPUja+KYBS+7wc9% zfGk#-2~~Y7sU!F*;ktg}@VygPrfknLu^(P4a0K{30R_03$LBYI5KlM3?Vw_x;e3-L zXo?~rz67C@A9CL29OjWnffFDJmuurNGr8i+_c-@ z<+6TaoPjwUDs>tnYdT3{=pA)-;I6BLNLY<;y>fj&2e`J_XHmm*1R}bk5|`B6n5ZsxSV*N z_czar4T+fxfa72B#qBa213y;~grCbW5vlC-+{=1~?c9{9UAjHvyIpbMbZ}H=@(i%f zRQF9!b0Mer{u|?wJvGuWX*3t;2+LPDa}e7M*gn>rUI(z|lwDf0J>%`iGy!N8*|CBH zps7$ObDF5#za(xDeK+MT+jz?op!(;(o4h~!MU3}1HPj{RUdZLB$j*E6uJV1=>gPQBfCxF%X z`gOzjZaR(bsM;Rh)%5-(vy0CC-f1PWvhz&e3Ra?;CDIgGJIzsvC%5OY z2$}sX)~ERw!NnI?_<7F3pU*1b>qyBdFDoj#htqc-^y=mMl@A54ya*M%X3$iv?f~Ph z;Y~csU*wN@6kMi0IO3}`?UQco*p^;fR!r+(rJz2i-+Jh^MK-w_2bj*a)1L#qql2U) zJ8q0oZfI)dA6OxGTe5h>Z*^#)yVk<1#f$ev+`)I$tp|2Phgo&vnh zEP;{StChBfC1v_mdFnX*TseUIh%%K(iTOz=?sus|@?e+WqBwd7Mpf1t97p%b&54a; z8@KEP+3(B55N5aOjelYK{9?zs(t&!m%X;{4i9t;fzJVNCHPPiIlNAf&-PhJ_46!sJ zL+{CuvFvYA6|tNqMp*34$Pe5q?`wK>^6|AmBy?@GrU>2m73!VWvEX$_*J|@kbj@Cu z2Yzy&YzR``+}B;p@?F+Y8nBY`g&ER2w#}}AeK#ulx5&Uk>cAwGy_)va#@!ZJ%40}^ z?9s15gp5N7cVpct+UNijH)J|Tm-{VX!x92=`4~J)_xqOz3{!WdIJ#@2-`S&zh!hfP zu_uAu$6oHj)>6=Sj9=B)zC|w3eLN&rWB6&O)eEmKZIOoPy`3~!Ammu`wOU%ue7V== zv^OYpkkdbNhdH#H1Jy9pwNMq>H*EY9NG&UCBrZl8J0$_z0YuK_?>PXXCAVxMTvA|o zN2!KqJEMx0yB(n%5ioG~RaEZIL8vHOqLTkB@y#2gy_`x`Fq8R)CH2TD!K1Fxn8XA- z-l{A&X--ai@O{#`Zq~ywW9NgQ1W0EiTS%^OlB6Ya|GY8@Bvx1tdlL4%D-`cT3NSpN*Uz znzQ=qIhH4Cuj=CJ{D1@g?C#w4JxAkPMdJ4C4^|9O4OxDr_*ddXk~vK*NtjQ26Sr8Q zO~|YnN$`w2XBW>EPe=4@W|2?Q!2qzO{CD2cLHod0LW`-2($#R3?zbb4i!m{-os**> z#O$5x@-Ivvg9Hq6_RX!k?1P>}S%sO~?aG+$wy~=GGVml-UK(di2$pPA$l)gZpR)CX z8U}lXGLGY5?O-{h_1L05lie=~Lmk)TbQg>x-q-xLvU^DixFix2@DexZ$e|rJA;%#ixdBT(@r7^@BmZzR*9j_lbBbAr4JLW2v7edBhZ3#Tfb%7^Oiph^8RU5$>24EXU)w!h#X6A*d4?bo%%!V4ASdSo~U!*&mOkJk*iNn zHtS3q(M}!W_b@wTR2Q$$4ow?-0YdY{y&rgN>tyH#WY;!ecVf5J)eHI@DY<>}rvsx9 zT933NAx&v@4WYznZ-dq%NB(~a(@n83u3pH|0(m3O!vL11B}OSTVHO|I7!KB&KnGAa z+1_g{&o8InOymQ1KiQV9LSz>43t*a7jsVzWXhDSzB#8v?C3Z_RD~Ol7W}uL7`A&?V^nZ+6YpQoX!rdq>P%k|B`e z+TTU09tf!-TS^+9Bb?uZs@J+$-ZmdAdUqzHOxBgO&Qogl&qjy1o?y4$q#a2-=t{fK z`DLwXa`L9H%^B&SOW!5`7dL0o)LV&T0G{)dF7H2Ab|ZU-#Y_7*xt6g0rOWLK+jC7L zcWMZCj;X*N5Bl8RjlL$a90CdO=b9SOhSgL5H(d%*PHYk{Co^*IMcF1QQPC{#*jAoMjSPsR=JbA$X39Sy$hXI9McgC2Y2>^%qrp-Ts z@0@K11XK!`4}t{)iUdM>$$pOPH(xmytdS!foMx2Ry5fXLGag2ql|% zNuT0jqPGEQl1i$fy6H;xbxRR0K{BHs0fcVfsWwwE@RsK$$B77~-I=Mb4oNRlNXM7< z8^2)kN$w3eUkym#?VbWu9@M=|)qCVJtt?xe>`I#dqUx#otC;4XXCrQIY+egYrUj2c*PBNuRw#f+;n7HZS1`|I9jBR7f)&8xU94T_nz|I`oZl`gHd<_??RY0`nKi^tP zncEj|!-s?Oi(R!NX>$v+A zu)&(#`K&SFEq#T*)ey6$ntd2{{QYfRD6ztC<`64PLx@tAd=BvhU9@0&6VVx&1B56Y5D&|b&!%~P-Q*-flB z279q|*Cd)9)DXu7DzbgE?+*yQRmV$}FF5dRN$8KJuRNN5`dKI;;_`|zzU!u%!bp&Q z#YZ$Gb?+P7Os2%(y}YWBmr{4X8v}W??5y5BN~BZqF=d63I>9s80LYjZZ!a(iBnkBH zYI432?a);#W6oyYy|ent*g?)w&?J?mRTl9H^gaK4eohCS zE1IS2RQ|ws&#fClF?e zjW-?GYYH6#{D2No_TdTqKqbJ-#Vs^Q^+GAz5+4h}EasmF#9y5E%=Fl*)YFh@FiNpI z7ys!=FnA2n$AW{Nmc5wF8I4d?U?VGl00#NApUcHH(l9Ev*=8qsa(_2RTn%`@w$oYw z=1%Mv;HIo%5`P>>FJp!l(o%`-p^yURaF6+oFKlb*Y6{Zo$wcJBw;Z$1OM9yq)mUIV z+(BJLkav)HlhWz7`skkmgRrbIs%Z=Fzb$5e9X~KPgsO%(gf#xgUXxfAWJh`SX})rA z;K%(#fXt1kah!Cv!hnGyX68)=E_>8!+OYMgJ~W$e>3M)O*qnD237$nC<6>Hsttl~| z#l@pD@r3P*^KEv4ZL&BHbWqhuLrlO$gh6%B zw!6bSl}CuG-Q&T4xim0R>VT|($R<&5CSn*2kmX*?GJrFslf8&?%0MV~-}HRhRG@hl z4}@p``#AVE$Y;~hcir9h;-WsYl|XFbVBM^@8@EsF)EbY!oHf1*<@c^|{7ERFJ@_Ph z^ly~u)`ag^-Y#!rB~)#0$r5rhHN6`Vu~uFPgsJqUna18ieL(dxYk!DeV zAQ@+6wbt-q*B9C635U#iQF;W4vMkk4<4URql8Y;9{4NqDUz0J39V<0sk_|8W&&Z~K#fpZiqEV&)gyFtt!tI@*) zZU19KiX;(9WJ_t1)nXvEU-$m2JHBe9^B880G?t3+3K2SS8fThru&>jep`M(~0RWcu zJdH|1Q9Tq$r*7+3;L0L%7HP#*6Cz}uQn))gd86RrZ){LPU1;`lS=f2&W?Y{h2w^h9_=7&gTjF?ngZvZhoAaVE8Fc9fH zLr*EFh9hUV7ZqH3+Vmoewi<|i?cXfD4TC?$Za$B%X{-Ng@q{{n5NWFBBlG*3i6>ZC zf?Ns^97YET)XT z8yCzx>l97~0*$?{Mr?ZWZ=4!=J@&C7eDzZH)b(eFCTnBza7hxqEKb3aM>ul}IJ7jI zFGk?_wMn()0ltqA7)HnmCcE3ipKmN)8}}}uh(kxaabpo43Br%th17WQBmh44FGj@m zBse5|2Avz9`vF9;e~#o$*_|NPRNg9q^OqBgT5_`^v|HTKZQo{g%bn!8tvck^I{x4u zQ!HO^WM+N56o(fCtf&7N_d{E(EsukyES(Y@j&fDt%K7Z%1G$P9d^6Fs#^D>Bp!v(e z6qI^Q1|j2X?tl_le<~p4aSI6D=rWFmFA+zmNz=yja5>M%_rsqg%SB-vknwaCwmUy3k1+dxLJHn(n|0P^j5-;b_v*DvbNINWy`JZt>D zJ6D&%GrkAKva%0{E#}C!{(LO4qCX|luMOr$X?jksN$BPyp0u-9`wPn}9Zk{47FKou zXYQ&qK;U`_+b!wc!|u+!j@(UQSm7wn73W4y)j z?YiUA?q_7f)DjU$W5G&mk@jWd$ZFelGf^ zb{ZqGfo;G@ls0sJ3GgVK2v+cX=sEYz`z=6|70Xsi$Oniy*8}S}Dnynet)Epc%Y9pA!6^onFUQ*nY%~xWxzdEGSe7Fox*_U>_N!}6Rf-+i*3uEpckXX2CNO_ z$@uqy*XL0>_kW2x@O+o+yo21*Z|0x{C6}9&-&b-pj&kq`n7beg{g~!UZj41{KX#5~ zpmP`j^E|YZI%EqFwX+6*U6nOxn%j&*5N&m%;koaFK7*^fdd5fnF|=*h%v`R4(rVAC z6DGq?oyVZ|#e|uk9KSbgvE3-_Y5P#{xz{29RYD*byoTrVX*ST;vjqG$cMFQ~{`T-E z^kvZ*0OqSPS7;ow@%xV41|+$U(;%{C_ZL`nq`BJ2n77AyVz-R)Vv=VeiDann_n;D1 z6hJGMcMy=qeKa?=!dmGkKG-x9+AfUiV*0h9x2jnamr>12=F<%RT?xo+EQsu+i=8Cg zm8u6B>08dwk-ZFkX0MYWH+V~5Mz#9-NU~v2CeM)3;ms*;nnCSMq zgvNTuyXW|m@1{&De*eD3bNP0eZGD)E>QQ1(d2)oyz}_YF2n^CjpqFaeJI#Vz|MLe0 zxwcO#yNYkxq^8LRl zmy1ozdFk*~%pb0?FfZwo+ zFmyX^h}`wGz&!=TygTA~pCw9lbVv+qCgAqKMh#d{f;_R1t;yiYHK3)6QtiubS8|6T*ql zNOwITyIk#lh_xx%YD)=m-=_AP%s5+@1F7Y&+7dEnPK(tT8pRaw z={)@&{otoMIFhraP>EGm!cwX6ewMlkP{O2?L}Rb=2)oHjJsb&1m3MRh=IwX+^kp3f zFIduHmE&5O!-R#jM3&1ce^t!j@lCyriYq^XoZ8w(qch|GE_A4J8l{;O*4u}z=Fr?F zFb(n%n(hbCmMb|yyHor~l=Kda=am&OxueUF2Hs~(QAc?%%;b;6q#{2R8}+y&`XaT(7&WmjN)L*U83 zj=?mvitO4;5{AdlG*u;`fYWNW>E8M-0CEjcIlXn}=< z8!#P|?2caT;hE87<%jcRtAzaU!fEaC!29kL=ANLaE| zq5e}KMN46vf>WU2jx`^YS&H@J<)mk3Fo;RU<7K564;Kc;e*a)e1vUHEo?T~2!%{vu zv|jS*wEDr3yD8cR6jYmVYAOdR$FikI%8_uS0S(Y1z0+-P`Z9ieldYL!)MXLKyoqqR zRbPpdkdQ^huYO7|{`PdzX@n0qcycPv@Ov)Vstx~1OCjfaGpWXScHQi6hfQC*Ct&5< zba^m%DKuTgPcT=VuEQ3uBG!WOH;H<~+~}q-e#Gi~bhac@n^DkdS=C8_HWrPXL%)6! zp1B&@ELsO($^0YW$-<`^UL8j6F~VFJZ1{U1Lwy*Kq}iZCcL9F7h7bxI$sJ>^Is-TD z8P2=KtQQuXRgcSkwgQAK(GB}CVT>~~{-qjYSngwm}^k*!y`yZp10YKhE32O?9jF;OW?#UkNr1-dz#9%ipMV6Kt z-&@=`9*iLMjck|B;e7A00|Mak$^P0#!JNuD7xZyYxWef2NXLtelR?*5V>uHGri-e# zju`Pff7iRuI_3-+fAdxI`UyOTmhT-}(0QJ>zrRc}tDZtLkg>ce8qM!#D~=s0ayMos zW8c{$Zr)C?es}k`vl~;)=Kc0V=1gwSc&6F3N-?*CnY_Jd0L}bxp#VrI2DMryh3u5R zM1QpO#vA(iqUj>+O)nY-h~Iy@^p>=IU~z@Z$UuAT)aDezUIEX5GP* zCx)-7`@XVRHRsm^^^fmi{|f%ihCQDlLLo=={+!60re|GPYyygJ#Kw6p5i)y*^Ny}q zdWa6jO}a$~u=wQzp2J6m{%g^8ahT^-SL_KD*m1AdGKhf8ql>S6ZqUUk1{MH~JWTvC zW!v#;=twhU*!X6wX^k60j{0MsYCcr5#G#W17vHl6ayuUI^e1oqeP9*5RSFuky7$)F z6>dmr&c(p~I(3i-AQ}G10gnD91<~QUIP3dio5P{x@4afyf2{e9_&ff_VHN@qjB-Y| zjq?0aPG#uZ=_n$D{+812&mXMf<`^k}lies=O#Euldl9%gsuG@1t6;!XDszd02V?|D z1QEKWe%Ndc5YqFT3eM~4MlakQpQ($FHLIo7Mj0;?PO6>snt z`}n)@qxAvB9~`B`Or9C4i4RLJxi1#%V(p{BRUL*7*%IrjquUgN%G$7<=gNbBa=Pn! z9|6axtz%pB0$_!hR215#>>~@Dbk2kKeATTGiYre0&owcxb~t|CyuSVs)!g+?;;}%B zxk$Y&?i82}8n|Y8v3xxtn(ZuXtAcH{bXG3+P2~G>gLLlZE4KewV-P*3$J2R5q`DeL ze}I)ruHYm1or^YZjCe&4*|=nPVaM#+u9+~K08nRLcdZObH@{R@D(^Q!cNlEWV>=*wl$_`J=xhpL)B|78$t#3EmJ;gDJ8B0Wp$ zS2F+s>DmbpoDu^+tcZQ=DVR45sM0fDxqP%LiFDz3*4?o7=Vic1)${f2-z7)LFd7KP>oY=i|I}nRDZdr7PDW5xNm7(<9MC z#{JKmWwl0PROVawH#6O`nVP4Bb(?*yGMF>YHf+C5->IqRh$6{hb*!dxvMHs%xp_qQ|@O)$XO7)qnq! z8&ee{d#EQ>sG@=|;WDV;G2VRz8Tek>E`$h<87?=hb<#JHXm#E-_wzy?r0qG5MxYtsH6Ur9AV}UH$w)lH2|6jp-1$8!)_W%=A4kR8Jr;^DE z5E-#zuHnjfiMiz$?P#RLX4D8E+BGg5O@Poaxf$qLPz!*}ZR9)i+{VodK2~prbbX2P z!+X9zdH2?IxW2iAGN1-PL5;z4{Isj8Lb^$c_>YNj-R1M zo$Vfz^>nrcKrJqpPBoa(()4(%5sHo^w1b7x^{QN$JggV6mnQ;rB!s z870`Ae(v+x#hnP3=fSF8?5{p0Hzvu=tw5O5kX3F8+orc){f4E5I~Y}b1c0qC9CGHm zR1monm}OB)u>S{VOwm9Eox67y3B335NuI63H7p@qd}m0* zN4hv@OHHxUDB9@k-J7(%Gry3omXF96*tF0t3cwgW6*89Sl+oKV*}T=M>{a8cZ`l(4 z2S6$v4(R|H#$R&Cgg)oxrQ?G1N3Y#V1Lnyf!$T6<@2`)O`oDXr*B8PnRj|HQDYGTf zcPmPq@QvJ6uS~xl)!#1YY&jgk)cN|Q>O@I6XA(}5+7CrCcK@ur0Mi#GHZA~h;OBoA z!Xa{d~+h9A{8ie8Ww#+IoIbrGPz88}k zhVrvUb_%#pd}W>(&+|c|0*xbIA~b~?mtb|j)K9k5I_F_vChYr!F`3cD-#}@`&zU#z zE!|OQu2g8Q-?pfnpz6nHveX_9pmXbvU_E2dQq4mXbiJs|5da<&(b^i1LjfT=F2G9} zarMol4DU*p?ZWj?9B~$M5A_ff{3(BFcSiUWTek{y3mEPb&rbfmR7utO5Qvl1Yj`#5 zqwkpC@M&B1{-jco8AP42-&%k+yj-}Nn&X|{=geE17uQZ z=;o6cq3?DK3{&Q9Y+e7!EK1)5q>p>(Blz#D);}6ufeqEKeAw5?!00+jB%sqXKh49y zR>Vw6&(eCL4(@P)*82o#YD2;x%lFZ*HLq9NF`VKx1K!aR7pYlgw2-VcjjO&6StOBG-FcUI6IzQP zowskC7yr;RAmdohb+de1HnF;)wv$WMD`X9|-paIXhAiBm$<#tYFTN?zv9jK5x$hh2 zSay@ehL^~6tIiY|x1d6D#B+`W^%78z;vUzo?N6c{2=s zO3A7)Ot6QUv-7}8h@8G#bOi?&=e1ZH`W=A&H{QY6WtY;f8Elj{O1hE~PZ$@9%%4Qy^SUAPqr941OBf84A63a#Zt_E+wFpgSkb~l<8#8 zLEKMO{f=cir_tM>e*SchBr%X0!g3TAVelviYMArzuA$8Fs?0Ar%mK=F{YsjA_8^>2(-sI%m8+aE2W~v;|NLk zWBup*S#?)0$sn-4eZAwm+|9y_XkY9FCmEh^l+t2y+w4(Rj+BYfTE$NF_Rpm5y^|H zJG)nSQsSV1qP*@jNeV?WUiGS}&=+6M-i=ss464j$?m&MkM%kc-LxVo4V^Ky74i#M! zU4PfON7pOgQlBmZ%DrNg)HVPvhp>vR(OVvkhISP}zmLwSP)D1Z3LVwhpS|@FfkDfN z^)F9}fTmN%(9%;W`hmZrk%=B?f+?DInH&iu{LYx@?U_|SKduSmbK<|)yT(3v3Zz86 zzmBO&DpyB&>=pk0``+1iW(Ibmdt=^~6sCTl4=S#?+mPF}s;5ana}`8i_Q5jSMAf?1 z14u`@amv>Umab_9dY-H2ErrZeYYxQ~XIRBE(dC2@$VAsx@R#0NnA3)JOpu+(_W%>7 zO^+*dW8S9{DCt8iXVX0GYIY%485CQmt`S?)CdD+{Mh_{0u;&brt4}nHyM_|K`R)(^ zKw?)`bp{_*cyU%8m=iWFC@8KIRi7xluJHG^&zju*^${?{5S<(2g6pTDjeg1+#tr+` zt%OAjC~}GxZBOcE)VZ2~;)uUHAI3V%*t2AkN;+><*E}{f1g#QI=Lg=sYcFrgJ);M4m-f`#01srK?Djv=q`4i1qZIv~bj4utF%? z49M)MDd^2>8V^l|r0D!Kh9#H0f2u1RpJ4Vww877gsX^+C?dN&cfDeN$<3sY~i=CaVMwK*l&~x&W~~e;i!@ZV{{J4Y};L|6)8b z$b4hM1+eQhqbLw)hUASa!Mz4frFxAXrJmh63er^$<3%+!s+OkluLPvyKb{MuG&gHc z8dq=rVVN1f`3zpCn&mappV4~&H5{U@mb?DLk4j@a%;`tnKXQ@0lsJ{E-)g9q$c4{y zX=b5!Ha?s}kr-l|K8Hhpi{et?*S4=&o1)hHrAO1P51oh%7LgOSCcpIewT&@@lU#|{ zn<*5)>1c{E0+&(xiSzCy!)8TyVo-O}ScK`3kMjBJeXf;7Yx9Kk(BjaNHmBiv z|Ewmw?)sbjXYSXfQ5a$Z#w6jpOip=g?P^O2_Yn_ty6u)ib`*0ir?HkSFfKoAzLZ_n zAVe0)>eNgFmXRxfTwBi6V^7M#-A8uvjp4*=)7>-SxS7TBI94jiVim*UMU3wFO=KgP zm^p>Is-$p#-Bz3E^7!RtQ4(7@Ba}Z|!Ic)g|B|&2v^!1JPz!rhI3+-*J`om;#J80B zc^V%u8Uun78XieHT8muQM(r$^lcAlA%NwlAQ+(rJ$l0ITipZ-j_YF3h$rDZsfXE}S zBEm)V)=;XsmH^|$P!JQ1k2yLw9gg9tTlFPW&s>T~Y zX>>s0`^dHYZNh88!_@n+V`2VP!#ppSOVuC3CKF~S(*VsCl_HuV*<@MB?@g*8)02E$ zsK5R()`s{7gy(IUe7w6@cb(O4IbUX1QmAFN;k33tB}Yaqe~@!$#(h~c!OdT2xk?MN zP>ea~R`gGyJ@XPS)2nE&YyQp&#PSgO9CwRibm7wBX5uYBbWP^2NZ0s`2WUSO$kUKJ zUfR!qch20}y-h-UMV$EkeR}zh<}d%}sTJ1|?*MT7`+PZlN&}@TFPjYQ4JOI>yjH7G z^F2!B*PHBLTgNYc#bwg?wY4r;zN@+(N8ck4txt-}Wz1#N2-aK^sAme)n%5Cb;UpD> zx6E69=1#)VYDH>SX8JJZ4JWA`bSQy>dEMB4zfpST4I#c_UCftV`XJE8W3$LTp7;vBV}big?6|E_Kg&DZe3c zIC}t79pwcPb}3{(fqt?IfF@TB6ujcPl;a=lOItIXU2+*Y`aZDEd(*@7xJiL6WD-OM&rkjmg*zJO@^V+)as|n zwKPkeHd!xH%uG3N!JkRi4zZp_ptgGI9j7tvY;|pc(=ZhJ(KvTMqLczTY)gF;cf`bX);R$LaOccY-u-J6xQVBz zzRPsUZ#h0x8Qyly1(@ph@CQ`8r~|S%7!!a6VZgo3HwnYFtag}fnO9OcAtlez$6cqEl) z(q&7*15C#2`bU68azQ7zL?3<6_qQ9{+{~0aJLdJ*w=-l@W^G~+A0la9AG(ur+mS>v^Z-FBVb zV%@Zip#NG1Y8!C4=bw4ZV~!E%mM!AfQP#bSTfYr=bF(aWO2s3v|KJ{d;WaPdj>S?N z))!Z<1K=u<0UHb$?*-Cs1>cgleVNoBu6m38V<<%GfZ;ze8cj+l;76s%c7*)inICdiW_zE2pxp&q#vWY9GlgDG>CS={oFC ziPM)MYHdCtbB&89Ejyv1gM_2iPRTVv)7(%x=8X@3?~ad;ND?JdEhAgzqtX?20gm7Ru+$s!L@*-d_WfuO0{H^^nhx9oP2;JZDTV$l{MMpko@kpcwkHTBHl( zjS%#^!-$L+?ts!LGBjN1782NK6<+;XuRo0nZ^ho>%5HhKIJfT zpCJ7j{iCnfA)%k6G3!~HyehlyzPlDDSRGM3LYxE6cuV5&5l`_Qp zO?HR7(qqO2`F##aKVp}TJYr9${#4ZV#11OLJ~;#NNln^<4GK+*>`tQB_$wJ>x2fg6 z0e<9!((hpqOvMvjA zRB;moxxC{SM1GdzP!aJFd0R#NAw9D+@Z93jOfF`}%F)k)si9kNm4!76Y(>8vFZt4JW`(_4ZnjP$Oj!)l;hIRzZfO4>Scv*V%sx z@Be2tenp<9nMSkCa3?V4o1hreJFiR5N&hIg+h{H&Gqxw)$(1cqnWT{>32J5Q&ee5P z_$}LA4_C7ePNEI{Iv1@$|Kd@U=nkqN&+KhCe4CM>4LuyNH&$Oos5bPQ@!N!?@j8+7MYNlpi_9q4y(fNf3rFQ9&vZkmgDIBf^iJ@cqx%(iR`AIq;wCbDaUnc$%3eYrn(s!Vn%%-1MHjrhpblLtq0s3Sv-M z`E1QymqS|hTb24L|7JIQx8}+`^{B@IK|4J(RXpzLjaDerqn<$v*2FhQ zkv>!pk@tsh)fXqs=gF+L(X>=sdOv*mi6c(3@np-_=`aP8x_szd#=o&cy zfYhmiS2&cUwvse8D(dExi9&^*-ewm(rx1zKytArV*03v5AUbPFUui_>zmuRLs!EVWO0sPk@4^2@c1`qXdmMsZiRlB}zEo_c&=-8WKq+B%$l5RkLU?`77xs7(E9##j0aKTi5F@=94y>k!Biq6DAO;9& zEny1qdNH%gasBt_cDT$l%u)^znc|BcqPEV;;gq_YG9sD6)=e+&Bk9v+R3K6>JbUF!TlQ}YVOD@!HcynbwtMf|OPAq>hl~2Xi-8pgGbmE`J_q3_9vo9kSbb(x zVwdNHtR1&!rQ7++wzC&Op3Ep|POi_4E)KpjyeSF`6b+jWGL--qB>3 zz@RiD0)XXuCI$S4ZTVt7H?sYKcN%{9J#Q8{Gdi$D?LN+!XW|mylS3~zOq(k^phP_u z#Jd@a8xdfW<2?%%m0(lH?L3jJ=6u%Zi`15M!*dqCb7RX?_1zhPBLAs+JB2D=Zv|!a zxC%doq-Q;){;K4YYpN(jTS1Ks*&kfFOMuE4_S?2d#?^|D24(P#z)l$d~Mp4=i_jXsZW* z7CRQ1DpUk%2()aHCkE%HTv~XnMrndfi5I0=qs5nL`fSXM?x|nU#7lm?+br|Zq~q#7 z;?jP@lWp8x9ung8a<(zrk4!kyE(`)?=db|Hp~4+@6-cIHLMtC&p5el^VYbHN9XRw{ z$&vcM<1;!MWkK&||CkV*B7Y~-t@>Zda~Mk3qmF9{M#s-V*)z*+aRLWEmvd*uq-cH6 z3$DB{Cf1)?CcJ(=G$ZECIIN!c2F0{mG9$0wSP(vBiuh_u&e1*EZqF!N{I`v`_Vrqh-@^_i2`*M$5ohSM+9 zaM8Vzl=>mZfWVZEMVFxbO*xnR5?R}A6GfjiatZ&2OSR*W-kHu~Fa`n0W$)*{8-Ie$ z5`)uM74I^rn|ZNhLpG2#-L8iJyAITeRg%1!Gap*b%`UNoyr43odNRwU+F(;cTcTl|Y^?0m&W#gE{$| zvA#IG+HIEk|6dk;@;Y|+e?LugVkB^+R5RL#hbBD=&AJ(m4yB^0umkM5NVAB}1dcK_~J0=T>HK@aKE=0VUo@ZFrPP^+^x zUk3cReT+%iA!dB|&>m(?N|%mf6e|A)aHQ5S^<*fF-!;GV?%&?FH63Sgx~ZLLxdzlz z9B1#79)$9{OwS~S3{gQJ<_wee- zHbubg`{!c%%i%{T8g&LVI8fPO|hpi|eP`h+X)}tfb%ZjxCu_MDHUid`$nN z#+;%|Ti)8^F@(4jUQwnTSmQno=4tY#bqOtO!oRV*YewnmDcPFyyGtzQ;;0lV%k<{$ zkb#Rfi~FLnHro5{OpQ8p~O6Rg4x)o2MtQ?Dz zd)&K*YW}Rqw9Ym9uw^sxIo;n(!oOLK(owoJmgyb-+ax++0qm|F?5SyY{4}7`GvLJTRjs{OjZvIz2|mg1J5DNVnvzK-=*kf4TQ@u zY`9u)Oe(qjfdl$zr`(H-j=J(HE+fkFuLsEQ{>+CY8~%b8(${++{Qa+uiDe1-m}`U^ z?TYtFQUUhI7GfoJcilzlMa#FW_o;Q2&*NZXB~^E2I2UUQ-OTvV>Y<%pELjPkr2-=U zUD-d7RE_03eN4J|{4+6?mbl`_PXab3+a6C!|AZiOo}YIQS{2IR zZ_`31d}#7T8ech_nnX&;?Pi1NT>Ov5ajo@&M7MMSiwZWTdJ|*L@uLG9Isj#*zD#}c zRHT~F<7)SvYX0KB+u4l`Nw7kkT#vx5?gpzuO){$b|6XMlI~R>WEVGEl%tA(lSp~NB ztvS<4|1%*|gQas!h!AcSJfdr9w3a}= zv+0U2>%QRUIyg{7Uc;R@7MlKlHv)bss}vI_Tu|PA1-Cn3=Cq>#epH`oJSkH&3;sV( CvJ8U& diff --git a/PCK-Studio/ToolboxItems/GithubUserPanel.Designer.cs b/PCK-Studio/ToolboxItems/GithubUserPanel.Designer.cs new file mode 100644 index 00000000..43aa9849 --- /dev/null +++ b/PCK-Studio/ToolboxItems/GithubUserPanel.Designer.cs @@ -0,0 +1,90 @@ +namespace PckStudio.ToolboxItems +{ + partial class GithubUserPanel + { + ///

+ /// 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.userPictureBox = new System.Windows.Forms.PictureBox(); + this.userNameLabel = new MetroFramework.Controls.MetroLabel(); + this.aboutButton = new MetroFramework.Controls.MetroButton(); + ((System.ComponentModel.ISupportInitialize)(this.userPictureBox)).BeginInit(); + this.SuspendLayout(); + // + // userPictureBox + // + this.userPictureBox.BackColor = System.Drawing.Color.Transparent; + this.userPictureBox.Location = new System.Drawing.Point(8, 34); + this.userPictureBox.Name = "userPictureBox"; + this.userPictureBox.Size = new System.Drawing.Size(100, 100); + this.userPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.userPictureBox.TabIndex = 0; + this.userPictureBox.TabStop = false; + // + // userNameLabel + // + this.userNameLabel.FontSize = MetroFramework.MetroLabelSize.Tall; + this.userNameLabel.Location = new System.Drawing.Point(8, 6); + this.userNameLabel.Name = "userNameLabel"; + this.userNameLabel.Size = new System.Drawing.Size(100, 25); + this.userNameLabel.TabIndex = 0; + this.userNameLabel.Text = "user name"; + this.userNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.userNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // aboutButton + // + this.aboutButton.Location = new System.Drawing.Point(8, 140); + this.aboutButton.Name = "aboutButton"; + this.aboutButton.Size = new System.Drawing.Size(100, 23); + this.aboutButton.TabIndex = 0; + this.aboutButton.Text = "about button"; + this.aboutButton.Theme = MetroFramework.MetroThemeStyle.Dark; + this.aboutButton.UseSelectable = true; + // + // GithubUserPanel + // + this.Controls.Add(this.userPictureBox); + this.Controls.Add(this.aboutButton); + this.Controls.Add(this.userNameLabel); + this.MaximumSize = new System.Drawing.Size(115, 170); + this.MinimumSize = new System.Drawing.Size(115, 170); + this.Name = "GithubUserPanel"; + this.Padding = new System.Windows.Forms.Padding(5); + this.Size = new System.Drawing.Size(115, 170); + this.Theme = MetroFramework.MetroThemeStyle.Dark; + ((System.ComponentModel.ISupportInitialize)(this.userPictureBox)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox userPictureBox; + private MetroFramework.Controls.MetroLabel userNameLabel; + private MetroFramework.Controls.MetroButton aboutButton; + } +} diff --git a/PCK-Studio/ToolboxItems/GithubUserPanel.cs b/PCK-Studio/ToolboxItems/GithubUserPanel.cs new file mode 100644 index 00000000..31c026d4 --- /dev/null +++ b/PCK-Studio/ToolboxItems/GithubUserPanel.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Linq; +using System.Text; +using Octokit; +using MetroFramework.Controls; +using System.Drawing; +using System.Net; +using System.IO; +using System.Threading.Tasks; +using PckStudio.Internal; +using System.Drawing.Imaging; + +namespace PckStudio.ToolboxItems +{ + public partial class GithubUserPanel : MetroUserControl + { + private Author _contributor; + + public GithubUserPanel() + { + InitializeComponent(); + } + + public GithubUserPanel(Author contributor) : this() + { + _contributor = contributor; + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + if (DesignMode) + return; + + Visible = false; + Task.Run(LoadAuthor); + } + + private void LoadAuthor() + { + string cacheKey = Convert.ToBase64String(Encoding.Default.GetBytes(_contributor.AvatarUrl)); + + if (!ApplicationScope.DataCacher.HasFileCached(cacheKey)) + { + using (WebClient webClient = new WebClient()) + { + Stream avatarImgStream = webClient.OpenRead(_contributor.AvatarUrl); + MemoryStream ms = new MemoryStream(); + new Bitmap(avatarImgStream).Save(ms, ImageFormat.Png); + avatarImgStream.Flush(); + avatarImgStream.Dispose(); + ApplicationScope.DataCacher.Cache(ms.ToArray(), cacheKey); + } + } + + Image avatarUserImg = Image.FromFile(ApplicationScope.DataCacher.GetCachedFilepath(cacheKey)); + + Action setUiElements = () => + { + userPictureBox.Image = avatarUserImg; + userNameLabel.Text = _contributor.Login; + aboutButton.Text = "Github profile"; + aboutButton.Click += (s, e) => Process.Start(_contributor.HtmlUrl); + Visible = true; + }; + + if (InvokeRequired) + { + Invoke(setUiElements); + return; + } + setUiElements(); + } + } +} diff --git a/PCK-Studio/ToolboxItems/GithubUserPanel.resx b/PCK-Studio/ToolboxItems/GithubUserPanel.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/PCK-Studio/ToolboxItems/GithubUserPanel.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 From c5098bf4af30653cc7fa07d134297002042a2b81 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 21 Jun 2024 19:19:27 +0200 Subject: [PATCH 28/66] Rename every variable-/parameter-/propertyname of type PckAsset from 'file' to 'asset' --- PCK-Studio/Extensions/PckAssetExtensions.cs | 64 +-- PCK-Studio/Extensions/PckFileExtensions.cs | 6 +- PCK-Studio/Forms/Editor/AudioEditor.cs | 52 +- PCK-Studio/Forms/Editor/BehaviourEditor.cs | 10 +- PCK-Studio/Forms/Editor/COLEditor.cs | 10 +- PCK-Studio/Forms/Editor/LOCEditor.cs | 10 +- PCK-Studio/Forms/Editor/MaterialsEditor.cs | 10 +- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 16 +- .../Forms/Skins-And-Textures/AddNewSkin.cs | 40 +- .../Skins-And-Textures/AdvancedOptions.cs | 19 +- .../Forms/Skins-And-Textures/generateModel.cs | 22 +- .../Interfaces/IPckAssetDeserializer.cs | 2 +- PCK-Studio/Interfaces/IPckAssetSerializer.cs | 2 +- .../Deserializer/AnimationDeserializer.cs | 10 +- .../Deserializer/ImageDeserializer.cs | 8 +- PCK-Studio/Internal/PckNodeSorter.cs | 4 +- .../Serializer/AnimationSerializer.cs | 6 +- .../Internal/Serializer/ImageSerializer.cs | 8 +- PCK-Studio/MainForm.Designer.cs | 2 +- PCK-Studio/MainForm.cs | 537 +++++++++--------- 20 files changed, 421 insertions(+), 417 deletions(-) diff --git a/PCK-Studio/Extensions/PckAssetExtensions.cs b/PCK-Studio/Extensions/PckAssetExtensions.cs index 950d3a15..f419488b 100644 --- a/PCK-Studio/Extensions/PckAssetExtensions.cs +++ b/PCK-Studio/Extensions/PckAssetExtensions.cs @@ -19,57 +19,57 @@ namespace PckStudio.Extensions { private const string MipMap = "MipMapLevel"; - internal static Image GetTexture(this PckAsset file) + internal static Image GetTexture(this PckAsset asset) { - if (file.Type != PckAssetType.SkinFile && - file.Type != PckAssetType.CapeFile && - file.Type != PckAssetType.TextureFile) + if (asset.Type != PckAssetType.SkinFile && + asset.Type != PckAssetType.CapeFile && + asset.Type != PckAssetType.TextureFile) { - throw new Exception("File is not suitable to contain image data."); + throw new Exception("Asset is not suitable to contain image data."); } - return file.GetDeserializedData(ImageDeserializer.DefaultDeserializer); + return asset.GetDeserializedData(ImageDeserializer.DefaultDeserializer); } - internal static T GetDeserializedData(this PckAsset file, IPckAssetDeserializer deserializer) + internal static T GetDeserializedData(this PckAsset asset, IPckAssetDeserializer deserializer) { - return deserializer.Deserialize(file); + return deserializer.Deserialize(asset); } - internal static T GetData(this PckAsset file, IDataFormatReader formatReader) where T : class + internal static T GetData(this PckAsset asset, IDataFormatReader formatReader) where T : class { - using var ms = new MemoryStream(file.Data); + using var ms = new MemoryStream(asset.Data); return formatReader.FromStream(ms); } - internal static void SetSerializedData(this PckAsset file, T obj, IPckAssetSerializer serializer) + internal static void SetSerializedData(this PckAsset asset, T obj, IPckAssetSerializer serializer) { - serializer.Serialize(obj, ref file); + serializer.Serialize(obj, ref asset); } - internal static void SetData(this PckAsset file, IDataFormatWriter formatWriter) + internal static void SetData(this PckAsset asset, IDataFormatWriter formatWriter) { using (var stream = new MemoryStream()) { formatWriter.WriteToStream(stream); - file.SetData(stream.ToArray()); + asset.SetData(stream.ToArray()); } } - internal static void SetTexture(this PckAsset file, Image image) + internal static void SetTexture(this PckAsset asset, Image image) { - if (file.Type != PckAssetType.SkinFile && - file.Type != PckAssetType.CapeFile && - file.Type != PckAssetType.TextureFile) + if (asset.Type != PckAssetType.SkinFile && + asset.Type != PckAssetType.CapeFile && + asset.Type != PckAssetType.TextureFile) { - throw new Exception("File is not suitable to contain image data."); + throw new Exception("Asset is not suitable to contain image data."); } - file.SetSerializedData(image, ImageSerializer.DefaultSerializer); + asset.SetSerializedData(image, ImageSerializer.DefaultSerializer); } - internal static bool IsMipmappedFile(this PckAsset file) + internal static bool IsMipmappedFile(this PckAsset asset) { // We only want to test the file name itself. ex: "terrainMipMapLevel2" - string name = Path.GetFileNameWithoutExtension(file.Filename); + string name = Path.GetFileNameWithoutExtension(asset.Filename); // check if last character is a digit (0-9). If not return false if (!char.IsDigit(name[name.Length - 1])) @@ -81,15 +81,15 @@ namespace PckStudio.Extensions return true; } - internal static string GetNormalPath(this PckAsset file) + internal static string GetNormalPath(this PckAsset asset) { - if (!file.IsMipmappedFile()) - return file.Filename; - string ext = Path.GetExtension(file.Filename); - return file.Filename.Remove(file.Filename.Length - (MipMap.Length + 1) - ext.Length) + ext; + if (!asset.IsMipmappedFile()) + return asset.Filename; + string ext = Path.GetExtension(asset.Filename); + return asset.Filename.Remove(asset.Filename.Length - (MipMap.Length + 1) - ext.Length) + ext; } - internal static void DeserializePropertiesFromString(this PckAsset file, string serializedData) + internal static void DeserializePropertiesFromString(this PckAsset asset, string serializedData) { string[] lines = serializedData.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) @@ -97,14 +97,14 @@ namespace PckStudio.Extensions int idx = line.IndexOf(' '); if (idx == -1 || line.Length - 1 == idx) continue; - file.AddProperty(line.Substring(0, idx).Replace(":", string.Empty), line.Substring(idx + 1)); + asset.AddProperty(line.Substring(0, idx).Replace(":", string.Empty), line.Substring(idx + 1)); } } - internal static string SerializePropertiesToString(this PckAsset file) + internal static string SerializePropertiesToString(this PckAsset asset) { - StringBuilder builder = new StringBuilder(file.PropertyCount * 20); - foreach (var property in file.GetProperties()) + StringBuilder builder = new StringBuilder(asset.PropertyCount * 20); + foreach (var property in asset.GetProperties()) { builder.AppendLine(property.Key + ": " + property.Value); } diff --git a/PCK-Studio/Extensions/PckFileExtensions.cs b/PCK-Studio/Extensions/PckFileExtensions.cs index 869b30d6..bb9386f0 100644 --- a/PCK-Studio/Extensions/PckFileExtensions.cs +++ b/PCK-Studio/Extensions/PckFileExtensions.cs @@ -22,9 +22,9 @@ namespace PckStudio.Extensions internal static PckAsset CreateNewFile(this PckFile pck, string filename, PckAssetType filetype, IDataFormatWriter writer) { - var file = pck.CreateNewFile(filename, filetype); - file.SetData(writer); - return file; + var asset = pck.CreateNewFile(filename, filetype); + asset.SetData(writer); + return asset; } } } diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index f9730a6f..693cca20 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -28,8 +28,8 @@ namespace PckStudio.Forms.Editor public partial class AudioEditor : MetroForm { public string defaultType = "yes"; - PckAudioFile audioFile = null; - PckAsset audioPCK; + PckAudioFile _audioFile = null; + PckAsset _audioAsset; bool _isLittleEndian = false; MainForm parent = null; @@ -63,7 +63,7 @@ namespace PckStudio.Forms.Editor return (PckAudioFile.AudioCategory.EAudioType)Categories.IndexOf(category); } - public AudioEditor(PckAsset file, bool isLittleEndian) + public AudioEditor(PckAsset asset, bool isLittleEndian) { InitializeComponent(); @@ -71,11 +71,11 @@ namespace PckStudio.Forms.Editor _isLittleEndian = isLittleEndian; - audioPCK = file; - using (var stream = new MemoryStream(file.Data)) + _audioAsset = asset; + using (var stream = new MemoryStream(asset.Data)) { var reader = new PckAudioFileReader(isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); - audioFile = reader.FromStream(stream); + _audioFile = reader.FromStream(stream); } SetUpTree(); @@ -86,7 +86,7 @@ namespace PckStudio.Forms.Editor treeView1.BeginUpdate(); treeView1.Nodes.Clear(); - foreach (var category in audioFile.Categories) + foreach (var category in _audioFile.Categories) { // fix songs with directories using backslash instead of forward slash // Songs with a backslash instead of a forward slash would not play in RPCS3 @@ -96,7 +96,7 @@ namespace PckStudio.Forms.Editor if (category.audioType == PckAudioFile.AudioCategory.EAudioType.Creative) { if (category.Name == "include_overworld" && - audioFile.TryGetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld, out PckAudioFile.AudioCategory overworldCategory)) + _audioFile.TryGetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld, out PckAudioFile.AudioCategory overworldCategory)) { foreach (var name in category.SongNames.ToList()) { @@ -112,7 +112,7 @@ namespace PckStudio.Forms.Editor treeNode.Tag = category; treeView1.Nodes.Add(treeNode); } - playOverworldInCreative.Enabled = audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Creative); + playOverworldInCreative.Enabled = _audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Creative); treeView1.EndUpdate(); } @@ -141,15 +141,15 @@ namespace PckStudio.Forms.Editor private void addCategoryStripMenuItem_Click(object sender, EventArgs e) { - string[] available = Categories.FindAll(str => !audioFile.HasCategory(GetCategoryId(str))).ToArray(); + string[] available = Categories.FindAll(str => !_audioFile.HasCategory(GetCategoryId(str))).ToArray(); if (available.Length > 0) { using ItemSelectionPopUp add = new ItemSelectionPopUp(available); if (add.ShowDialog(this) == DialogResult.OK) - audioFile.AddCategory(GetCategoryId(add.SelectedItem)); + _audioFile.AddCategory(GetCategoryId(add.SelectedItem)); else return; - var category = audioFile.GetCategory(GetCategoryId(add.SelectedItem)); + var category = _audioFile.GetCategory(GetCategoryId(add.SelectedItem)); if (GetCategoryId(add.SelectedItem) == PckAudioFile.AudioCategory.EAudioType.Creative) { @@ -190,7 +190,7 @@ namespace PckStudio.Forms.Editor private void removeCategoryStripMenuItem_Click(object sender, EventArgs e) { if (treeView1.SelectedNode is TreeNode main && - audioFile.RemoveCategory(GetCategoryId(treeView1.SelectedNode.Text))) + _audioFile.RemoveCategory(GetCategoryId(treeView1.SelectedNode.Text))) { if(GetCategoryId(treeView1.SelectedNode.Text) == PckAudioFile.AudioCategory.EAudioType.Creative) { @@ -360,18 +360,18 @@ namespace PckStudio.Forms.Editor private void saveToolStripMenuItem1_Click(object sender, EventArgs e) { - if (!audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Overworld) || - !audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Nether) || - !audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.End)) + if (!_audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Overworld) || + !_audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Nether) || + !_audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.End)) { MessageBox.Show(this, "Your changes were not saved. The game will crash when loading your pack if the Overworld, Nether and End categories don't all exist with at least one valid song.", "Mandatory Categories Missing"); return; } - PckAudioFile.AudioCategory overworldCategory = audioFile.GetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld); + PckAudioFile.AudioCategory overworldCategory = _audioFile.GetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld); bool songs_missing = false; - foreach (var category in audioFile.Categories) + foreach (var category in _audioFile.Categories) { if (category.SongNames.Count < 1) { @@ -410,7 +410,7 @@ namespace PckStudio.Forms.Editor return; } - audioPCK.SetData(new PckAudioFileWriter(audioFile, _isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); + _audioAsset.SetData(new PckAudioFileWriter(_audioFile, _isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); DialogResult = DialogResult.OK; } @@ -433,7 +433,7 @@ namespace PckStudio.Forms.Editor DialogResult dr = MessageBox.Show(this, "This will delete all unused BINKA songs in the Data directory. This cannot be undone. Are you sure you want to continue?", "Warning", MessageBoxButtons.YesNo); if (dr != DialogResult.Yes) return; var totalSongList = new List(); - foreach (string song in audioFile.Categories.SelectMany(cat => cat.SongNames)) + foreach (string song in _audioFile.Categories.SelectMany(cat => cat.SongNames)) { Console.WriteLine(song); totalSongList.Add(song); @@ -525,7 +525,7 @@ namespace PckStudio.Forms.Editor if (string.IsNullOrEmpty(ofn.FileName)) return; // Return if name is null or if the user cancels var totalSongList = new List(); - foreach (string song in audioFile.Categories.SelectMany(cat => cat.SongNames)) + foreach (string song in _audioFile.Categories.SelectMany(cat => cat.SongNames)) { totalSongList.Add(song); } @@ -573,18 +573,18 @@ namespace PckStudio.Forms.Editor { if (!(treeView1.SelectedNode is TreeNode t && t.Tag is PckAudioFile.AudioCategory category)) return; - string[] available = Categories.FindAll(str => !audioFile.HasCategory(GetCategoryId(str))).ToArray(); + string[] available = Categories.FindAll(str => !_audioFile.HasCategory(GetCategoryId(str))).ToArray(); if (available.Length > 0) { using ItemSelectionPopUp add = new ItemSelectionPopUp(available); add.ButtonText = "Save"; if (add.ShowDialog(this) != DialogResult.OK) return; - audioFile.RemoveCategory(category.audioType); + _audioFile.RemoveCategory(category.audioType); - audioFile.AddCategory(category.parameterType, GetCategoryId(add.SelectedItem), category.audioType == PckAudioFile.AudioCategory.EAudioType.Overworld && playOverworldInCreative.Checked ? "include_overworld" : ""); + _audioFile.AddCategory(category.parameterType, GetCategoryId(add.SelectedItem), category.audioType == PckAudioFile.AudioCategory.EAudioType.Overworld && playOverworldInCreative.Checked ? "include_overworld" : ""); - var newCategory = audioFile.GetCategory(GetCategoryId(add.SelectedItem)); + var newCategory = _audioFile.GetCategory(GetCategoryId(add.SelectedItem)); category.SongNames.ForEach(c => newCategory.SongNames.Add(c)); @@ -603,7 +603,7 @@ namespace PckStudio.Forms.Editor if (treeView1.Nodes.Count < 1 || !parent.CreateDataFolder()) return; string musicdir = Path.Combine(parent.GetDataPath(), "Music"); Directory.CreateDirectory(musicdir); - foreach (var category in audioFile.Categories) + foreach (var category in _audioFile.Categories) { for (var i = 0; i < category.SongNames.Count; i++) // using standard for loop so the list can be modified { diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 0dcf8099..94f22c07 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -21,7 +21,7 @@ namespace PckStudio.Forms.Editor public partial class BehaviourEditor : MetroForm { // Behaviours File Format research by Miku and MattNL - private readonly PckAsset _file; + private readonly PckAsset _asset; BehaviourFile behaviourFile; private readonly List BehaviourData = Entities.BehaviourInfos; @@ -54,15 +54,15 @@ namespace PckStudio.Forms.Editor treeView1.EndUpdate(); } - public BehaviourEditor(PckAsset file) + public BehaviourEditor(PckAsset asset) { InitializeComponent(); saveToolStripMenuItem1.Visible = !Settings.Default.AutoSaveChanges; - _file = file; + _asset = asset; - using (var stream = new MemoryStream(file.Data)) + using (var stream = new MemoryStream(asset.Data)) { var reader = new BehavioursReader(); behaviourFile = reader.FromStream(stream); @@ -255,7 +255,7 @@ namespace PckStudio.Forms.Editor } } - _file.SetData(new BehavioursWriter(behaviourFile)); + _asset.SetData(new BehavioursWriter(behaviourFile)); DialogResult = DialogResult.OK; } diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index 5c9bfb10..cf2f9bda 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -19,22 +19,22 @@ namespace PckStudio.Forms.Editor ColorContainer colourfile; string clipboard_color = "#FFFFFF"; - private readonly PckAsset _file; + private readonly PckAsset _asset; List colorCache = new List(); List waterCache = new List(); List underwaterCache = new List(); List fogCache = new List(); - public COLEditor(PckAsset file) + public COLEditor(PckAsset asset) { InitializeComponent(); saveToolStripMenuItem1.Visible = !Settings.Default.AutoSaveChanges; - _file = file; + _asset = asset; - using(var stream = new MemoryStream(file.Data)) + using(var stream = new MemoryStream(asset.Data)) { var reader = new COLFileReader(); colourfile = reader.FromStream(stream); @@ -288,7 +288,7 @@ namespace PckStudio.Forms.Editor private void saveToolStripMenuItem1_Click(object sender, EventArgs e) { - _file.SetData(new COLFileWriter(colourfile)); + _asset.SetData(new COLFileWriter(colourfile)); DialogResult = DialogResult.OK; } diff --git a/PCK-Studio/Forms/Editor/LOCEditor.cs b/PCK-Studio/Forms/Editor/LOCEditor.cs index b2c213f6..def6082f 100644 --- a/PCK-Studio/Forms/Editor/LOCEditor.cs +++ b/PCK-Studio/Forms/Editor/LOCEditor.cs @@ -19,13 +19,13 @@ namespace PckStudio.Forms.Editor { DataTable tbl; LOCFile currentLoc; - PckAsset _file; + PckAsset _asset; - public LOCEditor(PckAsset file) + public LOCEditor(PckAsset asset) { InitializeComponent(); - _file = file; - using (var ms = new MemoryStream(file.Data)) + _asset = asset; + using (var ms = new MemoryStream(asset.Data)) { var reader = new LOCFileReader(); currentLoc = reader.FromStream(ms); @@ -145,7 +145,7 @@ namespace PckStudio.Forms.Editor private void saveToolStripMenuItem_Click(object sender, EventArgs e) { - _file.SetData(new LOCFileWriter(currentLoc, 2)); + _asset.SetData(new LOCFileWriter(currentLoc, 2)); DialogResult = DialogResult.OK; } diff --git a/PCK-Studio/Forms/Editor/MaterialsEditor.cs b/PCK-Studio/Forms/Editor/MaterialsEditor.cs index 2129b393..7b0cb021 100644 --- a/PCK-Studio/Forms/Editor/MaterialsEditor.cs +++ b/PCK-Studio/Forms/Editor/MaterialsEditor.cs @@ -19,7 +19,7 @@ namespace PckStudio.Forms.Editor public partial class MaterialsEditor : MetroForm { // Materials File Format research by PhoenixARC - private readonly PckAsset _file; + private readonly PckAsset _asset; MaterialContainer materialFile; private readonly List MaterialData = Entities.BehaviourInfos; @@ -64,12 +64,12 @@ namespace PckStudio.Forms.Editor treeView1.EndUpdate(); } - public MaterialsEditor(PckAsset file) + public MaterialsEditor(PckAsset asset) { InitializeComponent(); - _file = file; + _asset = asset; - using (var stream = new MemoryStream(file.Data)) + using (var stream = new MemoryStream(asset.Data)) { var reader = new MaterialFileReader(); materialFile = reader.FromStream(stream); @@ -136,7 +136,7 @@ namespace PckStudio.Forms.Editor materialFile.Add(mat); } - _file.SetData(new MaterialFileWriter(materialFile)); + _asset.SetData(new MaterialFileWriter(materialFile)); DialogResult = DialogResult.OK; } diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index f52f8cb7..6f91c202 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -170,10 +170,10 @@ namespace PckStudio.Forms.Editor private bool AcquireColorTable(PckFile pckFile) { - if (pckFile.TryGetFile("colours.col", PckAssetType.ColourTableFile, out var colFile) && - colFile.Size > 0) + if (pckFile.TryGetFile("colours.col", PckAssetType.ColourTableFile, out var colAsset) && + colAsset.Size > 0) { - using var ms = new MemoryStream(colFile.Data); + using var ms = new MemoryStream(colAsset.Data); var reader = new COLFileReader(); _colourTable = reader.FromStream(ms); return true; @@ -243,18 +243,18 @@ namespace PckStudio.Forms.Editor if (animationButton.Enabled = _atlasType == "blocks" || _atlasType == "items") { - PckAsset animationFile; + PckAsset animationAsset; bool hasAnimation = - _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.png", PckAssetType.TextureFile, out animationFile) || - _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.tga", PckAssetType.TextureFile, out animationFile); + _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.png", PckAssetType.TextureFile, out animationAsset) || + _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.tga", PckAssetType.TextureFile, out animationAsset); animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; if (playAnimationsToolStripMenuItem.Checked && hasAnimation && - animationFile.Size > 0) + animationAsset.Size > 0) { - var animation = animationFile.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); + var animation = animationAsset.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); selectTilePictureBox.Image = animation.CreateAnimationImage(); selectTilePictureBox.Start(); } diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs index 743e0cb2..4dc93f1e 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs @@ -17,13 +17,13 @@ namespace PckStudio.Popups { public partial class AddNewSkin : MetroFramework.Forms.MetroForm { - public PckAsset SkinFile => skin; - public PckAsset CapeFile => cape; - public bool HasCape => cape is not null; + public PckAsset SkinAsset => _skin; + public PckAsset CapeAsset => _cape; + public bool HasCape => _cape is not null; private LOCFile currentLoc; - private PckAsset skin = new PckAsset("dlcskinXYXYXYXY", PckAssetType.SkinFile); - private PckAsset cape; + private PckAsset _skin = new PckAsset("dlcskinXYXYXYXY", PckAssetType.SkinFile); + private PckAsset _cape; private SkinANIM anim = new SkinANIM(); private Random rng = new Random(); @@ -226,8 +226,8 @@ namespace PckStudio.Popups return; } capePictureBox.Image = Image.FromFile(ofd.FileName); - cape ??= new PckAsset("dlccapeXYXYXYXY", PckAssetType.CapeFile); - cape.SetData(File.ReadAllBytes(ofd.FileName)); + _cape ??= new PckAsset("dlccapeXYXYXYXY", PckAssetType.CapeFile); + _cape.SetData(File.ReadAllBytes(ofd.FileName)); contextMenuCape.Items[0].Text = "Replace"; capeLabel.Visible = false; contextMenuCape.Visible = true; @@ -243,35 +243,35 @@ namespace PckStudio.Popups return; } string skinId = _skinId.ToString("d08"); - skin.Filename = $"dlcskin{skinId}.png"; - skin.AddProperty("DISPLAYNAME", textSkinName.Text); + _skin.Filename = $"dlcskin{skinId}.png"; + _skin.AddProperty("DISPLAYNAME", textSkinName.Text); if (currentLoc is not null) { string skinDisplayNameLocKey = $"IDS_dlcskin{skinId}_DISPLAYNAME"; - skin.AddProperty("DISPLAYNAMEID", skinDisplayNameLocKey); + _skin.AddProperty("DISPLAYNAMEID", skinDisplayNameLocKey); currentLoc.AddLocKey(skinDisplayNameLocKey, textSkinName.Text); } if (!string.IsNullOrEmpty(textThemeName.Text)) { - skin.AddProperty("THEMENAME", textThemeName.Text); + _skin.AddProperty("THEMENAME", textThemeName.Text); if (currentLoc is not null) { - skin.AddProperty("THEMENAMEID", $"IDS_dlcskin{skinId}_THEMENAME"); + _skin.AddProperty("THEMENAMEID", $"IDS_dlcskin{skinId}_THEMENAME"); currentLoc.AddLocKey($"IDS_dlcskin{skinId}_THEMENAME", textThemeName.Text); } } - skin.AddProperty("ANIM", anim); - skin.AddProperty("GAME_FLAGS", "0x18"); - skin.AddProperty("FREE", "1"); + _skin.AddProperty("ANIM", anim); + _skin.AddProperty("GAME_FLAGS", "0x18"); + _skin.AddProperty("FREE", "1"); if (HasCape) { - cape.Filename = $"dlccape{skinId}.png"; - skin.AddProperty("CAPEPATH", cape.Filename); + _cape.Filename = $"dlccape{skinId}.png"; + _skin.AddProperty("CAPEPATH", _cape.Filename); } - skin.SetTexture(skinPictureBox.Image); + _skin.SetTexture(skinPictureBox.Image); DialogResult = DialogResult.OK; Close(); } @@ -288,9 +288,9 @@ namespace PckStudio.Popups if (MessageBox.Show(this, "Create your own custom skin model?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) != DialogResult.Yes) return; - skin.SetTexture(Resources.classic_template); + _skin.SetTexture(Resources.classic_template); - using generateModel generate = new generateModel(skin); + using generateModel generate = new generateModel(_skin); if (generate.ShowDialog() == DialogResult.OK) { diff --git a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs index ab5f6864..82af2bd7 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs @@ -1,4 +1,5 @@ -using OMI; +using DiscordRPC; +using OMI; using OMI.Formats.Pck; using OMI.Workers.Pck; using PckStudio.Extensions; @@ -44,20 +45,20 @@ namespace PckStudio.Popups MessageBox.Show(this, "Please select a filetype before applying"); } - private void applyBulkProperties(IReadOnlyCollection files, int index) + private void applyBulkProperties(IReadOnlyCollection assets, int index) { - foreach (PckAsset file in files) + foreach (PckAsset asset in assets) { - if (file.Type == PckAssetType.TexturePackInfoFile || - file.Type == PckAssetType.SkinDataFile) + if (asset.Type == PckAssetType.TexturePackInfoFile || + asset.Type == PckAssetType.SkinDataFile) { try { var reader = new PckFileReader(_endianness); - using var ms = new MemoryStream(file.Data); + using var ms = new MemoryStream(asset.Data); PckFile subPCK = reader.FromStream(ms); applyBulkProperties(subPCK.GetFiles(), index); - file.SetData(new PckFileWriter(subPCK, _endianness)); + asset.SetData(new PckFileWriter(subPCK, _endianness)); } catch (OverflowException ex) { @@ -65,9 +66,9 @@ namespace PckStudio.Popups } } - if (index == -1 || (Enum.IsDefined(typeof(PckAssetType), index) && (int)file.Type == index)) + if (index == -1 || (Enum.IsDefined(typeof(PckAssetType), index) && (int)asset.Type == index)) { - file.AddProperty(propertyKeyTextBox.Text, propertyValueTextBox.Text); + asset.AddProperty(propertyKeyTextBox.Text, propertyValueTextBox.Text); } } diff --git a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs index 840a06c2..fea72585 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs @@ -39,7 +39,7 @@ namespace PckStudio.Forms left, } - private PckAsset _file; + private PckAsset _asset; private SkinANIM _ANIM; private static Color _backgroundColor = Color.FromArgb(0xff, 0x50, 0x50, 0x50); @@ -126,22 +126,22 @@ namespace PckStudio.Forms } } - public generateModel(PckAsset file) + public generateModel(PckAsset asset) { MessageBox.Show(this, "This feature is now considered deprecated and will no longer recieve updates. A better alternative is currently under development. Use at your own risk.", "Deprecated Feature", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); InitializeComponent(); - _file = file; - if (file.Size > 0) + _asset = asset; + if (asset.Size > 0) { - using (var ms = new MemoryStream(file.Data)) + using (var ms = new MemoryStream(asset.Data)) { uvPictureBox.Image = Image.FromStream(ms); } } comboParent.Items.Clear(); comboParent.Items.AddRange(ValidModelBoxTypes); - LoadData(file); + LoadData(asset); } private static readonly Regex sWhitespace = new Regex(@"\s+"); public static string ReplaceWhitespace(string input, string replacement) @@ -149,9 +149,9 @@ namespace PckStudio.Forms return sWhitespace.Replace(input, replacement); } - private void LoadData(PckAsset file) + private void LoadData(PckAsset asset) { - comboParent.Enabled = file.GetMultipleProperties("BOX").All(kv => { + comboParent.Enabled = asset.GetMultipleProperties("BOX").All(kv => { var box = SkinBOX.FromString(kv.Value); if (ValidModelBoxTypes.Contains(box.Type)) { @@ -160,7 +160,7 @@ namespace PckStudio.Forms } return false; }); - file.GetMultipleProperties("OFFSET").All(kv => { + asset.GetMultipleProperties("OFFSET").All(kv => { string[] offset = ReplaceWhitespace(kv.Value, ",").TrimEnd('\n', '\r', ' ').Split(','); if (offset.Length < 3) return false; @@ -176,7 +176,7 @@ namespace PckStudio.Forms return false; }); - _ANIM = file.GetProperty("ANIM", SkinANIM.FromString); + _ANIM = asset.GetProperty("ANIM", SkinANIM.FromString); UpdateListView(); Rerender(); } @@ -1094,7 +1094,7 @@ namespace PckStudio.Forms { foreach (var part in modelBoxes) { - _file.AddProperty("BOX", part); + _asset.AddProperty("BOX", part); } //Bitmap bitmap2 = new Bitmap(64, 64); diff --git a/PCK-Studio/Interfaces/IPckAssetDeserializer.cs b/PCK-Studio/Interfaces/IPckAssetDeserializer.cs index d016cce9..358b23c0 100644 --- a/PCK-Studio/Interfaces/IPckAssetDeserializer.cs +++ b/PCK-Studio/Interfaces/IPckAssetDeserializer.cs @@ -9,6 +9,6 @@ namespace PckStudio.Interfaces { internal interface IPckAssetDeserializer { - public T Deserialize(PckAsset file); + public T Deserialize(PckAsset asset); } } \ No newline at end of file diff --git a/PCK-Studio/Interfaces/IPckAssetSerializer.cs b/PCK-Studio/Interfaces/IPckAssetSerializer.cs index 81370be1..46cdf4e0 100644 --- a/PCK-Studio/Interfaces/IPckAssetSerializer.cs +++ b/PCK-Studio/Interfaces/IPckAssetSerializer.cs @@ -9,6 +9,6 @@ namespace PckStudio.Interfaces { internal interface IPckAssetSerializer { - public void Serialize(T obj, ref PckAsset file); + public void Serialize(T obj, ref PckAsset asset); } } diff --git a/PCK-Studio/Internal/Deserializer/AnimationDeserializer.cs b/PCK-Studio/Internal/Deserializer/AnimationDeserializer.cs index c15eee2b..fca18165 100644 --- a/PCK-Studio/Internal/Deserializer/AnimationDeserializer.cs +++ b/PCK-Studio/Internal/Deserializer/AnimationDeserializer.cs @@ -16,14 +16,14 @@ namespace PckStudio.Internal.Deserializer { public static readonly AnimationDeserializer DefaultDeserializer = new AnimationDeserializer(); - public Animation Deserialize(PckAsset file) + public Animation Deserialize(PckAsset asset) { - _ = file ?? throw new ArgumentNullException(nameof(file)); - if (file.Size > 0) + _ = asset ?? throw new ArgumentNullException(nameof(asset)); + if (asset.Size > 0) { - var texture = file.GetTexture(); + var texture = asset.GetTexture(); var frameTextures = texture.Split(ImageLayoutDirection.Vertical); - var _animation = new Animation(frameTextures, file.GetProperty("ANIM")); + var _animation = new Animation(frameTextures, asset.GetProperty("ANIM")); return _animation; } return Animation.CreateEmpty(); diff --git a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs index 2a4d5135..eb00b243 100644 --- a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs +++ b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs @@ -18,19 +18,19 @@ namespace PckStudio.Internal.Deserializer public static readonly ImageDeserializer DefaultDeserializer = new ImageDeserializer(); private static Image EmptyImage = new Bitmap(1, 1, PixelFormat.Format32bppArgb); - public Image Deserialize(PckAsset file) + public Image Deserialize(PckAsset asset) { - using var stream = new MemoryStream(file.Data); + using var stream = new MemoryStream(asset.Data); try { - if (Path.GetExtension(file.Filename) == ".tga") + if (Path.GetExtension(asset.Filename) == ".tga") return TGADeserializer.DeserializeFromStream(stream); else return Image.FromStream(stream); } catch (Exception ex) { - Trace.TraceError($"Failed to read image from pck file data({file.Filename})."); + Trace.TraceError($"Failed to read image from pck file data({asset.Filename})."); Debug.WriteLine(ex.Message); return EmptyImage; } diff --git a/PCK-Studio/Internal/PckNodeSorter.cs b/PCK-Studio/Internal/PckNodeSorter.cs index 640db7d7..af2390ad 100644 --- a/PCK-Studio/Internal/PckNodeSorter.cs +++ b/PCK-Studio/Internal/PckNodeSorter.cs @@ -15,8 +15,8 @@ namespace PckStudio.Internal private bool CheckForSkinAndCapeFiles(TreeNode node) { - return node.TryGetTagData(out PckAsset file) && - (file.Type == PckAssetType.SkinFile || file.Type == PckAssetType.CapeFile); + return node.TryGetTagData(out PckAsset asset) && + (asset.Type == PckAssetType.SkinFile || asset.Type == PckAssetType.CapeFile); } public int Compare(object x, object y) diff --git a/PCK-Studio/Internal/Serializer/AnimationSerializer.cs b/PCK-Studio/Internal/Serializer/AnimationSerializer.cs index 52010802..fd3bcb9d 100644 --- a/PCK-Studio/Internal/Serializer/AnimationSerializer.cs +++ b/PCK-Studio/Internal/Serializer/AnimationSerializer.cs @@ -17,12 +17,12 @@ namespace PckStudio.Internal.Serializer { public static readonly AnimationSerializer DefaultSerializer = new AnimationSerializer(); - public void Serialize(Animation animation, ref PckAsset file) + public void Serialize(Animation animation, ref PckAsset asset) { string anim = animation.BuildAnim(); - file.SetProperty("ANIM", anim); + asset.SetProperty("ANIM", anim); var texture = animation.BuildTexture(); - file.SetTexture(texture); + asset.SetTexture(texture); } } } diff --git a/PCK-Studio/Internal/Serializer/ImageSerializer.cs b/PCK-Studio/Internal/Serializer/ImageSerializer.cs index 99c9da12..8bd8241b 100644 --- a/PCK-Studio/Internal/Serializer/ImageSerializer.cs +++ b/PCK-Studio/Internal/Serializer/ImageSerializer.cs @@ -17,20 +17,20 @@ namespace PckStudio.Internal.Serializer { public static readonly ImageSerializer DefaultSerializer = new ImageSerializer(); - public void Serialize(Image obj, ref PckAsset file) + public void Serialize(Image obj, ref PckAsset asset) { var stream = new MemoryStream(); try { - if (Path.GetExtension(file.Filename) == ".tga") + if (Path.GetExtension(asset.Filename) == ".tga") TGASerializer.SerializeToStream(stream, obj); else obj.Save(stream, ImageFormat.Png); - file.SetData(stream.ToArray()); + asset.SetData(stream.ToArray()); } catch (Exception ex) { - Trace.TraceError($"Failed to serialize image to pck file data({file.Filename})."); + Trace.TraceError($"Failed to serialize image to pck file data({asset.Filename})."); Debug.WriteLine(ex.Message); } } diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 5f89cede..608eb613 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -1116,7 +1116,7 @@ this.treeViewMain.PathSeparator = "/"; this.treeViewMain.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit); this.treeViewMain.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeViewMain_ItemDrag); - this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.selectNode); + this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewMain_AfterSelect); this.treeViewMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragDrop); this.treeViewMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragEnter); this.treeViewMain.DragOver += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragOver); diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index fc4bc306..688936a7 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -111,15 +111,15 @@ namespace PckStudio } // TODO: decide on how to handle embedded pck files - private void HandleInnerPckFile(PckAsset file) + private void HandleInnerPckFile(PckAsset asset) { if (Settings.Default.LoadSubPcks && - (file.Type == PckAssetType.SkinDataFile || file.Type == PckAssetType.TexturePackInfoFile) && - file.Size > 0 && treeViewMain.SelectedNode.Nodes.Count == 0) + (asset.Type == PckAssetType.SkinDataFile || asset.Type == PckAssetType.TexturePackInfoFile) && + asset.Size > 0 && treeViewMain.SelectedNode.Nodes.Count == 0) { try { - PckFile subPCKfile = file.GetData(new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); + PckFile subPCKfile = asset.GetData(new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); BuildPckTreeView(treeViewMain.SelectedNode.Nodes, subPCKfile); treeViewMain.SelectedNode.ExpandAll(); } @@ -300,9 +300,9 @@ namespace PckStudio private void CheckForPasswordAndRemove() { - if (currentPCK.TryGetFile("0", PckAssetType.InfoFile, out PckAsset file)) + if (currentPCK.TryGetFile("0", PckAssetType.InfoFile, out PckAsset asset)) { - file.RemoveProperties("LOCK"); + asset.RemoveProperties("LOCK"); } } @@ -405,14 +405,14 @@ namespace PckStudio private void BuildPckTreeView(TreeNodeCollection root, PckFile pckFile) { - foreach (PckAsset file in pckFile.GetFiles()) + foreach (PckAsset asset in pckFile.GetFiles()) { // fix any file paths that may be incorrect //if (file.Filename.StartsWith(parentPath)) // file.Filename = file.Filename.Remove(0, parentPath.Length); - TreeNode node = BuildNodeTreeBySeperator(root, file.Filename, '/'); - node.Tag = file; - SetNodeIcon(node, file.Type); + TreeNode node = BuildNodeTreeBySeperator(root, asset.Filename, '/'); + node.Tag = asset; + SetNodeIcon(node, asset.Type); }; } @@ -444,33 +444,33 @@ namespace PckStudio } } - private void HandleTextureFile(PckAsset file) + private void HandleTextureFile(PckAsset asset) { - _ = file.IsMipmappedFile() && currentPCK.TryGetValue(file.GetNormalPath(), PckAssetType.TextureFile, out file); + _ = asset.IsMipmappedFile() && currentPCK.TryGetValue(asset.GetNormalPath(), PckAssetType.TextureFile, out asset); - if (file.Size <= 0) + if (asset.Size <= 0) { - Debug.WriteLine($"'{file.Filename}' size is 0.", category: nameof(HandleTextureFile)); + Debug.WriteLine($"'{asset.Filename}' size is 0.", category: nameof(HandleTextureFile)); return; } - bool isTerrain = file.Filename == "res/terrain.png"; - bool isItems = file.Filename == "res/items.png"; - bool isParticles = file.Filename == "res/particles.png"; - bool isMoonPhases = file.Filename == "res/terrain/moon_phases.png"; - bool isMapIcons = file.Filename == "res/misc/mapicons.png"; - bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; - bool isXPOrbs = file.Filename == "res/item/xporb.png"; - bool isExplosions = file.Filename == "res/misc/explosion.png"; - bool isPaintings = file.Filename == "res/art/kz.png"; - bool isBanners = file.Filename == "res/item/banner/Banner_Atlas.png"; + bool isTerrain = asset.Filename == "res/terrain.png"; + bool isItems = asset.Filename == "res/items.png"; + bool isParticles = asset.Filename == "res/particles.png"; + bool isMoonPhases = asset.Filename == "res/terrain/moon_phases.png"; + bool isMapIcons = asset.Filename == "res/misc/mapicons.png"; + bool isAdditionalMapIcons = asset.Filename == "res/misc/additionalmapicons.png"; + bool isXPOrbs = asset.Filename == "res/item/xporb.png"; + bool isExplosions = asset.Filename == "res/misc/explosion.png"; + bool isPaintings = asset.Filename == "res/art/kz.png"; + bool isBanners = asset.Filename == "res/item/banner/Banner_Atlas.png"; if ( isTerrain || isItems || isParticles || isMoonPhases || isPaintings || isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners ) { - Image img = file.GetTexture(); + Image img = asset.GetTexture(); var tile_size = new Size(); int banner_scale = img.Width / Resources.banners_atlas.Width; @@ -495,7 +495,7 @@ namespace PckStudio tile_size = new Size(resolution, resolution); } - var viewer = new TextureAtlasEditor(currentPCK, file.Filename, img, tile_size); + var viewer = new TextureAtlasEditor(currentPCK, asset.Filename, img, tile_size); if (viewer.ShowDialog(this) == DialogResult.OK) { Image texture = viewer.FinalTexture; @@ -519,21 +519,21 @@ namespace PckStudio texture = _img; } - file.SetTexture(texture); + asset.SetTexture(texture); wasModified = true; BuildMainTreeView(); } return; } - if (!file.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) && - !file.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) + if (!asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) && + !asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) return; - Animation animation = file.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); - string filename = Path.GetFileNameWithoutExtension(file.Filename); + Animation animation = asset.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); + string filename = Path.GetFileNameWithoutExtension(asset.Filename); - var textureInfos = ResourceLocation.GetCategoryFromPath(file.Filename) switch + var textureInfos = ResourceLocation.GetCategoryFromPath(asset.Filename) switch { ResourceCategory.BlockAnimation => Tiles.BlockTileInfos, ResourceCategory.ItemAnimation => Tiles.ItemTileInfos, @@ -548,13 +548,13 @@ namespace PckStudio if (animationEditor.ShowDialog(this) == DialogResult.OK) { wasModified = true; - file.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); + asset.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); BuildMainTreeView(); } } } - private void HandleGameRuleFile(PckAsset file) + private void HandleGameRuleFile(PckAsset asset) { const string use_deflate = "PS3"; const string use_xmem = "Xbox 360"; @@ -574,55 +574,55 @@ namespace PckStudio _ => GameRuleFile.CompressionType.Unknown }; - GameRuleFile grf = file.GetData(new GameRuleFileReader(compressiontype)); + GameRuleFile grf = asset.GetData(new GameRuleFileReader(compressiontype)); using GameRuleFileEditor grfEditor = new GameRuleFileEditor(grf); if (grfEditor.ShowDialog(this) == DialogResult.OK) { - file.SetData(new GameRuleFileWriter(grfEditor.Result)); + asset.SetData(new GameRuleFileWriter(grfEditor.Result)); wasModified = true; UpdateRichPresence(); } } - private void HandleAudioFile(PckAsset file) + private void HandleAudioFile(PckAsset asset) { try { - using AudioEditor audioEditor = new AudioEditor(file, LittleEndianCheckBox.Checked); + using AudioEditor audioEditor = new AudioEditor(asset, LittleEndianCheckBox.Checked); wasModified = audioEditor.ShowDialog(this) == DialogResult.OK; } catch (OverflowException) { - MessageBox.Show(this, $"Failed to open {file.Filename}\n" + + MessageBox.Show(this, $"Failed to open {asset.Filename}\n" + "Try converting the file by using the \"Misc. Functions/Set PCK Endianness\" tool and try again.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception ex) { - MessageBox.Show($"Failed to open {file.Filename}\n" + ex.Message, + MessageBox.Show($"Failed to open {asset.Filename}\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void HandleLocalisationFile(PckAsset file) + private void HandleLocalisationFile(PckAsset asset) { - using LOCEditor locedit = new LOCEditor(file); + using LOCEditor locedit = new LOCEditor(asset); wasModified = locedit.ShowDialog(this) == DialogResult.OK; UpdateRichPresence(); } - private void HandleColourFile(PckAsset file) + private void HandleColourFile(PckAsset asset) { - using COLEditor diag = new COLEditor(file); + using COLEditor diag = new COLEditor(asset); wasModified = diag.ShowDialog(this) == DialogResult.OK; } - public void HandleSkinFile(PckAsset file) + public void HandleSkinFile(PckAsset asset) { - if (file.HasProperty("BOX")) + if (asset.HasProperty("BOX")) { - using generateModel generate = new generateModel(file); + using generateModel generate = new generateModel(asset); if (generate.ShowDialog(this) == DialogResult.OK) { entryDataTextBox.Text = entryTypeTextBox.Text = string.Empty; @@ -632,57 +632,60 @@ namespace PckStudio return; } - Image img = file.GetTexture(); - using var skinViewer = new SkinPreview(img, file.GetProperty("ANIM", SkinANIM.FromString)); + Image img = asset.GetTexture(); + using var skinViewer = new SkinPreview(img, asset.GetProperty("ANIM", SkinANIM.FromString)); skinViewer.ShowDialog(this); } - public void HandleModelsFile(PckAsset file) + public void HandleModelsFile(PckAsset asset) { MessageBox.Show(this, "Models.bin support has not been implemented. You can use the Spark Editor for the time being to edit these files.", "Not implemented yet."); } - public void HandleBehavioursFile(PckAsset file) + public void HandleBehavioursFile(PckAsset asset) { - using BehaviourEditor edit = new BehaviourEditor(file); + using BehaviourEditor edit = new BehaviourEditor(asset); wasModified = edit.ShowDialog(this) == DialogResult.OK; } - public void HandleMaterialFile(PckAsset file) + public void HandleMaterialFile(PckAsset asset) { - using MaterialsEditor edit = new MaterialsEditor(file); + using MaterialsEditor edit = new MaterialsEditor(asset); wasModified = edit.ShowDialog(this) == DialogResult.OK; } - private void selectNode(object sender, TreeViewEventArgs e) + private void treeViewMain_AfterSelect(object sender, TreeViewEventArgs e) { ReloadMetaTreeView(); + entryTypeTextBox.Text = entryDataTextBox.Text = labelImageSize.Text = string.Empty; buttonEdit.Visible = false; + previewPictureBox.Image = Resources.NoImageFound; viewFileInfoToolStripMenuItem.Visible = false; - if (e.Node.TryGetTagData(out PckAsset file)) + + if (e.Node.TryGetTagData(out PckAsset asset)) { viewFileInfoToolStripMenuItem.Visible = true; - if (file.HasProperty("BOX")) + if (asset.HasProperty("BOX")) { buttonEdit.Text = "EDIT BOXES"; buttonEdit.Visible = true; } - else if (file.HasProperty("ANIM") && - file.GetProperty("ANIM", s => SkinANIM.FromString(s) == (SkinAnimMask.RESOLUTION_64x64 | SkinAnimMask.SLIM_MODEL))) + else if (asset.HasProperty("ANIM") && + asset.GetProperty("ANIM", s => SkinANIM.FromString(s) == (SkinAnimMask.RESOLUTION_64x64 | SkinAnimMask.SLIM_MODEL))) { buttonEdit.Text = "View Skin"; buttonEdit.Visible = true; } - switch (file.Type) + switch (asset.Type) { case PckAssetType.SkinFile: case PckAssetType.CapeFile: case PckAssetType.TextureFile: { - Image img = file.GetTexture(); + Image img = asset.GetTexture(); if (img.RawFormat != ImageFormat.Jpeg || img.RawFormat != ImageFormat.Png) { @@ -702,30 +705,30 @@ namespace PckStudio Debug.WriteLine(string.Format("An error occured of type: {0} with message: {1}", ex.GetType(), ex.Message), "Exception"); } - if ((file.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) || - file.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) && - file.Type == PckAssetType.TextureFile - && !file.IsMipmappedFile()) + if ((asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) || + asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) && + asset.Type == PckAssetType.TextureFile + && !asset.IsMipmappedFile()) { buttonEdit.Text = "EDIT TILE ANIMATION"; buttonEdit.Visible = true; } - bool isTerrain = file.Filename == "res/terrain.png"; - bool isItems = file.Filename == "res/items.png"; - bool isParticles = file.Filename == "res/particles.png"; - bool isMoonPhases = file.Filename == "res/terrain/moon_phases.png"; - bool isMapIcons = file.Filename == "res/misc/mapicons.png"; - bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; - bool isXPOrbs = file.Filename == "res/item/xporb.png"; - bool isExplosions = file.Filename == "res/misc/explosion.png"; - bool isPaintings = file.Filename == "res/art/kz.png"; - bool isBanners = file.Filename == "res/item/banner/Banner_Atlas.png"; + bool isTerrain = asset.Filename == "res/terrain.png"; + bool isItems = asset.Filename == "res/items.png"; + bool isParticles = asset.Filename == "res/particles.png"; + bool isMoonPhases = asset.Filename == "res/terrain/moon_phases.png"; + bool isMapIcons = asset.Filename == "res/misc/mapicons.png"; + bool isAdditionalMapIcons = asset.Filename == "res/misc/additionalmapicons.png"; + bool isXPOrbs = asset.Filename == "res/item/xporb.png"; + bool isExplosions = asset.Filename == "res/misc/explosion.png"; + bool isPaintings = asset.Filename == "res/art/kz.png"; + bool isBanners = asset.Filename == "res/item/banner/Banner_Atlas.png"; if (( isTerrain || isItems || isParticles || isMoonPhases || isPaintings || isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners - ) && file.Type == PckAssetType.TextureFile) + ) && asset.Type == PckAssetType.TextureFile) { buttonEdit.Text = "EDIT TEXTURE ATLAS"; buttonEdit.Visible = true; @@ -743,12 +746,12 @@ namespace PckStudio buttonEdit.Visible = true; break; - case PckAssetType.ColourTableFile when file.Filename == "colours.col": + case PckAssetType.ColourTableFile when asset.Filename == "colours.col": buttonEdit.Text = "EDIT COLORS"; buttonEdit.Visible = true; break; - case PckAssetType.BehavioursFile when file.Filename == "behaviours.bin": + case PckAssetType.BehavioursFile when asset.Filename == "behaviours.bin": buttonEdit.Text = "EDIT BEHAVIOURS"; buttonEdit.Visible = true; break; @@ -759,28 +762,28 @@ namespace PckStudio } } - private void extractFile(string outFilePath, PckAsset file) + private void extractFile(string outFilePath, PckAsset asset) { - File.WriteAllBytes(outFilePath, file.Data); - if (file.PropertyCount > 0) + File.WriteAllBytes(outFilePath, asset.Data); + if (asset.PropertyCount > 0) { - File.WriteAllText($"{outFilePath}.txt", file.SerializePropertiesToString()); + File.WriteAllText($"{outFilePath}.txt", asset.SerializePropertiesToString()); } } - private void extractFolderFile(string outPath, PckAsset file) + private void extractFolderFile(string outPath, PckAsset asset) { TreeNode node = treeViewMain.SelectedNode; // abb = "Abbreviated Path" - string abbPath = Path.GetDirectoryName(file.Filename); + string abbPath = Path.GetDirectoryName(asset.Filename); int startIndex = abbPath.IndexOf(node.Text); abbPath = abbPath.Substring(startIndex, abbPath.Length - startIndex); string finalPath = ($"{outPath}/{abbPath}/").Replace('\\', '/'); if (!Directory.Exists(finalPath)) Directory.CreateDirectory(finalPath); - extractFile(finalPath + "/" + Path.GetFileName(file.Filename), file); + extractFile(finalPath + "/" + Path.GetFileName(asset.Filename), asset); } private void extractFolder(string outPath) @@ -793,20 +796,20 @@ namespace PckStudio { GetAllChildNodes(node.Nodes).ForEach(fileNode => { - if (fileNode.TryGetTagData(out PckAsset file)) + if (fileNode.TryGetTagData(out PckAsset asset)) { - extractFolderFile(outPath, file); + extractFolderFile(outPath, asset); } } ); } else { - foreach (PckAsset _file in currentPCK.GetFiles()) + foreach (PckAsset _asset in currentPCK.GetFiles()) { - if (_file.Filename.StartsWith(selectedFolder)) + if (_asset.Filename.StartsWith(selectedFolder)) { - extractFolderFile(outPath, _file); + extractFolderFile(outPath, _asset); } }; } @@ -831,11 +834,11 @@ namespace PckStudio if (dialog.ShowDialog(Handle) == true) extractFolder(dialog.ResultPath); } - else if (node.TryGetTagData(out PckAsset file)) + else if (node.TryGetTagData(out PckAsset asset)) { using SaveFileDialog exFile = new SaveFileDialog(); - exFile.FileName = Path.GetFileName(file.Filename); - exFile.Filter = Path.GetExtension(file.Filename).Replace(".", string.Empty) + " File|*" + Path.GetExtension(file.Filename); + exFile.FileName = Path.GetFileName(asset.Filename); + exFile.Filter = Path.GetExtension(asset.Filename).Replace(".", string.Empty) + " File|*" + Path.GetExtension(asset.Filename); if (exFile.ShowDialog(this) != DialogResult.OK || // Makes sure chosen directory isn't null or whitespace AKA makes sure its usable string.IsNullOrWhiteSpace(Path.GetDirectoryName(exFile.FileName))) @@ -845,7 +848,7 @@ namespace PckStudio return; } - extractFile(exFile.FileName, file); + extractFile(exFile.FileName, asset); } // Verification that file extraction path was successful @@ -877,31 +880,31 @@ namespace PckStudio private void replaceToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckAsset file) + if (treeViewMain.SelectedNode.Tag is PckAsset asset) { using var ofd = new OpenFileDialog(); // Suddenly, and randomly, this started throwing an exception because it wasn't formatted correctly? So now it's formatted correctly and now displays the file type name in the dialog. string extra_extensions = ""; - switch (file.Type) + switch (asset.Type) { case PckAssetType.TextureFile: - if (Path.GetExtension(file.Filename) == ".png") + if (Path.GetExtension(asset.Filename) == ".png") extra_extensions = ";*.tga"; - else if (Path.GetExtension(file.Filename) == ".tga") + else if (Path.GetExtension(asset.Filename) == ".tga") extra_extensions = ";*.png"; break; } - string fileExt = Path.GetExtension(file.Filename); + string fileExt = Path.GetExtension(asset.Filename); - ofd.Filter = $"{file.Type} (*{fileExt}{extra_extensions})|*{fileExt}{extra_extensions}"; + ofd.Filter = $"{asset.Type} (*{fileExt}{extra_extensions})|*{fileExt}{extra_extensions}"; if (ofd.ShowDialog(this) == DialogResult.OK) { string newFileExt = Path.GetExtension(ofd.FileName); - file.SetData(File.ReadAllBytes(ofd.FileName)); - file.Filename = file.Filename.Replace(fileExt, newFileExt); + asset.SetData(File.ReadAllBytes(ofd.FileName)); + asset.Filename = asset.Filename.Replace(fileExt, newFileExt); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); wasModified = true; BuildMainTreeView(); @@ -911,18 +914,18 @@ namespace PckStudio MessageBox.Show(this, "Can't replace a folder."); } - /// - /// Action to run before a file will be deleted - /// - /// File to remove - /// True if the remove should be canceled, otherwise False - private bool BeforeFileRemove(PckAsset file) + /// + /// Action to run before an asset will be deleted + /// + /// Asset to remove + /// True if the remove should be canceled, otherwise False + private bool BeforeFileRemove(PckAsset asset) { string itemPath = ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation); // warn the user about deleting compass.png and clock.png - if (file.Type == PckAssetType.TextureFile && - (file.Filename == itemPath + "/compass.png" || file.Filename == itemPath + "/clock.png")) + if (asset.Type == PckAssetType.TextureFile && + (asset.Filename == itemPath + "/compass.png" || asset.Filename == itemPath + "/clock.png")) { if (MessageBox.Show(this, "Are you sure want to delete this file? If \"compass.png\" or \"clock.png\" are missing, your game will crash upon loading this pack.", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) @@ -930,13 +933,13 @@ namespace PckStudio } // remove loc key if its a skin/cape - if (file.Type == PckAssetType.SkinFile || file.Type == PckAssetType.CapeFile) + if (asset.Type == PckAssetType.SkinFile || asset.Type == PckAssetType.CapeFile) { if (TryGetLocFile(out LOCFile locFile)) { - if (file.TryGetProperty("THEMENAMEID", out string value)) + if (asset.TryGetProperty("THEMENAMEID", out string value)) locFile.RemoveLocKey(value); - if (file.TryGetProperty("DISPLAYNAMEID", out value)) + if (asset.TryGetProperty("DISPLAYNAMEID", out value)) locFile.RemoveLocKey(value); TrySetLocFile(locFile); } @@ -952,9 +955,9 @@ namespace PckStudio string path = node.FullPath; - if (node.TryGetTagData(out PckAsset file)) + if (node.TryGetTagData(out PckAsset asset)) { - if (!BeforeFileRemove(file) && currentPCK.RemoveFile(file)) + if (!BeforeFileRemove(asset) && currentPCK.RemoveFile(asset)) { node.Remove(); wasModified = true; @@ -977,30 +980,30 @@ namespace PckStudio if (node == null) return; string path = node.FullPath; - bool isFile = node.TryGetTagData(out var file); + bool isFile = node.TryGetTagData(out var asset); - using TextPrompt diag = new TextPrompt(isFile ? file.Filename : Path.GetFileName(node.FullPath)); + using TextPrompt diag = new TextPrompt(isFile ? asset.Filename : Path.GetFileName(node.FullPath)); if (diag.ShowDialog(this) == DialogResult.OK) { if (isFile) { - if (currentPCK.Contains(diag.NewText, file.Type)) + if (currentPCK.Contains(diag.NewText, asset.Type)) { MessageBox.Show(this, $"{diag.NewText} already exists", "File already exists"); return; } - file.Filename = diag.NewText; + asset.Filename = diag.NewText; } else // folders { node.Text = diag.NewText; foreach (TreeNode childNode in GetAllChildNodes(node.Nodes)) { - if (childNode.Tag is PckAsset folderFile) + if (childNode.Tag is PckAsset folderAsset) { - if (folderFile.Filename == diag.NewText) continue; - folderFile.Filename = childNode.FullPath; + if (folderAsset.Filename == diag.NewText) continue; + folderAsset.Filename = childNode.FullPath; } } } @@ -1020,36 +1023,36 @@ namespace PckStudio if (currentPCK.HasFile("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck { TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); - if (subPCK.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/"); - add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins.pck/"); - TreeNode newNode = new TreeNode(Path.GetFileName(add.SkinFile.Filename)); - newNode.Tag = add.SkinFile; + if (subPCK.Nodes.ContainsKey("Skins")) add.SkinAsset.Filename = add.SkinAsset.Filename.Insert(0, "Skins/"); + add.SkinAsset.Filename = add.SkinAsset.Filename.Insert(0, "Skins.pck/"); + TreeNode newNode = new TreeNode(Path.GetFileName(add.SkinAsset.Filename)); + newNode.Tag = add.SkinAsset; SetNodeIcon(newNode, PckAssetType.SkinFile); subPCK.Nodes.Add(newNode); RebuildSubPCK(newNode.FullPath); } else { - if (treeViewMain.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/"); // Then Skins folder - currentPCK.AddFile(add.SkinFile); + if (treeViewMain.Nodes.ContainsKey("Skins")) add.SkinAsset.Filename = add.SkinAsset.Filename.Insert(0, "Skins/"); // Then Skins folder + currentPCK.AddFile(add.SkinAsset); } if (add.HasCape) { if (currentPCK.HasFile("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck { TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); - if (subPCK.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/"); - add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins.pck/"); - TreeNode newNode = new TreeNode(Path.GetFileName(add.CapeFile.Filename)); - newNode.Tag = add.CapeFile; + if (subPCK.Nodes.ContainsKey("Skins")) add.CapeAsset.Filename = add.CapeAsset.Filename.Insert(0, "Skins/"); + add.CapeAsset.Filename = add.CapeAsset.Filename.Insert(0, "Skins.pck/"); + TreeNode newNode = new TreeNode(Path.GetFileName(add.CapeAsset.Filename)); + newNode.Tag = add.CapeAsset; SetNodeIcon(newNode, PckAssetType.SkinFile); subPCK.Nodes.Add(newNode); RebuildSubPCK(newNode.FullPath); } else { - if (treeViewMain.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/"); // Then Skins folder - currentPCK.AddFile(add.CapeFile); + if (treeViewMain.Nodes.ContainsKey("Skins")) add.CapeAsset.Filename = add.CapeAsset.Filename.Insert(0, "Skins/"); // Then Skins folder + currentPCK.AddFile(add.CapeAsset); } } @@ -1065,9 +1068,9 @@ namespace PckStudio audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Overworld); audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Nether); audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.End); - PckAsset pckFileData = new PckAsset("audio.pck", PckAssetType.AudioFile); - pckFileData.SetData(new PckAudioFileWriter(audioPck, isLittle ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); - return pckFileData; + PckAsset newAsset = new PckAsset("audio.pck", PckAssetType.AudioFile); + newAsset.SetData(new PckAudioFileWriter(audioPck, isLittle ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); + return newAsset; } private void audiopckToolStripMenuItem_Click(object sender, EventArgs e) @@ -1084,11 +1087,11 @@ namespace PckStudio return; } - PckAsset file = CreateNewAudioFile(LittleEndianCheckBox.Checked); - AudioEditor diag = new AudioEditor(file, LittleEndianCheckBox.Checked); + PckAsset asset = CreateNewAudioFile(LittleEndianCheckBox.Checked); + AudioEditor diag = new AudioEditor(asset, LittleEndianCheckBox.Checked); if (diag.ShowDialog(this) == DialogResult.OK) { - currentPCK.AddFile(file); + currentPCK.AddFile(asset); } diag.Dispose(); BuildMainTreeView(); @@ -1112,8 +1115,8 @@ namespace PckStudio if (animationEditor.ShowDialog() == DialogResult.OK) { wasModified = true; - PckAsset file = currentPCK.CreateNewFile(animationFilepath, PckAssetType.TextureFile); - file.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); + PckAsset asset = currentPCK.CreateNewFile(animationFilepath, PckAssetType.TextureFile); + asset.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); BuildMainTreeView(); ReloadMetaTreeView(); } @@ -1158,9 +1161,9 @@ namespace PckStudio foreach (string node in s) { TreeNode parent = treeViewMain.Nodes.Find(node, true)[0]; - if (parent.TryGetTagData(out PckAsset f) && - (f.Type is PckAssetType.TexturePackInfoFile || - f.Type is PckAssetType.SkinDataFile)) + if (parent.TryGetTagData(out PckAsset asset) && + (asset.Type is PckAssetType.TexturePackInfoFile || + asset.Type is PckAssetType.SkinDataFile)) return parent; } @@ -1178,67 +1181,67 @@ namespace PckStudio Debug.WriteLine(parent.Name); if (parent == null) return; - PckAsset parent_file = parent.Tag as PckAsset; - PckFile parent_file_pck = + PckAsset parentAsset = parent.Tag as PckAsset; + PckFile parentAssetPck = new PckFileReader( LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian - ).FromStream(new MemoryStream(parent_file.Data)); + ).FromStream(new MemoryStream(parentAsset.Data)); - if (parent_file.Type is PckAssetType.TexturePackInfoFile || parent_file.Type is PckAssetType.SkinDataFile) + if (parentAsset.Type is PckAssetType.TexturePackInfoFile || parentAsset.Type is PckAssetType.SkinDataFile) { - Debug.WriteLine("Rebuilding " + parent_file.Filename); - PckFile newPCKFile = new PckFile(3, parent_file.Type is PckAssetType.SkinDataFile); + Debug.WriteLine("Rebuilding " + parentAsset.Filename); + PckFile newPCKFile = new PckFile(3, parentAsset.Type is PckAssetType.SkinDataFile); bool hasSkinsFolder = false; // add original pck files to prevent data loss - foreach (PckAsset _fd in parent_file_pck.GetFiles()) + foreach (PckAsset asset in parentAssetPck.GetFiles()) { - PckAsset new_file = newPCKFile.CreateNewFile(_fd.Filename, _fd.Type); + PckAsset newAsset = newPCKFile.CreateNewFile(asset.Filename, asset.Type); // check for skins folder so files are placed consistently in final pck - if (_fd.Filename.StartsWith("Skins/") && parent_file.Type is PckAssetType.SkinDataFile) hasSkinsFolder = true; - foreach (var prop in _fd.GetProperties()) - new_file.AddProperty(prop); - new_file.SetData(_fd.Data); + if (asset.Filename.StartsWith("Skins/") && parentAsset.Type is PckAssetType.SkinDataFile) hasSkinsFolder = true; + foreach (var prop in asset.GetProperties()) + newAsset.AddProperty(prop); + newAsset.SetData(asset.Data); } foreach (TreeNode node in GetAllChildNodes(parent.Nodes)) { - if (node.Tag is PckAsset node_file) + if (node.Tag is PckAsset nodeAsset) { - PckAsset new_file = newPCKFile.CreateNewFile( + PckAsset newAsset = newPCKFile.CreateNewFile( (hasSkinsFolder ? "Skins/" : String.Empty) - + node_file.Filename.Replace(parent_file.Filename + "/", String.Empty), node_file.Type); - foreach (var prop in node_file.GetProperties()) - new_file.AddProperty(prop); - new_file.SetData(node_file.Data); + + nodeAsset.Filename.Replace(parentAsset.Filename + "/", String.Empty), nodeAsset.Type); + foreach (var prop in nodeAsset.GetProperties()) + newAsset.AddProperty(prop); + newAsset.SetData(nodeAsset.Data); } } - parent_file.SetData(new PckFileWriter(newPCKFile, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); - parent.Tag = parent_file; + parentAsset.SetData(new PckFileWriter(newPCKFile, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); + parent.Tag = parentAsset; // erase hidden sub-pck nodes to prevent duplication parent.Nodes.Clear(); BuildMainTreeView(); - MessageBox.Show(this, $"Files added successfully to {parent_file.Filename}"); + MessageBox.Show(this, $"Files added successfully to {parentAsset.Filename}"); } } private void treeViewMain_DoubleClick(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { - if (file.Size <= 0) + if (asset.Size <= 0) { - Trace.WriteLine($"'{file.Filename}' has no data attached.", category: nameof(treeViewMain_DoubleClick)); + Trace.WriteLine($"'{asset.Filename}' has no data attached.", category: nameof(treeViewMain_DoubleClick)); return; } - pckFileTypeHandler[file.Type]?.Invoke(file); + pckFileTypeHandler[asset.Type]?.Invoke(asset); } } @@ -1254,19 +1257,19 @@ namespace PckStudio private void treeMeta_DoubleClick(object sender, EventArgs e) { if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is KeyValuePair property && - treeViewMain.SelectedNode is TreeNode node && node.Tag is PckAsset file) + treeViewMain.SelectedNode is TreeNode node && node.Tag is PckAsset asset) { - if (file.HasProperty(property.Key)) + if (asset.HasProperty(property.Key)) { switch (property.Key) { - case "ANIM" when file.Type == PckAssetType.SkinFile: + case "ANIM" when asset.Type == PckAssetType.SkinFile: try { using ANIMEditor diag = new ANIMEditor(property.Value); if (diag.ShowDialog(this) == DialogResult.OK) { - file.SetProperty(file.GetPropertyIndex(property), new KeyValuePair("ANIM", diag.ResultAnim.ToString())); + asset.SetProperty(asset.GetPropertyIndex(property), new KeyValuePair("ANIM", diag.ResultAnim.ToString())); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -1281,13 +1284,13 @@ namespace PckStudio } break; - case "BOX" when file.Type == PckAssetType.SkinFile: + case "BOX" when asset.Type == PckAssetType.SkinFile: try { using BoxEditor diag = new BoxEditor(property.Value, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); if (diag.ShowDialog(this) == DialogResult.OK) { - file.SetProperty(file.GetPropertyIndex(property), new KeyValuePair("BOX", diag.Result.ToString())); + asset.SetProperty(asset.GetPropertyIndex(property), new KeyValuePair("BOX", diag.Result.ToString())); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -1311,7 +1314,7 @@ namespace PckStudio { if (addProperty.ShowDialog(this) == DialogResult.OK) { - file.SetProperty(file.GetPropertyIndex(property), addProperty.Property); + asset.SetProperty(asset.GetPropertyIndex(property), addProperty.Property); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -1334,16 +1337,16 @@ namespace PckStudio if (diag.ShowDialog(this) == DialogResult.OK) { - if (node.Tag is PckAsset file) + if (node.Tag is PckAsset asset) { TreeNode newNode = new TreeNode(); newNode.Text = Path.GetFileName(diag.NewText); - var newFile = new PckAsset(diag.NewText, file.Type); - foreach (var property in file.GetProperties()) + var newFile = new PckAsset(diag.NewText, asset.Type); + foreach (var property in asset.GetProperties()) { newFile.AddProperty(property); } - newFile.SetData(file.Data); + newFile.SetData(asset.Data); newFile.Filename = diag.NewText; newNode.Tag = newFile; newNode.ImageIndex = node.ImageIndex; @@ -1373,8 +1376,8 @@ namespace PckStudio private void deleteEntryToolStripMenuItem_Click(object sender, EventArgs e) { if (treeMeta.SelectedNode is TreeNode t && t.Tag is KeyValuePair property && - treeViewMain.SelectedNode is TreeNode main && main.Tag is PckAsset file && - file.RemoveProperty(property)) + treeViewMain.SelectedNode is TreeNode main && main.Tag is PckAsset asset && + asset.RemoveProperty(property)) { treeMeta.SelectedNode.Remove(); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -1386,9 +1389,9 @@ namespace PckStudio { treeMeta.Nodes.Clear(); if (treeViewMain.SelectedNode is TreeNode node && - node.Tag is PckAsset file) + node.Tag is PckAsset asset) { - foreach (var property in file.GetProperties()) + foreach (var property in asset.GetProperties()) { treeMeta.Nodes.Add(CreateNode(property.Key, property)); } @@ -1398,12 +1401,12 @@ namespace PckStudio private void addEntryToolStripMenuItem_Click_1(object sender, EventArgs e) { if (treeViewMain.SelectedNode is TreeNode t && - t.Tag is PckAsset file) + t.Tag is PckAsset asset) { using AddPropertyPrompt addProperty = new AddPropertyPrompt(); if (addProperty.ShowDialog(this) == DialogResult.OK) { - file.AddProperty(addProperty.Property); + asset.AddProperty(addProperty.Property); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -1422,7 +1425,7 @@ namespace PckStudio if (e.Button != MouseButtons.Left || e.Item is not TreeNode node) return; - if ((node.TryGetTagData(out PckAsset file) && currentPCK.Contains(file.Filename, file.Type)) || node.Parent is TreeNode) + if ((node.TryGetTagData(out PckAsset asset) && currentPCK.Contains(asset.Filename, asset.Type)) || node.Parent is TreeNode) { treeViewMain.DoDragDrop(node, DragDropEffects.Move); } @@ -1506,15 +1509,15 @@ namespace PckStudio Debug.WriteLine($"Target drop location is {(isTargetPckFile ? "file" : "folder")}."); // Retrieve the node that was dragged. - if (draggedNode.TryGetTagData(out PckAsset draggedFile) && - targetNode.FullPath != draggedFile.Filename) + if (draggedNode.TryGetTagData(out PckAsset draggedAsset) && + targetNode.FullPath != draggedAsset.Filename) { - Debug.WriteLine(draggedFile.Filename + " was droped onto " + targetNode.FullPath); + Debug.WriteLine(draggedAsset.Filename + " was droped onto " + targetNode.FullPath); string newFilePath = Path.Combine(isTargetPckFile ? Path.GetDirectoryName(targetNode.FullPath) - : targetNode.FullPath, Path.GetFileName(draggedFile.Filename)); + : targetNode.FullPath, Path.GetFileName(draggedAsset.Filename)); Debug.WriteLine("New filepath: " + newFilePath); - draggedFile.Filename = newFilePath; + draggedAsset.Filename = newFilePath; wasModified = true; BuildMainTreeView(); return; @@ -1582,9 +1585,9 @@ namespace PckStudio { var pack = new PckFile(3); - PckAsset zeroFile = pack.CreateNewFile("0", PckAssetType.InfoFile); - zeroFile.AddProperty("PACKID", packId); - zeroFile.AddProperty("PACKVERSION", packVersion); + PckAsset zeroAsset = pack.CreateNewFile("0", PckAssetType.InfoFile); + zeroAsset.AddProperty("PACKID", packId); + zeroAsset.AddProperty("PACKVERSION", packVersion); var locFile = new LOCFile(); locFile.InitializeDefault(packName); @@ -1604,17 +1607,17 @@ namespace PckStudio PckFile infoPCK = new PckFile(3); - PckAsset icon = infoPCK.CreateNewFile("icon.png", PckAssetType.TextureFile); - icon.SetTexture(Resources.TexturePackIcon); + PckAsset iconAsset = infoPCK.CreateNewFile("icon.png", PckAssetType.TextureFile); + iconAsset.SetTexture(Resources.TexturePackIcon); - PckAsset comparison = infoPCK.CreateNewFile("comparison.png", PckAssetType.TextureFile); - comparison.SetTexture(Resources.Comparison); + PckAsset comparisonAsset = infoPCK.CreateNewFile("comparison.png", PckAssetType.TextureFile); + comparisonAsset.SetTexture(Resources.Comparison); - PckAsset texturepackInfo = pack.CreateNewFile($"{res}/{res}Info.pck", PckAssetType.TexturePackInfoFile); - texturepackInfo.AddProperty("PACKID", "0"); - texturepackInfo.AddProperty("DATAPATH", $"{res}Data.pck"); + PckAsset texturepackInfoAsset = pack.CreateNewFile($"{res}/{res}Info.pck", PckAssetType.TexturePackInfoFile); + texturepackInfoAsset.AddProperty("PACKID", "0"); + texturepackInfoAsset.AddProperty("DATAPATH", $"{res}Data.pck"); - texturepackInfo.SetData(new PckFileWriter(infoPCK, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); + texturepackInfoAsset.SetData(new PckFileWriter(infoPCK, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); return pack; } @@ -1622,7 +1625,7 @@ namespace PckStudio private PckFile InitializeMashUpPack(int packId, int packVersion, string packName, string res) { PckFile pack = InitializeTexturePack(packId, packVersion, packName, res, true); - PckAsset gameRuleFile = pack.CreateNewFile("GameRules.grf", PckAssetType.GameRulesFile); + PckAsset gameRuleAsset = pack.CreateNewFile("GameRules.grf", PckAssetType.GameRulesFile); GameRuleFile grfFile = new GameRuleFile(); grfFile.AddRule("MapOptions", new KeyValuePair("seed", "0"), @@ -1639,7 +1642,7 @@ namespace PckStudio new KeyValuePair("spawnZ", "0") ); - gameRuleFile.SetData(new GameRuleFileWriter(grfFile)); + gameRuleAsset.SetData(new GameRuleFileWriter(grfFile)); return pack; } @@ -1782,14 +1785,14 @@ namespace PckStudio continue; } - PckAsset newFile = currentPCK.CreateNewFile(pckfilepath, pckfiletype); + PckAsset newAsset = currentPCK.CreateNewFile(pckfilepath, pckfiletype); byte[] filedata = File.ReadAllBytes(fullfilename); - newFile.SetData(filedata); + newAsset.SetData(filedata); if (File.Exists(fullfilename + ".txt")) { string propertiesFileContent = File.ReadAllText(fullfilename + ".txt"); - newFile.DeserializePropertiesFromString(propertiesFileContent); + newAsset.DeserializePropertiesFromString(propertiesFileContent); } } BuildMainTreeView(); @@ -1799,8 +1802,8 @@ namespace PckStudio private bool TryGetLocFile(out LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locdata) && - !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locdata)) + if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && + !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locAsset)) { locFile = null; return false; @@ -1808,7 +1811,7 @@ namespace PckStudio try { - using (var stream = new MemoryStream(locdata.Data)) + using (var stream = new MemoryStream(locAsset.Data)) { var reader = new LOCFileReader(); locFile = reader.FromStream(stream); @@ -1825,15 +1828,15 @@ namespace PckStudio private bool TrySetLocFile(in LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locdata) && - !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locdata)) + if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && + !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locAsset)) { return false; } try { - locdata.SetData(new LOCFileWriter(locFile, 2)); + locAsset.SetData(new LOCFileWriter(locFile, 2)); return true; } catch (Exception ex) @@ -1902,9 +1905,9 @@ namespace PckStudio TreeNodeCollection nodeCollection = treeViewMain.Nodes; if (treeViewMain.SelectedNode is TreeNode node) { - if (node.Tag is PckAsset fd && - (fd.Type != PckAssetType.TexturePackInfoFile && - fd.Type != PckAssetType.SkinDataFile)) + if (node.Tag is PckAsset asset && + (asset.Type != PckAssetType.TexturePackInfoFile && + asset.Type != PckAssetType.SkinDataFile)) { if (node.Parent is TreeNode parentNode) { @@ -2111,10 +2114,10 @@ namespace PckStudio private void SetFileType(PckAssetType type) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { - Debug.WriteLine($"Setting {file.Type} to {type}"); - file.Type = type; + Debug.WriteLine($"Setting {asset.Type} to {type}"); + asset.Type = type; SetNodeIcon(treeViewMain.SelectedNode, type); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); } @@ -2136,7 +2139,7 @@ namespace PckStudio MessageBox.Show(this, $"'{renamePrompt.NewText}' already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } - PckAsset file = currentPCK.CreateNewFile(renamePrompt.NewText, PckAssetType.TextureFile, () => File.ReadAllBytes(fileDialog.FileName)); + PckAsset asset = currentPCK.CreateNewFile(renamePrompt.NewText, PckAssetType.TextureFile, () => File.ReadAllBytes(fileDialog.FileName)); BuildMainTreeView(); wasModified = true; } @@ -2145,28 +2148,28 @@ namespace PckStudio private void viewFileInfoToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckAsset file) + if (treeViewMain.SelectedNode.Tag is PckAsset asset) { MessageBox.Show(this, - "File path: " + file.Filename + - "\nAssigned File type: " + (int)file.Type + " (" + file.Type + ")" + - "\nFile size: " + file.Size + - "\nProperties count: " + file.PropertyCount - , Path.GetFileName(file.Filename) + " file info"); + "File path: " + asset.Filename + + "\nAssigned File type: " + (int)asset.Type + " (" + asset.Type + ")" + + "\nFile size: " + asset.Size + + "\nProperties count: " + asset.PropertyCount + , Path.GetFileName(asset.Filename) + " file info"); } } private void generateMipMapTextureToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckAsset file && file.Type == PckAssetType.TextureFile) + if (treeViewMain.SelectedNode.Tag is PckAsset asset && asset.Type == PckAssetType.TextureFile) { - string textureDirectory = Path.GetDirectoryName(file.Filename); - string textureName = Path.GetFileNameWithoutExtension(file.Filename); + string textureDirectory = Path.GetDirectoryName(asset.Filename); + string textureName = Path.GetFileNameWithoutExtension(asset.Filename); - if (file.IsMipmappedFile()) + if (asset.IsMipmappedFile()) return; - string textureExtension = Path.GetExtension(file.Filename); + string textureExtension = Path.GetExtension(asset.Filename); using NumericPrompt numericPrompt = new NumericPrompt(0); numericPrompt.Minimum = 1; @@ -2183,10 +2186,10 @@ namespace PckStudio Debug.WriteLine(mippedPath); if (currentPCK.HasFile(mippedPath, PckAssetType.TextureFile)) currentPCK.RemoveFile(currentPCK.GetFile(mippedPath, PckAssetType.TextureFile)); - PckAsset MipMappedFile = new PckAsset(mippedPath, PckAssetType.TextureFile); + PckAsset mipMappedAsset = new PckAsset(mippedPath, PckAssetType.TextureFile); - Image originalTexture = file.GetTexture(); + Image originalTexture = asset.GetTexture(); int NewWidth = Math.Max(originalTexture.Width / (int)Math.Pow(2, i - 1), 1); int NewHeight = Math.Max(originalTexture.Height / (int)Math.Pow(2, i - 1), 1); @@ -2200,9 +2203,9 @@ namespace PckStudio gfx.DrawImage(originalTexture, tileArea); } - MipMappedFile.SetTexture(mippedTexture); + mipMappedAsset.SetTexture(mippedTexture); - currentPCK.InsertFile(currentPCK.IndexOfFile(file) + i - 1, MipMappedFile); + currentPCK.InsertFile(currentPCK.IndexOfFile(asset) + i - 1, mipMappedAsset); } BuildMainTreeView(); } @@ -2216,8 +2219,8 @@ namespace PckStudio MessageBox.Show(this, "A color table file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - PckAsset newColorFile = currentPCK.CreateNewFile("colours.col", PckAssetType.ColourTableFile); - newColorFile.SetData(Resources.tu69colours); + PckAsset newColorAsset = currentPCK.CreateNewFile("colours.col", PckAssetType.ColourTableFile); + newColorAsset.SetData(Resources.tu69colours); BuildMainTreeView(); } @@ -2228,15 +2231,15 @@ namespace PckStudio private void as3DSTextureFileToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file) && - file.Type == PckAssetType.SkinFile) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset) && + asset.Type == PckAssetType.SkinFile) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "3DS Texture|*.3dst"; saveFileDialog.DefaultExt = ".3dst"; if (saveFileDialog.ShowDialog(this) == DialogResult.OK) { - Image img = file.GetTexture(); + Image img = asset.GetTexture(); var writer = new _3DSTextureWriter(img); writer.WriteToFile(saveFileDialog.FileName); } @@ -2245,7 +2248,7 @@ namespace PckStudio private void addMultipleEntriesToolStripMenuItem1_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { using (var input = new MultiTextPrompt()) { @@ -2256,7 +2259,7 @@ namespace PckStudio int idx = line.IndexOf(' '); if (idx == -1 || line.Length - 1 == idx) continue; - file.AddProperty(line.Substring(0, idx), line.Substring(idx + 1)); + asset.AddProperty(line.Substring(0, idx), line.Substring(idx + 1)); } ReloadMetaTreeView(); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -2268,13 +2271,13 @@ namespace PckStudio private void correctSkinDecimalsToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file) && - file.Type == PckAssetType.SkinFile) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset) && + asset.Type == PckAssetType.SkinFile) { - foreach (KeyValuePair p in file.GetProperties().ToList()) + foreach (KeyValuePair p in asset.GetProperties().ToList()) { if (p.Key == "BOX" || p.Key == "OFFSET") - file.SetProperty(file.GetPropertyIndex(p), new KeyValuePair(p.Key, p.Value.Replace(',', '.'))); + asset.SetProperty(asset.GetPropertyIndex(p), new KeyValuePair(p.Key, p.Value.Replace(',', '.'))); } ReloadMetaTreeView(); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -2304,20 +2307,20 @@ namespace PckStudio private void editAllEntriesToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { - string[] props = file.GetProperties().Select(p => p.Key + " " + p.Value).ToArray(); + string[] props = asset.GetProperties().Select(p => p.Key + " " + p.Value).ToArray(); using (var input = new MultiTextPrompt(props)) { if (input.ShowDialog(this) == DialogResult.OK) { - file.ClearProperties(); + asset.ClearProperties(); foreach (string line in input.TextOutput) { int idx = line.IndexOf(' '); if (idx == -1 || line.Length - 1 == idx) continue; - file.AddProperty(line.Substring(0, idx).Replace(":", string.Empty), line.Substring(idx + 1)); + asset.AddProperty(line.Substring(0, idx).Replace(":", string.Empty), line.Substring(idx + 1)); } ReloadMetaTreeView(); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -2345,7 +2348,7 @@ namespace PckStudio MessageBox.Show(this, $"'{diag.Filepath}' of type {diag.Filetype} already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } - PckAsset file = currentPCK.CreateNewFile(diag.Filepath, diag.Filetype, () => File.ReadAllBytes(ofd.FileName)); + PckAsset asset = currentPCK.CreateNewFile(diag.Filepath, diag.Filetype, () => File.ReadAllBytes(ofd.FileName)); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -2440,12 +2443,12 @@ namespace PckStudio private void addBOXEntryToolStripMenuItem1_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode is TreeNode t && t.Tag is PckAsset file) + if (treeViewMain.SelectedNode is TreeNode t && t.Tag is PckAsset asset) { using BoxEditor diag = new BoxEditor(SkinBOX.Empty, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); if (diag.ShowDialog(this) == DialogResult.OK) { - file.AddProperty("BOX", diag.Result); + asset.AddProperty("BOX", diag.Result); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -2456,12 +2459,12 @@ namespace PckStudio private void addANIMEntryToolStripMenuItem1_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset)) { using ANIMEditor diag = new ANIMEditor(SkinANIM.Empty); if (diag.ShowDialog(this) == DialogResult.OK) { - file.AddProperty("ANIM", diag.ResultAnim); + asset.AddProperty("ANIM", diag.ResultAnim); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); ReloadMetaTreeView(); wasModified = true; @@ -2489,19 +2492,19 @@ namespace PckStudio { try { - if (treeViewMain.SelectedNode.Tag is PckAsset file && (file.Type is PckAssetType.AudioFile || file.Type is PckAssetType.SkinDataFile || file.Type is PckAssetType.TexturePackInfoFile)) + if (treeViewMain.SelectedNode.Tag is PckAsset asset && (asset.Type is PckAssetType.AudioFile || asset.Type is PckAssetType.SkinDataFile || asset.Type is PckAssetType.TexturePackInfoFile)) { - IDataFormatReader reader = file.Type is PckAssetType.AudioFile + IDataFormatReader reader = asset.Type is PckAssetType.AudioFile ? new PckAudioFileReader(endianness == OMI.Endianness.BigEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian) : new PckFileReader(endianness == OMI.Endianness.BigEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); - object pck = reader.FromStream(new MemoryStream(file.Data)); + object pck = reader.FromStream(new MemoryStream(asset.Data)); - IDataFormatWriter writer = file.Type is PckAssetType.AudioFile + IDataFormatWriter writer = asset.Type is PckAssetType.AudioFile ? new PckAudioFileWriter((PckAudioFile)pck, endianness) : new PckFileWriter((PckFile)pck, endianness); - file.SetData(writer); + asset.SetData(writer); wasModified = true; - MessageBox.Show($"\"{file.Filename}\" successfully converted to {(endianness == OMI.Endianness.LittleEndian ? "little" : "big")} endian.", "Converted PCK file"); + MessageBox.Show($"\"{asset.Filename}\" successfully converted to {(endianness == OMI.Endianness.LittleEndian ? "little" : "big")} endian.", "Converted PCK file"); } } catch (OverflowException) @@ -2521,11 +2524,11 @@ namespace PckStudio private void SetModelVersion(int version) { - if (treeViewMain.SelectedNode.Tag is PckAsset file && file.Type is PckAssetType.ModelsFile) + if (treeViewMain.SelectedNode.Tag is PckAsset asset && asset.Type is PckAssetType.ModelsFile) { try { - ModelContainer container = file.GetData(new ModelFileReader()); + ModelContainer container = asset.GetData(new ModelFileReader()); if (container.Version == version) { @@ -2557,11 +2560,11 @@ namespace PckStudio return; } - file.SetData(new ModelFileWriter(container, version)); + asset.SetData(new ModelFileWriter(container, version)); wasModified = true; MessageBox.Show( this, - $"\"{file.Filename}\" successfully converted to Version {version + 1} format.", + $"\"{asset.Filename}\" successfully converted to Version {version + 1} format.", "Converted model container file" ); } From d9397eb787a1a98f8ef6b3417b29af3636f9d592 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 21 Jun 2024 19:30:01 +0200 Subject: [PATCH 29/66] Update OMI submodule ref --- PCK-Studio/Extensions/PckFileExtensions.cs | 8 +- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 2 +- .../Skins-And-Textures/AdvancedOptions.cs | 4 +- PCK-Studio/MainForm.cs | 86 +++++++++---------- Vendor/OMI-Lib | 2 +- 5 files changed, 51 insertions(+), 51 deletions(-) diff --git a/PCK-Studio/Extensions/PckFileExtensions.cs b/PCK-Studio/Extensions/PckFileExtensions.cs index bb9386f0..b6099592 100644 --- a/PCK-Studio/Extensions/PckFileExtensions.cs +++ b/PCK-Studio/Extensions/PckFileExtensions.cs @@ -11,18 +11,18 @@ namespace PckStudio.Extensions { internal static class PckFileExtensions { - internal static PckAsset CreateNewFileIf(this PckFile pck, bool condition, string filename, PckAssetType filetype, IDataFormatWriter writer) + internal static PckAsset CreateNewAssetIf(this PckFile pck, bool condition, string filename, PckAssetType filetype, IDataFormatWriter writer) { if (condition) { - return pck.CreateNewFile(filename, filetype, writer); + return pck.CreateNewAsset(filename, filetype, writer); } return null; } - internal static PckAsset CreateNewFile(this PckFile pck, string filename, PckAssetType filetype, IDataFormatWriter writer) + internal static PckAsset CreateNewAsset(this PckFile pck, string filename, PckAssetType filetype, IDataFormatWriter writer) { - var asset = pck.CreateNewFile(filename, filetype); + var asset = pck.CreateNewAsset(filename, filetype); asset.SetData(writer); return asset; } diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 6f91c202..86893b9e 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -170,7 +170,7 @@ namespace PckStudio.Forms.Editor private bool AcquireColorTable(PckFile pckFile) { - if (pckFile.TryGetFile("colours.col", PckAssetType.ColourTableFile, out var colAsset) && + if (pckFile.TryGetAsset("colours.col", PckAssetType.ColourTableFile, out var colAsset) && colAsset.Size > 0) { using var ms = new MemoryStream(colAsset.Data); diff --git a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs index 82af2bd7..da4ee2fb 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs @@ -38,7 +38,7 @@ namespace PckStudio.Popups { if (fileTypeComboBox.SelectedIndex >= 0 && fileTypeComboBox.SelectedIndex <= 13) { - applyBulkProperties(_pckFile.GetFiles(), fileTypeComboBox.SelectedIndex - 1); + applyBulkProperties(_pckFile.GetAssets(), fileTypeComboBox.SelectedIndex - 1); DialogResult = DialogResult.OK; return; } @@ -57,7 +57,7 @@ namespace PckStudio.Popups var reader = new PckFileReader(_endianness); using var ms = new MemoryStream(asset.Data); PckFile subPCK = reader.FromStream(ms); - applyBulkProperties(subPCK.GetFiles(), index); + applyBulkProperties(subPCK.GetAssets(), index); asset.SetData(new PckFileWriter(subPCK, _endianness)); } catch (OverflowException ex) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 688936a7..3c98007e 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -300,7 +300,7 @@ namespace PckStudio private void CheckForPasswordAndRemove() { - if (currentPCK.TryGetFile("0", PckAssetType.InfoFile, out PckAsset asset)) + if (currentPCK.TryGetAsset("0", PckAssetType.InfoFile, out PckAsset asset)) { asset.RemoveProperties("LOCK"); } @@ -308,7 +308,7 @@ namespace PckStudio private void LoadEditorTab() { - fileEntryCountLabel.Text = "Files:" + currentPCK.FileCount; + fileEntryCountLabel.Text = "Files:" + currentPCK.AssetCount; if (isTemplateFile) pckFileLabel.Text = "Unsaved File!"; else @@ -405,7 +405,7 @@ namespace PckStudio private void BuildPckTreeView(TreeNodeCollection root, PckFile pckFile) { - foreach (PckAsset asset in pckFile.GetFiles()) + foreach (PckAsset asset in pckFile.GetAssets()) { // fix any file paths that may be incorrect //if (file.Filename.StartsWith(parentPath)) @@ -425,7 +425,7 @@ namespace PckStudio treeViewMain.Nodes.Clear(); BuildPckTreeView(treeViewMain.Nodes, currentPCK); - if (isTemplateFile && currentPCK.HasFile("Skins.pck", PckAssetType.SkinDataFile)) + if (isTemplateFile && currentPCK.HasAsset("Skins.pck", PckAssetType.SkinDataFile)) { TreeNode skinsNode = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); TreeNode folderNode = CreateNode("Skins"); @@ -805,7 +805,7 @@ namespace PckStudio } else { - foreach (PckAsset _asset in currentPCK.GetFiles()) + foreach (PckAsset _asset in currentPCK.GetAssets()) { if (_asset.Filename.StartsWith(selectedFolder)) { @@ -957,7 +957,7 @@ namespace PckStudio if (node.TryGetTagData(out PckAsset asset)) { - if (!BeforeFileRemove(asset) && currentPCK.RemoveFile(asset)) + if (!BeforeFileRemove(asset) && currentPCK.RemoveAsset(asset)) { node.Remove(); wasModified = true; @@ -1020,7 +1020,7 @@ namespace PckStudio using AddNewSkin add = new AddNewSkin(locFile); if (add.ShowDialog(this) == DialogResult.OK) { - if (currentPCK.HasFile("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck + if (currentPCK.HasAsset("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck { TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); if (subPCK.Nodes.ContainsKey("Skins")) add.SkinAsset.Filename = add.SkinAsset.Filename.Insert(0, "Skins/"); @@ -1034,11 +1034,11 @@ namespace PckStudio else { if (treeViewMain.Nodes.ContainsKey("Skins")) add.SkinAsset.Filename = add.SkinAsset.Filename.Insert(0, "Skins/"); // Then Skins folder - currentPCK.AddFile(add.SkinAsset); + currentPCK.AddAsset(add.SkinAsset); } if (add.HasCape) { - if (currentPCK.HasFile("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck + if (currentPCK.HasAsset("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck { TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); if (subPCK.Nodes.ContainsKey("Skins")) add.CapeAsset.Filename = add.CapeAsset.Filename.Insert(0, "Skins/"); @@ -1052,7 +1052,7 @@ namespace PckStudio else { if (treeViewMain.Nodes.ContainsKey("Skins")) add.CapeAsset.Filename = add.CapeAsset.Filename.Insert(0, "Skins/"); // Then Skins folder - currentPCK.AddFile(add.CapeAsset); + currentPCK.AddAsset(add.CapeAsset); } } @@ -1091,7 +1091,7 @@ namespace PckStudio AudioEditor diag = new AudioEditor(asset, LittleEndianCheckBox.Checked); if (diag.ShowDialog(this) == DialogResult.OK) { - currentPCK.AddFile(asset); + currentPCK.AddAsset(asset); } diag.Dispose(); BuildMainTreeView(); @@ -1115,7 +1115,7 @@ namespace PckStudio if (animationEditor.ShowDialog() == DialogResult.OK) { wasModified = true; - PckAsset asset = currentPCK.CreateNewFile(animationFilepath, PckAssetType.TextureFile); + PckAsset asset = currentPCK.CreateNewAsset(animationFilepath, PckAssetType.TextureFile); asset.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); BuildMainTreeView(); ReloadMetaTreeView(); @@ -1197,9 +1197,9 @@ namespace PckStudio bool hasSkinsFolder = false; // add original pck files to prevent data loss - foreach (PckAsset asset in parentAssetPck.GetFiles()) + foreach (PckAsset asset in parentAssetPck.GetAssets()) { - PckAsset newAsset = newPCKFile.CreateNewFile(asset.Filename, asset.Type); + PckAsset newAsset = newPCKFile.CreateNewAsset(asset.Filename, asset.Type); // check for skins folder so files are placed consistently in final pck if (asset.Filename.StartsWith("Skins/") && parentAsset.Type is PckAssetType.SkinDataFile) hasSkinsFolder = true; foreach (var prop in asset.GetProperties()) @@ -1211,7 +1211,7 @@ namespace PckStudio { if (node.Tag is PckAsset nodeAsset) { - PckAsset newAsset = newPCKFile.CreateNewFile( + PckAsset newAsset = newPCKFile.CreateNewAsset( (hasSkinsFolder ? "Skins/" : String.Empty) + nodeAsset.Filename.Replace(parentAsset.Filename + "/", String.Empty), nodeAsset.Type); foreach (var prop in nodeAsset.GetProperties()) @@ -1365,7 +1365,7 @@ namespace PckStudio if (node.Parent == null) treeViewMain.Nodes.Insert(node.Index + 1, newNode); //adds generated file node else node.Parent.Nodes.Insert(node.Index + 1, newNode);//adds generated file node to selected folder - if (!IsSubPCKNode(node.FullPath)) currentPCK.InsertFile(node.Index + 1, newFile); + if (!IsSubPCKNode(node.FullPath)) currentPCK.InsertAsset(node.Index + 1, newFile); else RebuildSubPCK(node.FullPath); BuildMainTreeView(); wasModified = true; @@ -1565,7 +1565,7 @@ namespace PckStudio MessageBox.Show(this, $"'{addFile.Filepath}' of type {addFile.Filetype} already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); continue; } - var importedFile = currentPCK.CreateNewFile(addFile.Filepath, addFile.Filetype, () => File.ReadAllBytes(filepath)); + var importedFile = currentPCK.CreateNewAsset(addFile.Filepath, addFile.Filetype, () => File.ReadAllBytes(filepath)); string propertyFile = filepath + ".txt"; if (File.Exists(propertyFile)) { @@ -1585,15 +1585,15 @@ namespace PckStudio { var pack = new PckFile(3); - PckAsset zeroAsset = pack.CreateNewFile("0", PckAssetType.InfoFile); + PckAsset zeroAsset = pack.CreateNewAsset("0", PckAssetType.InfoFile); zeroAsset.AddProperty("PACKID", packId); zeroAsset.AddProperty("PACKVERSION", packVersion); var locFile = new LOCFile(); locFile.InitializeDefault(packName); - pack.CreateNewFile("localisation.loc", PckAssetType.LocalisationFile, new LOCFileWriter(locFile, 2)); + pack.CreateNewAsset("localisation.loc", PckAssetType.LocalisationFile, new LOCFileWriter(locFile, 2)); - pack.CreateNewFileIf(createSkinsPCK, "Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true), + pack.CreateNewAssetIf(createSkinsPCK, "Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); @@ -1607,13 +1607,13 @@ namespace PckStudio PckFile infoPCK = new PckFile(3); - PckAsset iconAsset = infoPCK.CreateNewFile("icon.png", PckAssetType.TextureFile); + PckAsset iconAsset = infoPCK.CreateNewAsset("icon.png", PckAssetType.TextureFile); iconAsset.SetTexture(Resources.TexturePackIcon); - PckAsset comparisonAsset = infoPCK.CreateNewFile("comparison.png", PckAssetType.TextureFile); + PckAsset comparisonAsset = infoPCK.CreateNewAsset("comparison.png", PckAssetType.TextureFile); comparisonAsset.SetTexture(Resources.Comparison); - PckAsset texturepackInfoAsset = pack.CreateNewFile($"{res}/{res}Info.pck", PckAssetType.TexturePackInfoFile); + PckAsset texturepackInfoAsset = pack.CreateNewAsset($"{res}/{res}Info.pck", PckAssetType.TexturePackInfoFile); texturepackInfoAsset.AddProperty("PACKID", "0"); texturepackInfoAsset.AddProperty("DATAPATH", $"{res}Data.pck"); @@ -1625,7 +1625,7 @@ namespace PckStudio private PckFile InitializeMashUpPack(int packId, int packVersion, string packName, string res) { PckFile pack = InitializeTexturePack(packId, packVersion, packName, res, true); - PckAsset gameRuleAsset = pack.CreateNewFile("GameRules.grf", PckAssetType.GameRulesFile); + PckAsset gameRuleAsset = pack.CreateNewAsset("GameRules.grf", PckAssetType.GameRulesFile); GameRuleFile grfFile = new GameRuleFile(); grfFile.AddRule("MapOptions", new KeyValuePair("seed", "0"), @@ -1785,7 +1785,7 @@ namespace PckStudio continue; } - PckAsset newAsset = currentPCK.CreateNewFile(pckfilepath, pckfiletype); + PckAsset newAsset = currentPCK.CreateNewAsset(pckfilepath, pckfiletype); byte[] filedata = File.ReadAllBytes(fullfilename); newAsset.SetData(filedata); @@ -1802,8 +1802,8 @@ namespace PckStudio private bool TryGetLocFile(out LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && - !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locAsset)) + if (!currentPCK.TryGetAsset("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && + !currentPCK.TryGetAsset("languages.loc", PckAssetType.LocalisationFile, out locAsset)) { locFile = null; return false; @@ -1828,8 +1828,8 @@ namespace PckStudio private bool TrySetLocFile(in LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && - !currentPCK.TryGetFile("languages.loc", PckAssetType.LocalisationFile, out locAsset)) + if (!currentPCK.TryGetAsset("localisation.loc", PckAssetType.LocalisationFile, out PckAsset locAsset) && + !currentPCK.TryGetAsset("languages.loc", PckAssetType.LocalisationFile, out locAsset)) { return false; } @@ -1866,7 +1866,7 @@ namespace PckStudio return; } - PckAsset importSkinAsset = currentPCK.CreateNewFile(skinNameImport, PckAssetType.SkinFile); + PckAsset importSkinAsset = currentPCK.CreateNewAsset(skinNameImport, PckAssetType.SkinFile); importSkinAsset.SetData(data); string propertyFile = contents.FileName + ".txt"; if (File.Exists(propertyFile)) @@ -2139,7 +2139,7 @@ namespace PckStudio MessageBox.Show(this, $"'{renamePrompt.NewText}' already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } - PckAsset asset = currentPCK.CreateNewFile(renamePrompt.NewText, PckAssetType.TextureFile, () => File.ReadAllBytes(fileDialog.FileName)); + PckAsset asset = currentPCK.CreateNewAsset(renamePrompt.NewText, PckAssetType.TextureFile, () => File.ReadAllBytes(fileDialog.FileName)); BuildMainTreeView(); wasModified = true; } @@ -2184,8 +2184,8 @@ namespace PckStudio { string mippedPath = $"{textureDirectory}/{textureName}MipMapLevel{i}{textureExtension}"; Debug.WriteLine(mippedPath); - if (currentPCK.HasFile(mippedPath, PckAssetType.TextureFile)) - currentPCK.RemoveFile(currentPCK.GetFile(mippedPath, PckAssetType.TextureFile)); + if (currentPCK.HasAsset(mippedPath, PckAssetType.TextureFile)) + currentPCK.RemoveAsset(currentPCK.GetAsset(mippedPath, PckAssetType.TextureFile)); PckAsset mipMappedAsset = new PckAsset(mippedPath, PckAssetType.TextureFile); @@ -2205,7 +2205,7 @@ namespace PckStudio mipMappedAsset.SetTexture(mippedTexture); - currentPCK.InsertFile(currentPCK.IndexOfFile(asset) + i - 1, mipMappedAsset); + currentPCK.InsertAsset(currentPCK.IndexOfAsset(asset) + i - 1, mipMappedAsset); } BuildMainTreeView(); } @@ -2214,12 +2214,12 @@ namespace PckStudio private void colourscolToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("colours.col", PckAssetType.ColourTableFile, out _)) + if (currentPCK.TryGetAsset("colours.col", PckAssetType.ColourTableFile, out _)) { MessageBox.Show(this, "A color table file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - PckAsset newColorAsset = currentPCK.CreateNewFile("colours.col", PckAssetType.ColourTableFile); + PckAsset newColorAsset = currentPCK.CreateNewAsset("colours.col", PckAssetType.ColourTableFile); newColorAsset.SetData(Resources.tu69colours); BuildMainTreeView(); } @@ -2287,13 +2287,13 @@ namespace PckStudio private void CreateSkinsPCKToolStripMenuItem1_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("Skins.pck", PckAssetType.SkinDataFile, out _)) + if (currentPCK.TryGetAsset("Skins.pck", PckAssetType.SkinDataFile, out _)) { MessageBox.Show(this, "A Skins.pck file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true), + currentPCK.CreateNewAsset("Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); BuildMainTreeView(); @@ -2348,7 +2348,7 @@ namespace PckStudio MessageBox.Show(this, $"'{diag.Filepath}' of type {diag.Filetype} already exists.", "Import failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } - PckAsset asset = currentPCK.CreateNewFile(diag.Filepath, diag.Filetype, () => File.ReadAllBytes(ofd.FileName)); + PckAsset asset = currentPCK.CreateNewAsset(diag.Filepath, diag.Filetype, () => File.ReadAllBytes(ofd.FileName)); RebuildSubPCK(treeViewMain.SelectedNode.FullPath); @@ -2361,24 +2361,24 @@ namespace PckStudio private void behavioursbinToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("behaviours.bin", PckAssetType.BehavioursFile, out _)) + if (currentPCK.TryGetAsset("behaviours.bin", PckAssetType.BehavioursFile, out _)) { MessageBox.Show(this, "A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("behaviours.bin", PckAssetType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); + currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); BuildMainTreeView(); } private void entityMaterialsbinToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("entityMaterials.bin", PckAssetType.MaterialFile, out _)) + if (currentPCK.TryGetAsset("entityMaterials.bin", PckAssetType.MaterialFile, out _)) { MessageBox.Show(this, "A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("entityMaterials.bin", PckAssetType.MaterialFile, MaterialResources.MaterialsFileInitializer); + currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, MaterialResources.MaterialsFileInitializer); BuildMainTreeView(); } diff --git a/Vendor/OMI-Lib b/Vendor/OMI-Lib index 16893bc5..55b084f4 160000 --- a/Vendor/OMI-Lib +++ b/Vendor/OMI-Lib @@ -1 +1 @@ -Subproject commit 16893bc51e459f48c6c95d3f5adbb231186728dd +Subproject commit 55b084f40e32e1427c12146fa35fa0525273a696 From 2ad8423eff567b6dc3a7da4c2904c22531724d3b Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 21 Jun 2024 19:49:09 +0200 Subject: [PATCH 30/66] MainForm - Add some main menu icons --- PCK-Studio/MainForm.Designer.cs | 26 +- PCK-Studio/MainForm.resx | 996 +++++++++++++++++++++----------- 2 files changed, 664 insertions(+), 358 deletions(-) diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 608eb613..eb75cbbe 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -89,12 +89,12 @@ this.texturePackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mashUpPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.recentlyOpenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.packSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fullBoxSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.recentlyOpenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.quickChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -534,13 +534,13 @@ this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.newToolStripMenuItem, this.openToolStripMenuItem, - this.packSettingsToolStripMenuItem, - this.saveToolStripMenuItem1, - this.saveToolStripMenuItem, - this.closeToolStripMenuItem, toolStripSeparator2, this.recentlyOpenToolStripMenuItem, toolStripSeparator4, + this.closeToolStripMenuItem, + this.packSettingsToolStripMenuItem, + this.saveToolStripMenuItem1, + this.saveToolStripMenuItem, this.exitToolStripMenuItem}); this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.Silver; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; @@ -579,6 +579,11 @@ this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); // + // recentlyOpenToolStripMenuItem + // + resources.ApplyResources(this.recentlyOpenToolStripMenuItem, "recentlyOpenToolStripMenuItem"); + this.recentlyOpenToolStripMenuItem.Name = "recentlyOpenToolStripMenuItem"; + // // packSettingsToolStripMenuItem // this.packSettingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -608,19 +613,14 @@ // // closeToolStripMenuItem // - this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; resources.ApplyResources(this.closeToolStripMenuItem, "closeToolStripMenuItem"); + this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click); // - // recentlyOpenToolStripMenuItem - // - this.recentlyOpenToolStripMenuItem.Name = "recentlyOpenToolStripMenuItem"; - resources.ApplyResources(this.recentlyOpenToolStripMenuItem, "recentlyOpenToolStripMenuItem"); - // // exitToolStripMenuItem // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem"); + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // editToolStripMenuItem @@ -648,8 +648,8 @@ // // openPckManagerToolStripMenuItem // - this.openPckManagerToolStripMenuItem.Name = "openPckManagerToolStripMenuItem"; resources.ApplyResources(this.openPckManagerToolStripMenuItem, "openPckManagerToolStripMenuItem"); + this.openPckManagerToolStripMenuItem.Name = "openPckManagerToolStripMenuItem"; this.openPckManagerToolStripMenuItem.Click += new System.EventHandler(this.openPckManagerToolStripMenuItem_Click); // // convertMusicFilesToolStripMenuItem diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index 2d5a3cd8..53843773 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -833,6 +833,29 @@ 116, 17 + + 224, 324 + + + contextMenuPCKEntries + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ + /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + TkSuQmCC + + + + 223, 22 + + + Create + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -921,19 +944,20 @@ EntityMaterials.bin - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ - /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB + DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW + mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF TkSuQmCC - + 223, 22 - - Create + + Import @@ -987,20 +1011,11 @@ Add File - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB - DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW - mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF - TkSuQmCC - - - + 223, 22 - - Import + + Export 186, 22 @@ -1008,11 +1023,11 @@ Export as 3DS Texture - + 223, 22 - - Export + + Set File Type 222, 22 @@ -1086,12 +1101,6 @@ Entity Materials File (.BIN) - - 223, 22 - - - Set File Type - 220, 6 @@ -1113,6 +1122,12 @@ Correct Skin Decimals + + 223, 22 + + + Set SubPCK Endianness + 250, 22 @@ -1125,11 +1140,11 @@ Little Endian (PS4/PS Vita/Switch) - + 223, 22 - - Set SubPCK Endianness + + Set Model Container Format 216, 22 @@ -1149,12 +1164,6 @@ Version 3 (1.14 [PS4 ONLY]) - - 223, 22 - - - Set Model Container Format - 220, 6 @@ -1223,15 +1232,6 @@ Delete - - 224, 346 - - - contextMenuPCKEntries - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 17 @@ -1244,24 +1244,6 @@ None - - 151, 22 - - - Skin Pack - - - 151, 22 - - - Texture Pack - - - 151, 22 - - - Mash-Up Pack - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -1296,11 +1278,56 @@ Open - - 160, 22 + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAT + rAAAE6wBzl+vrgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHkSURBVFhH1ZfN + KwVRGIevBRslZUtZsPG1kEhZ21hYKfkTpMTCwoqF4l+QNbKysraU8rW1ZEEUpcg3v2fMYXLn471zz+12 + n3q6c8685z3vzJy65xRqhT45LidyytheWTKD8lR+efJEDkgTTP4kGXgj9+ROThlLDnI9SlMR7sm3ZCMd + ZUKObUnOYzrS6JHuyX1M7iDXrSR3Nx1JsGgI4tX5hpzkZo5EWLkE8f18Q05yM0cipRYwG2qhIgW8h1qo + SAHEooXYAliR93I5aBUXMCy5Pxe0ivFSwKv8lGMyWkCLvAjbizKOsguABcmNOzkdXhO8G14fyAYZB/fR + QmIBddJNdh7+noW/FNUukyAGLSQWANHXjR/SfZY0XHxb0EontQAYkm/SJV2TWRxKYi9l1t9uZgGwLgm6 + lvV0ZNAs9yVjHuSoTMJUAOthRrYGLRss0E1J8hc5JeMwFZAXCl+VTMDaWZL/qWgBjnnJAmaiFToimD/B + iGwKWvmYlM/yKmj9YSqARUTQRtDKT4fs/Ln8xVQANwki2De1UUDVt2RuU8oGslKb0i460uAQQSBbaR9F + kMNty4/oyILDA4cI9yZ4dXy/PDLWPTk5+6UJiuAQwUAf8uTmyaOwY2LRsHLzyNjUg0iVKBS+AWAi5w3z + cKwSAAAAAElFTkSuQmCC + - - Full box support + + 186, 22 + + + Recently open + + + + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAJ10AACddAWJ4eeMAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAADaElEQVR4Xu2bO49NURiGx/1OhCiERhQKFZ2CBAlxvyv8BtHTKTUKkaCViFuCiEQoFESiICiUKgoR + BZGgcHmfYpKTPe+aOWfvb629JftJnmbOmf2t7519XXvNWE9PT09PGZbKE/K8vCZv1vCK3C7/K+bIs/K7 + /BvgH3lc/hcsk0+la6SJbLPzsMu/lK6BpqYC2CLfyG/ytlwuW2GxfCHd4JvKIXBMVtktf8rB73LeKM5C + +UwODmTQT/K+rJ7ghpGT4DZZxTWPX2VR5ssnsjqQca9LAook1Ty+ksWYKx9JNxC8IWfISCZrnp9vlkWY + Ldmt3UDwjpwlI9kpf0hX75fcJ4tAYzToBoIPJAFFMtlfHk/KIrBLs2u7QSCHBIdGJFM1j0dldqbLq9IN + ALkSRJ/wJtvtB80ewDR5Sbri+FwukpEM2zxmDYDmL0pXGLn0cBcYySjNY9YATktXFHM0P9Wlzv08WwAb + 5W/pir6VPPxEMlXzfO4+yxbAPekKvpMrZCTDNA/u8ywBcFLjBqNa7L1cKSMZtnlw38kSwCbpiu2QkYzS + PLjvHZHhHJCu2DwZxajNc0Vy380SABt1xRhEBHXu7VMBHJbh5Ayg7oMNd6Pud7IEwEZdsaYB1G0eUgEc + kuGkAmAQdWnSPPAw5n43SwBs1BWrG0DT5qETAdSZ5YloHlIBHJThRAUQ1TzMlG47WQJgo67YKAFENg+p + ALhnCScVAIMYhujmgek4t70sAaTuBIcJIEfz0IkApprtzdU8pALYL8OpE0DO5oHZZrftLAHwSqpaiOZS + 9wGjPtjUoWgAS+RnOVjornSUaB6KBgDMCfDKm5eOvH52s0ClmgcWX7g6TQ+t2uQ+5qukAtgri1O6eeCt + k6tXPIA2modOBNBW85AKYI8sQpvNA/ORrnaRANpuHloLoAvNA0ty3BgiL7UT6ErzUDyALjUPqQB2yXC6 + 1jwskG484QF0sXkoEgDLT1P39uhWbZZilXRj2irDYO2tKzIuCyba4ox0Y1orw2DhsSsy6Gv5WPKEWF3e + Gi01qEVNN5aPssnLmgnckq5QVz0nQ2HJOakzB8DhQMKucBf8IKPXKE1gvfwi3QDalNmqDbIIq+VD6QbS + hqxIXSOLs06ekhfkZVn3n6FGkRrUoia1GUNPT09Pz+iMjf0D9wsBsNeAg5QAAAAASUVORK5CYII= + + + + 186, 22 + + + Close + + + False 186, 22 @@ -1355,20 +1382,17 @@ Save As - - 186, 22 - - - Close - - - False - - - 186, 22 - - - Recently open + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEkSURBVFhH7ZfN + asJAFEbzEoo/b6QU36a6LhR8IzdKlVJoQTd24WuUtpuu9Dsjs5FI594ZCEQPHHBg7s2XxISb6k4CE7mW + v/KYKHtf5IPMYi7rDmDxWbrgzGnwJx/lQKbC3qmklh5jaYbLTjGNvFBLj1VYGfmRFPfDykdP0uM7rIxQ + iLm4+7QmAI8jmikVwE0rAizkVnbDykiJABycHp/SHKJEgI7cS/ocpOmd8l+AjYx7Un2XycSia3gCfMhk + YlEOl7eAV3MyJQLsJD0a+xNyyRt9DLNoTYA3+Xr+aaNUAHefxgPEkcwyjF4ylPT4CisjDBEU5wylM0mP + ZVgZ4aOCYkZrQuSM5SPpgo8KGuT4JLPgo4K5ntG67gB1spfL7j7zW6GqTtAaslLCb2cpAAAAAElFTkSu + QmCC + 186, 22 @@ -1382,6 +1406,108 @@ File + + 39, 20 + + + Edit + + + + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAA6pJREFUeF7tms9vDVEYhouqpFZVRFpdd+cPkFphQeKPqIUfSVl0Y9OQWNpXE/ak + SEhYkEjZUFZERCxtCaKKWKDe787jpNftmTlzz4x0rvMkb3Lzzfu9c8690zkz0+lLJBKJRCKRqIOVlZUx + 6Yb0WSqL9dyUxolrFhq4Tf6DFMtHaYzY5qBB2y9fFdeIbQ4adDeHvY8lYpsDA3dQDoY2B+XmwLgdlIOh + zUG5OTBuB+VgaHNQbg6M20E5GNoclP8N2l/M+r3eKHc9IWNV6/d6I+x6QqYq1+/1RvH1hEy9cNj7KL6e + wNizME0/+HoWpukHX8/CNP3gK8NeWq13IivVStT+aPUjz6R0S/pmDUXQ5qBcG+zGQbmIr5LNaZK2YmQe + lA5K56V70hvpu9QGdgfl2mA3DsqrsTHaWO9KNvYD0iD2RKIIHS7T0h5pA6XGY3NhTtOU/Mj0h7fSFem4 + ZGfbXdIWbOsWGyNjtTGfkK5KNpcW2PzgC4Y2B+XaYDcOysHQ5gdfMLQ5KNcGu3FQDoY2P/jKMEGr9e7L + SrUStT9a/eDrWZimH3x18Ez6kX3M5af0PPtYPUzTD74qeS0dJnumVclnBu9+6UWrUiGWnQu+KrBHUGek + AaIte6N0X/LxUNqE3fz90jHpnVQJRPvBF8ttaZjINlQfkeyXfSktSA+kV5IdKSPY2lB9WLojRUOkH3yx + XCCuMiwzi46DOD/4YrHDfyuR0SjL7kzfW3AsRPrBVwUniYzGsrLIeIj0g68KFoiMRll2nqgEIv3gi+WX + dITIaJR1iMxoiPSDL5aLxFWGZWbRcRDnB18M9ixxB3EdaJvdrp6WnkhfkH0+JXlvt7Vtu2TP9qIgzg++ + GOaI6kDbRqW8y1y7XB7F3oG2zbZcERDlB18ZHkmXpLOSPVEeIqoN1e2XD7nGty9hzSNB9SHpqHROuiw9 + lkpBlB98ZeinNRf57LAPZYq2XOTbnNnDodUPvmBoK0TWp1lHEIu0FYI/GNr84AuGtkJkXc46glimrRD8 + wdDmB18wtBUia5kvIPi1OPzB0OYHXzC0FSJrY/4Eyr4gEXoStHU+lLpOgp9o9SOTvVBUBluKbEmypcmW + qLxl0Ja4IszjHqKsRvVtUswyOE+UH5nGJbud7ZZZojrQNrsQyvsSii6E5lqu7rDb6d1E5SOjvSl2Xerm + fSG7XF3zaZChbQPSlLQo2YnRZL+k1db85Q1t2ykF/cv+L5akeSls8olEIpFIJP4T+vp+A8lMcFIN42ej + AAAAAElFTkSuQmCC + + + + 62, 20 + + + Tools + + + + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAeRJREFUeF7tzjGOIzEMAEH//9N3SaEzwzLH2plAFTZEUq/jOI7jOI5f+beZM8/l + n9s481z+uY0zz+Wf2zjzHP4VeRtnIt/HPyJv40zk+/hH5G2ciXwf/4i8jTOR/467kW/jG5H3cSfybXwj + 8j7uRL6Nb0Tex53It/GNyL9jb+RlxsasWWYs8pw9kZcZG7NmmbHIc/ZEXmZszJplxiLP2RN5mbExa5YZ + izxnT+RlxiK/5VnkZcYiz9kTeZmxyG95FnmZschz9kReZizyW55FXmYs8pw9kZcZi/yWZ5GXGYs8Z0/k + bZyJvMxY5Dl7Im/jTORlxiLP2RN5G2ciLzMWec6eyNs4E3mZschz9kS+zLqPPF9mLPKcPZEvs+4jz5cZ + izxnT+TLrPvI82XGIs/ZE/ky6z7yfJmxyHP2RL7MusiXWRd5zp7Il1kX+TLrIs/ZE/mxfDPynD2RH8s3 + I8/ZE/mxfDPynD2RH8s3I8/ZE/ky6yJfZl3kOXsiX2Zd5Musi/w79kb+mvHIXzMeeR93In/NeOSvGY+8 + jzuRb+MbkfdxJ/JtfCPy33E38jbORL6Pf0TexpnI9/GPyNs4E/k+/hF5G2ciP4d/bePMc/nnNs48l39u + 48xz+ec2zhzHcRzHcVz0ev0HFtq118xXwn0AAAAASUVORK5CYII= + + + + 60, 20 + + + Help + + + 24, 44 + + + 1016, 24 + + + 2 + + + MainMenuStrip + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + 151, 22 + + + Skin Pack + + + 151, 22 + + + Texture Pack + + + 151, 22 + + + Mash-Up Pack + + + 160, 22 + + + Full box support + False @@ -1539,11 +1665,20 @@ Quick Change - - 39, 20 - - - Edit + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAA + rgAAAK4B+ff3XQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHrSURBVFhH7dZB + KCVxAMfxhyinTbQHXOyFLW1JbW1tkshBIuHi4LxtOWhbm/ZkLw6iOEgpJyUHJScUUqK4bBSrlCthV3bb + k13f3zP/Z+b5z/PGvMfl/epTM/znP795b95/JpJJEilHD/p8tCMfaUkF/uL/A5aQlujKdYJ52K5eDqAx + DUh5PkGTq4hfOqEx6ygIIAvWvMUYJrAJTb7h7MswqmGSjT1oXBDnaIYnRbiC7QA3jSmGSSV0HxwFcI1D + eFILnWAR9T4moTEjCJNL/LzdvEsdNPlUdM+el/iNP2iCraTNG7i/91iBGqxgBz+gAmfOvug++Ar3wd+g + cUFNwyRW4AS2wfG6YKIb7zNmMJukU2gefYJKrID+qLvY9lORRmjMPnLw2KxC87yK7sUV+K6NBFmDxo3D + thjZfEAJTEIV0NqQzJIcTx97IZRQBZQq9MJ2tTZaGTW3WWxCFwiaIWhuPS2VTIFMAVPgFy7wD7t4tgJa + /N7jyQuYryCWMAX0gGqB3iNeoBW5UEyBj9BJt5z9MngSpsA76PhR9DvbKqGYAm56C8qDJ/rHYwuUQk/T + brQ526+hmAKaexlzUOF7CVMgUeLvAd9o0DE6UmwBmtt8Jb7Zhgamg17d3C+v1ugO/oLBFBuA3gMzSZBI + 5Ab5tjecGDuUzgAAAABJRU5ErkJggg== + 161, 22 @@ -1551,6 +1686,12 @@ Pck Manager + + 161, 22 + + + Audio Converter + 145, 22 @@ -1563,40 +1704,6 @@ Binka -> Wav - - 161, 22 - - - Audio Converter - - - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DAAACwwBP0AiyAAAA6pJREFUeF7tms9vDVEYhouqpFZVRFpdd+cPkFphQeKPqIUfSVl0Y9OQWNpXE/ak - SEhYkEjZUFZERCxtCaKKWKDe787jpNftmTlzz4x0rvMkb3Lzzfu9c8690zkz0+lLJBKJRCKRqIOVlZUx - 6Yb0WSqL9dyUxolrFhq4Tf6DFMtHaYzY5qBB2y9fFdeIbQ4adDeHvY8lYpsDA3dQDoY2B+XmwLgdlIOh - zUG5OTBuB+VgaHNQbg6M20E5GNoclP8N2l/M+r3eKHc9IWNV6/d6I+x6QqYq1+/1RvH1hEy9cNj7KL6e - wNizME0/+HoWpukHX8/CNP3gK8NeWq13IivVStT+aPUjz6R0S/pmDUXQ5qBcG+zGQbmIr5LNaZK2YmQe - lA5K56V70hvpu9QGdgfl2mA3DsqrsTHaWO9KNvYD0iD2RKIIHS7T0h5pA6XGY3NhTtOU/Mj0h7fSFem4 - ZGfbXdIWbOsWGyNjtTGfkK5KNpcW2PzgC4Y2B+XaYDcOysHQ5gdfMLQ5KNcGu3FQDoY2P/jKMEGr9e7L - SrUStT9a/eDrWZimH3x18Ez6kX3M5af0PPtYPUzTD74qeS0dJnumVclnBu9+6UWrUiGWnQu+KrBHUGek - AaIte6N0X/LxUNqE3fz90jHpnVQJRPvBF8ttaZjINlQfkeyXfSktSA+kV5IdKSPY2lB9WLojRUOkH3yx - XCCuMiwzi46DOD/4YrHDfyuR0SjL7kzfW3AsRPrBVwUniYzGsrLIeIj0g68KFoiMRll2nqgEIv3gi+WX - dITIaJR1iMxoiPSDL5aLxFWGZWbRcRDnB18M9ixxB3EdaJvdrp6WnkhfkH0+JXlvt7Vtu2TP9qIgzg++ - GOaI6kDbRqW8y1y7XB7F3oG2zbZcERDlB18ZHkmXpLOSPVEeIqoN1e2XD7nGty9hzSNB9SHpqHROuiw9 - lkpBlB98ZeinNRf57LAPZYq2XOTbnNnDodUPvmBoK0TWp1lHEIu0FYI/GNr84AuGtkJkXc46glimrRD8 - wdDmB18wtBUia5kvIPi1OPzB0OYHXzC0FSJrY/4Eyr4gEXoStHU+lLpOgp9o9SOTvVBUBluKbEmypcmW - qLxl0Ja4IszjHqKsRvVtUswyOE+UH5nGJbud7ZZZojrQNrsQyvsSii6E5lqu7rDb6d1E5SOjvSl2Xerm - fSG7XF3zaZChbQPSlLQo2YnRZL+k1db85Q1t2ykF/cv+L5akeSls8olEIpFIJP4T+vp+A8lMcFIN42ej - AAAAAElFTkSuQmCC - - - - 62, 20 - - - Tools - iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -2110,6 +2217,20 @@ About + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 + jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq + myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp + JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC + + + + 205, 22 + + + Tutorials + 312, 22 @@ -2152,38 +2273,6 @@ How PCKs work - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 - jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq - myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp - JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC - - - - 205, 22 - - - Tutorials - - - 233, 22 - - - Nobledez (Original Developer) - - - 233, 22 - - - PhoenixARC (Developer) - - - 233, 22 - - - MattNL (Other Developer) - iVBORw0KGgoAAAANSUhEUgAAAgAAAAIBCAYAAAA/JAdfAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN @@ -2482,6 +2571,24 @@ Support a Developer + + 233, 22 + + + Nobledez (Original Developer) + + + 233, 22 + + + PhoenixARC (Developer) + + + 233, 22 + + + MattNL (Other Developer) + iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -2938,53 +3045,32 @@ Settings - - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DAAACwwBP0AiyAAAAeRJREFUeF7tzjGOIzEMAEH//9N3SaEzwzLH2plAFTZEUq/jOI7jOI5f+beZM8/l - n9s481z+uY0zz+Wf2zjzHP4VeRtnIt/HPyJv40zk+/hH5G2ciXwf/4i8jTOR/467kW/jG5H3cSfybXwj - 8j7uRL6Nb0Tex53It/GNyL9jb+RlxsasWWYs8pw9kZcZG7NmmbHIc/ZEXmZszJplxiLP2RN5mbExa5YZ - izxnT+RlxiK/5VnkZcYiz9kTeZmxyG95FnmZschz9kReZizyW55FXmYs8pw9kZcZi/yWZ5GXGYs8Z0/k - bZyJvMxY5Dl7Im/jTORlxiLP2RN5G2ciLzMWec6eyNs4E3mZschz9kS+zLqPPF9mLPKcPZEvs+4jz5cZ - izxnT+TLrPvI82XGIs/ZE/ky6z7yfJmxyHP2RL7MusiXWRd5zp7Il1kX+TLrIs/ZE/mxfDPynD2RH8s3 - I8/ZE/mxfDPynD2RH8s3I8/ZE/ky6yJfZl3kOXsiX2Zd5Musi/w79kb+mvHIXzMeeR93In/NeOSvGY+8 - jzuRb+MbkfdxJ/JtfCPy33E38jbORL6Pf0TexpnI9/GPyNs4E/k+/hF5G2ciP4d/bePMc/nnNs48l39u - 48xz+ec2zhzHcRzHcVz0ev0HFtq118xXwn0AAAAASUVORK5CYII= - - - - 60, 20 - - - Help - - - 24, 44 - - - 1016, 24 - - - 2 - - - MainMenuStrip - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - 298, 17 + + 182, 92 + + + contextMenuMetaTree + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x + DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 + jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC + + + + 181, 22 + + + Add Entry + 160, 22 @@ -3003,20 +3089,6 @@ Add ANIM Entry - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x - DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 - jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC - - - - 181, 22 - - - Add Entry - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -3052,14 +3124,128 @@ Edit All Entries - - 182, 92 + + openTab - - contextMenuMetaTree + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabControl + + + 0 + + + editorTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 1 + + + Fill + + + 20, 30 + + + 0, 0, 0, 0 + + + 1024, 600 + + + 0 + + + tabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 4 + + + pckOpen + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openTab + + + 2 + + + label5 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + openTab + + + 3 + + + labelVersion + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + openTab + + + 4 + + + ChangelogRichTextBox + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openTab + + + 5 + + + 4, 38 + + + 18, 30, 20, 5 + + + 1016, 558 + + + 1 + + + openTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 0 None @@ -4171,33 +4357,120 @@ 5 - - 4, 38 - - - 18, 30, 20, 5 - - - 1016, 558 - - - 1 - - - openTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 0 - + + True + None + + pckFileLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 2 + + + labelImageSize + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 3 + + + fileEntryCountLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 4 + + + PropertiesTabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 5 + + + label11 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 6 + + + treeViewMain + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editorTab + + + 7 + + + previewPictureBox + + + PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null + + + editorTab + + + 9 + + + 4, 38 + + + 5, 50, 5, 7 + + + 1016, 558 + + + 0 + + + editorTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 1 + 3, 17 @@ -4276,6 +4549,138 @@ Top, Bottom, Right + + MetaTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + PropertiesTabControl + + + 0 + + + 338, 277 + + + 671, 282 + + + 11 + + + PropertiesTabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 5 + + + metroLabel2 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 2 + + + treeMeta + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MetaTab + + + 3 + + + entryTypeTextBox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 4 + + + entryDataTextBox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 5 + + + buttonEdit + + + MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 6 + + + metroLabel1 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 7 + + + 4, 38 + + + 3, 3, 3, 3 + + + 663, 240 + + + 0 + + + Properties + + + MetaTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + PropertiesTabControl + + + 0 + Top, Right @@ -4477,54 +4882,6 @@ 7 - - 4, 38 - - - 3, 3, 3, 3 - - - 663, 240 - - - 0 - - - Properties - - - MetaTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - PropertiesTabControl - - - 0 - - - 338, 277 - - - 671, 282 - - - 11 - - - PropertiesTabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 5 - True @@ -4627,57 +4984,6 @@ 9 - - 4, 38 - - - 5, 50, 5, 7 - - - 1016, 558 - - - 0 - - - editorTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 1 - - - Fill - - - 20, 30 - - - 0, 0, 0, 0 - - - 1024, 600 - - - 0 - - - tabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 4 - Top, Right @@ -7574,6 +7880,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + recentlyOpenToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + packSettingsToolStripMenuItem @@ -7604,12 +7916,6 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - recentlyOpenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - exitToolStripMenuItem From fcdadb35306272ad4d1a0fa8d8239851e36dc4fc Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 21 Jun 2024 20:04:08 +0200 Subject: [PATCH 31/66] GithubUserPanel - Add todo --- PCK-Studio/ToolboxItems/GithubUserPanel.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/PCK-Studio/ToolboxItems/GithubUserPanel.cs b/PCK-Studio/ToolboxItems/GithubUserPanel.cs index 31c026d4..124717d7 100644 --- a/PCK-Studio/ToolboxItems/GithubUserPanel.cs +++ b/PCK-Studio/ToolboxItems/GithubUserPanel.cs @@ -41,6 +41,7 @@ namespace PckStudio.ToolboxItems private void LoadAuthor() { + // TODO: find a better way to check if the avatar has changed since last cache. string cacheKey = Convert.ToBase64String(Encoding.Default.GetBytes(_contributor.AvatarUrl)); if (!ApplicationScope.DataCacher.HasFileCached(cacheKey)) From ba7a950f175de8a61f0e3e3ebbe08f6ca5b79962 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 22 Jun 2024 00:32:37 +0200 Subject: [PATCH 32/66] Move internal app related classes into 'Internal/App' --- PCK-Studio/Classes/API/Miles/Binka.cs | 1 + PCK-Studio/Classes/Utils/BinkaConverter.cs | 1 + PCK-Studio/Extensions/ImageExtensions.cs | 1 + .../Forms/Additional-Popups/Animation/ChangeTile.cs | 1 + PCK-Studio/Forms/ContributorsForm.cs | 1 + PCK-Studio/Forms/Editor/AudioEditor.cs | 1 + PCK-Studio/Forms/Editor/BehaviourEditor.cs | 1 + PCK-Studio/Forms/Editor/MaterialsEditor.cs | 1 + PCK-Studio/Internal/{ => App}/ApplicationBuildInfo.cs | 2 +- PCK-Studio/Internal/{ => App}/ApplicationScope.cs | 2 +- PCK-Studio/Internal/{ => App}/CommitInfo.cs | 2 +- PCK-Studio/Internal/{ => App}/Profiler.cs | 2 +- PCK-Studio/Internal/{ => App}/SettingsManager.cs | 2 +- PCK-Studio/Internal/Misc/RichPresenceClient.cs | 1 + PCK-Studio/MainForm.cs | 1 + PCK-Studio/PckStudio.csproj | 10 +++++----- PCK-Studio/Program.cs | 1 + PCK-Studio/ToolboxItems/GithubUserPanel.cs | 1 + 18 files changed, 22 insertions(+), 10 deletions(-) rename PCK-Studio/Internal/{ => App}/ApplicationBuildInfo.cs (98%) rename PCK-Studio/Internal/{ => App}/ApplicationScope.cs (98%) rename PCK-Studio/Internal/{ => App}/CommitInfo.cs (98%) rename PCK-Studio/Internal/{ => App}/Profiler.cs (98%) rename PCK-Studio/Internal/{ => App}/SettingsManager.cs (98%) diff --git a/PCK-Studio/Classes/API/Miles/Binka.cs b/PCK-Studio/Classes/API/Miles/Binka.cs index 78fd8e5a..ad2bb793 100644 --- a/PCK-Studio/Classes/API/Miles/Binka.cs +++ b/PCK-Studio/Classes/API/Miles/Binka.cs @@ -4,6 +4,7 @@ using System.IO; using System.Runtime.InteropServices; using PckStudio.Extensions; using PckStudio.Internal; +using PckStudio.Internal.App; using SharpMSS; namespace PckStudio.API.Miles diff --git a/PCK-Studio/Classes/Utils/BinkaConverter.cs b/PCK-Studio/Classes/Utils/BinkaConverter.cs index f6f5e9e6..630f0904 100644 --- a/PCK-Studio/Classes/Utils/BinkaConverter.cs +++ b/PCK-Studio/Classes/Utils/BinkaConverter.cs @@ -9,6 +9,7 @@ using System.Windows.Forms; using System.IO; using PckStudio.Internal; using System.Text.RegularExpressions; +using PckStudio.Internal.App; namespace PckStudio.Classes.Utils { diff --git a/PCK-Studio/Extensions/ImageExtensions.cs b/PCK-Studio/Extensions/ImageExtensions.cs index 27a5ff70..f1c57cd8 100644 --- a/PCK-Studio/Extensions/ImageExtensions.cs +++ b/PCK-Studio/Extensions/ImageExtensions.cs @@ -26,6 +26,7 @@ using System.Linq; using PckStudio.Internal; using System.Runtime.CompilerServices; using System.Threading.Tasks; +using PckStudio.Internal.App; namespace PckStudio.Extensions { diff --git a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs b/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs index 9c73ce19..850654fc 100644 --- a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs +++ b/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs @@ -5,6 +5,7 @@ using System.Windows.Forms; using MetroFramework.Forms; using PckStudio.Extensions; using PckStudio.Internal; +using PckStudio.Internal.App; using PckStudio.Internal.Json; namespace PckStudio.Forms.Additional_Popups.Animation diff --git a/PCK-Studio/Forms/ContributorsForm.cs b/PCK-Studio/Forms/ContributorsForm.cs index b4bf59ed..51906542 100644 --- a/PCK-Studio/Forms/ContributorsForm.cs +++ b/PCK-Studio/Forms/ContributorsForm.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using MetroFramework.Forms; using PckStudio.Internal; +using PckStudio.Internal.App; using PckStudio.ToolboxItems; namespace PckStudio.Forms diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index 693cca20..d9565d4f 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -20,6 +20,7 @@ using PckStudio.Properties; using PckStudio.API.Miles; using PckStudio.Internal; using PckStudio.Extensions; +using PckStudio.Internal.App; // Audio Editor by MattNL and Miku-666 diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 94f22c07..613ddffe 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -15,6 +15,7 @@ using PckStudio.Properties; using PckStudio.Internal; using PckStudio.Extensions; using PckStudio.Internal.Json; +using PckStudio.Internal.App; namespace PckStudio.Forms.Editor { diff --git a/PCK-Studio/Forms/Editor/MaterialsEditor.cs b/PCK-Studio/Forms/Editor/MaterialsEditor.cs index 7b0cb021..8a878314 100644 --- a/PCK-Studio/Forms/Editor/MaterialsEditor.cs +++ b/PCK-Studio/Forms/Editor/MaterialsEditor.cs @@ -13,6 +13,7 @@ using OMI.Workers.Material; using PckStudio.Internal; using PckStudio.Extensions; using PckStudio.Internal.Json; +using PckStudio.Internal.App; namespace PckStudio.Forms.Editor { diff --git a/PCK-Studio/Internal/ApplicationBuildInfo.cs b/PCK-Studio/Internal/App/ApplicationBuildInfo.cs similarity index 98% rename from PCK-Studio/Internal/ApplicationBuildInfo.cs rename to PCK-Studio/Internal/App/ApplicationBuildInfo.cs index cadde39e..f7a0007f 100644 --- a/PCK-Studio/Internal/ApplicationBuildInfo.cs +++ b/PCK-Studio/Internal/App/ApplicationBuildInfo.cs @@ -19,7 +19,7 @@ using System; using System.IO; using System.Reflection; -namespace PckStudio.Internal +namespace PckStudio.Internal.App { static internal class ApplicationBuildInfo { diff --git a/PCK-Studio/Internal/ApplicationScope.cs b/PCK-Studio/Internal/App/ApplicationScope.cs similarity index 98% rename from PCK-Studio/Internal/ApplicationScope.cs rename to PCK-Studio/Internal/App/ApplicationScope.cs index dfa04d9f..d489938b 100644 --- a/PCK-Studio/Internal/ApplicationScope.cs +++ b/PCK-Studio/Internal/App/ApplicationScope.cs @@ -10,7 +10,7 @@ using PckStudio.Internal.Misc; using System.Threading.Tasks; using System.Windows.Forms; -namespace PckStudio.Internal +namespace PckStudio.Internal.App { internal static class ApplicationScope { diff --git a/PCK-Studio/Internal/CommitInfo.cs b/PCK-Studio/Internal/App/CommitInfo.cs similarity index 98% rename from PCK-Studio/Internal/CommitInfo.cs rename to PCK-Studio/Internal/App/CommitInfo.cs index 1ccfe3e0..ae341c73 100644 --- a/PCK-Studio/Internal/CommitInfo.cs +++ b/PCK-Studio/Internal/App/CommitInfo.cs @@ -18,7 +18,7 @@ using System.Linq; using System.Reflection; -namespace PckStudio.Internal +namespace PckStudio.Internal.App { static internal class CommitInfo { diff --git a/PCK-Studio/Internal/Profiler.cs b/PCK-Studio/Internal/App/Profiler.cs similarity index 98% rename from PCK-Studio/Internal/Profiler.cs rename to PCK-Studio/Internal/App/Profiler.cs index f9daff27..aa9af3ef 100644 --- a/PCK-Studio/Internal/Profiler.cs +++ b/PCK-Studio/Internal/App/Profiler.cs @@ -23,7 +23,7 @@ using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; -namespace PckStudio.Internal +namespace PckStudio.Internal.App { internal static class Profiler { diff --git a/PCK-Studio/Internal/SettingsManager.cs b/PCK-Studio/Internal/App/SettingsManager.cs similarity index 98% rename from PCK-Studio/Internal/SettingsManager.cs rename to PCK-Studio/Internal/App/SettingsManager.cs index e0a7640c..3636c51d 100644 --- a/PCK-Studio/Internal/SettingsManager.cs +++ b/PCK-Studio/Internal/App/SettingsManager.cs @@ -21,7 +21,7 @@ using System.ComponentModel; using System.Configuration; using PckStudio.Properties; -namespace PckStudio.Internal +namespace PckStudio.Internal.App { internal static class SettingsManager { diff --git a/PCK-Studio/Internal/Misc/RichPresenceClient.cs b/PCK-Studio/Internal/Misc/RichPresenceClient.cs index d89f7dc1..94a482e1 100644 --- a/PCK-Studio/Internal/Misc/RichPresenceClient.cs +++ b/PCK-Studio/Internal/Misc/RichPresenceClient.cs @@ -4,6 +4,7 @@ using DiscordRPC; using PckStudio.Internal; using PckStudio.Properties; using DiscordRPC.Logging; +using PckStudio.Internal.App; namespace PckStudio.Internal.Misc { diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 3c98007e..f0f6260d 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -35,6 +35,7 @@ using PckStudio.Internal.Json; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Serializer; using OMI.Workers; +using PckStudio.Internal.App; namespace PckStudio { diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 95545a07..4619e5c9 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -152,7 +152,7 @@ - + @@ -196,7 +196,7 @@ AppSettingsForm.cs - + Form @@ -219,12 +219,12 @@ - + - - + + diff --git a/PCK-Studio/Program.cs b/PCK-Studio/Program.cs index 58f43b8d..393faaf9 100644 --- a/PCK-Studio/Program.cs +++ b/PCK-Studio/Program.cs @@ -7,6 +7,7 @@ using PckStudio.Internal.Misc; using PckStudio.Internal; using PckStudio.Properties; using PCKStudio_Updater; +using PckStudio.Internal.App; namespace PckStudio diff --git a/PCK-Studio/ToolboxItems/GithubUserPanel.cs b/PCK-Studio/ToolboxItems/GithubUserPanel.cs index 124717d7..e6fde8e5 100644 --- a/PCK-Studio/ToolboxItems/GithubUserPanel.cs +++ b/PCK-Studio/ToolboxItems/GithubUserPanel.cs @@ -12,6 +12,7 @@ using System.IO; using System.Threading.Tasks; using PckStudio.Internal; using System.Drawing.Imaging; +using PckStudio.Internal.App; namespace PckStudio.ToolboxItems { From 2ea94d9a35e077c90f30eb951bf270dda103602e Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 22 Jun 2024 13:20:45 +0200 Subject: [PATCH 33/66] Remove Helper folder --- .../MaterialContainerExtensions.cs} | 26 +++++++++---------- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 2 -- PCK-Studio/Helper/BehaviourResources.cs | 18 ------------- PCK-Studio/MainForm.cs | 19 +++++++++----- PCK-Studio/PckStudio.csproj | 3 +-- 5 files changed, 25 insertions(+), 43 deletions(-) rename PCK-Studio/{Helper/MaterialResources.cs => Extensions/MaterialContainerExtensions.cs} (81%) delete mode 100644 PCK-Studio/Helper/BehaviourResources.cs diff --git a/PCK-Studio/Helper/MaterialResources.cs b/PCK-Studio/Extensions/MaterialContainerExtensions.cs similarity index 81% rename from PCK-Studio/Helper/MaterialResources.cs rename to PCK-Studio/Extensions/MaterialContainerExtensions.cs index d7755831..d680a9c5 100644 --- a/PCK-Studio/Helper/MaterialResources.cs +++ b/PCK-Studio/Extensions/MaterialContainerExtensions.cs @@ -1,18 +1,15 @@ using System; -using System.IO; - +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; using OMI.Formats.Material; -using OMI.Workers.Material; -namespace PckStudio.Helper +namespace PckStudio.Extensions { - public static class MaterialResources + internal static class MaterialContainerExtensions { - public static byte[] MaterialsFileInitializer() - { - using var stream = new MemoryStream(); - var matFile = new MaterialContainer - { + private static readonly MaterialContainer.Material[] defaultMaterials = [ new MaterialContainer.Material("bat", "entity_alphatest"), new MaterialContainer.Material("ender_dragon", "entity_emissive_alpha"), new MaterialContainer.Material("blaze_head", "entity_emissive_alpha"), @@ -35,10 +32,11 @@ namespace PckStudio.Helper new MaterialContainer.Material("wither_boss", "entity_alphatest"), new MaterialContainer.Material("wither_skeleton", "entity_alphatest"), new MaterialContainer.Material("wolf", "entity_alphatest_change_color") - }; - var writer = new MaterialFileWriter(matFile); - writer.WriteToStream(stream); - return stream.ToArray(); + ]; + + public static void InitializeDefault(this MaterialContainer materials) + { + materials.AddRange(defaultMaterials); } } } diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 86893b9e..d3ffee2a 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -30,8 +30,6 @@ using OMI.Formats.Pck; using OMI.Workers.Color; using PckStudio.Extensions; -using PckStudio.Helper; -using PckStudio.Internal; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Json; using PckStudio.Internal.Serializer; diff --git a/PCK-Studio/Helper/BehaviourResources.cs b/PCK-Studio/Helper/BehaviourResources.cs deleted file mode 100644 index c50b6b78..00000000 --- a/PCK-Studio/Helper/BehaviourResources.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.IO; - -using OMI.Formats.Behaviour; -using OMI.Workers.Behaviour; - -namespace PckStudio.Helper -{ - public static class BehaviourResources - { - internal static byte[] BehaviourFileInitializer() - { - using var stream = new MemoryStream(); - var writer = new BehavioursWriter(new BehaviourFile()); - writer.WriteToStream(stream); - return stream.ToArray(); - } - } -} diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index f0f6260d..a7bf6b11 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -7,14 +7,20 @@ using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Diagnostics; using System.Drawing.Imaging; +using System.Text.RegularExpressions; using OMI.Formats.Pck; -using OMI.Formats.GameRule; -using OMI.Formats.Languages; using OMI.Formats.Model; +using OMI.Formats.GameRule; +using OMI.Formats.Material; +using OMI.Formats.Behaviour; +using OMI.Formats.Languages; +using OMI.Workers; using OMI.Workers.Pck; using OMI.Workers.GameRule; using OMI.Workers.Language; using OMI.Workers.Model; +using OMI.Workers.Behaviour; +using OMI.Workers.Material; using PckStudio.Properties; using PckStudio.FileFormats; using PckStudio.Forms; @@ -29,12 +35,9 @@ using PckStudio.Forms.Features; using PckStudio.Extensions; using PckStudio.Popups; using PckStudio.Classes.Utils; -using PckStudio.Helper; -using System.Text.RegularExpressions; using PckStudio.Internal.Json; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Serializer; -using OMI.Workers; using PckStudio.Internal.App; namespace PckStudio @@ -2368,7 +2371,7 @@ namespace PckStudio return; } - currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); + currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, new BehavioursWriter(new BehaviourFile())); BuildMainTreeView(); } @@ -2379,7 +2382,9 @@ namespace PckStudio MessageBox.Show(this, "A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, MaterialResources.MaterialsFileInitializer); + var materialContainer = new MaterialContainer(); + materialContainer.InitializeDefault(); + currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, new MaterialFileWriter(materialContainer)); BuildMainTreeView(); } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 4619e5c9..d8d6e488 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -133,6 +133,7 @@ + Form @@ -383,8 +384,6 @@ InProgressPrompt.cs - - Form From 5db1ef955c74550da002978e9ff1d77a8a3c6736 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 22 Jun 2024 13:23:42 +0200 Subject: [PATCH 34/66] Move Binka & BinkaConverter into 'External/API/Miles' --- PCK-Studio/{Classes => External}/API/Miles/Binka.cs | 2 +- .../{Classes/Utils => External/API/Miles}/BinkaConverter.cs | 3 +-- PCK-Studio/Forms/Editor/AudioEditor.cs | 3 +-- PCK-Studio/MainForm.cs | 2 +- PCK-Studio/PckStudio.csproj | 4 ++-- 5 files changed, 6 insertions(+), 8 deletions(-) rename PCK-Studio/{Classes => External}/API/Miles/Binka.cs (98%) rename PCK-Studio/{Classes/Utils => External/API/Miles}/BinkaConverter.cs (97%) diff --git a/PCK-Studio/Classes/API/Miles/Binka.cs b/PCK-Studio/External/API/Miles/Binka.cs similarity index 98% rename from PCK-Studio/Classes/API/Miles/Binka.cs rename to PCK-Studio/External/API/Miles/Binka.cs index ad2bb793..16e6ee96 100644 --- a/PCK-Studio/Classes/API/Miles/Binka.cs +++ b/PCK-Studio/External/API/Miles/Binka.cs @@ -7,7 +7,7 @@ using PckStudio.Internal; using PckStudio.Internal.App; using SharpMSS; -namespace PckStudio.API.Miles +namespace PckStudio.External.API.Miles { internal static class Binka { diff --git a/PCK-Studio/Classes/Utils/BinkaConverter.cs b/PCK-Studio/External/API/Miles/BinkaConverter.cs similarity index 97% rename from PCK-Studio/Classes/Utils/BinkaConverter.cs rename to PCK-Studio/External/API/Miles/BinkaConverter.cs index 630f0904..c55d71b3 100644 --- a/PCK-Studio/Classes/Utils/BinkaConverter.cs +++ b/PCK-Studio/External/API/Miles/BinkaConverter.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using PckStudio.API.Miles; using PckStudio.Forms.Additional_Popups; using System.Windows.Forms; using System.IO; @@ -11,7 +10,7 @@ using PckStudio.Internal; using System.Text.RegularExpressions; using PckStudio.Internal.App; -namespace PckStudio.Classes.Utils +namespace PckStudio.External.API.Miles { internal static class BinkaConverter { diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index d9565d4f..0e545d67 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -17,8 +17,7 @@ using PckStudio.FileFormats; using PckStudio.Internal.IO.PckAudio; using PckStudio.Forms.Additional_Popups; using PckStudio.Properties; -using PckStudio.API.Miles; -using PckStudio.Internal; +using PckStudio.External.API.Miles; using PckStudio.Extensions; using PckStudio.Internal.App; diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index a7bf6b11..f8810bbc 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -34,7 +34,7 @@ using PckStudio.Internal; using PckStudio.Forms.Features; using PckStudio.Extensions; using PckStudio.Popups; -using PckStudio.Classes.Utils; +using PckStudio.External.API.Miles; using PckStudio.Internal.Json; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Serializer; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index d8d6e488..8e4d2758 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -178,7 +178,7 @@ Component - + @@ -210,7 +210,7 @@ - + From 61204e74cc6517ad1d2798e1aa6adbf20ef24b78 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 22 Jun 2024 22:10:41 +0200 Subject: [PATCH 35/66] Add FilterPrompt form and update ChnageTile and AddEntry(for entities) --- .../Animation/ChangeTile.Designer.cs | 215 -- .../Additional-Popups/Animation/ChangeTile.cs | 135 +- .../EntityForms/AddEntry.Designer.cs | 187 -- .../Additional-Popups/EntityForms/AddEntry.cs | 73 +- .../EntityForms/AddEntry.resx | 2627 ----------------- .../FilterPrompt.Designer.cs | 157 + .../Forms/Additional-Popups/FilterPrompt.cs | 118 + .../ChangeTile.resx => FilterPrompt.resx} | 9 + PCK-Studio/Forms/Editor/BehaviourEditor.cs | 1 - PCK-Studio/PckStudio.csproj | 30 +- 10 files changed, 362 insertions(+), 3190 deletions(-) delete mode 100644 PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.Designer.cs delete mode 100644 PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.Designer.cs delete mode 100644 PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.resx create mode 100644 PCK-Studio/Forms/Additional-Popups/FilterPrompt.Designer.cs create mode 100644 PCK-Studio/Forms/Additional-Popups/FilterPrompt.cs rename PCK-Studio/Forms/Additional-Popups/{Animation/ChangeTile.resx => FilterPrompt.resx} (99%) diff --git a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.Designer.cs b/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.Designer.cs deleted file mode 100644 index 903c56de..00000000 --- a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.Designer.cs +++ /dev/null @@ -1,215 +0,0 @@ -namespace PckStudio.Forms.Additional_Popups.Animation -{ - partial class ChangeTile - { - /// - /// 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(ChangeTile)); - this.acceptBtn = new System.Windows.Forms.Button(); - this.CancelBtn = new System.Windows.Forms.Button(); - this.treeViewBlocks = new System.Windows.Forms.TreeView(); - this.treeViewItems = new System.Windows.Forms.TreeView(); - this.metroLabel2 = new MetroFramework.Controls.MetroLabel(); - this.metroTextBox1 = new MetroFramework.Controls.MetroTextBox(); - this.metroTabControl1 = new MetroFramework.Controls.MetroTabControl(); - this.Blocks = new System.Windows.Forms.TabPage(); - this.Items = new System.Windows.Forms.TabPage(); - this.metroTabControl1.SuspendLayout(); - this.Blocks.SuspendLayout(); - this.Items.SuspendLayout(); - this.SuspendLayout(); - // - // acceptBtn - // - this.acceptBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.acceptBtn.ForeColor = System.Drawing.Color.White; - this.acceptBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.acceptBtn.Location = new System.Drawing.Point(92, 196); - this.acceptBtn.Name = "acceptBtn"; - this.acceptBtn.Size = new System.Drawing.Size(75, 23); - this.acceptBtn.TabIndex = 7; - this.acceptBtn.Text = "Save"; - this.acceptBtn.UseVisualStyleBackColor = true; - this.acceptBtn.Click += new System.EventHandler(this.AcceptBtn_Click); - // - // CancelBtn - // - this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.CancelBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.CancelBtn.ForeColor = System.Drawing.Color.White; - this.CancelBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.CancelBtn.Location = new System.Drawing.Point(172, 196); - this.CancelBtn.Name = "CancelBtn"; - this.CancelBtn.Size = new System.Drawing.Size(75, 23); - this.CancelBtn.TabIndex = 13; - this.CancelBtn.Text = "Cancel"; - this.CancelBtn.UseVisualStyleBackColor = true; - this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click); - // - // treeViewBlocks - // - this.treeViewBlocks.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeViewBlocks.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewBlocks.ForeColor = System.Drawing.Color.White; - this.treeViewBlocks.Location = new System.Drawing.Point(0, 0); - this.treeViewBlocks.Name = "treeViewBlocks"; - this.treeViewBlocks.Size = new System.Drawing.Size(318, 142); - this.treeViewBlocks.TabIndex = 14; - this.treeViewBlocks.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViews_AfterSelect); - // - // treeViewItems - // - this.treeViewItems.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeViewItems.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewItems.ForeColor = System.Drawing.Color.White; - this.treeViewItems.Location = new System.Drawing.Point(0, 0); - this.treeViewItems.Name = "treeViewItems"; - this.treeViewItems.Size = new System.Drawing.Size(318, 142); - this.treeViewItems.TabIndex = 14; - this.treeViewItems.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViews_AfterSelect); - // - // metroLabel2 - // - this.metroLabel2.AutoSize = true; - this.metroLabel2.Location = new System.Drawing.Point(133, 19); - this.metroLabel2.Name = "metroLabel2"; - this.metroLabel2.Size = new System.Drawing.Size(46, 19); - this.metroLabel2.TabIndex = 16; - this.metroLabel2.Text = "Filter: "; - this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // metroTextBox1 - // - // - // - // - this.metroTextBox1.CustomButton.Image = null; - this.metroTextBox1.CustomButton.Location = new System.Drawing.Point(134, 1); - this.metroTextBox1.CustomButton.Name = ""; - this.metroTextBox1.CustomButton.Size = new System.Drawing.Size(21, 21); - this.metroTextBox1.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.metroTextBox1.CustomButton.TabIndex = 1; - this.metroTextBox1.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.metroTextBox1.CustomButton.UseSelectable = true; - this.metroTextBox1.CustomButton.Visible = false; - this.metroTextBox1.Lines = new string[0]; - this.metroTextBox1.Location = new System.Drawing.Point(173, 18); - this.metroTextBox1.MaxLength = 32767; - this.metroTextBox1.Name = "metroTextBox1"; - this.metroTextBox1.PasswordChar = '\0'; - this.metroTextBox1.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.metroTextBox1.SelectedText = ""; - this.metroTextBox1.SelectionLength = 0; - this.metroTextBox1.SelectionStart = 0; - this.metroTextBox1.ShortcutsEnabled = true; - this.metroTextBox1.Size = new System.Drawing.Size(156, 23); - this.metroTextBox1.TabIndex = 17; - this.metroTextBox1.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTextBox1.UseSelectable = true; - this.metroTextBox1.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.metroTextBox1.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - this.metroTextBox1.TextChanged += new System.EventHandler(this.filter_TextChanged); - // - // metroTabControl1 - // - this.metroTabControl1.Controls.Add(this.Blocks); - this.metroTabControl1.Controls.Add(this.Items); - this.metroTabControl1.Location = new System.Drawing.Point(6, 8); - this.metroTabControl1.Name = "metroTabControl1"; - this.metroTabControl1.SelectedIndex = 0; - this.metroTabControl1.Size = new System.Drawing.Size(326, 184); - this.metroTabControl1.Style = MetroFramework.MetroColorStyle.White; - this.metroTabControl1.TabIndex = 18; - this.metroTabControl1.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControl1.UseSelectable = true; - // - // Blocks - // - this.Blocks.BackColor = System.Drawing.SystemColors.WindowFrame; - this.Blocks.Controls.Add(this.treeViewBlocks); - this.Blocks.Location = new System.Drawing.Point(4, 38); - this.Blocks.Name = "Blocks"; - this.Blocks.Size = new System.Drawing.Size(318, 142); - this.Blocks.TabIndex = 0; - this.Blocks.Text = "Blocks"; - // - // Items - // - this.Items.BackColor = System.Drawing.SystemColors.WindowFrame; - this.Items.Controls.Add(this.treeViewItems); - this.Items.Location = new System.Drawing.Point(4, 38); - this.Items.Name = "Items"; - this.Items.Size = new System.Drawing.Size(318, 142); - this.Items.TabIndex = 0; - this.Items.Text = "Items"; - // - // ChangeTile - // - this.AcceptButton = this.acceptBtn; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.CancelBtn; - this.ClientSize = new System.Drawing.Size(338, 228); - this.ControlBox = false; - this.Controls.Add(this.metroTextBox1); - this.Controls.Add(this.metroLabel2); - this.Controls.Add(this.metroTabControl1); - this.Controls.Add(this.CancelBtn); - this.Controls.Add(this.acceptBtn); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "ChangeTile"; - this.Resizable = false; - this.Style = MetroFramework.MetroColorStyle.Silver; - this.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControl1.ResumeLayout(false); - this.Blocks.ResumeLayout(false); - this.Items.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - private void MetroTextBox1_TextChanged(object sender, System.EventArgs e) - { - throw new System.NotImplementedException(); - } - - #endregion - private System.Windows.Forms.Button acceptBtn; - private System.Windows.Forms.Button CancelBtn; - private System.Windows.Forms.TreeView treeViewBlocks; - private System.Windows.Forms.TreeView treeViewItems; - private MetroFramework.Controls.MetroLabel metroLabel2; - private MetroFramework.Controls.MetroTextBox metroTextBox1; - private MetroFramework.Controls.MetroTabControl metroTabControl1; - private System.Windows.Forms.TabPage Blocks; - private System.Windows.Forms.TabPage Items; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs b/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs index 850654fc..6ddf116f 100644 --- a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs +++ b/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Diagnostics; using System.Windows.Forms; +using MetroFramework.Controls; +using System.Xml.Linq; using MetroFramework.Forms; using PckStudio.Extensions; using PckStudio.Internal; @@ -10,7 +12,8 @@ using PckStudio.Internal.Json; namespace PckStudio.Forms.Additional_Popups.Animation { - internal partial class ChangeTile : MetroForm + /// Wrapper class kept for simplicity + internal class ChangeTile : IDisposable { private JsonTileInfo selectedTile; private ResourceCategory category = ResourceCategory.BlockAnimation; @@ -18,121 +21,69 @@ namespace PckStudio.Forms.Additional_Popups.Animation public JsonTileInfo SelectedTile => selectedTile; public ResourceCategory Category => category; - List treeViewBlockCache = new List(); - List treeViewItemCache = new List(); + private FilterPrompt filterPrompt; public ChangeTile() { - InitializeComponent(); - treeViewBlocks.ImageList = Tiles.BlockImageList; - treeViewItems.ImageList = Tiles.ItemImageList; + filterPrompt = new FilterPrompt(); + filterPrompt.OnSelectedItemChanged += filterPrompt_OnSelectedItemChanged; InitializeTreeviews(); } private void InitializeTreeviews() { Profiler.Start(); - GetTileDataToView(ResourceCategory.BlockAnimation, treeViewBlocks.Nodes, treeViewBlockCache.Add); - GetTileDataToView(ResourceCategory.ItemAnimation, treeViewItems.Nodes, treeViewItemCache.Add); + GetTileDataToView(ResourceCategory.BlockAnimation); + GetTileDataToView(ResourceCategory.ItemAnimation); Profiler.Stop(); } - private void treeViews_AfterSelect(object sender, TreeViewEventArgs e) + public DialogResult ShowDialog(IWin32Window owner) { - if (e.Node.Tag is JsonTileInfo tileData) + return filterPrompt.ShowDialog(owner); + } + + private void filterPrompt_OnSelectedItemChanged(object sender, EventArgs e) + { + if (filterPrompt.SelectedItem is JsonTileInfo tileData) { selectedTile = tileData; - category = e.Node.TreeView == treeViewItems - ? ResourceCategory.ItemAnimation - : ResourceCategory.BlockAnimation; + category = filterPrompt.SelectedTabIndex == 0 ? ResourceCategory.BlockAnimation : ResourceCategory.ItemAnimation; } } - private void GetTileDataToView(ResourceCategory key, TreeNodeCollection collection, Action additionalAction) + private void GetTileDataToView(ResourceCategory key) { - List textureInfos = key switch + (List textureInfos, ImageList imgList, string name) = key switch { - ResourceCategory.BlockAnimation => Tiles.BlockTileInfos, - ResourceCategory.ItemAnimation => Tiles.ItemTileInfos, + ResourceCategory.BlockAnimation => (Tiles.BlockTileInfos, Tiles.BlockImageList, "Blocks"), + ResourceCategory.ItemAnimation => (Tiles.ItemTileInfos, Tiles.ItemImageList, "Items"), _ => throw new InvalidOperationException(nameof(key)) }; - Profiler.Start(); - if (textureInfos is not null) - { - foreach ((int i, var tileData) in textureInfos.enumerate()) + var view = filterPrompt.AddFilterPage(name, null, filterPredicate); + view.ImageList = imgList; + foreach ((int i, var tileData) in textureInfos?.enumerate()) + { + if (string.IsNullOrEmpty(tileData.InternalName) || view.Nodes.ContainsKey(tileData.InternalName)) + continue; + TreeNode tileNode = new TreeNode(tileData.DisplayName, i, i) { - if (string.IsNullOrEmpty(tileData.InternalName) || collection.ContainsKey(tileData.InternalName)) - continue; - TreeNode tileNode = new TreeNode(tileData.DisplayName, i, i) - { - Name = tileData.InternalName, - Tag = tileData - }; - collection.Add(tileNode); - additionalAction(tileNode); - } - } - Profiler.Stop(); + Name = tileData.InternalName, + Tag = tileData + }; + view.Nodes.Add(tileNode); + (view.Tag as List).Add(tileNode); + } } - void filter_TextChanged(object sender, EventArgs e) - { - // Some code in this function is modified code from this StackOverflow answer - MattNL - //https://stackoverflow.com/questions/8260322/filter-a-treeview-with-a-textbox-in-a-c-sharp-winforms-app + private bool filterPredicate(string filterText, object nodeTag) + { + return nodeTag is JsonTileInfo tileInfo && tileInfo.InternalName.ToLower().Contains(filterText.ToLower()); + } - //blocks repainting tree until all objects loaded - treeViewBlocks.BeginUpdate(); - treeViewBlocks.Nodes.Clear(); - treeViewItems.BeginUpdate(); - treeViewItems.Nodes.Clear(); - if (!string.IsNullOrEmpty(metroTextBox1.Text)) - { - foreach (TreeNode _node in treeViewBlockCache) - { - if (_node.Text.ToLower().Contains(metroTextBox1.Text.ToLower()) || - (_node.Tag as JsonTileInfo).InternalName.ToLower().Contains(metroTextBox1.Text.ToLower())) - { - treeViewBlocks.Nodes.Add((TreeNode)_node.Clone()); - } - } - foreach (TreeNode _node in treeViewItemCache) - { - if (_node.Text.ToLower().Contains(metroTextBox1.Text.ToLower()) || - (_node.Tag as JsonTileInfo).InternalName.ToLower().Contains(metroTextBox1.Text.ToLower())) - { - treeViewItems.Nodes.Add((TreeNode)_node.Clone()); - } - } - } - else - { - foreach (TreeNode _node in treeViewBlockCache) - { - treeViewBlocks.Nodes.Add((TreeNode)_node.Clone()); - } - foreach (TreeNode _node in treeViewItemCache) - { - treeViewItems.Nodes.Add((TreeNode)_node.Clone()); - } - } - //enables redrawing tree after all objects have been added - treeViewBlocks.EndUpdate(); - treeViewItems.EndUpdate(); - } - - private void CancelBtn_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - } - - private void AcceptBtn_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(selectedTile.InternalName)) - { - DialogResult = DialogResult.Cancel; - return; - } - DialogResult = DialogResult.OK; - } - } + public void Dispose() + { + filterPrompt.Dispose(); + } + } } diff --git a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.Designer.cs b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.Designer.cs deleted file mode 100644 index d5564208..00000000 --- a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.Designer.cs +++ /dev/null @@ -1,187 +0,0 @@ -namespace PckStudio.Forms.Additional_Popups.EntityForms -{ - partial class AddEntry - { - /// - /// 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(AddEntry)); - this.acceptBtn = new System.Windows.Forms.Button(); - this.CancelBtn = new System.Windows.Forms.Button(); - this.treeViewEntity = new System.Windows.Forms.TreeView(); - this.metroLabel2 = new MetroFramework.Controls.MetroLabel(); - this.metroTextBox1 = new MetroFramework.Controls.MetroTextBox(); - this.metroTabControl1 = new MetroFramework.Controls.MetroTabControl(); - this.Blocks = new System.Windows.Forms.TabPage(); - this.metroTabControl1.SuspendLayout(); - this.Blocks.SuspendLayout(); - this.SuspendLayout(); - // - // acceptBtn - // - this.acceptBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.acceptBtn.ForeColor = System.Drawing.Color.White; - this.acceptBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.acceptBtn.Location = new System.Drawing.Point(92, 196); - this.acceptBtn.Name = "acceptBtn"; - this.acceptBtn.Size = new System.Drawing.Size(75, 23); - this.acceptBtn.TabIndex = 7; - this.acceptBtn.Text = "Add"; - this.acceptBtn.UseVisualStyleBackColor = true; - this.acceptBtn.Click += new System.EventHandler(this.AcceptBtn_Click); - // - // CancelBtn - // - this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.CancelBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.CancelBtn.ForeColor = System.Drawing.Color.White; - this.CancelBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.CancelBtn.Location = new System.Drawing.Point(172, 196); - this.CancelBtn.Name = "CancelBtn"; - this.CancelBtn.Size = new System.Drawing.Size(75, 23); - this.CancelBtn.TabIndex = 13; - this.CancelBtn.Text = "Cancel"; - this.CancelBtn.UseVisualStyleBackColor = true; - this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click); - // - // treeViewEntity - // - this.treeViewEntity.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeViewEntity.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewEntity.ForeColor = System.Drawing.Color.White; - this.treeViewEntity.Location = new System.Drawing.Point(0, 0); - this.treeViewEntity.Name = "treeViewEntity"; - this.treeViewEntity.Size = new System.Drawing.Size(318, 142); - this.treeViewEntity.TabIndex = 14; - this.treeViewEntity.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViews_AfterSelect); - // - // metroLabel2 - // - this.metroLabel2.AutoSize = true; - this.metroLabel2.Location = new System.Drawing.Point(133, 19); - this.metroLabel2.Name = "metroLabel2"; - this.metroLabel2.Size = new System.Drawing.Size(46, 19); - this.metroLabel2.TabIndex = 16; - this.metroLabel2.Text = "Filter: "; - this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // metroTextBox1 - // - // - // - // - this.metroTextBox1.CustomButton.Image = null; - this.metroTextBox1.CustomButton.Location = new System.Drawing.Point(134, 1); - this.metroTextBox1.CustomButton.Name = ""; - this.metroTextBox1.CustomButton.Size = new System.Drawing.Size(21, 21); - this.metroTextBox1.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.metroTextBox1.CustomButton.TabIndex = 1; - this.metroTextBox1.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.metroTextBox1.CustomButton.UseSelectable = true; - this.metroTextBox1.CustomButton.Visible = false; - this.metroTextBox1.Lines = new string[0]; - this.metroTextBox1.Location = new System.Drawing.Point(173, 18); - this.metroTextBox1.MaxLength = 32767; - this.metroTextBox1.Name = "metroTextBox1"; - this.metroTextBox1.PasswordChar = '\0'; - this.metroTextBox1.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.metroTextBox1.SelectedText = ""; - this.metroTextBox1.SelectionLength = 0; - this.metroTextBox1.SelectionStart = 0; - this.metroTextBox1.ShortcutsEnabled = true; - this.metroTextBox1.Size = new System.Drawing.Size(156, 23); - this.metroTextBox1.TabIndex = 17; - this.metroTextBox1.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTextBox1.UseSelectable = true; - this.metroTextBox1.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.metroTextBox1.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - this.metroTextBox1.TextChanged += new System.EventHandler(this.filter_TextChanged); - // - // metroTabControl1 - // - this.metroTabControl1.Controls.Add(this.Blocks); - this.metroTabControl1.Location = new System.Drawing.Point(6, 8); - this.metroTabControl1.Name = "metroTabControl1"; - this.metroTabControl1.SelectedIndex = 0; - this.metroTabControl1.Size = new System.Drawing.Size(326, 184); - this.metroTabControl1.Style = MetroFramework.MetroColorStyle.White; - this.metroTabControl1.TabIndex = 18; - this.metroTabControl1.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControl1.UseSelectable = true; - // - // Blocks - // - this.Blocks.BackColor = System.Drawing.SystemColors.WindowFrame; - this.Blocks.Controls.Add(this.treeViewEntity); - this.Blocks.Location = new System.Drawing.Point(4, 38); - this.Blocks.Name = "Blocks"; - this.Blocks.Size = new System.Drawing.Size(318, 142); - this.Blocks.TabIndex = 0; - this.Blocks.Text = "Entities"; - // - // AddEntry - // - this.AcceptButton = this.acceptBtn; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.CancelBtn; - this.ClientSize = new System.Drawing.Size(338, 228); - this.ControlBox = false; - this.Controls.Add(this.metroTextBox1); - this.Controls.Add(this.metroLabel2); - this.Controls.Add(this.metroTabControl1); - this.Controls.Add(this.CancelBtn); - this.Controls.Add(this.acceptBtn); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "AddEntry"; - this.Resizable = false; - this.Style = MetroFramework.MetroColorStyle.Silver; - this.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControl1.ResumeLayout(false); - this.Blocks.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - private void MetroTextBox1_TextChanged(object sender, System.EventArgs e) - { - throw new System.NotImplementedException(); - } - - #endregion - private System.Windows.Forms.Button CancelBtn; - private System.Windows.Forms.TreeView treeViewEntity; - private MetroFramework.Controls.MetroLabel metroLabel2; - private MetroFramework.Controls.MetroTextBox metroTextBox1; - private MetroFramework.Controls.MetroTabControl metroTabControl1; - private System.Windows.Forms.TabPage Blocks; - public System.Windows.Forms.Button acceptBtn; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs index afc01e9e..38ebc4e4 100644 --- a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs +++ b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs @@ -1,23 +1,26 @@ using System; using System.Collections.Generic; using System.Windows.Forms; -using MetroFramework.Forms; -using Newtonsoft.Json.Linq; +using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Internal.Json; + namespace PckStudio.Forms.Additional_Popups.EntityForms { - public partial class AddEntry : MetroForm + /// Wrapper class kept for simplicity + public class AddEntry { string selectedEntity = ""; public string SelectedEntity => selectedEntity; - List treeViewEntityCache = new List(); + private FilterPrompt filterPrompt; public AddEntry(string dataType, System.Drawing.Image[] entityImages) { - InitializeComponent(); - ImageList entities = new ImageList(); + filterPrompt = new FilterPrompt(); + filterPrompt.OnSelectedItemChanged += FilterPrompt_OnSelectedItemChanged; + var treeViewEntity = filterPrompt.AddFilterPage("Entities", null, filterPredicate); + ImageList entities = new ImageList(); entities.ColorDepth = ColorDepth.Depth32Bit; entities.ImageSize = new System.Drawing.Size(32, 32); entities.Images.AddRange(entityImages); @@ -42,16 +45,26 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms SelectedImageIndex = i, }; i++; - if (!String.IsNullOrEmpty(entity.InternalName)) + if (!string.IsNullOrEmpty(entity.InternalName)) { treeViewEntity.Nodes.Add(entityNode); - treeViewEntityCache.Add(entityNode); + (treeViewEntity.Tag as List).Add(entityNode); } } treeViewEntity.Sort(); } + private void FilterPrompt_OnSelectedItemChanged(object sender, EventArgs e) + { + selectedEntity = filterPrompt.SelectedItem.ToString(); + } + + public DialogResult ShowDialog(IWin32Window owner) + { + return filterPrompt.ShowDialog(owner); + } + private void treeViews_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Tag is string entityData) @@ -60,47 +73,9 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms } } - void filter_TextChanged(object sender, EventArgs e) + private bool filterPredicate(string filterText, object nodeTag) { - // Some code in this function is modified code from this StackOverflow answer - MattNL - //https://stackoverflow.com/questions/8260322/filter-a-treeview-with-a-textbox-in-a-c-sharp-winforms-app - - //blocks repainting tree until all objects loaded - treeViewEntity.BeginUpdate(); - treeViewEntity.Nodes.Clear(); - if (!string.IsNullOrEmpty(metroTextBox1.Text)) - { - foreach (TreeNode _node in treeViewEntityCache) - { - if (_node.Text.ToLower().Contains(metroTextBox1.Text.ToLower()) || - (_node.Tag as string).ToLower().Contains(metroTextBox1.Text.ToLower())) - { - treeViewEntity.Nodes.Add((TreeNode)_node.Clone()); - } - } - } - else - { - foreach (TreeNode _node in treeViewEntityCache) - { - treeViewEntity.Nodes.Add((TreeNode)_node.Clone()); - } - } - //enables redrawing tree after all objects have been added - treeViewEntity.EndUpdate(); - } - - private void CancelBtn_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - Close(); - } - - private void AcceptBtn_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(selectedEntity)) CancelBtn_Click(sender, e); - DialogResult = DialogResult.OK; - Close(); - } + return nodeTag is string a && a.ToLower().Contains(filterText.ToLower()); + } } } diff --git a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.resx b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.resx deleted file mode 100644 index 72d29f17..00000000 --- a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.resx +++ /dev/null @@ -1,2627 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - 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 - Tfr6LE9nbYpX/JKYCgGFwgAh6szKQQZn6KfRZOPDjLQMGLihYBm9ZdUWA4hO/4UYIBaICWKDNfzM5xMz - xA6tSh4qxBQV35v7JTYKhcJBCGgRsHoQxUYMWJpJYdI64B0DFC4wduD0X4gBdpsSE8QGDw2e9MQMsUMM - EUvElFf8DjBtDagQMDpLq4BxAroIKDkFywxCCAM6Tv8hXv7EBLFBhedJT8wQO1rxvbnfgRaKAeMEQIEC - TTnHUTQuiBGt8F7pu8woTMdJws3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N - zc3Nzc3Nzc3Nza2M9r73/T9XFdyT+zuuLAAAAABJRU5ErkJggigAAACAAAAAAAEAAAEAIAAAAAAAAAAC - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAA - CAAAAAoAAAAKAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA - CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA - CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA - CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA - CwAAAAsAAAALAAAACwAAAAsAAAALAAAACgAAAAoAAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAQAAAAQAAAALAAAAFAAAAB4AAAAlAAAAKwAAACwAAAAtAAAALQAAAC0AAAAtAAAA - LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA - LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA - LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA - LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAsAAAA - KgAAACUAAAAdAAAAFAAAAAsAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJAAAAFwAAACoAAABBAAAA - VAAAAGEAAABpAAAAbAAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA - bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA - bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA - bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA - bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAGwAAABpAAAAYQAAAFIAAABBAAAALAAAABkAAAAMAAAA - AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAEAAAADwAAACMAAABBAAAAYgAAAIGmpqbN/v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ - //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ - //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ - //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ - //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ - ///////+/v7/p6enzAAAAIEAAABlAAAARgAAACoAAAATAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABEAAAArAAAAUgAAAHz///////// - //7+/v+YmJj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5mZmf////////////////8AAACEAAAA - XAAAADcAAAAaAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAIAAAAPAAAALAAAAFgAAACL//////v7+/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/5OTk///////Y2NjlAAAAawAAAD0AAAAbAAAACAAAAAEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACUAAABTJSUllf////9LS0v/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC - ////////////AAAAbgAAADwAAAAYAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAQAAAAaAAAARQAAAID/////ExMT/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA///////+/v7/AAAAaAAAADQAAAAQAAAA - AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADQAAAC8AAABo/v7+/2tra/8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA////////////AAAAVgAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAQAAAAZAAAASc3Nzdj+/v7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAB7AAAA - PQAAABMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAACgAAABi/////wMDA/8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8ZGRn/Gxsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc - /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc - /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc - /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc - /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/Gxsb/woKCv8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/sbGx//////8AAABYAAAAIgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAPAAAANwAAAHj/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xcXF/8fHx//IyMj - /yUlJf8nJyf/Jycn/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo - /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo - /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo - /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo - /ycnJ/8nJyf/JiYm/yMjI/8gICD/Ghoa/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///// - /wAAAHEAAAAyAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABUAAABE/////4iIiP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8TExP/Hx8f/yUlJf8pKSn/Kysr/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8sLCz/Kioq/ycnJ/8iIiL/Gxsb - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/r6+v/ycnJ0gAAAEAAAAATAAAAAQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAADAAAAGgAAAE/+/v7/Dw8P/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0dHf8kJCT/Kioq - /y4uLv8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx - /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx - /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx - /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx - /zExMf8xMTH/MTEx/zAwMP8vLy//LCws/ygoKP8hISH/Ghoa/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /xEREf/+/v7/AAAATQAAABkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAeAAAAVv////8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/ICAg/ycnJ/8tLS3/MTEx/zIyMv8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MjIy/zIyMv8wMDD/LCws - /yUlJf8eHh7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABVAAAAHQAAAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABQAAACAAAABa/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP8iIiL/KSkp - /y8vL/8yMjL/MzMz/zQ0NP80NDT/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/paWl - /zQ0NP80NDT/NDQ0/0tLS/+np6f/p6en/6enp/+np6f/NDQ0/zQ0NP80NDT/Q0ND/6enp/+np6f/p6en - /6enp/+np6f/p6en/6enp/+np6f/p6en/zQ0NP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en - /0pKSv80NDT/NDQ0/6enp/+np6f/p6en/6enp/80NDT/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en - /6enp/+np6f/p6en/zQ0NP80NDT/MzMz/zExMf8uLi7/KCgo/yEhIf8HBwf/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD//////wAAAFkAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAIQAAAFv/////AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/GRkZ/yQkJP8rKyv/MTEx/zMzM/80NDT/NDQ0/zQ0NP+urq7/rq6u - /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+rq6v/NDQ0/zQ0NP80NDT/TExM/66urv+urq7/rq6u - /66urv80NDT/NDQ0/zQ0NP9ERET/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/NDQ0 - /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv80NDT/rq6u/66urv+urq7/rq6u - /zQ0NP+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/NDQ0/zQ0NP80NDT/MjIy - /y8vL/8qKir/IyMj/xkZGf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAWwAAACEAAAAFAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAUAAAAhAAAAW/////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/JSUl - /ywsLP8xMTH/MzMz/zU1Nf81NTX/NTU1/6Ghof+hoaH/oaGh/6Ghof+hoaH/oqKi/7Ozs/+zs7P/s7Oz - /7CwsP81NTX/NTU1/zU1Nf9OTk7/s7Oz/7Ozs/+zs7P/s7Oz/zU1Nf81NTX/NTU1/0RERP+zs7P/s7Oz - /7Ozs/+zs7P/oaGh/7Ozs/+zs7P/s7Oz/7Ozs/80NDT/s7Oz/7Ozs/+zs7P/s7Oz/6CgoP+goKD/s7Oz - /7Ozs/+zs7P/s7Oz/zQ0NP+zs7P/s7Oz/7Ozs/+zs7P/NDQ0/7Ozs/+zs7P/s7Oz/7Ozs/+goKD/oKCg - /7Ozs/+zs7P/s7Oz/7Ozs/80NDT/NDQ0/zQ0NP8yMjL/MDAw/ysrK/8kJCT/Gxsb/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA//////8AAABbAAAAIQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xwcHP8lJSX/LCws/zExMf8zMzP/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NTU1/zU1Nf81NTX/urq6/7q6uv+6urr/t7e3/zU1Nf81NTX/NTU1/05OTv+6urr/urq6 - /7q6uv+6urr/NTU1/zU1Nf81NTX/RUVF/7q6uv+6urr/urq6/7S0tP81NTX/urq6/7q6uv+6urr/urq6 - /zU1Nf+6urr/urq6/7q6uv+6urr/NTU1/zU1Nf+6urr/urq6/7q6uv+6urr/NTU1/7q6uv+6urr/urq6 - /7q6uv81NTX/urq6/7q6uv+6urr/urq6/zU1Nf81NTX/urq6/7q6uv+6urr/urq6/zU1Nf81NTX/NTU1 - /zMzM/8xMTH/LCws/yUlJf8cHBz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAA - BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HBwc - /yUlJf8sLCz/MTEx/zMzM/81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf/BwcH/wcHB - /8HBwf++vr7/NTU1/zU1Nf81NTX/T09P/8HBwf/BwcH/wcHB/8HBwf81NTX/NTU1/zU1Nf9ERET/wcHB - /8HBwf/BwcH/u7u7/zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1/8HBwf/BwcH/wcHB/8HBwf81NTX/NTU1 - /8HBwf/BwcH/wcHB/8HBwf81NTX/wcHB/8HBwf/BwcH/wcHB/zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1 - /zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1/zU1Nf81NTX/MzMz/zExMf8sLCz/JSUl/xwcHP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8dHR3/JiYm/y0tLf8yMjL/NDQ0/zY2Nv82Njb/NjY2 - /8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8TExP82Njb/NjY2/zY2Nv9RUVH/yMjI - /8jIyP/IyMj/yMjI/zY2Nv82Njb/NTU1/0ZGRv/IyMj/yMjI/8jIyP/BwcH/NTU1/8jIyP/IyMj/yMjI - /8jIyP81NTX/yMjI/8jIyP/IyMj/yMjI/zU1Nf81NTX/yMjI/8jIyP/IyMj/yMjI/zU1Nf/IyMj/yMjI - /8jIyP/IyMj/NTU1/8jIyP/IyMj/yMjI/8jIyP81NTX/NTU1/8jIyP/IyMj/yMjI/8jIyP81NTX/NTU1 - /zU1Nf8zMzP/MTEx/ywsLP8lJSX/HBwc/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAA - IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /x0dHf8mJib/LS0t/zIyMv80NDT/NjY2/zY2Nv82Njb/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P - /8/Pz//Pz8//y8vL/zY2Nv82Njb/NjY2/1FRUf/Pz8//z8/P/8/Pz//Pz8//NjY2/zY2Nv82Njb/R0dH - /8/Pz//Pz8//z8/P/8jIyP82Njb/z8/P/8/Pz//Pz8//z8/P/zY2Nv/Pz8//z8/P/8/Pz//Pz8//NjY2 - /zY2Nv/Pz8//z8/P/8/Pz//Pz8//NjY2/8/Pz//Pz8//z8/P/8/Pz/82Njb/z8/P/8/Pz//Pz8//z8/P - /zY2Nv82Njb/z8/P/8/Pz//Pz8//z8/P/zY2Nv82Njb/NTU1/zMzM/8xMTH/LCws/yUlJf8cHBz/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - IgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HR0d/yYmJv8tLS3/MjIy/zQ0NP82Njb/NjY2 - /zY2Nv/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/R0dH/NjY2/zY2Nv82Njb/UlJS - /9XV1f/V1dX/1dXV/9XV1f82Njb/NjY2/zY2Nv9HR0f/1dXV/9XV1f/V1dX/zc3N/zY2Nv/V1dX/1dXV - /9XV1f/V1dX/NjY2/9XV1f/V1dX/1dXV/9XV1f82Njb/NjY2/9XV1f/V1dX/1dXV/9XV1f82Njb/1dXV - /9XV1f/V1dX/1dXV/zY2Nv/V1dX/1dXV/9XV1f/V1dX/NjY2/zY2Nv/V1dX/1dXV/9XV1f/V1dX/NjY2 - /zY2Nv82Njb/NDQ0/zIyMv8tLS3/JiYm/x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA - XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8dHR3/JiYm/y0tLf8yMjL/NDQ0/zY2Nv82Njb/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/NjY2 - /zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv9TU1P/3Nzc/9zc3P/c3Nz/3Nzc/zY2Nv82Njb/NjY2 - /0hISP/c3Nz/3Nzc/9zc3P/U1NT/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/3Nzc/9zc3P/c3Nz/3Nzc - /zY2Nv82Njb/3Nzc/9zc3P/c3Nz/3Nzc/zY2Nv/c3Nz/3Nzc/9zc3P/c3Nz/NjY2/9zc3P/c3Nz/3Nzc - /9zc3P82Njb/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/NjY2/zY2Nv80NDT/MjIy/y0tLf8mJib/HR0d - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0dHf8nJyf/Li4u/zMzM/81NTX/Nzc3 - /zc3N/83Nzf/4+Pj/+Pj4//j4+P/4+Pj/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 - /1VVVf/j4+P/4+Pj/+Pj4//j4+P/Nzc3/zc3N/83Nzf/SUlJ/+Pj4//j4+P/4+Pj/9ra2v83Nzf/4+Pj - /+Pj4//j4+P/4+Pj/zY2Nv/j4+P/4+Pj/+Pj4//j4+P/NjY2/zY2Nv/j4+P/4+Pj/+Pj4//j4+P/NjY2 - /+Pj4//j4+P/4+Pj/+Pj4/82Njb/4+Pj/+Pj4//j4+P/4+Pj/zY2Nv82Njb/4+Pj/+Pj4//j4+P/4+Pj - /zY2Nv82Njb/NjY2/zQ0NP8yMjL/LS0t/yYmJv8dHR3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///// - /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/HR0d/ycnJ/8uLi7/MzMz/zU1Nf83Nzf/Nzc3/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3 - /zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/VVVV/+rq6v/q6ur/6urq/+rq6v83Nzf/Nzc3 - /zc3N/9KSkr/6urq/+rq6v/q6ur/4eHh/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3/+rq6v/q6ur/6urq - /+rq6v83Nzf/Nzc3/+rq6v/q6ur/6urq/+rq6v83Nzf/6urq/+rq6v/q6ur/6urq/zc3N//q6ur/6urq - /+rq6v/q6ur/Nzc3/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3/zc3N/83Nzf/NTU1/zMzM/8uLi7/Jycn - /x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAYAAAAiAAAAXP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8dHR3/Jycn/y4uLv8zMzP/NTU1 - /zc3N/83Nzf/Nzc3//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx/+zs7P83Nzf/8fHx - //Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/Nzc3/0pKSv/x8fH/8fHx//Hx8f/n5+f/Nzc3 - //Hx8f/x8fH/8fHx//Hx8f83Nzf/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx - /zc3N//x8fH/8fHx//Hx8f/x8fH/Nzc3//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx - //Hx8f83Nzf/Nzc3/zc3N/81NTX/MzMz/y4uLv8nJyf/HR0d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/x4eHv8oKCj/Ly8v/zQ0NP82Njb/ODg4/zg4OP84ODj/+Pj4//j4+P/4+Pj/+Pj4 - //j4+P/4+Pj/+Pj4//j4+P/4+Pj/8vLy/zg4OP/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4 - //j4+P83Nzf/SkpK//j4+P/4+Pj/+Pj4/+7u7v83Nzf/+Pj4//j4+P/4+Pj/+Pj4/zc3N//4+Pj/+Pj4 - //j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4/1VVVf83Nzf/Nzc3//j4+P/4+Pj/+Pj4//j4+P83Nzf/+Pj4 - //j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4/zc3N/83Nzf/Nzc3/zU1Nf8zMzP/Li4u - /ycnJ/8dHR3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Hh4e/ygoKP8vLy//NDQ0 - /zY2Nv84ODj/ODg4/zg4OP9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9vb2//ODg4 - /3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/zg4OP87Ozv/cXFx/3Fxcf9xcXH/bW1t - /zg4OP9xcXH/cXFx/3Fxcf9xcXH/ODg4/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/Pj4+ - /zg4OP84ODj/cXFx/3Fxcf9xcXH/cXFx/zg4OP9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx - /3Fxcf9xcXH/Nzc3/zc3N/83Nzf/NTU1/zMzM/8uLi7/Jycn/x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8eHh7/KCgo/y8vL/80NDT/NjY2/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP82Njb/NDQ0 - /y8vL/8oKCj/Hh4e/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAAIgAAAAYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x4eHv8oKCj/Ly8v - /zQ0NP82Njb/ODg4/zg4OP84ODj/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/pKSk/6SkpP+kpKT/pKSk - /6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/zg4OP84ODj/pKSk - /6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP84ODj/ODg4/zg4OP+kpKT/pKSk/6SkpP+kpKT/pKSk - /6SkpP+kpKT/pKSk/zg4OP84ODj/ODg4/zY2Nv80NDT/Ly8v/ygoKP8eHh7/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AQEB - /wEBAf8BAQH/AQEB/wEBAf8BAQH/Hh4e/ygoKP8vLy//NTU1/zc3N/85OTn/OTk5/zk5Of+np6f/p6en - /6enp/+np6f/p6en/6enp/+np6f/p6en/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 - /zk5Of85OTn/OTk5/zk5Of+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en - /6enp/+np6f/p6en/6enp/+np6f/ODg4/zg4OP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en - /zg4OP84ODj/ODg4/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/ODg4/zg4OP84ODj/NjY2 - /zQ0NP8vLy//KCgo/x4eHv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8eHh7/KCgo - /y8vL/81NTX/Nzc3/zk5Of85OTn/OTk5/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/OTk5 - /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/6urq/+rq6v/q6ur - /6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/85OTn/OTk5 - /6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/OTk5/zk5Of85OTn/q6ur/6urq/+rq6v/q6ur - /6urq/+rq6v/q6ur/6urq/85OTn/OTk5/zk5Of83Nzf/NTU1/y8vL/8oKCj/Hh4e/wEBAf8BAQH/AQEB - /wEBAf8BAQH/AQEB//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x4eHv8oKCj/Ly8v/zU1Nf83Nzf/OTk5/zk5Of85OTn/rq6u - /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 - /zk5Of85OTn/OTk5/zk5Of85OTn/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u - /66urv+urq7/rq6u/66urv+urq7/rq6u/zk5Of85OTn/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u - /66urv85OTn/OTk5/zk5Of+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/zk5Of85OTn/OTk5 - /zc3N/81NTX/Ly8v/ygoKP8eHh7/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL//////wAAAFwAAAAiAAAA - BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Hx8f - /ykpKf8wMDD/NjY2/zg4OP86Ojr/Ojo6/zo6Ov+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy - /zo6Ov86Ojr/Ojo6/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of+ysrL/srKy - /7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/OTk5 - /zk5Of+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/zk5Of85OTn/OTk5/7Kysv+ysrL/srKy - /7Kysv+ysrL/srKy/7Kysv+ysrL/OTk5/zk5Of85OTn/Nzc3/zU1Nf8vLy//KCgo/x4eHv8DAwP/AwMD - /wMDA/8DAwP/AwMD/wMDA///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8fHx//KSkp/zAwMP82Njb/ODg4/zo6Ov86Ojr/Ojo6 - /7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/Ojo6 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1 - /7W1tf+1tbX/Ojo6/zo6Ov86Ojr/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf85OTn/OTk5 - /zk5Of83Nzf/NTU1/y8vL/8oKCj/Hh4e/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD//////8AAABcAAAA - IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE - /x8fH/8pKSn/MDAw/zY2Nv84ODj/Ojo6/zo6Ov86Ojr/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5 - /7m5uf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/ubm5 - /7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf86Ojr/Ojo6/zo6Ov+5ubn/ubm5 - /7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/zo6Ov86Ojr/Ojo6/zg4OP82Njb/MDAw/ykpKf8fHx//BAQE - /wQEBP8EBAT/BAQE/wQEBP8EBAT//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - IgAAAFz/////BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/Hx8f/ykpKf8wMDD/NjY2/zg4OP86Ojr/Ojo6 - /zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8 - /7y8vP+8vLz/vLy8/zo6Ov86Ojr/Ojo6/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/Ojo6 - /zo6Ov86Ojr/ODg4/zY2Nv8wMDD/KSkp/x8fH/8FBQX/BAQE/wQEBP8EBAT/BAQE/wQEBP//////AAAA - XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8GBgb/BgYG/wYGBv8GBgb/BgYG - /wYGBv8gICD/Kioq/zExMf83Nzf/OTk5/zs7O/87Ozv/Ozs7/7+/v/+/v7//v7+//7+/v/+/v7//v7+/ - /7+/v/+/v7//Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/Ojo6/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/ - /7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/86Ojr/Ojo6/zo6Ov84ODj/NjY2/zAwMP8pKSn/Hx8f - /wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BgAAACIAAABc/////wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/yAgIP8qKir/MTEx/zc3N/85OTn/Ozs7 - /zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD - /8PDw/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD - /8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD - /zs7O/87Ozv/Ozs7/zg4OP82Njb/MDAw/ykpKf8fHx//BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb///// - /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////BwcH/wcHB/8HBwf/BwcH - /wcHB/8HBwf/ICAg/yoqKv8xMTH/Nzc3/zk5Of87Ozv/Ozs7/zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG - /8bGxv/Gxsb/xsbG/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/Ozs7 - /zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG - /8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/Ozs7/zs7O/87Ozv/OTk5/zc3N/8xMTH/Kioq - /yAgIP8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAYAAAAiAAAAXP////8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8gICD/Kioq/zIyMv84ODj/Ojo6 - /zw8PP88PDz/PDw8/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK - /8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv87Ozv/Ozs7/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK - /8rKyv/Kysr/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/8rKyv/Kysr/ysrK - /8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK - /8rKyv87Ozv/Ozs7/zs7O/85OTn/Nzc3/zExMf8qKir/ICAg/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH - //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wkJCf8JCQn/CQkJ - /wkJCf8JCQn/CAgI/yAgIP8qKir/MjIy/zg4OP86Ojr/PDw8/zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O - /87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O - /zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv88PDz/PDw8/zw8PP88PDz/PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O - /87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/zs7O/87Ozv/Ozs7/zk5Of83Nzf/MTEx - /yoqKv8gICD/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGAAAAIgAAAFz/////CQkJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/ICAg/yoqKv8yMjL/ODg4 - /zo6Ov88PDz/PDw8/zw8PP/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR - /9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/PDw8/zw8PP/R0dH/0dHR/9HR0f/R0dH/0dHR - /9HR0f/R0dH/0dHR/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP/R0dH/0dHR - /9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/qamp/zw8PP88PDz/PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/Ojo6/zg4OP8yMjL/Kioq/yAgIP8JCQn/CQkJ/wkJCf8JCQn/CQkJ - /wkJCf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8KCgr/CgoK - /woKCv8KCgr/CgoK/woKCv8hISH/Kysr/zMzM/84ODj/Ojo6/zw8PP88PDz/PDw8/9TU1P/U1NT/1NTU - /9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU - /9TU1P88PDz/PDw8/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/PDw8/zw8PP88PDz/PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU - /9TU1P/U1NT/1NTU/9TU1P+rq6v/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP86Ojr/ODg4 - /zIyMv8qKir/ICAg/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQkJ//////8AAABcAAAAIgAAAAYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAACIAAABc/////wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/yEhIf8rKyv/MzMz - /zg4OP87Ozv/PT09/z09Pf89PT3/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX - /9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/z09Pf89PT3/19fX/9fX1//X19f/19fX - /9fX1//X19f/19fX/9fX1/89PT3/PT09/z09Pf89PT3/PT09/zw8PP88PDz/PDw8/zw8PP88PDz/19fX - /9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/6ysrP88PDz/PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zo6Ov84ODj/MjIy/yoqKv8gICD/CgoK/woKCv8KCgr/CgoK - /woKCv8KCgr//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////CwsL - /wsLC/8LCwv/CwsL/wsLC/8LCwv/ISEh/ysrK/8zMzP/ODg4/zs7O/89PT3/PT09/z09Pf/b29v/29vb - /9vb2//b29v/29vb/9vb2//b29v/29vb/z09Pf89PT3/PT09/9vb2//b29v/29vb/9vb2//b29v/29vb - /9vb2//b29v/PT09/z09Pf/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/z09Pf89PT3/PT09 - /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb - /9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/PT09/z09Pf89PT3/Ozs7 - /zg4OP8zMzP/Kysr/yEhIf8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC///////AAAAXAAAACIAAAAGAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8MDAz/DAwM/wwMDP8MDAz/DAwM/wwMDP8hISH/Kysr - /zMzM/84ODj/Ozs7/z09Pf89PT3/PT09/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/PT09 - /z09Pf89PT3/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v89PT3/PT09/97e3v/e3t7/3t7e - /97e3v/e3t7/3t7e/97e3v/e3t7/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 - /97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e - /97e3v/e3t7/3t7e/97e3v89PT3/PT09/z09Pf87Ozv/ODg4/zMzM/8rKyv/ISEh/wsLC/8LCwv/CwsL - /wsLC/8LCwv/CwsL//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/yEhIf8sLCz/NDQ0/zk5Of88PDz/Pj4+/z4+Pv8+Pj7/4uLi - /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v8+Pj7/PT09/z09Pf/i4uL/4uLi/+Li4v/i4uL/4uLi - /+Li4v/i4uL/4uLi/z09Pf89PT3/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v89PT3/PT09 - /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi - /+Li4v/FxcX/xcXF/8XFxf/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/z09Pf89PT3/PT09 - /zs7O/84ODj/MzMz/ysrK/8hISH/DAwM/wwMDP8MDAz/DAwM/wwMDP8MDAz//////wAAAFwAAAAiAAAA - BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////DQ0N/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/ISEh - /ywsLP80NDT/OTk5/zw8PP8+Pj7/Pj4+/z4+Pv/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl - /z4+Pv8+Pj7/Pj4+/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/Pj4+/z4+Pv/l5eX/5eXl - /+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ - /z4+Pv/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/z09Pf89PT3/PT09/+Xl5f/l5eX/5eXl - /+Xl5f/l5eX/5eXl/+Xl5f/l5eX/PT09/z09Pf89PT3/Ozs7/zg4OP8zMzP/Kysr/yEhIf8NDQ3/DQ0N - /w0NDf8NDQ3/DQ0N/w0NDf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8ODg7/Dg4O/w4ODv8ODg7/Dg4O/w4ODv8hISH/LCws/zQ0NP85OTn/PDw8/z4+Pv8+Pj7/Pj4+ - /+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/Pj4+/z4+Pv8+Pj7/6enp/+np6f/p6en/6enp - /+np6f/p6en/6enp/+np6f8+Pj7/Pj4+/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/Pj4+ - /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/+np6f/p6en/6enp/+np6f/p6en/6enp - /+np6f/p6en/Pj4+/z4+Pv8+Pj7/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f8+Pj7/Pj4+ - /z4+Pv88PDz/OTk5/zQ0NP8sLCz/ISEh/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N//////8AAABcAAAA - IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////w4ODv8ODg7/Dg4O/w4ODv8ODg7/Dg4O - /yIiIv8sLCz/NDQ0/zk5Of88PDz/Pj4+/z4+Pv8+Pj7/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs - /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/z4+Pv8+Pj7/7Ozs - /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs - /z4+Pv8+Pj7/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P8+Pj7/Pj4+/z4+Pv/s7Oz/7Ozs - /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/z4+Pv8+Pj7/Pj4+/zw8PP85OTn/NDQ0/ywsLP8hISH/Dg4O - /w4ODv8ODg7/Dg4O/w4ODv8ODg7//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - IgAAAFz/////Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//IiIi/y0tLf80NDT/Ojo6/z09Pf8/Pz//Pz8/ - /z8/P//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw - //Dw8P/w8PD/8PDw//Dw8P/w8PD/Pz8//z8/P//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw - //Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/Pj4+/z4+Pv/w8PD/8PDw//Dw8P/w8PD/8PDw - //Dw8P/w8PD/8PDw/z4+Pv8+Pj7/Pj4+//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/Pj4+ - /z4+Pv8+Pj7/PDw8/zk5Of80NDT/LCws/yEhIf8ODg7/Dg4O/w4ODv8ODg7/Dg4O/w4ODv//////AAAA - XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8QEBD/EBAQ/xAQEP8QEBD/EBAQ - /xAQEP8iIiL/LS0t/zQ0NP86Ojr/PT09/z8/P/8/Pz//Pz8///Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz - //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/8/Pz//Pz8/ - //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz - //Pz8/8/Pz//Pz8///Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/Pz8//z8/P/8/Pz//8/Pz - //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/8/Pz//Pz8//z8/P/89PT3/Ojo6/zQ0NP8tLS3/IiIi - /w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BgAAACIAAABc/////xEREf8RERH/ERER/xEREf8RERH/ERER/yIiIv8tLS3/NDQ0/zo6Ov89PT3/Pz8/ - /z8/P/8/Pz//9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 - //b29v/29vb/9vb2//b29v/29vb/9vb2/z8/P/8/Pz//9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 - //b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/z8/P/8/Pz//9vb2//b29v/29vb/9vb2 - //b29v/29vb/9vb2//b29v8/Pz//Pz8//z8/P//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 - /z8/P/8/Pz//Pz8//z09Pf86Ojr/NDQ0/y0tLf8iIiL/EBAQ/xAQEP8QEBD/EBAQ/xAQEP8QEBD///// - /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////ERER/xEREf8RERH/ERER - /xEREf8RERH/IiIi/y0tLf81NTX/Ozs7/z4+Pv9AQED/QEBA/0BAQP/6+vr/+vr6//r6+v/6+vr/+vr6 - //r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5+fn/Pz8/ - /z8/P//6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6 - //r6+v/6+vr/Pz8//z8/P//6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6/z8/P/8/Pz//Pz8/ - //r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/Pz8//z8/P/8/Pz//PT09/zo6Ov80NDT/LS0t - /yIiIv8RERH/ERER/xEREf8RERH/ERER/xEREf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAYAAAAiAAAAXP////8SEhL/EhIS/xISEv8SEhL/EhIS/xISEv8iIiL/LS0t/zU1Nf87Ozv/Pj4+ - /0BAQP9AQED/QEBA/8DAwP/AwMD/v7+//7+/v//AwMD/wMDA/8DAwP/AwMD/v7+//7+/v/+/v7//v7+/ - /8DAwP/AwMD/v7+//7+/v/+/v7//v7+//7+/v/9AQED/QEBA/7+/v/+/v7//v7+//8DAwP/AwMD/wMDA - /8DAwP+/v7//v7+//7+/v//AwMD/wMDA/8DAwP+/v7//v7+//7+/v/9AQED/QEBA/8DAwP/AwMD/v7+/ - /7+/v/+/v7//v7+//7+/v/+/v7//Pz8//z8/P/8/Pz//vr6+/76+vv+/v7//v7+//7+/v/++vr7/vr6+ - /76+vv8/Pz//Pz8//z8/P/89PT3/Ojo6/zQ0NP8tLS3/IiIi/xEREf8RERH/ERER/xEREf8RERH/ERER - //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////xISEv8SEhL/EhIS - /xISEv8SEhL/EhIS/yIiIv8tLS3/NTU1/zs7O/8+Pj7/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/z4+Pv87Ozv/NTU1 - /y0tLf8iIiL/EhIS/xISEv8SEhL/EhIS/xISEv8SEhL//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGAAAAIgAAAFz/////ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/IiIi/y0tLf81NTX/Ozs7 - /z4+Pv9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/Pj4+/zs7O/81NTX/LS0t/yIiIv8TExP/ExMT/xMTE/8TExP/EhIS - /xISEv//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8UFBT/FBQU - /xQUFP8UFBT/FBQU/xQUFP8jIyP/Li4u/zY2Nv88PDz/Pz8//0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8+Pj7/Ozs7 - /zU1Nf8tLS3/IiIi/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT//////8AAABcAAAAIgAAAAYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAACIAAABc/////xUVFf8VFRX/FRUV/xUVFf8VFRX/FRUV/yMjI/8uLi7/NjY2 - /zw8PP8/Pz//QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/z8/P/88PDz/NjY2/y4uLv8iIiL/FBQU/xQUFP8UFBT/FBQU - /xQUFP8UFBT//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////FRUV - /xUVFf8VFRX/FRUV/xUVFf8VFRX/IyMj/y4uLv82Njb/PDw8/z8/P/9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/Pz8/ - /zw8PP82Njb/Li4u/yMjI/8VFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf//////AAAAXAAAACIAAAAGAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8jIyP/Ly8v - /zc3N/89PT3/QEBA/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9AQED/QEBA/0BAQP9AQED/Pz8/ - /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/ - /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8+Pj7/Ozs7/zU1Nf8tLS3/IiIi/xUVFf8VFRX/FRUV - /xUVFf8VFRX/FRUV//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/yMjI/8vLy//Nzc3/z09Pf9AQED/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0FBQf9BQUH/QEBA/0BAQP8/Pz//Pz8//z4+Pv8+Pj7/Pj4+/z09Pf89PT3/PT09/z09Pf89PT3/PT09 - /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 - /zs7O/84ODj/MzMz/ysrK/8hISH/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb//////wAAAFwAAAAiAAAA - BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/IyMj - /y8vL/83Nzf/PT09/0BAQP9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/8+Pj7/PT09/zs7O/86Ojr/OTk5 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/Nzc3/zQ0NP8uLi7/Jycn/x4eHv8XFxf/FxcX - /xcXF/8XFxf/FxcX/xcXF///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8YGBj/GBgY/xgYGP8YGBj/GBgY/xgYGP8jIyP/Ly8v/zc3N/89PT3/QEBA/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB - /0BAQP8/Pz//PT09/zs7O/84ODj/NTU1/zMzM/8yMjL/MTEx/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw - /zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw - /zAwMP8vLy//LS0t/ygoKP8iIiL/Ghoa/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX//////8AAABbAAAA - IQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ - /yQkJP8vLy//ODg4/z4+Pv9BQUH/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/QkJC/0JCQv9CQkL/QkJC/0FBQf9AQED/Pj4+/zs7O/84ODj/NDQ0/y8vL/8sLCz/KSkp - /ycnJ/8mJib/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl - /yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yQkJP8iIiL/Hh4e/xoaGv8VFRX/GBgY - /xgYGP8YGBj/GBgY/xgYGP8YGBj//////wAAAFoAAAAhAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - IgAAAFz/////GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/JCQk/y8vL/84ODj/Pj4+/0FBQf9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9CQkL/QUFB - /z8/P/87Ozv/Nzc3/zIyMv8sLCz/JiYm/yEhIf8ZGRn/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW - /xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW - /xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf//////AAAA - VwAAAB8AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8aGhr/Ghoa/xoaGv8aGhr/Ghoa - /xoaGv8kJCT/Ly8v/zg4OP8+Pj7/QUFB/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0JCQv9AQED/PDw8/zc3N/8wMDD/KSkp/yEhIf8aGhr/Ghoa - /xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa - /xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa - /xoaGv8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ//////8AAABPAAAAGgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BgAAACIAAABc/////xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/yQkJP8wMDD/OTk5/z8/P/9CQkL/RERE - /0RERP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9CQkL/QUFB - /z09Pf84ODj/MTEx/ygoKP8eHh7/Ghoa/xoaGv8aGhr/Ghoa/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ - /xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ - /xkZGf8ZGRn/GRkZ/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr///// - /wAAAD8AAAATAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////Gxsb/xsbG/8bGxv/Gxsb - /xsbG/8bGxv/JCQk/zAwMP85OTn/Pz8//0JCQv9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0NDQ/9AQED/PDw8/zU1Nf8sLCz/ISEh/xsbG/8bGxv/Gxsb - /ysrK/82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2 - /zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/xsbG/8bGxv/Gxsb - /xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb////////////AAAAKwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAYAAAAiAAAAXP////8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8kJCT/MDAw/zk5Of8/Pz//QkJC - /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9DQ0P/QkJC - /z8/P/85OTn/MDAw/yYmJv8cHBz/HBwc/xwcHP82Njb/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 - /zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 - /zY2Nv82Njb/NjY2/zY2Nv8sLCz/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG//+/v7///// - /wAAADkAAAAVAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////x0dHf8dHR3/HR0d - /x0dHf8dHR3/HR0d/yQkJP8wMDD/OTk5/z8/P/9CQkL/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0NDQ/9BQUH/PT09/zU1Nf8sLCz/GBgY/xwcHP8cHBz/NTU1 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP83Nzf/Nzc3/zc3N/83Nzf/LS0t/xwcHP8cHBz/HBwc - /xwcHP8cHBz/HBwc/xwcHP8cHBz//v7+//////8AAAA+AAAAGgAAAAcAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGAAAAIgAAAFz/////HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/JSUl/zExMf85OTn/QEBA - /0NDQ/9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0RERP9ERET/Q0ND - /0FBQf88PDz/MzMz/ygoKP8dHR3/HR0d/xYWFv85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 - /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/y0tLf8dHR3/HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/HR0d////////////AAAA - PgAAABsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8eHh7/Hh4e - /x4eHv8eHh7/Hh4e/x4eHv8lJSX/MTEx/zk5Of9AQED/Q0ND/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9DQ0P/QUFB/zs7O/8xMTH/JiYm/x4eHv8eHh7/Nzc3 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of8vLy//HR0d/x0dHf8dHR3/HR0d - /x0dHf8dHR3/HR0d/x0dHf///////////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAACIAAABc/////x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/yUlJf8xMTH/OTk5 - /0BAQP9DQ0P/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0NDQ/9AQED/Ojo6/zAwMP8eHh7/Hh4e/x4eHv87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zs7O/86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/ICAg/x4eHv8eHh7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7///////////8AAAA+AAAA - GwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////Hx8f - /x8fH/8fHx//Hx8f/x8fH/8fHx//JiYm/zIyMv86Ojr/QUFB/0RERP9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/Q0ND/0BAQP85OTn/Ly8v/x4eHv8fHx//Hx8f - /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/yEhIf8fHx//Hx8f/x8fH/8fHx//Hx8f - /x8fH/8fHx//Hx8f////////////AAAAPgAAABsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8gICD/ICAg/yAgIP8gICD/ICAg/yAgIP8mJib/MjIy - /zo6Ov9BQUH/RERE/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9ERET/QUFB/zo6Ov8vLy//Hx8f/yAgIP8gICD/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8 - /zw8PP8hISH/Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH////////////wAAAD8AAAAbAAAA - BwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yYmJv8yMjL/Ojo6/0FBQf9ERET/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0RERP9AQED/OTk5/y8vL/8eHh7/ICAg - /x8fH/89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 - /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/ISEh/yAgIP8gICD/ICAg/yAgIP8gICD/ICAg - /yAgIP8gICD///////////8AAAA/AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/JiYm - /zIyMv86Ojr/QUFB/0RERP9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RERE/0BAQP85OTn/Ly8v/x8fH/8hISH/ICAg/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ - /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ - /xoaGv8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh////////////AAAAPgAAABsAAAAIAAAA - AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8iIiL/IiIi/yIiIv8iIiL/IiIi/yIiIv8mJib/MjIy/zs7O/9CQkL/RUVF/0dHR/9HR0f/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0ZGRv9GRkb/RkZG/0VFRf9ERET/QEBA/zk5Of8vLy//Hx8f - /yIiIv8hISH/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/ - /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8YGBj/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh - /yEhIf///////////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj - /yYmJv8yMjL/Ozs7/0JCQv9FRUX/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/RkZG/0VFRf9BQUH/Ojo6/y8vL/8gICD/IiIi/yEhIf9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/Ghoa - /yIiIv8iIiL/IiIi/yIiIv8iIiL/IiIi/yIiIv8iIiL//v7+//////8AAAA+AAAAGwAAAAgAAAABAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - IgAAAFz/////IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/JiYm/zIyMv87Ozv/QkJC/0VFRf9HR0f/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9GRkb/RUVF/0FBQf86Ojr/Ly8v - /yAgIP8jIyP/IiIi/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/xwcHP8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj - //7+/v//////AAAAPgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8kJCT/JCQk/yQkJP8kJCT/JCQk - /yQkJP8nJyf/MzMz/zw8PP9DQ0P/RkZG/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/R0dH/0ZGRv9FRUX/QUFB/zo6Ov8vLy//ICAg/yQkJP8jIyP/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf8eHh7/JCQk - /yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP/+/v7//////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BgAAACIAAABc/////yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/ycnJ/8zMzP/PDw8/0NDQ/9GRkb/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/0ZGRv9CQkL/Ozs7 - /zAwMP8hISH/JSUl/yQkJP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/QkJC/0JCQv9CQkL/HBwc/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT///// - //////8AAAA+AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////JSUl/yUlJf8lJSX/JSUl - /yUlJf8lJSX/Jycn/zMzM/88PDz/Q0ND/0ZGRv9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9HR0f/RkZG/0JCQv87Ozv/MDAw/yEhIf8lJSX/JCQk/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/x8fH/8lJSX/JSUl - /yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl////////////AAAAPwAAABsAAAAHAAAAAQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAYAAAAiAAAAXP////8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8nJyf/MzMz/zw8PP9DQ0P/RkZG - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0dHR/9GRkb/QkJC - /zs7O/8wMDD/ISEh/yYmJv8lJSX/RUVF/0VFRf9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP8jIyP/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf/+/v7///// - /wAAAD8AAAAcAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////ycnJ/8nJyf/Jycn - /ycnJ/8nJyf/Jycn/ycnJ/80NDT/PT09/0RERP9HR0f/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/0ZGRv9CQkL/Ozs7/zAwMP8hISH/JiYm/yUlJf9GRkb/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/IiIi/yYmJv8mJib/JiYm - /yYmJv8mJib/JiYm/yYmJv8mJib//v7+//////8AAAA+AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGAAAAIgAAAFz/////KCgo/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/zQ0NP89PT3/RERE - /0dHR/9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9ISEj/R0dH - /0NDQ/88PDz/MTEx/yEhIf8nJyf/JiYm/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/yMjI/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn////////////AAAA - PgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8oKCj/KCgo - /ygoKP8oKCj/KCgo/ygoKP8nJyf/NDQ0/z09Pf9ERET/R0dH/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0hISP9HR0f/Q0ND/zw8PP8xMTH/IiIi/ygoKP8nJyf/R0dH - /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/8lJSX/KCgo/ygoKP8oKCj/KCgo - /ygoKP8oKCj/KCgo/ygoKP///////f39/gAAAD4AAAAbAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAACIAAABc/////ykpKf8pKSn/KSkp/ykpKf8pKSn/KSkp/ygoKP80NDT/Pj4+ - /0VFRf9ISEj/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI - /0dHR/9DQ0P/PDw8/zExMf8iIiL/KSkp/ygoKP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9HR0f/Jycn/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj///////////8AAAA+AAAA - GwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////KSkp - /ykpKf8pKSn/KSkp/ykpKf8pKSn/KCgo/zQ0NP8+Pj7/RUVF/0hISP9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9JSUn/R0dH/0RERP88PDz/MTEx/yMjI/8pKSn/KCgo - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI/ykpKf8pKSn/KSkp/ykpKf8pKSn/KSkp - /ykpKf8pKSn/KSkp////////////AAAAPgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8oKCj/NDQ0 - /z4+Pv9FRUX/SEhI/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0lJSf9HR0f/RERE/zw8PP8xMTH/IyMj/yoqKv8pKSn/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv8pKSn/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv///////f39/gAAAD4AAAAbAAAA - CAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// - /ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ygoKP80NDT/Pj4+/0VFRf9ISEj/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SUlJ/0dHR/9ERET/PDw8/zExMf8jIyP/Kioq - /ykpKf9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/KSkp/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq - /yoqKv8qKir///////39/f4AAAA+AAAAGwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/KCgo - /zU1Nf8+Pj7/RkZG/0lJSf9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9JSUn/R0dH/0RERP88PDz/MTEx/yQkJP8rKyv/Kioq/0xMTP9MTEz/TExM/0xMTP9MTEz/S0tL - /yoqKv8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr////////////AAAAPAAAABoAAAAIAAAA - AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA - XP////8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8oKCj/NTU1/z4+Pv9GRkb/SUlJ/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0pKSv9ISEj/RUVF/z09Pf8yMjL/JSUl - /ywsLP8rKyv/TU1N/01NTf9NTU3/TExM/0tLS/8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/LCws - /ywsLP///////Pz8/QAAADkAAAAZAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAACEAAABb/////y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - /ycnJ/80NDT/Pj4+/0VFRf9JSUn/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/SkpK/0hISP9FRUX/PT09/zIyMv8lJSX/LCws/ysrK/9OTk7/TU1N/01NTf9LS0v/LCws - /ywsLP8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz///////v7+/sAAAA5AAAAFwAAAAYAAAABAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAA - IQAAAFr/////LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/JiYm/zMzM/89PT3/RUVF/0lJSf9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9KSkr/SEhI/0VFRf89PT3/MjIy - /yUlJf8tLS3/LCws/05OTv9OTk7/TU1N/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t - ////////////AAAAOAAAABcAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAfAAAAWP////8uLi7/Li4u/y4uLv8uLi7/Li4u - /y4uLv8kJCT/MDAw/zo6Ov9DQ0P/SEhI/0pKSv9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0pKSv9JSUn/RUVF/z4+Pv8yMjL/JiYm/y4uLv8uLi7/T09P/05OTv8uLi7/Li4u - /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv///////////wAAADgAAAAXAAAABgAAAAEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AwAAABwAAABT/////y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/yQkJP8rKyv/NjY2/z4+Pv9ERET/RkZG - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0ZGRv9CQkL/Ozs7 - /zAwMP8lJSX/Li4u/y4uLv81NTX/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7///// - //////8AAAA5AAAAFwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAFwAAAEn/////MDAw/zAwMP8wMDD/MDAw - /zAwMP8wMDD/LS0t/yUlJf8uLi7/Nzc3/z09Pf9AQED/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QEBA/z09Pf82Njb/LCws/yQkJP8vLy//Ly8v/y8vL/8vLy//Ly8v - /y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v////////////AAAAOQAAABcAAAAGAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAEAAAARAAAAPf////9DQ0P/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/HR0d/yYmJv8tLS3/MzMz - /zc3N/85OTn/OTk5/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /zo6Ov86Ojr/Ojo6/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of83Nzf/NDQ0 - /y4uLv8lJSX/IiIi/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP//////+/v7 - +gAAADkAAAAXAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAv0dHRyvv7+/8xMTH/MTEx - /zExMf8xMTH/MTEx/zExMf8xMTH/HBwc/yMjI/8oKCj/Kysr/y0tLf8uLi7/Li4u/y4uLv8uLi7/Li4u - /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u - /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y0tLf8qKir/JSUl/x4eHv8lJSX/MDAw/zAwMP8wMDD/MDAw - /zAwMP8wMDD/MDAw/zAwMP8wMDD///////////8AAAA4AAAAGAAAAAcAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAAB8AAABT/////zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MDAw - /ykpKf8iIiL/IyMj/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk - /yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/IyMj - /yIiIv8eHh7/JSUl/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx////////////AAAA - NwAAABYAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAEQAAADj9/f3+6enp - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8yMjL/MjIy/zIyMv///////////wAAADYAAAAWAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAIAAAAFD/////NTU1/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP///////////8AAAA1AAAA - FQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAAA - LmxsbIH/////NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz///////7+/v7AAAANQAAABUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAATAAAANP//////////NTU1/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP//////29vbzgAAADQAAAAVAAAA - BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAUAAAAVAAAAMvf39/D/////4ODg/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT//////83Nzb4AAAA0AAAAFQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAATAAAAKAAAAEb9/f3+//// - //X19f+rq6v/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/ra2t///////IyMi2AAAAMgAAABUAAAAFAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAQAAAALAAAAGgAAAC4AAABD0NDQuv/////9/f3+/f39/v39/f79/f3+/f39 - /v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39 - /v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39 - /v39/f79/f3+AAAARAAAACoAAAATAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAA - DAAAABUAAAAfAAAAJgAAACoAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAA - LAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAA - LAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAArAAAAKAAAACEAAAAXAAAADAAAAAMAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAHAAAACQAAAAkAAAAKAAAA - CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA - CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA - CgAAAAkAAAAIAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - /////////////////////+AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////AAAAAAAAAAAAAf// - /////gAAAAAAAAAAAAD///////wAAAAAAAAAAAAAf//////8AAAAAAAAAAAAAD//////+AAAAAAAAAAA - AAA///////gAAAAAAAAAAAAAH//////4AAAAAAAAAAAAAB//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAB//////8AAAAAAAAAAAAAA///////AAAAAA - AAAAAAAAf//////wAAAAAAAAAAAAAP//////8AAAAAAAAAAAAAH///////AAAAAAAAAAAAAD///////w - AAAAAAAAAAAAB///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAf///////wAAAAAAAAAAAAP/// - ////8AAAAAAAAAAAAH////////AAAAAAAAAAAAD////////wAAAAAAAAAAAB////////8AAAAAAAAAAA - A/////////AAAAAAAAAAAAf////////wAAAAAAAAAAAP////////8AAAAAAAAAAAH/////////AAAAAA - AAAAAD/////////wAAAAAAAAAAB/////////8AAAAAAAAAAA//////////AAAAAAAAAAAf/////////w - AAAAAAAAAAP/////////8AAAAAAAAAAH//////////AAAAAAAAAAD//////////wAAAAAAAAAB////// - ////8AAAAAAAAAA///////////AAAAAAAAAAf//////////wAAAAAAAAAP//////////8AAAAAAAAAH/ - //////////AAAAAAAAAD///////////wAAAAAAAAB///////////8AAAAAAAAA////////////gAAAAA - AAAf///////////4AAAAAAAAP////////////AAAAAAAAH////////////wAAAAAAAD////////////+ - AAAAAAAB/////////////wAAAAAAA//////////////AAAAAAAf/////////////8AAAAAAf//////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////8oAAAAgAAAAAABAAABAAgAAAAA - AACAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD/wQEBP8FBQX/BgYG/wcHB/8ICAj/CQkJ - /woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS/xMTE/8UFBT/FRUV/xYWFv8XFxf/GBgY - /xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIiIv8jIyP/JCQk/yUlJf8mJib/Jycn - /ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw/zExMf8yMjL/MzMz/zQ0NP81NTX/NjY2 - /zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF - /0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/0xMTP9NTU3/Tk5O/09PT/9QUFD/UVFR/1JSUv9TU1P/VFRU - /1VVVf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/1tbW/9cXFz/XV1d/15eXv9fX1//YGBg/2FhYf9iYmL/Y2Nj - /2RkZP9lZWX/ZmZm/2dnZ/9oaGj/aWlp/2pqav9ra2v/bGxs/21tbf9ubm7/b29v/3BwcP9ycnL/c3Nz - /3R0dP91dXX/dnZ2/3d3d/94eHj/eXl5/3p6ev97e3v/fHx8/319ff9+fn7/f39//4CAgP+BgYH/goKC - /4SEhP+FhYX/hoaG/4eHh/+IiIj/iYmJ/4qKiv+Li4v/jIyM/42Njf+Ojo7/j4+P/5CQkP+RkZH/kpKS - /5OTk/+UlJT/lZWV/5aWlv+Xl5f/mJiY/5mZmf+ampr/m5ub/5ycnP+dnZ3/np6e/5+fn/+goKD/oaGh - /6Kiov+jo6P/pKSk/6Wlpf+mpqb/p6en/6ioqP+pqan/qqqq/6urq/+srKz/ra2t/66urv+vr6//sLCw - /7Gxsf+ysrL/s7Oz/7S0tP+1tbX/tra2/7e3t/+4uLj/ubm5/7q6uv+7u7v/vLy8/729vf++vr7/v7+/ - /8DAwP/BwcH/wsLC/8PDw//ExMT/xcXF/8bGxv/Hx8f/yMjI/8nJyf/Kysr/y8vL/8zMzP/Nzc3/zs7O - /8/Pz//Q0ND/0dHR/9LS0v/T09P/1NTU/9XV1f/W1tb/19fX/9jY2P/Z2dn/2tra/9vb2//c3Nz/3d3d - /97e3v/f39//4eHh/+Li4v/j4+P/5OTk/+Xl5f/m5ub/5+fn/+jo6P/p6en/6urq/+vr6//s7Oz/7e3t - /+7u7v/v7+//8PDw//Hx8f/y8vL/8/Pz//T09P/39/f/+Pj4//r6+v/7+/v//Pz8//////8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAARqfP1dTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU - 1NTU1NTU1NTU1NTU1NTU1NTU1NTV2cihPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAOsj2xoBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRk - ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRniMf2zlgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAH/xuDcBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATen9bAKAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACX9HYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG5NYZAQEAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAefRVAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa - zd0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLwfgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAQ1sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAuMoEAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAYp8nYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - ABr0RAAAAAAAAAAGCxEXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcS - FxEUFBcSFxIXEhcSFxIXDwsEAAAAAAAAAACG5QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAjtoEAAAAAAAAER8kKCcpKCooKigqKConKCkqKCooKigqKCooKigqKCooKigqKCooKigq - KCooKigqKCopKSkoKigqKCooKigpJicmJCAQBgAAAAAAABDsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAADNhQAAAAAAAAwhJiovKi8qMCowKjAqMCovMC8qMCowKjAqMCowKjAqMCow - KjAqMCowKjAqMCowKjAqMCowKiovKjAqMCowKjApLywqJyUYAAAAAAAAAKW4BgAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOdSAAAAAAAEGigpKjAxMS8vMTExMTEyNCovMTExMTIyLy8w - LzExMTExMTExMTExMDExMTExMTEwLzExMTExNzAxMTExMTEyMjAvMTEsKCEXAAAAAAABWeMAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO9B8AAAAAAAogJyk2MTA3OkdAQUFBQUFBOjcw - MjlBQUE6NzQ3OEFBQUFBQUFBQTc6REFBQUFBQTk3MkFBQUEyOkRBQUFBQUFBOjcxMSosKCAGAAAAAAAf - 8w0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb3HwAAAAAADyQpKi83NzaWpaek - paWmpqZ5NzcyZqekp3k0NDRmpaanpKWlpqenOoaopqSlpaWmaDQ3pqakpjqCpqekpaWmp6aINzcwNyop - IQ0AAAAAASH2FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFvcfAAAAAAAQJCkx - NzExNJeorqiura2qp4U0MjdmqqeugDIxMWmqqqqnra2tqqg/iK6oqK6qra2ceTqqqKitOoavraiuqq2t - qJQ0MjcxLyokEAAAAAAAH/YYAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU9x8A - AAAAABclLDEyNzc0cHl5eXmUsLW1hjE3Nmy1sLKCNzc3bLW1tZ55sLK1tzqUsLK1j4iysrKWOa+ytbU6 - iLCyso+IsLKylzE3MjIxKSQXAAAAAAAg9hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAABf2IAEAAAAAFiUsMTQ3NDc3Nzc3N2q4uLiINzc0bLi4uIY0NzJvt7e4iDq0t7e3Ope4uLdfWbq4 - t5w6tre3tzqSuLi3ZFi4uLedNzQ3MTEsJRYAAAAAAB/3FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAF/YfAAAAAAAXJywwMjc2Nzc3NjQ3asLCwo83NzZqwsLCiDc3N3DCwsKIOLjCwsM6 - msLCwmdawsLCoTq9wsLDQJS/wsNoWr/CwqM3NDc0MSwlFgAAAAABIPYXAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAX9iAAAAAAABYmKTQ3NDY2iJeXl5qux8bGlDY2NnbFxsaUNzY2dsbG - xpQ2w8fGxUafxsbGZmDGxcalPMTFyMc8l8fHxmhZx8jGpzc2NzQvKicXAAAAAAAf9hcAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3HwAAAAAAFygsMDc0Nja4zc3Ox83Nzs6XNjY2dc3O - zpQ2NjZ3zc3NlzrGzc/IQKTNzc1nYM/I1Kg4ysfNzzqezc7ObFrNzc+nNjY0MTcpJhYAAAAAACD2FwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YgAQAAAAAWJik0Nzc2Nr3U1NTUzs/P - z5c3NjZ21dXUlzc2NnnW1dSaOcfW1NRGptbV1Ghn1NTUsDrV1dTUP6LU1NRqYtTU1LU2NjY3LywmFgAA - AAAAH/cXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9h8AAAAAABcpLDA3Njc3 - wtnb21o8PDw8OjY2N3nb29udNjY4edrY2p831drY2USn2NncamfZ2du2PNfZ2tg/ptjY2W9h2dvbuDY2 - Njc3LCYWAAAAAAEg9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2IAAAAAAA - FicqNzQ3NzfH5OHhVjc3Nzc3Njg4fuHh4aE3NzeA4eTkozrZ3uTkRLXh5ORqbOTh4b083eTh5D+q5OTk - cGTk4eG9NjY0NyopKhcAAAAAAB/2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - F/cfAAAAAAAXKSw3Njc3N8/n5+d1XFxcXFE6XFyV5+fntFxcRILp5+enOOTn5+dEt+fn54iE5+fnxDrk - 5+fnQLXn5+mIgOfn58M3Nzc3NyonFgAAAAAAIPYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAX9iABAAAAABcnKTc3Nzc31O7u7u7u7u7trlTu7u7u7u7u7u53hO7u7qc65+/u7Ue48O7u - 7e7u7u3FOufv7uxBte3u7u7u7u7uyDc3NzY3LCkXAAAAAAAf9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAABf2HwAAAAAAGCwqNDc4ODja8vLz8/Pz8vKyVfPz8/Pz8/Pz83mI8/Lzrjrs - 8/P0Rr/y8/Py8/P0lEk67fLy8j+68vPy8/Pz8/PNNzc3NjYqJhYAAAAAASD2FwAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YgAAAAAAAXKCo4ODg4OISUlJKSkpKSlHNHkpKSkpKSkpKS - Vl+UlJJzOo6SkpI/eZSSkpSSlJJaOjqUlJSUOnmUkpSSkpKSkoA3Nzc2NykpGQAAAAAAH/YXAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9x8AAAAAABgsKjQ3ODg5S09PT09PT1A6ODg4 - ODg4ODg4ODk6TE9PT09PT09PT09PT09QTDk4S09PT09PT1E6OjpPT09PT09PTDg4ODY4KigXAAAAAAAg - 9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2IAEAAAAAFygqNjc4ODico6Ki - oqKiokg4ODg4ODg4ODg4OD+goqKioqKioqKioqKioqKfPDiSoqKioqKiolE4S6OioqKioqKVOTg4NzQq - LBgAAAAAAB/3FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YgAQEBAQEXKio3 - Nzk6OqCoqKioqKelSTk5OTk5OTk5OTk4R6eoqKioqKioqKioqKinpqQ8N5Wmp6anpqelUjhPqKioqKin - pZg5ODg3NiooFwAAAAABIPYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9iEA - AAEAABcoMDc2Nzo5oqeoqKenp6dLOTk5OTk5OTk5OTlBpqeop6enp6enp6enp6enpzo6mKeqp6qnqqdV - OU+op6inp6ennDo5ODc3KioXAQEBAQEg9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAABf3IAYGAAYHGCgwNzk6Ojqkp62tra2trUo5OTo6ODo3OTk5N0enra2tra2tra2tra2trrCoPDma - ra2tra2trVU5Uqitra2tra2dOjk5NzcwKBcAAAEAACH2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAF/YiBAEGAAAXKTE2ODg6Oqe1r7CwsLCwSzo6Ojg6Ojo6Ojo5Rqqwrq6wsLCusLCw - sK6usKc6PJ6wsLCwsLCwVTlQrrCwsLCwsKA6OTk3Ny8oGAcGAAYGIPcXAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAX9iEBBwEGBhkpMTY6Ojk/qrK0tLS0tbVKOjo8Ojo6Ojo4OjlHtba1 - tbS0tbVVVFVWVVVVUjo6oLS0tLS0tLRWOk+1tLS0tLS0pDo5OTg3MCgXAAAGAQQi9hcAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2IgYBBgEGGCkxNjg4OjyouLq4tbi4tks8Ojo4Ojo6 - Ojo8Oke0uLi4ura2tjo8Ojw6Ojk6OjmluLe2uLq4tlg8Vbe3tri6uLWnPDo6ODYxKRkGBgEHASH2FwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/clBwcHBwcZKTE2Ojo8OrW4ur24ur24 - Szo6PDo6Ojo6ODo6SLi4uLq+uLi3Ojo6PDk6Ojk6Oqi6vri4ur64alRpur64uLq9uKo8ODo4NjEpGAcB - BgEGIvYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9iUHBgYGBhkqMjc5OTw6 - t724vri+vr5LPDk8PDo8Ojw6PDlHvbi+uL64wrg/OTk8Ojo6Ojw8qri+uL64vri+uL64vri+uL64rjo6 - PDg2MSkZBwcHBwcl9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2JQcHBwcH - GioyNjw6PDq3w8PDw8PCwks6Ojk5OTk6ODk8Oka/w8PDw8PCw0E6Ojo8Pzo6Ojmqw8PDw8PDw8PDw8PD - w8PDw8OyOjk6OTYxKRkGBgYGByX2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - F/YmBwcHBwcaKjI3OTo6QLrFxcXFxcXFiIWAgoKCgoCFhXM5R8TFxcXFxcXCOjo6Ojw8Ojo6OrXExcXF - xcXFxcXExsfGxcXFxbI8Ojo6ODIqGgcHBwcHJfYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAX9yYICAgJCRgqMjo6Ojo8vsrIysjKyMrIysjKyMrKyMfHrjpIyMjKyMrHyMZAPDw8Ojo6 - PDk8tMjKyMrIysjKysjHyMrIysfItTw8Ojk3MioaBwcHBwcm9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAABf2JwoJCQkIGiw3Nzo6OkbCzcjOyM7IzsjOyM7IzsjOyMivPEjKyM7IzsjO - x0E6OjpAPDo/Oj+1yM7IzsjOyM7IzsjIzcjOyM64PDo8PDgyKhoICAgICCb3FwAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YnCQkJCgoZKjI5Ojo6OsPNzc/Pz8/Pz8/Pz8/Pz8/O1LU6 - SM3Pz8/Pz9LIP0A6Oj86PEA6PLbPzc/Pz8/Pz8/Pz9SaYWFhYVw/Ojo4NzIsGQkJCQkKJ/YXAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9igKCgoKChosNzc6PD8/xdXV0tLS0tLS0tLS - 0tLS0tLStTpKz9LS0tLS0s46PDo6Pzw6QTo6uNXV0tLS0tLS0tLS0ohAOjo6Ojo6PDo6NyoaCgkJCQkn - 9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3KAsLCwwNHCo0Ojw6PEDH1tbW - 1tbW18XDyNbW1tbW1ta6OknV1tbW1tbW0kc6QDpAOjo/PD+41tbW1tbW1tbW1tbYl1hYWFlWPD86ODg0 - LBoKCgoKCij2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YpDAsLCwsaKjY4 - OkA6Qc7a2dnZ2dnZVTpk2NnZ2dnZ2bo8S9jZ2dnZ2dnVQDo/Oj86Pzw6QMLZ2dnZ2dnZ2dnZ2dnZ2dnZ - 2cM6Pzo6PDQqGg4LCwsLKPcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9ikM - DAwMDxoqNjo6QDo6zdvb29vb29tRPGfb3dvb29vbvTpK2t3b29vb3NxBPz8/Pz9AOj88w9vb29vb29vd - 3d3b29vb29zcxkBAOjo4MikcCwsLCwwp9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAABf2LA4NDQ0NGik3Nzo6OkbV4eHh4eHh4VU8Z+Te4eHh4eHCPEzc3uHh4eHh3Do6Ojo6Ojo6QTrH - 4eHh4eHh4aaWo+Hh4eHh4eHHPzo6Pzo3KhwMDAwMDCn2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAF/YqDQ0NDg8aLDQ6OkY6QNbj4+Pj4+PjWDpn4+Pj4+Pj48Q6SuTj4+Pj4+PcRjpG - OkY6RjpBP8fj4+Pj4+PkYjxc4+Th4+Pj480/Pzo6OjIqHA0NDQ0OLPYXAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAX9iwODg4ODBovNzo6QDpE2ubl5+bn5uZVOmrl5+bn5ufmxz9K5Ofl - 5+bn5uRHOkA6QDpAOkA6x+bn5ufm5+ZnOl/m5+fn5+bnzjw6QDo8NykgDg0NDQ0q9hcAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3Kg8PDg4XGiw2OjpAOkDc7Ofs5+zn59XN1ufs5+zn - 7efIQUvl7Ofs5+zn6c3Nzc3Nzc3GQTzU5+zn7Ofs52Y6X+fn7Ofs5+nVRj9AOjg3KRwODg4ODiz2FwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YpEQ8PDw8aKjk6P0A/Qd7t7e3t7e3t - 7e3t7e3t7e3t7cc/S+fv7e3t7e3t7e3t7e3t7eNHOtXu7e3t7e3tZzpg7e3t7e3t7dU/Ojo8OjQsGhAO - Dg4OKvcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9ywOEBAREh8pNjo8Pz9B - 4fDw8PDw8PDw8PDw8PDw8PDv1T9M7PDw8PDw8PDw8PDw8PDx50c61PDw8PDw8PBmP1/w8PDw8PDw2EA/ - Rjo5NywcDQ8PDxEp9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3LBcRERER - Gi83OTpBQEDj8vLy8vLy8vLy8vLy8vLy8vLOOkzy8/Ly8vLy8vLy8vLy8vLsRjrZ8vLy8vLy8mc/X/Ly - 8vLy8vLbQD8/Ojo3LB8XEBAQDiz3FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - FPcqEREREhQgLDc6Pzo/Ruf09PT09PT09PT09PT09PT09NVATPL09PT09PT09PT09PT09OxGP9r09PT0 - 9PT0Zz9g9PT09PT09N1BQUA8PDkqGhERERIXKfYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAX9i8SEhISEBoqOjw/R0BBnqenp6enp6enp6enp6enp6enlD9Ipaenp6enp6enp6enp6en - okc/laenp6enp6dWP1Knp6anp6aml0A/Ojo/NikgEREREQ8p9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAABf3LxISEhIXICk4OjpAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA - QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFHOjw4LB8SERARFy/2FwAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YxEhIREhEaMDY8P0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBA - QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA6OjkpIhYUFxISL/YXAAAAAAAA - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/c5IRohGhokMTpAQEdGR0ZBRkFGQUZBRkFGR0ZHRkdGR0ZH - RkdGR0FBRjg3KRoaJDo6Ojk5ODg6ODo6OTg3OTk6Ojc6NzY4ODk6KRogGiAaGho01+EkAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9jofGiAaICQxOEBHREZBR0ZGRkZGRkZGRkZE - R0FGQUZBRkFGQUZBRkZAOjclGiIwOTo8Ojo6Ojo6PDw6Ojo6Ojw6Ojo6Ojo5OSkfGiEaIRohN9bhJQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2Oh8fHx8fJDI6Oj9GR0dHR0dH - R0dHR0dHR0RGRkZGRkZGRkZGRkZGQUA6MSQaHzo6Ojw8Ojw/Ojo6PDk6PDo6Ojo6Ojo8OjkqGiAaIBog - GjjX4SYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/Y5ICAfHx8lMDhG - RkdHRkZGRkZGRkZGRkZGRkdHR0dHR0dHR0dHR0dHPzkwIh8fOTo/Ojo6Pzw6Oj86Ojw8PDo6Ojo6Ojo6 - KSAfHx8fHx841+ElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9zog - ICAgICQ3Oj9GRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkRAOjAgISY6QEA6QDpAOkA6OjxBOjxB - OkA6PD86PCofICAgICAgONjhJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAABf3OiIiISEhJTA6QUZERkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGREA5LyUgJzpBOjpBOkE6 - QTpBOkE6OkA6Ojo6QTosICAgICAgIDjZ4SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAFPc6ISEhISElNzk/RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEPzkvISIp - OjxAOkA6QDpAOkA6P0E6P0E6Rzo8KCEhISEhISE52eElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAX9zoiICIiIiYwOkFGRkdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRkZG - REY6PDAlIig/Rj8/Pz8/Pz8/Pz8/PzpAPzo/OikiISEhHyEhONfhJgAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT3PCUlISEhJjc5RkdHR0dHR0dHR0dHR0dHR0dHR0dH - R0dHR0dHR0dHR0E6MCQhKTpAQEBAQEBAQEBAQEBARj9ARjopICAgICElITzY4SUAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/c6KCUlJSUmMDpBREdHR0dHR0dHR0dH - R0dHR0dHR0dHR0dHR0dHR0ZHQTowJCUqRj9AQUFBQUFBQT9AQUE/OkY6KSQlJSUlJSI62+EkAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU9zokJCQkJCY3PEdGR0hI - SEhISEhISEhISEdHR0dHR0dHR0dHR0dHR0Q/OjAkJSk/RkE/P0BBQEE/RkFAQUZHPyokJCQkJCImOtjh - JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2QCUlJSUl - JzE6REdISEhISEhISEhISEhISEhISEhISEhISEhISEhHREY4MSYlLEZAQEZGRkBGQEZAQEY/QUEpJSQk - JCQkJT/a4SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - F/c/JSUlJSUmNzpBRkhISEhISEhISEhISEhISEhISEhISEhISEhISEdHQTowJigpR0dGQUFBR0FGQEZG - QEdAKiUlJSUlJSc63eElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAX9kEnJiYmJic3OkdHSEhISEhISEhISEhISEhISEhISEhISEhISEhIR0ZGOjAmJilJRkdH - R0ZBRkFGQURGPyomJiYmJiYlP9zhJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAARf2PycnJycnKTc6REdJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSEhISEhIRkE5 - MSYoKkZGRkZHR0dHR0dHREYqJiYmJiYmJkHc4SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/ZHKCgoKCgoNDpHSElJSUlJSUlJSUlJSUlJSUlJSUlJSUlJ - SUlJSUhHRzoyJicvRkZGRkZGRkZGRkRBLCgnJycnJyVB4eEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU9kAoKCgoKCk3OkRHSUlJSUlJSUlJSUlJSUlJ - SUlJSUlJSUlJSUlJSEhEOjEnKDBHR0dHR0dHR0ZERikoKCgoKCgoR+HhJAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2RigqKikpKTQ6RklJSkpKSkpK - SUlJSUlJSUlJSUlJSUlJSUlJSUlIR0E6MicpMUhISEhISEhISEYoKSkoKCgoJkTh4SUAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/ZHKSooKSkqNzpH - SEpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSklHRzowKCgvSUlJSUlJSUlELCkpKCkpKSlH5OEmAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9kYq - KSksLCo0OkZJSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSUhGOjcnKTdKSUpMS0pKRikpLykpKios - SOHhJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAARf2RyopLyksKTc6R0hKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpJRkY8MSopNEtLS0tKTEcp - KSksLCwpKUjh5CUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAF/ZHLCovKSopNzpKSktLS0tLS0tLS0tLS0tLS0tKSkpKSkpKSkpKSkpIRjo3KCk4 - S0xMTExGKSosLCopKipR59omAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAEY9kopLC8pLCo3OkRJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL - SklHOjQpKTRPTEtLRCkvLykpLyksVufVDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb2SCoqMSkwLDc/R0dLS0tLS0tLS0tLS0tLS0tLS0tL - S0tLS0tLS0tKSUc6NiosN0xMTEcpLywqKi8vKVjs1g4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGPZIMSkxKikqNDpHSUtLTExMS0tLS0tL - S0tLS0tLS0tLS0tLS0tLS0pJRzo0Ki80TExGMSkxKTEqKi9Z59UOAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW9kkvKjAqMCkxOkdHSEtJ - SUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlLSklHPDQpLypVRzAvKjAqMCkyWufXDAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARr2SC8vLzAw - KCw5OkdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0ZJR0Q6MSkxKjoqLy8vMDIyKlXs1A0AAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - BPFYMDAwMDApJzA3P0ZBR0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkFBOjkpKTAvLy8vLy8vLypZ8dcN - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAEB24IwMDAwMDAkJyo2OTk8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8OTg2MSYnMDAwMDAw - MDAxWe7UBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAC4wjIxMTExMS8lJSgpKjAqMCowKjAqMCowKjAqMCowKjAqMCowKjAqLyol - GigwMDAwMDAwL1zx1QoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlr0RzAyMjIxMTEsKigoKSkpKSkpKSkpKSkpKSkpKSkpKSkp - KSkpKSgoJyUlMDExMTEyMjJZ8ccBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeSnNzQxMTAxMDEwMTAxMDEwMTAxMDEwMTIy - MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjAxWfHPAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf/ZqMjcwNzI3MjcyNzI3Mjcy - NzI3MjcyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyN1/xxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuO1YNjc0NDQ0 - NDQ0NDQ0NDQ0NDQ0NDQ3MjcyNzI3MjcyNzI3MjcyNzI3MjcyNzJh8MoBAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH - 2+dvNDQyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjQ0NDQ0YvDCBgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAGx/awVzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NDQ0NGLuxAEAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAiOf0xJeCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKe - 8M4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITV4+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl - 5eXl5eXl5uSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ////////////////4AAAAAAAAAAAD////////8AAAAAAAAAAAAP///////8AAAAAAAAAAAAB///////+ - AAAAAAAAAAAAAP///////AAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAD// - ////+AAAAAAAAAAAAAAf//////gAAAAAAAAAAAAAH//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA - AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA - AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w - AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// - ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAH//////wAAAAAAAAAAAAAD//////8AAAAAAAAAAA - AAB///////AAAAAAAAAAAAAA///////wAAAAAAAAAAAAAf//////8AAAAAAAAAAAAAP///////AAAAAA - AAAAAAAH///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAB////////AAAAAAAAAAAAA////////w - AAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////AAAAAAAAAAAAH////////wAAAAAAAAAAAD//// - ////8AAAAAAAAAAAB/////////AAAAAAAAAAAA/////////wAAAAAAAAAAAf////////8AAAAAAAAAAA - P/////////AAAAAAAAAAAH/////////wAAAAAAAAAAD/////////8AAAAAAAAAAB//////////AAAAAA - AAAAA//////////wAAAAAAAAAAf/////////8AAAAAAAAAAP//////////AAAAAAAAAAH//////////w - AAAAAAAAAD//////////8AAAAAAAAAB///////////AAAAAAAAAA///////////wAAAAAAAAAf////// - ////8AAAAAAAAAP///////////AAAAAAAAAH///////////wAAAAAAAAD///////////+AAAAAAAAB// - //////////gAAAAAAAA////////////8AAAAAAAAf////////////AAAAAAAAP////////////4AAAAA - AAH/////////////AAAAAAAD/////////////8AAAAAAB//////////////wAAAAAB////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////////////ygAAABAAAAAgAAAAAEAIAAAAAAAAIAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAA - AwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAA - AwAAAAMAAAADAAAAAwAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABgAAAB8AAAA8AAAASQAAAEoAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAA - SwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAA - SwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEoAAABKAAAAQwAAAC4AAAASAAAAAgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEtJSUmm//////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////AAAA - dQAAADEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAFj/////AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/zIyMv//////AAAAPgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADv/////AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAAsAAAAAQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAA8AAAB3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8RERH/AAAA - awAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAj/////wAAAP8AAAD/AAAA/xcXF/8kJCT/KSkp/yoqKv8qKir/Kioq - /yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq - /yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/ygoKP8hISH/AAAA - /wAAAP8AAAD/AAAA//7+/v8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANP////8AAAD/AAAA/wAAAP8jIyP/Li4u - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8xMTH/LCws/yEhIf8AAAD/AAAA/wAAAP//////AAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr/////AAAA - /wAAAP8AAAD/Jycn/zExMf80NDT/NDQ0/6qqqv+qqqr/qqqq/6qqqv80NDT/NDQ0/6qqqv+qqqr/NDQ0 - /zQ0NP+qqqr/qqqq/6qqqv+qqqr/qqqq/zQ0NP+qqqr/qqqq/6qqqv+qqqr/NDQ0/6qqqv+qqqr/NDQ0 - /6qqqv+qqqr/qqqq/6qqqv80NDT/NDQ0/zExMf8nJyf/AAAA/wAAAP8AAAD//////wAAADkAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAEAAAA7/////wAAAP8AAAD/AAAA/ykpKf8yMjL/NTU1/zU1Nf81NTX/NTU1/7e3t/+3t7f/NTU1 - /zU1Nf+3t7f/t7e3/zU1Nf81NTX/t7e3/7e3t/81NTX/t7e3/7e3t/81NTX/t7e3/7e3t/+3t7f/t7e3 - /zU1Nf+3t7f/t7e3/zU1Nf+3t7f/t7e3/7e3t/+3t7f/NDQ0/zQ0NP8xMTH/KCgo/wAAAP8AAAD/AAAA - //////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8AAAD/AAAA/wAAAP8qKir/MzMz/zY2Nv82Njb/NTU1 - /zU1Nf/FxcX/xcXF/zU1Nf81NTX/xcXF/8XFxf81NTX/NTU1/8XFxf/FxcX/NTU1/8XFxf/FxcX/NTU1 - /8XFxf/FxcX/xcXF/8XFxf81NTX/xcXF/8XFxf81NTX/xcXF/8XFxf/FxcX/xcXF/zU1Nf81NTX/MjIy - /ykpKf8AAAD/AAAA/wAAAP//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////AAAA/wAAAP8AAAD/Kioq - /zMzM/82Njb/NjY2/9PT0//T09P/09PT/9PT0/82Njb/NjY2/9PT0//T09P/NjY2/zY2Nv/T09P/09PT - /zY2Nv/T09P/09PT/zY2Nv/T09P/09PT/9PT0//T09P/NjY2/9PT0//T09P/NjY2/9PT0//T09P/09PT - /9PT0/82Njb/NjY2/zMzM/8qKir/AAAA/wAAAP8AAAD//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// - /wAAAP8AAAD/AAAA/ysrK/80NDT/Nzc3/zc3N//g4OD/4ODg/zc3N/83Nzf/NjY2/zY2Nv/g4OD/4ODg - /zY2Nv82Njb/4ODg/+Dg4P82Njb/4ODg/+Dg4P82Njb/4ODg/+Dg4P/g4OD/4ODg/zY2Nv/g4OD/4ODg - /zY2Nv/g4OD/4ODg/+Dg4P/g4OD/NjY2/zY2Nv8zMzP/Kioq/wAAAP8AAAD/AAAA//////8AAAA7AAAA - AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAABAAAAO/////8AAAD/AAAA/wAAAP8rKyv/NDQ0/zc3N/83Nzf/7e3t/+3t7f/t7e3/7e3t - /zc3N//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/Nzc3/+3t7f/t7e3/Nzc3/+3t7f/t7e3/7e3t - /+3t7f83Nzf/7e3t/+3t7f83Nzf/7e3t/+3t7f/t7e3/7e3t/zc3N/83Nzf/NDQ0/ysrK/8AAAD/AAAA - /wAAAP//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////AAAA/wAAAP8AAAD/LCws/zU1Nf84ODj/ODg4 - //r6+v/6+vr/+vr6//r6+v84ODj/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6/zg4OP/6+vr/+vr6 - /zg4OP/6+vr/+vr6//r6+v/6+vr/Nzc3//r6+v/6+vr/Nzc3//r6+v/6+vr/+vr6//r6+v83Nzf/Nzc3 - /zQ0NP8rKyv/AAAA/wAAAP8AAAD//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wAAAP8AAAD/AAAA - /ywsLP81NTX/ODg4/01NTf+jo6P/o6Oj/6Ojo/+ZmZn/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/o6Oj - /6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/84ODj/o6Oj/6Ojo/+jo6P/o6Oj/zg4OP+fn5//o6Oj - /6Ojo/+jo6P/RUVF/zg4OP81NTX/LCws/wAAAP8AAAD/AAAA//////8AAAA7AAAAAQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA - O/////8CAgL/AQEB/wEBAf8sLCz/NjY2/zk5Of9RUVH/qamp/6mpqf+pqan/oKCg/zk5Of85OTn/OTk5 - /zk5Of85OTn/OTk5/6mpqf+pqan/qamp/6mpqf+pqan/qamp/6mpqf+pqan/OTk5/6mpqf+pqan/qamp - /6mpqf84ODj/pqam/6mpqf+pqan/qamp/0ZGRv84ODj/NTU1/ywsLP8BAQH/AQEB/wEBAf//////AAAA - OwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAQAAADv/////AwMD/wMDA/8DAwP/LCws/zY2Nv85OTn/UlJS/7CwsP+wsLD/sLCw - /6Wlpf85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of+wsLD/sLCw/7CwsP+wsLD/sLCw/7CwsP+wsLD/sLCw - /zk5Of+wsLD/sLCw/7CwsP+wsLD/OTk5/6ysrP+wsLD/sLCw/7CwsP9ISEj/OTk5/zY2Nv8sLCz/AgIC - /wICAv8CAgL//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wQEBP8EBAT/BAQE/y0tLf83Nzf/Ojo6 - /1NTU/+3t7f/t7e3/7e3t/+rq6v/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/t7e3/7e3t/+3t7f/t7e3 - /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/t7e3/7e3t/+3t7f/t7e3/zo6Ov+ysrL/t7e3/7e3t/+3t7f/SUlJ - /zo6Ov83Nzf/LS0t/wMDA/8DAwP/AwMD//////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8GBgb/BgYG - /wYGBv8uLi7/ODg4/zs7O/9VVVX/vr6+/76+vv++vr7/sbGx/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 - /76+vv++vr7/vr6+/76+vv86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/76+vv++vr7/vr6+/76+vv+/v7//vr6+ - /76+vv++vr7/vr6+/0lJSf86Ojr/Nzc3/y0tLf8FBQX/BQUF/wUFBf//////AAAAOwAAAAEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AQAAADv/////BwcH/wcHB/8HBwf/Li4u/zg4OP87Ozv/VlZW/8XFxf/FxcX/xcXF/7e3t/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zs7O//FxcX/xcXF/8XFxf/FxcX/Ozs7/zs7O/87Ozv/Ozs7/zs7O//FxcX/xcXF - /8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf9KSkr/Ozs7/zg4OP8uLi7/BgYG/wYGBv8GBgb///// - /wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wgICP8ICAj/CAgI/y8vL/85OTn/PDw8/1hYWP/MzMz/zMzM - /8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP88PDz/zMzM/8zMzP/MzMz/zMzM/zw8PP87Ozv/Ozs7 - /zs7O/87Ozv/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/SkpK/zs7O/84ODj/Li4u - /wcHB/8HBwf/BwcH//////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8KCgr/CgoK/woKCv8vLy//OTk5 - /zw8PP9YWFj/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/PDw8/9LS0v/S0tL/0tLS - /9LS0v88PDz/PDw8/zw8PP88PDz/PDw8/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v88PDz/PDw8 - /zw8PP88PDz/OTk5/y8vL/8JCQn/CQkJ/wkJCf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////CwsL - /wsLC/8LCwv/MDAw/zo6Ov89PT3/WVlZ/9nZ2f/Z2dn/2dnZ/8vLy/9PT0//2dnZ/9nZ2f/Z2dn/2dnZ - /z09Pf/Z2dn/2dnZ/9nZ2f/Z2dn/PT09/z09Pf89PT3/PT09/z09Pf/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ - /9nZ2f/Z2dn/09PT/9PT0/9KSkr/PDw8/zk5Of8vLy//CgoK/woKCv8KCgr//////wAAADsAAAABAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAEAAAA7/////wwMDP8MDAz/DAwM/zAwMP86Ojr/PT09/1paWv/g4OD/4ODg/+Dg4P/Nzc3/PT09 - /+Dg4P/g4OD/4ODg/+Dg4P89PT3/4ODg/+Dg4P/g4OD/4ODg/z09Pf89PT3/PT09/z09Pf89PT3/4ODg - /+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/TU1N/z09Pf86Ojr/MDAw/wwMDP8MDAz/CwsL - //////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8ODg7/Dg4O/w4ODv8wMDD/Ozs7/z4+Pv9cXFz/5+fn - /+fn5//n5+f/1NTU/z4+Pv/n5+f/5+fn/+fn5//n5+f/Pj4+/+fn5//n5+f/5+fn/+fn5/8+Pj7/Pj4+ - /z4+Pv8+Pj7/Pj4+/+fn5//n5+f/5+fn/+fn5/8+Pj7/39/f/+fn5//n5+f/5+fn/05OTv8+Pj7/Ozs7 - /zAwMP8NDQ3/DQ0N/w0NDf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Dw8P/w8PD/8PDw//MTEx - /zw8PP8/Pz//XV1d/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/z4+Pv/u7u7/7u7u - /+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/z4+Pv/u7u7/7u7u/+7u7v/u7u7/Pj4+/+bm5v/u7u7/7u7u - /+7u7v9OTk7/Pj4+/zs7O/8wMDD/Dg4O/w4ODv8ODg7//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// - /xAQEP8QEBD/EBAQ/zExMf88PDz/Pz8//11dXf/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1 - //X19f8/Pz//9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f8/Pz//9fX1//X19f/19fX/9fX1 - /z8/P//s7Oz/9fX1//X19f/19fX/UFBQ/z8/P/88PDz/MTEx/xAQEP8QEBD/EBAQ//////8AAAA7AAAA - AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAABAAAAO/////8SEhL/EhIS/xISEv8yMjL/PT09/0BAQP9eXl7//Pz8//z8/P/8/Pz//Pz8 - //z8/P/8/Pz//Pz8//z8/P/8/Pz/QEBA//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/Pz8/ - //z8/P/8/Pz//Pz8//z8/P8/Pz//8/Pz//z8/P/8/Pz//Pz8/1BQUP8/Pz//PDw8/zExMf8RERH/ERER - /xEREf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////ExMT/xMTE/8TExP/MjIy/z09Pf9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /z09Pf8yMjL/EhIS/xISEv8SEhL//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xQUFP8UFBT/FBQU - /zMzM/8+Pj7/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP89PT3/MjIy/xQUFP8UFBT/FBQU//////8AAAA7AAAAAQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA - O/////8WFhb/FhYW/xYWFv8zMzP/Pj4+/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/Pj4+/zMzM/8VFRX/FRUV/xUVFf//////AAAA - OwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAQAAADv/////FxcX/xcXF/8XFxf/NDQ0/z8/P/9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf8/Pz//PT09 - /zw8PP87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zg4OP8uLi7/FhYW - /xYWFv8WFhb//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xgYGP8YGBj/GBgY/zQ0NP9AQED/Q0ND - /0NDQ/9DQ0P/Q0ND/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0BAQP88PDz/NjY2/y8vL/8sLCz/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr - /ysrK/8pKSn/ISEh/xgYGP8YGBj/GBgY//////8AAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8aGhr/Ghoa - /xoaGv80NDT/QEBA/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0FBQf88PDz/MTEx/yQkJP8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ - /xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf//////AAAANAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AQAAADv/////Gxsb/xsbG/8bGxv/NTU1/0FBQf9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0NDQ/9DQ0P/Q0ND/0JCQv8+Pj7/MjIy/x8fH/8bGxv/GBgY/zY2Nv82Njb/NjY2 - /zY2Nv82Njb/NjY2/zY2Nv81NTX/NTU1/zU1Nf81NTX/NTU1/xwcHP8aGhr/Ghoa/xoaGv8aGhr///// - /wAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xwcHP8cHBz/HBwc/zU1Nf9BQUH/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9CQkL/Ozs7/ykpKf8cHBz/Nzc3 - /zg4OP84ODj/ODg4/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/8cHBz/HBwc - /xwcHP8cHBz//v7+/wAAADwAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8eHh7/Hh4e/x4eHv82Njb/QkJC - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/QkJC - /zc3N/8ZGRn/HR0d/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 - /zk5Of8dHR3/HR0d/x0dHf8dHR3//////wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Hx8f - /x8fH/8fHx//NjY2/0JCQv9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0JCQv81NTX/Hx8f/ykpKf87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 - /zs7O/87Ozv/Ozs7/zo6Ov8eHh7/Hh4e/x4eHv8eHh7//v7+/wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAEAAAA7/////yAgIP8gICD/ICAg/zc3N/9DQ0P/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9CQkL/NTU1/yAgIP86Ojr/PT09/z09Pf89PT3/PT09 - /z09Pf89PT3/PT09/z09Pf89PT3/PT09/zw8PP8gICD/ICAg/yAgIP8gICD//v7+/wAAAD4AAAAHAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8iIiL/IiIi/yIiIv84ODj/RERE/0dHR/9HR0f/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/QkJC/zU1Nf8hISH/Pz8/ - /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8+Pj7/Pj4+/z4+Pv8hISH/ISEh/yEhIf8hISH///// - /wAAAD4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////IyMj/yMjI/8jIyP/ODg4 - /0RERP9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0NDQ/81NTX/IyMj/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8iIiL/IiIi - /yIiIv8iIiL//////wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// - /yUlJf8lJSX/JSUl/zg4OP9FRUX/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9DQ0P/NTU1/yQkJP9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC - /0JCQv8kJCT/JCQk/yQkJP8kJCT//////wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAABAAAAO/////8mJib/JiYm/yYmJv84ODj/RUVF/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/RERE/zY2Nv8lJSX/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP8lJSX/JSUl/yUlJf8lJSX//////wAAAD4AAAAHAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Jycn/ycnJ/8nJyf/OTk5/0ZGRv9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0VFRf83Nzf/Jycn - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv8nJyf/Jycn/ycnJ/8nJyf//////wAAAD4AAAAHAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////ykpKf8pKSn/KSkp - /zk5Of9GRkb/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ - /0lJSf9FRUX/Nzc3/ygoKP9ISEj/SEhI/0hISP9ISEj/SEhI/0dHR/8oKCj/KCgo/ygoKP8oKCj///// - /wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA - O/////8qKir/Kioq/yoqKv86Ojr/R0dH/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/RkZG/zc3N/8pKSn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf8pKSn/KSkp - /ykpKf8pKSn//////wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAQAAADv/////Kysr/ysrK/8rKyv/Ojo6/0dHR/9KSkr/SkpK/0pKSv9KSkr/SkpK - /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0ZGRv83Nzf/Kysr/0tLS/9LS0v/S0tL - /0tLS/8rKyv/Kysr/ysrK/8rKyv//////wAAAD0AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA6/////ywsLP8sLCz/LCws/zo6Ov9ISEj/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9HR0f/ODg4 - /ywsLP9NTU3/TU1N/0tLS/8sLCz/LCws/ywsLP8sLCz//////wAAADoAAAAGAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOf////8uLi7/Li4u - /y4uLv84ODj/R0dH/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0pKSv9KSkr/RkZG/zg4OP8tLS3/SUlJ/05OTv8tLS3/LS0t/y0tLf8tLS3//////wAAADkAAAAHAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAADD/////Ly8v/y8vL/8vLy//Li4u/z4+Pv9FRUX/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG - /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0JCQv80NDT/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy////// - /wAAADgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAd/////zAwMP8wMDD/MDAw/x0dHf8rKyv/MjIy/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP8xMTH/JiYm/zAwMP8wMDD/MDAw - /zAwMP8wMDD//////wAAADcAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsXFxbkyMjL/MjIy/zIyMv8yMjL/MjIy - /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8xMTH/MTEx - /zExMf8xMTH/MTEx/zExMf8xMTH//////wAAADYAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn//// - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP//////wAAADUAAAAFAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAABQAAADT/////NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 - /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT//////wAAADUAAAAGAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIrS0tJ3///////////////////////// - //////////////////////////////////////////////////////////////////////////////// - /wAAAC8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA - EgAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAA - FwAAABcAAAAXAAAAFgAAAA4AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////// - ///4AAAAAD////AAAAAAD///4AAAAAAH///gAAAAAAf//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AA - AAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD - ///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AA - AAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD - ///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAB///wAAAAAAP///AAAAAAB///8AA - AAAAP///wAAAAAB////AAAAAAP///8AAAAAB////wAAAAAP////AAAAAB////8AAAAAP////wAAAAB// - ///AAAAAP////8AAAAB/////wAAAAP/////AAAAB/////8AAAAP/////wAAAB//////gAAAP//////AA - AB//////+AAAP/////////////////////////////////////////////////////////8oAAAAQAAA - AIAAAAABAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD/wQEBP8FBQX/BgYG - /wcHB/8ICAj/CQkJ/woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS/xMTE/8UFBT/FRUV - /xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIiIv8jIyP/JCQk - /yUlJf8mJib/Jycn/ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw/zExMf8yMjL/MzMz - /zQ0NP81NTX/NjY2/zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC - /0NDQ/9ERET/RUVF/0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/01NTf9PT0//UFBQ/1FRUf9TU1P/VVVV - /1ZWVv9XV1f/WFhY/1lZWf9bW1v/XV1d/15eXv9fX1//YGBg/2NjY/9kZGT/ZWVl/2ZmZv9nZ2f/aGho - /2lpaf9qamr/a2tr/2xsbP9tbW3/bm5u/29vb/9wcHD/cXFx/3Nzc/90dHT/dXV1/3Z2dv93d3f/eHh4 - /3l5ef96enr/e3t7/3x8fP99fX3/fn5+/39/f/+AgID/gYGB/4KCgv+Dg4P/hISE/4WFhf+Ghob/h4eH - /4iIiP+JiYn/ioqK/4yMjP+Ojo7/j4+P/5CQkP+RkZH/kpKS/5OTk/+UlJT/lZWV/5aWlv+Xl5f/mJiY - /5mZmf+ampr/m5ub/5ycnP+dnZ3/np6e/5+fn/+goKD/oaGh/6Kiov+jo6P/pKSk/6Wlpf+mpqb/p6en - /6ioqP+pqan/qqqq/62trf+urq7/r6+v/7CwsP+zs7P/tLS0/7a2tv+3t7f/uLi4/7m5uf+6urr/vb29 - /76+vv+/v7//wMDA/8LCwv/Dw8P/xMTE/8XFxf/Gxsb/x8fH/8rKyv/Ly8v/zMzM/83Nzf/Ozs7/z8/P - /9DQ0P/R0dH/0tLS/9PT0//U1NT/1tbW/9fX1//Y2Nj/2dnZ/9ra2v/c3Nz/3d3d/97e3v/f39//4ODg - /+Hh4f/j4+P/5eXl/+bm5v/n5+f/6Ojo/+np6f/r6+v/7e3t/+7u7v/x8fH/9PT0//X19f8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - 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 - AAAAA///wAAAAAAH///AAAAAAA///8AAAAAAH///wAAAAAA////AAAAAAH///8AAAAAA////wAAAAAH/ - ///AAAAAA////8AAAAAH////wAAAAA/////AAAAAH////8AAAAA/////wAAAAH/////AAAAA/////8AA - AAH/////wAAAA//////AAAAH/////+AAAA//////8AAAH//////4AAA///////////////////////// - /////////////////////////////////ygAAAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA - AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAF4AAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAA - YQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAA - YQAAAGEAAABXAAAALgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJeXl6tOzs7/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAHQAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB5AAAACQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9ubm7/AAAA - NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - bQAAAP8AAAD/AAAA/ykpKf8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v - /y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y4uLv8mJib/AAAA - /wAAAP8AAAD/AAAAaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAD3Nzc3AAAAP8AAAD/Hh4e/zAwMP80NDT/p6en/6enp/+np6f/p6en/zQ0NP+np6f/p6en - /zQ0NP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/NDQ0/6enp/+np6f/p6en/6enp/+np6f/p6en - /zQ0NP8vLy//HR0d/wAAAP8AAAD/3d3d3QAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/ISEh/zIyMv81NTX/NTU1/zU1Nf+6urr/urq6 - /zU1Nf+6urr/urq6/zU1Nf+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6 - /7q6uv+6urr/urq6/zU1Nf8yMjL/ISEh/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/ISEh/zMzM/82Njb/zMzM - /8zMzP/MzMz/zMzM/zY2Nv/MzMz/zMzM/zY2Nv/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM - /8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/zU1Nf8yMjL/ISEh/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/IiIi - /zQ0NP83Nzf/3t7e/97e3v82Njb/NjY2/zY2Nv/e3t7/3t7e/zY2Nv/e3t7/3t7e/97e3v/e3t7/3t7e - /97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/zY2Nv8zMzP/ISEh/wAAAP8AAAD/3Nzc - 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3AAAAP8AAAD/IiIi/zQ0NP83Nzf/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v - /+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/zc3N/80NDT/IiIi - /wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3AAAAP8AAAD/IyMj/zU1Nf84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 - /zg4OP81NTX/IyMj/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AEBAf8BAQH/IyMj/zY2Nv85OTn/qKio/6ioqP+oqKj/OTk5 - /zk5Of85OTn/OTk5/zk5Of+oqKj/qKio/6ioqP+oqKj/qKio/6ioqP84ODj/qKio/6ioqP+oqKj/ODg4 - /6ioqP+oqKj/qKio/zg4OP81NTX/IyMj/wEBAf8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AMDA/8DAwP/JCQk/zc3N/86Ojr/sbGx - /7Gxsf+xsbH/OTk5/zk5Of85OTn/OTk5/zk5Of+xsbH/sbGx/7Gxsf+xsbH/sbGx/7Gxsf85OTn/sbGx - /7Gxsf+xsbH/OTk5/7Gxsf+xsbH/sbGx/zk5Of82Njb/IyMj/wICAv8CAgL/3Nzc3gAAAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AUFBf8FBQX/JCQk - /zc3N/86Ojr/urq6/7q6uv+6urr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+6urr/urq6/7q6uv86Ojr/Ojo6 - /zo6Ov86Ojr/urq6/7q6uv+6urr/Ojo6/7q6uv+6urr/urq6/zo6Ov83Nzf/JCQk/wQEBP8EBAT/3Nzc - 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3AcHB/8HBwf/JSUl/zg4OP87Ozv/xMTE/8TExP/ExMT/Ozs7/zs7O/87Ozv/Ozs7/zs7O//ExMT/xMTE - /8TExP87Ozv/Ozs7/zs7O/87Ozv/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/zs7O/84ODj/JSUl - /wYGBv8GBgb/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3AgICP8ICAj/JSUl/zg4OP88PDz/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N - /zw8PP/Nzc3/zc3N/83Nzf88PDz/PDw8/zw8PP88PDz/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N - /zs7O/84ODj/JSUl/wgICP8ICAj/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AoKCv8KCgr/JiYm/zk5Of89PT3/1tbW/9bW1v/W1tb/1tbW - /9bW1v/W1tb/1tbW/zw8PP/W1tb/1tbW/9bW1v88PDz/PDw8/zw8PP88PDz/1tbW/9bW1v/W1tb/1tbW - /9bW1v88PDz/PDw8/zw8PP84ODj/JSUl/woKCv8KCgr/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AwMDP8MDAz/JiYm/zk5Of89PT3/39/f - /9/f3//f39//PT09/9/f3//f39//39/f/z09Pf/f39//39/f/9/f3/89PT3/PT09/z09Pf89PT3/39/f - /9/f3//f39//39/f/9/f3//f39//39/f/z09Pf85OTn/JiYm/wsLC/8LCwv/3Nzc3gAAAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3A4ODv8ODg7/JiYm - /zo6Ov8+Pj7/6Ojo/+jo6P/o6Oj/Pj4+/+jo6P/o6Oj/6Ojo/z4+Pv/o6Oj/6Ojo/+jo6P8+Pj7/Pj4+ - /z4+Pv8+Pj7/6Ojo/+jo6P/o6Oj/Pj4+/+jo6P/o6Oj/6Ojo/z4+Pv86Ojr/JiYm/w0NDf8NDQ3/3Nzc - 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3BAQEP8QEBD/Jycn/zs7O/8/Pz//8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy/z8/P//y8vL/8vLy - //Ly8v/y8vL/8vLy//Ly8v8/Pz//8vLy//Ly8v/y8vL/Pz8///Ly8v/y8vL/8vLy/z4+Pv86Ojr/JiYm - /w8PD/8PDw//3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3BISEv8RERH/KCgo/zw8PP9AQED/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7 - /z8/P//7+/v/+/v7//v7+//7+/v/+/v7//v7+/8/Pz//+/v7//v7+//7+/v/Pz8///v7+//7+/v/+/v7 - /z8/P/87Ozv/Jycn/xEREf8RERH/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BMTE/8TExP/KCgo/zw8PP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /0BAQP9AQED/QEBA/0BAQP88PDz/KCgo/xISEv8SEhL/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BUVFf8VFRX/KCgo/z09Pf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf89PT3/KCgo/xQUFP8UFBT/3Nzc3gAAAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BcXF/8XFxf/KSkp - /z4+Pv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB - /z8/P/89PT3/PT09/z09Pf89PT3/PT09/zw8PP88PDz/PDw8/zw8PP85OTn/JSUl/xYWFv8WFhb/3Nzc - 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3BkZGf8ZGRn/Kioq/z8/P/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0JCQv9CQkL/QkJC - /0JCQv8/Pz//Nzc3/y0tLf8oKCj/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8kJCT/GBgY - /xgYGP8YGBj/3d3d3QAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3BoaGv8aGhr/Kioq/z8/P/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND - /0NDQ/9DQ0P/Q0ND/0FBQf81NTX/ICAg/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa - /xoaGv8aGhr/Ghoa/xoaGv8aGhr/wcHBuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BwcHP8cHBz/Kioq/0BAQP9ERET/RERE/0RERP9ERET/RERE - /0RERP9ERET/RERE/0RERP9ERET/RERE/z09Pf8nJyf/HBwc/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 - /zc3N/83Nzf/Nzc3/zc3N/8cHBz/HBwc/xwcHP//////AAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3B4eHv8eHh7/Kysr/0FBQf9FRUX/RUVF - /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RERE/zk5Of8dHR3/Ojo6/zo6Ov86Ojr/Ojo6 - /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/x0dHf8dHR3/HR0d//7+/v8AAAAlAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CAgIP8gICD/LCws - /0JCQv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF/zc3N/8fHx//PDw8 - /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP87Ozv/Hx8f/x8fH/8fHx///v7+/wAAACUAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3CEhIf8hISH/LCws/0JCQv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF - /zc3N/8hISH/Pz8//z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8hISH/ISEh/yEhIf/+/v7/AAAA - JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3CMjI/8jIyP/LCws/0NDQ/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH - /0dHR/9HR0f/RkZG/zg4OP8jIyP/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/yMjI/8jIyP/IyMj - //////8AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CUlJf8lJSX/LS0t/0RERP9ISEj/SEhI/0hISP9ISEj/SEhI - /0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/zk5Of8lJSX/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/JSUl - /yUlJf8lJSX//////wAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CcnJ/8nJyf/LS0t/0VFRf9JSUn/SUlJ - /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/R0dH/zk5Of8nJyf/RkZG/0ZGRv9GRkb/RUVF - /0VFRf8mJib/JiYm/yYmJv//////AAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CkpKf8pKSn/Li4u - /0VFRf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI/zo6Ov8oKCj/SEhI - /0hISP9ISEj/SEhI/ygoKP8oKCj/KCgo//////8AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc - 3CoqKv8qKir/Li4u/0ZGRv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SUlJ - /zo6Ov8qKir/SkpK/0pKSv9KSkr/Kioq/yoqKv8qKir//////wAAACQAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAE3Nzc3CwsLP8sLCz/Li4u/0dHR/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/SkpK/zs7O/8sLCz/TU1N/01NTf8sLCz/LCws/ywsLP//////AAAAIgAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAC3Nzc3C4uLv8uLi7/Kioq/0VFRf9LS0v/S0tL/0tLS/9LS0v/S0tL - /0tLS/9LS0v/S0tL/0tLS/9LS0v/SkpK/zs7O/8uLi7/T09P/y4uLv8uLi7/Li4u//////8AAAAhAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZTAwMP8wMDD/IiIi/zQ0NP89PT3/Pj4+ - /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/PT09/zExMf8wMDD/MDAw/zAwMP8wMDD///// - /wAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyMv8yMjL/MjIy - /zIyMv8pKSn/KSkp/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8xMTH/MTEx - /zExMf//////AAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - CP39/f4zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz - /zMzM/8zMzP/MzMz//////8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAA7/////TExM/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 - /zU1Nf81NTX/NTU1/zU1Nf81NTX//////wAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAFQAAACMAAAAkAAAAJAAAACQAAAAkAAAA - JAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAiAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA//// - ////AAD///////8AAP+AAAAD/wAA/wAAAAH/AAD/AAAAAP8AAP8AAAAA/wAA/gAAAAB/AAD+AAAAAH8A - AP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAA - AAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8A - AP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAD/AAD+AAAAAf8AAP4AAAAD/wAA/gAA - AAf/AAD+AAAAD/8AAP4AAAAf/wAA/gAAAD//AAD+AAAAf/8AAP4AAAD//wAA/gAAAf//AAD+AAAD//8A - AP8AAAf//wAA/wAAD///AAD/AAAf//8AAP+AAD///wAA////////AAD///////8AAP///////wAA//// - ////AAAoAAAAMAAAAGAAAAABAAgAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD - /wQEBP8FBQX/BgYG/wcHB/8ICAj/CQkJ/woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS - /xMTE/8UFBT/FRUV/xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh - /yIiIv8jIyP/JCQk/yUlJf8mJib/Jycn/ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw - /zExMf8yMjL/MzMz/zQ0NP81NTX/NjY2/zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8/ - /0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF/0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/0xMTP9NTU3/Tk5O - /09PT/9RUVH/U1NT/1RUVP9VVVX/VlZW/1dXV/9aWlr/XFxc/11dXf9eXl7/X19f/2FhYf9iYmL/Y2Nj - /2VlZf9nZ2f/aGho/2lpaf9sbGz/bW1t/25ubv9zc3P/dnZ2/3d3d/95eXn/enp6/3t7e/98fHz/fX19 - /35+fv9/f3//gYGB/4iIiP+JiYn/kpKS/5WVlf+Wlpb/l5eX/5iYmP+ZmZn/mpqa/5ubm/+cnJz/nZ2d - /56env+fn5//oKCg/6Ghof+ioqL/pKSk/6Wlpf+mpqb/p6en/6ioqP+pqan/qqqq/6urq/+srKz/ra2t - /6+vr/+xsbH/srKy/7S0tP+1tbX/t7e3/7i4uP+5ubn/urq6/7u7u/+8vLz/v7+//8DAwP/BwcH/wsLC - /8PDw//ExMT/xcXF/8bGxv/Hx8f/yMjI/8nJyf/Kysr/zMzM/83Nzf/Ozs7/z8/P/9LS0v/U1NT/1dXV - /9bW1v/Y2Nj/2tra/9vb2//e3t7/39/f/+Dg4P/h4eH/4uLi/+Pj4//k5OT/5+fn/+jo6P/v7+//8fHx - //Ly8v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAP8AAAD/Ly8v/zU1Nf81NTX/vr6+/zU1Nf++vr7/NTU1 - /76+vv9tbW3/sLCw/76+vv++vr7/i4uL/6urq/++vr7/vr6+/zU1Nf8vLy//AAAA/wAAAP8AAAARAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAA/wAAAP8wMDD/NjY2/9nZ2f+NjY3/NjY2 - /9nZ2f82Njb/2dnZ/3R0dP/IyMj/2dnZ/9nZ2f+Xl5f/wMDA/9nZ2f/Z2dn/NjY2/zAwMP8AAAD/AAAA - /wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAD/AAAA/zExMf83Nzf/9PT0 - //T09P/v7+//9PT0//T09P/09PT/enp6/+Hh4f/09PT/9PT0/6Ojo//W1tb/9PT0//T09P83Nzf/MDAw - /wAAAP8AAAD/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQEBAf8BAQH/MjIy - /zk5Of+mpqb/pqam/zg4OP84ODj/ODg4/6ampv+mpqb/pqam/6ampv85OTn/pqam/6Wlpf+mpqb/pqam - /zg4OP8xMTH/AAAA/wAAAP8AAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAwMD - /wMDA/8zMzP/Ojo6/7Ozs/+zs7P/Ojo6/zo6Ov86Ojr/s7Oz/7Ozs/+ysrL/srKy/zo6Ov+zs7P/s7Oz - /7Ozs/+zs7P/OTk5/zIyMv8DAwP/AwMD/wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAABEGBgb/BgYG/zQ0NP87Ozv/wcHB/8HBwf87Ozv/Ozs7/zs7O//BwcH/wcHB/zs7O/87Ozv/PDw8 - /8HBwf/BwcH/wcHB/8HBwf86Ojr/MzMz/wYGBv8FBQX/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAEQkJCf8JCQn/NTU1/zw8PP/Pz8//z8/P/8/Pz//Pz8//Pz8//8/Pz//Pz8//PDw8 - /zw8PP89PT3/z8/P/8/Pz//Pz8//z8/P/zw8PP81NTX/CAgI/wgICP8AAAARAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAARCwsL/wsLC/82Njb/PT09/93d3f/d3d3/3Nzc/93d3f9AQED/3d3d - /93d3f89PT3/PT09/z4+Pv/d3d3/3d3d/93d3f/d3d3/PT09/zY2Nv8LCwv/CwsL/wAAABEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEODg7/Dg4O/zc3N/8+Pj7/6urq/+rq6v/p6en/6urq - /0FBQf/q6ur/6urq/0NDQ/9DQ0P/Pz8//+rq6v/o6Oj/6urq/+rq6v8+Pj7/Nzc3/w4ODv8ODg7/AAAA - EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREf8RERH/ODg4/z8/P//4+Pj/+Pj4 - //j4+P/4+Pj/QkJC//j4+P/4+Pj/+Pj4//j4+P9AQED/+Pj4//b29v/4+Pj/+Pj4/z8/P/84ODj/EBAQ - /xAQEP8AAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARFBQU/xQUFP85OTn/QUFB - /0FBQf9BQUH/QUFB/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA - /zk5Of8TExP/ExMT/wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEWFhb/FhYW - /zo6Ov9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf8/Pz//Pj4+/z4+Pv8+Pj7/Pj4+ - /z4+Pv8+Pj7/Nzc3/xYWFv8WFhb/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - ERkZGf8ZGRn/Ozs7/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/PDw8/ykpKf8gICD/Hx8f - /x8fH/8fHx//Hx8f/x8fH/8bGxv/GBgY/xgYGP8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAARHBwc/xwcHP88PDz/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0FBQf8kJCT/NDQ0 - /zc3N/82Njb/NjY2/zY2Nv82Njb/NjY2/xsbG/8bGxv//v7+/wAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA - 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 - /yAgIP8iIiL/IyMj/yQkJP8lJSX/JiYm/ycnJ/8oKCj/KSkp/yoqKv8rKyv/LCws/y0tLf8uLi7/Ly8v - /zAwMP8xMTH/MjIy/zMzM/80NDT/NTU1/zY2Nv83Nzf/ODg4/zk5Of86Ojr/Ozs7/zw8PP89PT3/Pj4+ - /z8/P/9AQED/QUFB/0JCQv9DQ0P/RERE/0VFRf9GRkb/R0dH/0hISP9JSUn/SkpK/0tLS/9MTEz/TU1N - /05OTv9PT0//UFBQ/1FRUf9SUlL/U1NT/1RUVP9VVVX/VlZW/1dXV/9YWFj/WVlZ/1paWv9bW1v/XV1d - /15eXv9fX1//YGBg/2FhYf9iYmL/Y2Nj/2VlZf9mZmb/Z2dn/2lpaf9qamr/bGxs/3Jycv95eXn/e3t7 - /3x8fP9+fn7/f39//4CAgP+BgYH/hYWF/4aGhv+IiIj/jIyM/42Njf+Ojo7/j4+P/5CQkP+RkZH/k5OT - /5WVlf+ampr/m5ub/5ycnP+enp7/oaGh/6ampv+np6f/qKio/6mpqf+qqqr/q6ur/7CwsP+zs7P/tLS0 - /7a2tv+7u7v/vLy8/729vf++vr7/v7+//8HBwf/CwsL/w8PD/8fHx//IyMj/ysrK/87Ozv/Pz8//09PT - /9TU1P/V1dX/19fX/9zc3P/d3d3/4eHh/+Pj4//q6ur/6+vr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - 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 - APAD/wDwB/8A////AP///wAoAAAAGAAAADAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAAAAAAAAAAAAAA - /wICAv8FBQX/BgYG/wkJCf8MDAz/DQ0N/w8PD/8QEBD/ERER/xMTE/8UFBT/FxcX/xgYGP8bGxv/HBwc - /x8fH/8gICD/IiIi/yMjI/8kJCT/JSUl/yYmJv8nJyf/KCgo/ykpKf8qKir/Kysr/ywsLP8tLS3/Li4u - /y8vL/8wMDD/MTEx/zMzM/80NDT/NTU1/zY2Nv83Nzf/ODg4/zk5Of86Ojr/Ozs7/z09Pf8+Pj7/Pz8/ - /0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF/0dHR/9ISEj/SkpK/0tLS/9NTU3/Tk5O/09PT/9QUFD/UlJS - /1VVVf9aWlr/W1tb/19fX/9hYWH/aWlp/2pqav9sbGz/bm5u/3BwcP9xcXH/c3Nz/3R0dP91dXX/eXl5 - /3x8fP+AgID/goKC/4SEhP+FhYX/hoaG/4uLi/+MjIz/kZGR/5SUlP+Wlpb/mJiY/5qamv+cnJz/oaGh - /6Kiov+jo6P/pqam/6urq/+srKz/ra2t/6+vr/+xsbH/s7Oz/7W1tf+/v7//y8vL/9HR0f/j4+P/5OTk - /+bm5v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAMz4+Pj4+Pj4+PT4+PiUAAAAAAAAAAQFBHxMTExQU - EhQVERMTEyVDAAAAAAAAAFEPCBERERARDxIQERIREAUQTwAAAAABAFkAFThQQFJBVlJWUFJXQRYAWQAA - AAAAAFkBF0ZaPmFJXmJhYmFeShcAWQEAAAABAFgAGEVeTV5WWVthVVhkRBkAWQAAAAAAAFkCGkJgMyhJ - X1pLYUlgQxkBWQABAAABAFkCHEllPDVNZSg0ZV1lSRkEWQAAAAAAAFkFHE1nZmdWZyw1Z2ddPxkGWQAA - AAABAFkHGk9pWGlaaDo9aWNpURoGWQEAAAAAAFkLIVFqampcampbalVqTxkIWQEAAAAAAFkLIS0vLy8v - Ly8sLi4sLSUMWQAAAAAAAFoMIzMwMDAwMCwlISElIRcMWQAAAAAAAFoNIzIyMjIzMBkZHxkcHA4nWgAA - AAAAAFoRJzMzMzMzLBkrKCgoGihUAAAAAAAAAFkSJjQ0NDQ0LCAvLygaLlQAAAAAAAAAAFoXKDU1NTU1 - LiUyMxozVAAAAAAAAAABAFoaKTY2NjY2Lyc1ITVWAAAAAAAAAAAAAFwfKTc3Nzc2LiglOFUAAAAAAAAA - AAAAAFowISMjJSUlJRo5VgAAAAAAAAAAAAAAAABRPjs7Ozo5OUBWAAAAAAAAAAAAAAAAAAAATVZWVlZW - Vk8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A8AAPAPAADwDwAA8A8AAP - APAADwDwAA8A8AAPAPAADwDwAA8A8AAPAPAADwDwAA8A8AAPAPAAHwDwAD8A8AB/APAA/wDwAf8A8AP/ - APAH/wD///8A////ACgAAAAQAAAAIAAAAAEAIAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAOzs7/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAbQAAAP8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/wAAAP8AAABpAAAA - AAAAAAAAAAAAAAAAANzc3N0hISH/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP8hISH/3Nzc - 3QAAAAAAAAAAAAAAAAAAAADc3NzdIyMj/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/IyMj - /9zc3N0AAAAAAAAAAAAAAAAAAAAA3Nzc3SQkJP+6urr/Ojo6/zo6Ov+6urr/Ojo6/7q6uv86Ojr/urq6 - /yQkJP/c3NzdAAAAAAAAAAAAAAAAAAAAANzc3N0mJib/1tbW/9bW1v/W1tb/1tbW/zw8PP/W1tb/1tbW - /zw8PP8lJSX/3Nzc3QAAAAAAAAAAAAAAAAAAAADc3NzdJycn//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy - /z8/P//y8vL/JiYm/9zc3N0AAAAAAAAAAAAAAAAAAAAA3Nzc3SgoKP9BQUH/QUFB/0FBQf9BQUH/QUFB - /0FBQf9BQUH/QUFB/ygoKP/c3NzdAAAAAAAAAAAAAAAAAAAAANzc3N0qKir/Q0ND/0NDQ/9DQ0P/Q0ND - /yAgIP8aGhr/Ghoa/xoaGv8aGhr/wMDAvAAAAAAAAAAAAAAAAAAAAADc3NzdLCws/0ZGRv9GRkb/RkZG - /0VFRf88PDz/PDw8/zw8PP8fHx///v7+/wAAAAAAAAAAAAAAAAAAAAAAAAAA3Nzc3S0tLf9ISEj/SEhI - /0hISP9HR0f/Q0ND/0NDQ/8lJSX//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzc3N0uLi7/SkpK - /0pKSv9KSkr/SUlJ/0pKSv8qKir//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlIiIi - /z4+Pv8+Pj7/Pj4+/z09Pf8wMDD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AExMTP81NTX/NTU1/zU1Nf81NTX//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8A - AOAHAADgBwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAHAADADwAAwB8AAOA/AADgfwAA//8A - ACgAAAAQAAAAIAAAAAEACAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAANDQ3/Dw8P/xoaGv8bGxv/HBwc - /x4eHv8hISH/JCQk/yUlJf8nJyf/KCgo/yoqKv8rKyv/LS0t/y8vL/8xMTH/MjIy/zU1Nf82Njb/ODg4 - /zk5Of87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC/0NDQ/9ERET/RkZG/0hISP9KSkr/W1tb - /3BwcP9xcXH/cnJy/3x8fP9/f3//goKC/4ODg/+IiIj/iYmJ/5aWlv+YmJj/mZmZ/5ubm/+ioqL/o6Oj - /6Wlpf+mpqb/qKio/6mpqf+qqqr/ra2t/7CwsP+4uLj/urq6/8HBwf/Q0ND/1dXV/9jY2P/n5+f/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA - /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAA - AAAAIxIODQwNCw0MDhkjAAAAACEAFBURHx8WGxMAHwAAAAASAiMkKDM2MzUpAhsAAAAAGwMpJyYzNSws - KAISAAAAABQDKyUbOSItMyoEHgAAAAAgBy87Nz0WNzwmBRYAAAAAGAczPjo/Ojo4MwcgAAAAACEJGRsY - GRkYGRsKHwAAAAAfCR8aHx8NCwwLAiIAAAAAIg4gHx8aDxUYCyIiAAAAACEPICAfHxIfDiIlAAAAAAAi - ESEhIR4VFCIiAAAAAAAAIg4WGBUUESMiAAAAAAAAACwiISIhISMhAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AP//AADgBwAA4AcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADABwAAwA8AAMAfAADgPwAA4H8A - AP//AAA= - - - \ No newline at end of file diff --git a/PCK-Studio/Forms/Additional-Popups/FilterPrompt.Designer.cs b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.Designer.cs new file mode 100644 index 00000000..861ab284 --- /dev/null +++ b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.Designer.cs @@ -0,0 +1,157 @@ +namespace PckStudio.Forms.Additional_Popups.Animation +{ + partial class FilterPrompt + { + /// + /// 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() + { + MetroFramework.Controls.MetroLabel metroLabel2; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FilterPrompt)); + this.acceptButton = new System.Windows.Forms.Button(); + this.cancelButton = new System.Windows.Forms.Button(); + this.filterTextBox = new MetroFramework.Controls.MetroTextBox(); + this.tabController = new MetroFramework.Controls.MetroTabControl(); + metroLabel2 = new MetroFramework.Controls.MetroLabel(); + this.SuspendLayout(); + // + // metroLabel2 + // + metroLabel2.AutoSize = true; + metroLabel2.Location = new System.Drawing.Point(133, 19); + metroLabel2.Name = "metroLabel2"; + metroLabel2.Size = new System.Drawing.Size(46, 19); + metroLabel2.TabIndex = 16; + metroLabel2.Text = "Filter: "; + metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // acceptButton + // + this.acceptButton.DialogResult = System.Windows.Forms.DialogResult.OK; + this.acceptButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.acceptButton.ForeColor = System.Drawing.Color.White; + this.acceptButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.acceptButton.Location = new System.Drawing.Point(92, 196); + this.acceptButton.Name = "acceptButton"; + this.acceptButton.Size = new System.Drawing.Size(75, 23); + this.acceptButton.TabIndex = 7; + this.acceptButton.Text = "Save"; + this.acceptButton.UseVisualStyleBackColor = true; + this.acceptButton.Click += new System.EventHandler(this.AcceptBtn_Click); + // + // cancelButton + // + this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.cancelButton.ForeColor = System.Drawing.Color.White; + this.cancelButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.cancelButton.Location = new System.Drawing.Point(172, 196); + this.cancelButton.Name = "cancelButton"; + this.cancelButton.Size = new System.Drawing.Size(75, 23); + this.cancelButton.TabIndex = 13; + this.cancelButton.Text = "Cancel"; + this.cancelButton.UseVisualStyleBackColor = true; + this.cancelButton.Click += new System.EventHandler(this.CancelBtn_Click); + // + // filterTextBox + // + // + // + // + this.filterTextBox.CustomButton.Image = null; + this.filterTextBox.CustomButton.Location = new System.Drawing.Point(134, 1); + this.filterTextBox.CustomButton.Name = ""; + this.filterTextBox.CustomButton.Size = new System.Drawing.Size(21, 21); + this.filterTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; + this.filterTextBox.CustomButton.TabIndex = 1; + this.filterTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; + this.filterTextBox.CustomButton.UseSelectable = true; + this.filterTextBox.CustomButton.Visible = false; + this.filterTextBox.Lines = new string[0]; + this.filterTextBox.Location = new System.Drawing.Point(173, 18); + this.filterTextBox.MaxLength = 32767; + this.filterTextBox.Name = "filterTextBox"; + this.filterTextBox.PasswordChar = '\0'; + this.filterTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None; + this.filterTextBox.SelectedText = ""; + this.filterTextBox.SelectionLength = 0; + this.filterTextBox.SelectionStart = 0; + this.filterTextBox.ShortcutsEnabled = true; + this.filterTextBox.Size = new System.Drawing.Size(156, 23); + this.filterTextBox.TabIndex = 17; + this.filterTextBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.filterTextBox.UseSelectable = true; + this.filterTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); + this.filterTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); + this.filterTextBox.TextChanged += new System.EventHandler(this.filter_TextChanged); + // + // tabController + // + this.tabController.Location = new System.Drawing.Point(6, 8); + this.tabController.Name = "tabController"; + this.tabController.Size = new System.Drawing.Size(326, 184); + this.tabController.Style = MetroFramework.MetroColorStyle.White; + this.tabController.TabIndex = 18; + this.tabController.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tabController.UseSelectable = true; + // + // FilterPromtp + // + this.AcceptButton = this.acceptButton; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.cancelButton; + this.ClientSize = new System.Drawing.Size(338, 228); + this.ControlBox = false; + this.Controls.Add(this.filterTextBox); + this.Controls.Add(metroLabel2); + this.Controls.Add(this.tabController); + this.Controls.Add(this.cancelButton); + this.Controls.Add(this.acceptButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FilterPromtp"; + this.Resizable = false; + this.Style = MetroFramework.MetroColorStyle.Silver; + this.Theme = MetroFramework.MetroThemeStyle.Dark; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + private void MetroTextBox1_TextChanged(object sender, System.EventArgs e) + { + throw new System.NotImplementedException(); + } + + #endregion + private System.Windows.Forms.Button acceptButton; + private System.Windows.Forms.Button cancelButton; + private MetroFramework.Controls.MetroTextBox filterTextBox; + private MetroFramework.Controls.MetroTabControl tabController; + } +} \ No newline at end of file diff --git a/PCK-Studio/Forms/Additional-Popups/FilterPrompt.cs b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.cs new file mode 100644 index 00000000..f2a2c2f5 --- /dev/null +++ b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.cs @@ -0,0 +1,118 @@ +/* Copyright (c) 2024-present miku-666 + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1.The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. +**/ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Windows.Forms; +using MetroFramework.Forms; + +namespace PckStudio.Forms.Additional_Popups.Animation +{ + internal partial class FilterPrompt : MetroForm + { + public string AcceptButtonText { get => acceptButton.Text; set => acceptButton.Text = value; } + public string CancelButtonText { get => cancelButton.Text; set => cancelButton.Text = value; } + + private object selectedItem; + public object SelectedItem => selectedItem; + + public int SelectedTabIndex => tabController.SelectedIndex; + + public delegate bool FilterPredicate(string filterText, object nodeTag); + + public event EventHandler OnSelectedItemChanged + { + add => Events.AddHandler(nameof(OnSelectedItemChanged), value); + remove => Events.RemoveHandler(nameof(OnSelectedItemChanged), value); + } + + public FilterPrompt() + { + InitializeComponent(); + } + + public TreeView AddFilterPage(string categoryName, string key, FilterPredicate filterPredicate) + { + _ = categoryName ?? throw new ArgumentNullException(nameof(categoryName)); + TabPage page = new TabPage(categoryName); + page.Name = key ?? categoryName; + page.Tag = filterPredicate; + var pageView = new TreeView() + { + Dock = DockStyle.Fill, + BackColor = Color.FromArgb(64, 64, 64), + }; + pageView.AfterSelect += (sender, e) => + { + selectedItem = e.Node.Tag; + Events[nameof(OnSelectedItemChanged)]?.DynamicInvoke(this, EventArgs.Empty); + }; + pageView.Tag = new List(4); + page.Controls.Add(pageView); + tabController.TabPages.Add(page); + return pageView; + } + + public TreeView GetByKey(string key) + { + return tabController.TabPages[key].Controls[0] is TreeView view ? view : null; + } + + private void filter_TextChanged(object sender, EventArgs e) + { + // Some code in this function is modified code from this StackOverflow answer - MattNL + // https://stackoverflow.com/questions/8260322/filter-a-treeview-with-a-textbox-in-a-c-sharp-winforms-app + + // block re-painting control until all objects are loaded + foreach (TabPage tabpage in tabController.TabPages) + { + if (tabpage.Tag is not FilterPredicate filerPredicate || tabpage.Controls[0] is not TreeView pageView || pageView.Tag is not List pageCache) + continue; + + if (string.IsNullOrEmpty(filterTextBox.Text)) + { + pageView.Nodes.Clear(); + pageView.Nodes.AddRange(pageCache.ToArray()); + continue; + } + + pageView.BeginUpdate(); + pageView.Nodes.Clear(); + foreach (TreeNode _node in pageCache) + { + if (_node.Text.ToLower().Contains(filterTextBox.Text.ToLower()) || filerPredicate(filterTextBox.Text, _node.Tag)) + { + pageView.Nodes.Add((TreeNode)_node.Clone()); + } + } + pageView.EndUpdate(); + } + } + + private void CancelBtn_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + } + + private void AcceptBtn_Click(object sender, EventArgs e) + { + DialogResult = selectedItem is null ? DialogResult.Cancel : DialogResult.OK; + } + } +} diff --git a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.resx b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.resx similarity index 99% rename from PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.resx rename to PCK-Studio/Forms/Additional-Popups/FilterPrompt.resx index 72d29f17..608774a9 100644 --- a/PCK-Studio/Forms/Additional-Popups/Animation/ChangeTile.resx +++ b/PCK-Studio/Forms/Additional-Popups/FilterPrompt.resx @@ -117,6 +117,15 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + False + + + True + + + True + diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 613ddffe..bd9b4d4f 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -151,7 +151,6 @@ namespace PckStudio.Forms.Editor if (!(treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)) return; var diag = new AddEntry("behaviours", ApplicationScope.EntityImages); - diag.acceptBtn.Text = "Save"; if (diag.ShowDialog(this) == DialogResult.OK) { diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 8e4d2758..b8f65959 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -134,6 +134,12 @@ + + Form + + + FilterPrompt.cs + Form @@ -266,12 +272,7 @@ - - Form - - - AddEntry.cs - + Form @@ -330,12 +331,7 @@ LOCEditor.cs - - Form - - - ChangeTile.cs - + Form @@ -442,16 +438,15 @@ + + FilterPrompt.cs + ContributorsForm.cs CemuPanel.cs - - AddEntry.cs - Designer - AddLanguage.cs @@ -492,9 +487,6 @@ LOCEditor.cs - - ChangeTile.cs - SetBulkSpeed.cs From 2be8627ad1417682252223dd543bcf2a0b3d06be Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 23 Jun 2024 12:54:59 +0200 Subject: [PATCH 36/66] MainForm - Fix error when closing via file menu --- PCK-Studio/MainForm.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index f8810bbc..dc877551 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2491,6 +2491,7 @@ namespace PckStudio private void exitToolStripMenuItem_Click(object sender, EventArgs e) { + PckManager?.Close(); Application.Exit(); } From 4ce300d7bee84afa7830c0a9f43bca342f7347c8 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:08:46 +0200 Subject: [PATCH 37/66] Fix Branch information not showing in release(#35) --- PCK-Studio/PckStudio.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index b8f65959..5c6c2dc5 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -738,14 +738,14 @@ --> - + - $(GitHash) + $(GitHash) $(GitBranch) @@ -760,7 +760,7 @@ - + <_Parameter1>GitHash <_Parameter2>$(BuildHash) From 3b884901a1d6c8141e6e3781a30b364e94d170d4 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:25:57 +0200 Subject: [PATCH 38/66] AddNEwSkin - Fix context menu location(#33) --- PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs index 4dc93f1e..def7994e 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs @@ -145,12 +145,12 @@ namespace PckStudio.Popups private void buttonSkin_Click(object sender, EventArgs e) { - contextMenuSkin.Show(this, Location.X + buttonSkin.Location.X + 2, Location.Y + buttonSkin.Location.Y + buttonSkin.Size.Height); + contextMenuSkin.Show(this, buttonSkin.Location.X + 2, buttonSkin.Location.Y + buttonSkin.Size.Height); } private void buttonCape_Click(object sender, EventArgs e) { - contextMenuCape.Show(this, Location.X + buttonCape.Location.X + 2, Location.Y + buttonCape.Location.Y + buttonCape.Size.Height); + contextMenuCape.Show(this, buttonCape.Location.X + 2, buttonCape.Location.Y + buttonCape.Size.Height); } private void replaceToolStripMenuItem_Click(object sender, EventArgs e) @@ -171,8 +171,8 @@ namespace PckStudio.Popups { contextMenuSkin.Show( this, - x: Location.X + skinPictureBox.Location.X, - y: Location.Y + skinPictureBox.Location.Y + skinPictureBox.Size.Height + x: skinPictureBox.Location.X, + y: skinPictureBox.Location.Y + skinPictureBox.Size.Height ); return; } @@ -207,8 +207,8 @@ namespace PckStudio.Popups { contextMenuCape.Show( this, - x: Location.X + capePictureBox.Location.X, - y: Location.Y + capePictureBox.Location.Y + capePictureBox.Size.Height + x: capePictureBox.Location.X, + y: capePictureBox.Location.Y + capePictureBox.Size.Height ); return; } From 795ad9f9d129a6dc99f1d66c8e3ff5a9f99e2336 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 24 Jun 2024 18:44:37 +0200 Subject: [PATCH 39/66] Update Changelog(#37) --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 479a737d..bff7e3c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,5 @@ -7.0 (IN DEVELOPMENT) +7.0.0.0 ==================== -Some features may be completely missing or incomplete at this point in time! -Added .3dst (3DS Texture) support -Semi-added Sub-Pck editing From d620759de8d1094710f3fea9f152f2ca6e752770 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 24 Jun 2024 19:10:35 +0200 Subject: [PATCH 40/66] Fix main treeview selecting wrong asset after rebuild(#36) --- PCK-Studio/Extensions/TreeViewExtensions.cs | 26 +++++++++++++++++++++ PCK-Studio/MainForm.cs | 7 +++--- PCK-Studio/PckStudio.csproj | 1 + 3 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 PCK-Studio/Extensions/TreeViewExtensions.cs diff --git a/PCK-Studio/Extensions/TreeViewExtensions.cs b/PCK-Studio/Extensions/TreeViewExtensions.cs new file mode 100644 index 00000000..61583041 --- /dev/null +++ b/PCK-Studio/Extensions/TreeViewExtensions.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using PckStudio.Internal.App; + +namespace PckStudio.Extensions +{ + internal static class TreeViewExtensions + { + public static TreeNode[] FindPath(this TreeView treeView, string path) + { + if (string.IsNullOrWhiteSpace(path)) + return Array.Empty(); + string segment = path.Substring(0, path.IndexOf(treeView.PathSeparator)); + if (treeView.Nodes.ContainsKey(segment)) + { + var res = treeView.Nodes[segment].GetChildNodes().Where(node => node.FullPath == path).ToArray(); + return res; + } + return Array.Empty(); + } + } +} diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index dc877551..cd201ba7 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -423,7 +423,7 @@ namespace PckStudio private void BuildMainTreeView() { // In case the Rename function was just used and the selected node name no longer matches the file name - string selectedNodeText = treeViewMain.SelectedNode is TreeNode node ? node.Text : string.Empty; + string selectedNodeText = treeViewMain.SelectedNode is TreeNode node ? node.FullPath : string.Empty; previewPictureBox.Image = Resources.NoImageFound; treeMeta.Nodes.Clear(); treeViewMain.Nodes.Clear(); @@ -440,9 +440,8 @@ namespace PckStudio } treeViewMain.Sort(); - TreeNode[] selectedNodes; - if (!string.IsNullOrEmpty(selectedNodeText) && - (selectedNodes = treeViewMain.Nodes.Find(selectedNodeText, true)).Length > 0) + TreeNode[] selectedNodes = treeViewMain.FindPath(selectedNodeText); + if (selectedNodes.Length > 0) { treeViewMain.SelectedNode = selectedNodes[0]; } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 5c6c2dc5..49985dfc 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -134,6 +134,7 @@ + Form From 4c41504a0b76113ba26b84c982993b78a6b05bad Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Mon, 24 Jun 2024 19:26:59 +0200 Subject: [PATCH 41/66] Fix right click issue on main treeview(#34) --- PCK-Studio/MainForm.Designer.cs | 1 + PCK-Studio/MainForm.cs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index eb75cbbe..8c9e1cd4 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -1122,6 +1122,7 @@ this.treeViewMain.DragOver += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragOver); this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick); this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown); + this.treeViewMain.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeViewMain_NodeMouseClick); // // imageList // diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index cd201ba7..b376b921 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2630,5 +2630,11 @@ namespace PckStudio setFileTypeToolStripMenuItem.Visible = false; } } + + private void treeViewMain_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) + { + if (e.Node is not null) + treeViewMain.SelectedNode = e.Node; + } } } \ No newline at end of file From d5ba7e1fdb9ef3c1a844d7d34bbeda9a74a05064 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:37:22 +0200 Subject: [PATCH 42/66] AnimationPictureBox - Fix animation starting when resizong --- PCK-Studio/Extensions/PictureBoxExtensions.cs | 27 +++++++++++++++++++ PCK-Studio/PckStudio.csproj | 1 + .../ToolboxItems/AnimationPictureBox.cs | 23 ++++++++-------- 3 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 PCK-Studio/Extensions/PictureBoxExtensions.cs diff --git a/PCK-Studio/Extensions/PictureBoxExtensions.cs b/PCK-Studio/Extensions/PictureBoxExtensions.cs new file mode 100644 index 00000000..e26446da --- /dev/null +++ b/PCK-Studio/Extensions/PictureBoxExtensions.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace PckStudio.Extensions +{ + internal static class PictureBoxExtensions + { + public static bool IsAnimating(this PictureBox pictureBox) + { + var fi = typeof(PictureBox).GetField("currentlyAnimating", BindingFlags.NonPublic | BindingFlags.Instance); + return (bool)fi.GetValue(pictureBox); + } + + public static void Animate(this PictureBox pictureBox, bool animate) + { + var animateMethod = typeof(PictureBox).GetMethod("Animate", BindingFlags.NonPublic | BindingFlags.Instance, + null, new Type[] { typeof(bool) }, null); + animateMethod.Invoke(pictureBox, new object[] { animate }); + } + + } +} diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 49985dfc..3e9d2105 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -134,6 +134,7 @@ + Form diff --git a/PCK-Studio/ToolboxItems/AnimationPictureBox.cs b/PCK-Studio/ToolboxItems/AnimationPictureBox.cs index 580cd49f..196b19e1 100644 --- a/PCK-Studio/ToolboxItems/AnimationPictureBox.cs +++ b/PCK-Studio/ToolboxItems/AnimationPictureBox.cs @@ -34,37 +34,38 @@ namespace PckStudio.ToolboxItems private bool _isPlaying; - private void PictureBox_Internal_Animate(PictureBox pictureBox, bool animate) - { - var animateMethod = typeof(PictureBox).GetMethod("Animate", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, - null, new Type[] { typeof(bool) }, null); - animateMethod.Invoke(pictureBox, new object[] { animate }); - } - public new Image Image { get => base.Image; set { base.Image = value; - PictureBox_Internal_Animate(this, false); + this.Animate(false); if (value is null) return; value.SelectActiveFrame(new FrameDimension(value.FrameDimensionsList[0]), 0); } } + protected override void OnPaint(PaintEventArgs paintEventArgs) + { + base.OnPaint(paintEventArgs); + if (!_isPlaying && this.IsAnimating()) + { + Stop(); + } + } + public void Start() { _isPlaying = true; - PictureBox_Internal_Animate(this, _isPlaying); + this.Animate(_isPlaying); } public void Stop() { _isPlaying = false; - PictureBox_Internal_Animate(this, _isPlaying); + this.Animate(_isPlaying); } protected override void Dispose(bool disposing) From 07d319b7f4d8017787e194d54f413ff6d27c1879 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 25 Jun 2024 19:20:46 +0200 Subject: [PATCH 43/66] AppSettingsForm - Add automatically loading of settings --- PCK-Studio/Forms/AppSettingsForm.Designer.cs | 132 ++----------------- PCK-Studio/Forms/AppSettingsForm.cs | 96 +++++++------- 2 files changed, 57 insertions(+), 171 deletions(-) diff --git a/PCK-Studio/Forms/AppSettingsForm.Designer.cs b/PCK-Studio/Forms/AppSettingsForm.Designer.cs index 977513d6..00ed901a 100644 --- a/PCK-Studio/Forms/AppSettingsForm.Designer.cs +++ b/PCK-Studio/Forms/AppSettingsForm.Designer.cs @@ -29,133 +29,33 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AppSettingsForm)); - this.autoSaveCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.SettingToolTip = new MetroFramework.Components.MetroToolTip(); - this.endianCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.autoUpdateCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.autoLoadPckCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.showPresenceCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.grf_paramKeyComboBoxCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.usePrereleaseCheckBox = new MetroFramework.Controls.MetroCheckBox(); + this.flowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel(); this.SuspendLayout(); // - // autoSaveCheckBox - // - this.autoSaveCheckBox.AutoSize = true; - this.autoSaveCheckBox.Location = new System.Drawing.Point(23, 63); - this.autoSaveCheckBox.Name = "autoSaveCheckBox"; - this.autoSaveCheckBox.Size = new System.Drawing.Size(76, 15); - this.autoSaveCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.autoSaveCheckBox.TabIndex = 0; - this.autoSaveCheckBox.Text = "Auto Save"; - this.autoSaveCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.autoSaveCheckBox, "Whether to automatically save changes inside of file editor such as the loc edito" + - "r"); - this.autoSaveCheckBox.UseSelectable = true; - this.autoSaveCheckBox.CheckedChanged += new System.EventHandler(this.autoSaveCheckBox_CheckedChanged); - // // SettingToolTip // this.SettingToolTip.Style = MetroFramework.MetroColorStyle.White; this.SettingToolTip.StyleManager = null; this.SettingToolTip.Theme = MetroFramework.MetroThemeStyle.Dark; // - // endianCheckBox + // flowLayoutPanel // - this.endianCheckBox.AutoSize = true; - this.endianCheckBox.Location = new System.Drawing.Point(23, 84); - this.endianCheckBox.Name = "endianCheckBox"; - this.endianCheckBox.Size = new System.Drawing.Size(75, 15); - this.endianCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.endianCheckBox.TabIndex = 1; - this.endianCheckBox.Text = "Open Vita"; - this.endianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.endianCheckBox, "Whether to automatically set the \'Open as Switch/Vita pck\' checkbox"); - this.endianCheckBox.UseSelectable = true; - this.endianCheckBox.CheckedChanged += new System.EventHandler(this.endianCheckBox_CheckedChanged); - // - // autoUpdateCheckBox - // - this.autoUpdateCheckBox.AutoSize = true; - this.autoUpdateCheckBox.Location = new System.Drawing.Point(23, 105); - this.autoUpdateCheckBox.Name = "autoUpdateCheckBox"; - this.autoUpdateCheckBox.Size = new System.Drawing.Size(90, 15); - this.autoUpdateCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.autoUpdateCheckBox.TabIndex = 2; - this.autoUpdateCheckBox.Text = "Auto Update"; - this.autoUpdateCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.autoUpdateCheckBox, "Whether to automatically check for updates"); - this.autoUpdateCheckBox.UseSelectable = true; - this.autoUpdateCheckBox.CheckedChanged += new System.EventHandler(this.autoUpdateCheckBox_CheckedChanged); - // - // autoLoadPckCheckBox - // - this.autoLoadPckCheckBox.AutoSize = true; - this.autoLoadPckCheckBox.Location = new System.Drawing.Point(23, 126); - this.autoLoadPckCheckBox.Name = "autoLoadPckCheckBox"; - this.autoLoadPckCheckBox.Size = new System.Drawing.Size(331, 15); - this.autoLoadPckCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.autoLoadPckCheckBox.TabIndex = 3; - this.autoLoadPckCheckBox.Text = "Auto load additional pck files (also known as SubPCK files)"; - this.autoLoadPckCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.autoLoadPckCheckBox, "Whether to automatically load files inside that end in .pck"); - this.autoLoadPckCheckBox.UseSelectable = true; - this.autoLoadPckCheckBox.CheckedChanged += new System.EventHandler(this.autoLoadPckCheckBox_CheckedChanged); - // - // showPresenceCheckBox - // - this.showPresenceCheckBox.AutoSize = true; - this.showPresenceCheckBox.Location = new System.Drawing.Point(23, 147); - this.showPresenceCheckBox.Name = "showPresenceCheckBox"; - this.showPresenceCheckBox.Size = new System.Drawing.Size(171, 15); - this.showPresenceCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.showPresenceCheckBox.TabIndex = 4; - this.showPresenceCheckBox.Text = "Show Discord Rich Presence"; - this.showPresenceCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.showPresenceCheckBox, "Whether to show a rich presence on discord"); - this.showPresenceCheckBox.UseSelectable = true; - this.showPresenceCheckBox.CheckedChanged += new System.EventHandler(this.showPresenceCheckBox_CheckedChanged); - // - // grf_paramKeyComboBoxCheckBox - // - this.grf_paramKeyComboBoxCheckBox.AutoSize = true; - this.grf_paramKeyComboBoxCheckBox.Location = new System.Drawing.Point(23, 169); - this.grf_paramKeyComboBoxCheckBox.Name = "grf_paramKeyComboBoxCheckBox"; - this.grf_paramKeyComboBoxCheckBox.Size = new System.Drawing.Size(100, 15); - this.grf_paramKeyComboBoxCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.grf_paramKeyComboBoxCheckBox.TabIndex = 5; - this.grf_paramKeyComboBoxCheckBox.Text = "Select GRF Key"; - this.grf_paramKeyComboBoxCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.grf_paramKeyComboBoxCheckBox, "Use a combobox instead of typing the parameter key name"); - this.grf_paramKeyComboBoxCheckBox.UseSelectable = true; - this.grf_paramKeyComboBoxCheckBox.CheckedChanged += new System.EventHandler(this.grf_paramKeyComboBoxCheckBox_CheckedChanged); - // - // usePrereleaseCheckBox - // - this.usePrereleaseCheckBox.AutoSize = true; - this.usePrereleaseCheckBox.Location = new System.Drawing.Point(119, 105); - this.usePrereleaseCheckBox.Name = "usePrereleaseCheckBox"; - this.usePrereleaseCheckBox.Size = new System.Drawing.Size(98, 15); - this.usePrereleaseCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.usePrereleaseCheckBox.TabIndex = 6; - this.usePrereleaseCheckBox.Text = "Use Beta Build"; - this.usePrereleaseCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.SettingToolTip.SetToolTip(this.usePrereleaseCheckBox, "Whether to automatically check for updates"); - this.usePrereleaseCheckBox.UseSelectable = true; - this.usePrereleaseCheckBox.Visible = false; + this.flowLayoutPanel.AutoScroll = true; + this.flowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel.Location = new System.Drawing.Point(20, 60); + this.flowLayoutPanel.Name = "flowLayoutPanel"; + this.flowLayoutPanel.Padding = new System.Windows.Forms.Padding(3); + this.flowLayoutPanel.Size = new System.Drawing.Size(487, 190); + this.flowLayoutPanel.TabIndex = 0; // // AppSettingsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(527, 270); - this.Controls.Add(this.usePrereleaseCheckBox); - this.Controls.Add(this.grf_paramKeyComboBoxCheckBox); - this.Controls.Add(this.showPresenceCheckBox); - this.Controls.Add(this.autoLoadPckCheckBox); - this.Controls.Add(this.autoUpdateCheckBox); - this.Controls.Add(this.endianCheckBox); - this.Controls.Add(this.autoSaveCheckBox); + this.Controls.Add(this.flowLayoutPanel); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; @@ -167,19 +67,11 @@ this.Theme = MetroFramework.MetroThemeStyle.Dark; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AppBehaviorSettingsForm_FormClosing); this.ResumeLayout(false); - this.PerformLayout(); } #endregion - - private MetroFramework.Controls.MetroCheckBox autoSaveCheckBox; private MetroFramework.Components.MetroToolTip SettingToolTip; - private MetroFramework.Controls.MetroCheckBox endianCheckBox; - private MetroFramework.Controls.MetroCheckBox autoUpdateCheckBox; - private MetroFramework.Controls.MetroCheckBox autoLoadPckCheckBox; - private MetroFramework.Controls.MetroCheckBox showPresenceCheckBox; - private MetroFramework.Controls.MetroCheckBox grf_paramKeyComboBoxCheckBox; - private MetroFramework.Controls.MetroCheckBox usePrereleaseCheckBox; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/AppSettingsForm.cs b/PCK-Studio/Forms/AppSettingsForm.cs index b62445a0..8d1927bb 100644 --- a/PCK-Studio/Forms/AppSettingsForm.cs +++ b/PCK-Studio/Forms/AppSettingsForm.cs @@ -1,12 +1,9 @@ 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.Configuration; +using System.Diagnostics; using System.Windows.Forms; +using MetroFramework.Controls; using MetroFramework.Forms; using PckStudio.Properties; @@ -14,68 +11,65 @@ namespace PckStudio.Forms { public partial class AppSettingsForm : MetroForm { + private ApplicationSettingsBase _applicationSettings; + public AppSettingsForm() + : this(Settings.Default) + { + } + + public AppSettingsForm(ApplicationSettingsBase applicationSettings) { InitializeComponent(); + _applicationSettings = applicationSettings; LoadSettings(); } - private void autoSaveCheckBox_CheckedChanged(object sender, EventArgs e) + private static Dictionary CheckBoxText = new Dictionary() { - Settings.Default.AutoSaveChanges = autoSaveCheckBox.Checked; - } + ["ShowRichPresence"] = "Show Rich Presence", + ["AutoSaveChanges"] = "Auto Save", + ["UseLittleEndianAsDefault"] = "Open as Little Endian", + ["AutoUpdate"] = "Auto Update", + ["LoadSubPcks"] = "Load Sub Pcks", + ["UsePrerelease"] = "Use Prerelease", + ["UseComboBoxForGRFParameter"] = "Easy Grf Param", + }; - private void endianCheckBox_CheckedChanged(object sender, EventArgs e) + private void CheckBox_CheckedChanged(object sender, EventArgs e) { - Settings.Default.UseLittleEndianAsDefault = endianCheckBox.Checked; - } - - private void autoLoadPckCheckBox_CheckedChanged(object sender, EventArgs e) - { - Settings.Default.LoadSubPcks = autoLoadPckCheckBox.Checked; - } - - private void showPresenceCheckBox_CheckedChanged(object sender, EventArgs e) - { - Settings.Default.ShowRichPresence = showPresenceCheckBox.Checked; - } - - private void autoUpdateCheckBox_CheckedChanged(object sender, EventArgs e) - { - usePrereleaseCheckBox.Visible = Settings.Default.AutoUpdate = autoUpdateCheckBox.Checked; - } - - private void grf_paramKeyComboBoxCheckBox_CheckedChanged(object sender, EventArgs e) - { - Settings.Default.UseComboBoxForGRFParameter = grf_paramKeyComboBoxCheckBox.Checked; - } - - private void usePrereleaseCheckBox_CheckedChanged(object sender, EventArgs e) - { - Settings.Default.UsePrerelease = usePrereleaseCheckBox.Checked; - } - - private void LoadCheckboxState(CheckBox checkBox, EventHandler eventHandler, bool state) - { - checkBox.CheckedChanged -= eventHandler; - checkBox.Checked = state; - checkBox.CheckedChanged += eventHandler; + if (sender is CheckBox checkBox && checkBox.Tag is string settingsKey && _applicationSettings[settingsKey] is bool) + { + _applicationSettings[settingsKey] = checkBox.Checked; + } } private void LoadSettings() { - LoadCheckboxState(autoSaveCheckBox, autoSaveCheckBox_CheckedChanged, Settings.Default.AutoSaveChanges); - LoadCheckboxState(endianCheckBox, endianCheckBox_CheckedChanged, Settings.Default.UseLittleEndianAsDefault); - LoadCheckboxState(autoLoadPckCheckBox, autoLoadPckCheckBox_CheckedChanged, Settings.Default.LoadSubPcks); - LoadCheckboxState(showPresenceCheckBox, showPresenceCheckBox_CheckedChanged, Settings.Default.ShowRichPresence); - LoadCheckboxState(autoUpdateCheckBox, autoUpdateCheckBox_CheckedChanged, Settings.Default.AutoUpdate); - LoadCheckboxState(usePrereleaseCheckBox, usePrereleaseCheckBox_CheckedChanged, Settings.Default.UsePrerelease); - LoadCheckboxState(grf_paramKeyComboBoxCheckBox, grf_paramKeyComboBoxCheckBox_CheckedChanged, Settings.Default.UseComboBoxForGRFParameter); + foreach (SettingsPropertyValue item in _applicationSettings.PropertyValues) + { + Debug.WriteLine($"{item.Property.Name}: {item.Property.PropertyType}"); + if (!item.Property.Attributes.ContainsKey(typeof(UserScopedSettingAttribute)) || item.Property.PropertyType != typeof(bool)) + continue; + var checkBox = new MetroCheckBox + { + Name = item.Name, + Tag = item.Name, + Text = CheckBoxText.ContainsKey(item.Name) ? CheckBoxText[item.Name] : item.Name, + Checked = (bool)item.PropertyValue, + + AutoSize = true, + Theme = MetroFramework.MetroThemeStyle.Dark, + Style = MetroFramework.MetroColorStyle.White, + }; + checkBox.CheckedChanged += CheckBox_CheckedChanged; + flowLayoutPanel.Controls.Add(checkBox); + } } private void AppBehaviorSettingsForm_FormClosing(object sender, FormClosingEventArgs e) { - Settings.Default.Save(); + _applicationSettings.Save(); } } } From ff9388977646f35e00357658b9c8498d0b4655e8 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:23:32 +0200 Subject: [PATCH 44/66] Change In-App-Update system --- .github/workflows/release.yml | 2 +- .../API/GithubUpdateDownloader.cs | 8 +- PCK-Studio/MainForm.cs | 7 +- PCK-Studio/PckStudio.csproj | 7 +- PCK-Studio/Program.cs | 82 +++++++++++++------ PCK_Studio.sln | 20 ----- Version.json | 6 ++ 7 files changed, 70 insertions(+), 62 deletions(-) create mode 100644 Version.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ecfe0c7e..0b96632a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: run: "msbuild PCK_Studio.sln -p:Configuration=Release" - name: Package binary - run: Compress-Archive -Path ${{ github.workspace }}\PCK-Studio\bin\Release\ -Destination ${{ env.RELEASE_NAME }}.zip + run: Compress-Archive -Path "${{ github.workspace }}\PCK-Studio\bin\Release\*" -Destination ${{ env.RELEASE_NAME }}.zip - name: Release uses: softprops/action-gh-release@v2 diff --git a/PCK-Studio-Updater/API/GithubUpdateDownloader.cs b/PCK-Studio-Updater/API/GithubUpdateDownloader.cs index b89c3897..663da45e 100644 --- a/PCK-Studio-Updater/API/GithubUpdateDownloader.cs +++ b/PCK-Studio-Updater/API/GithubUpdateDownloader.cs @@ -47,7 +47,7 @@ namespace PCKStudio_Updater { Debug.WriteLine("Release Product ver.: " + latestReleaseVersion); Debug.WriteLine("Current Product ver.: " + productVersion); - return latestReleaseVersion.CompareTo(productVersion) > 0; + return latestReleaseVersion.CompareTo(productVersion) >= 0; } public bool IsUpdateAvailable(string productVersion) @@ -101,10 +101,9 @@ namespace PCKStudio_Updater private void EmptyDirectory(DirectoryInfo directory) { - string appname = Assembly.GetExecutingAssembly().GetName().Name; foreach (FileInfo file in directory.GetFiles()) { - if (Path.GetFileNameWithoutExtension(file.Name) != appname && file.Name != "update.zip") + if (Path.GetFileNameWithoutExtension(file.Name) != _updateParams.TargetExecutableName && file.Name != "update.zip") file.Delete(); } foreach (DirectoryInfo subDirectory in directory.GetDirectories()) @@ -118,7 +117,7 @@ namespace PCKStudio_Updater if (latestFetchedRelease.Assets?.Count > 0) { var asset = latestFetchedRelease.Assets[0]; - string zipFilePath = Path.Combine(directory.FullName, "update.zip"); + string zipFilePath = Path.Combine(directory.FullName, asset.Name); using(var zipFileStream = File.OpenWrite(zipFilePath)) { DownloadAsset(asset, zipFileStream); @@ -126,7 +125,6 @@ namespace PCKStudio_Updater Debug.WriteLine("Download Complete", category: nameof(GithubUpdateDownloader)); EmptyDirectory(directory); UnpackZip(zipFilePath); - File.Delete(zipFilePath); downloadDirectory = directory; } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index b376b921..75a68d6c 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2480,12 +2480,7 @@ namespace PckStudio private void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e) { - if (Program.Updater.IsUpdateAvailable(Application.ProductVersion)) - { - Program.UpdateToLatest("Would you like to download it?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, DialogResult.Yes); - return; - } - MessageBox.Show(this, "Already up to date.", "No update available"); + Program.UpdateToLatest(); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 3e9d2105..c82f17d4 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -679,6 +679,9 @@ 1.0.5 + + 1.9.1 + 5.8.0-alpha0098 compile; runtime; build; native; contentfiles; analyzers; buildtransitive @@ -716,10 +719,6 @@ - - {5B223556-15B9-41DA-AA0B-5E7F45E743BF} - PCK-Studio-Updater - {693AEBC1-293D-4DF0-BCAE-26A1099FE7BB} OMI Filetype Library diff --git a/PCK-Studio/Program.cs b/PCK-Studio/Program.cs index 393faaf9..e26bddc9 100644 --- a/PCK-Studio/Program.cs +++ b/PCK-Studio/Program.cs @@ -6,8 +6,9 @@ using System.Windows.Forms; using PckStudio.Internal.Misc; using PckStudio.Internal; using PckStudio.Properties; -using PCKStudio_Updater; using PckStudio.Internal.App; +using AutoUpdaterDotNET; +using Newtonsoft.Json; namespace PckStudio @@ -15,22 +16,13 @@ namespace PckStudio static class Program { internal static readonly Uri ProjectUrl = new Uri("https://github.com/PhoenixARC/-PCK-Studio"); + internal static readonly Uri RawProjectUrl = new Uri("https://raw.githubusercontent.com/PhoenixARC/-PCK-Studio"); internal static readonly string BaseAPIUrl = "http://api.pckstudio.xyz/api/pck"; internal static readonly string BackUpAPIUrl = "https://raw.githubusercontent.com/PhoenixARC/pckstudio.tk/main/studio/PCK/api/"; internal static readonly string AppData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Application.ProductName); internal static readonly string AppDataCache = Path.Combine(AppData, "cache"); - private static readonly GithubParams UpdateParams = new GithubParams( - Path.GetDirectoryName(ProjectUrl.AbsolutePath).Replace("\\", ""), - Path.GetFileName(ProjectUrl.AbsolutePath), - Application.ProductName, - Settings.Default.UsePrerelease, - new Regex("(\\*|\\d+(\\.\\d+){0,3}(\\.\\*)?)") - ); - internal static readonly IUpdateDownloader Updater = new GithubUpdateDownloader(UpdateParams); - - internal static MainForm MainInstance { get; private set; } /// @@ -39,9 +31,23 @@ namespace PckStudio [STAThread] static void Main(string[] args) { + AutoUpdater.SetOwner(MainInstance); + //AutoUpdater.ClearAppDirectory = true; +#if DEBUG + AutoUpdater.ReportErrors = true; +#endif + AutoUpdater.DownloadPath = Application.StartupPath; + AutoUpdater.ExecutablePath = "./PCK-Studio.exe"; + AutoUpdater.TopMost = true; + + string jsonPath = Path.Combine(Environment.CurrentDirectory, "updates.json"); + AutoUpdater.PersistenceProvider = new JsonFilePersistenceProvider(jsonPath); + AutoUpdater.ParseUpdateInfoEvent += AutoUpdaterOnParseUpdateInfoEvent; + AutoUpdater.Icon = Resources.ProjectLogo.ToBitmap(); + if (Settings.Default.AutoUpdate) { - UpdateToLatest("Click Ok to continue.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, DialogResult.OK); + UpdateToLatest(); } ApplicationScope.Initialize(); @@ -51,24 +57,48 @@ namespace PckStudio if (args.Length > 0 && File.Exists(args[0]) && args[0].EndsWith(".pck")) MainInstance.InitPckFromFile(args[0]); Application.ApplicationExit += (sender, e) => { RPC.Deinitialize(); }; + MainInstance.FocusMe(); Application.Run(MainInstance); } - [Conditional("NDEBUG")] - internal static void UpdateToLatest(string message, MessageBoxButtons buttons, MessageBoxIcon icon, DialogResult dialogResult) + + internal static void UpdateToLatest() { - bool updateAvailable = Updater.IsUpdateAvailable(Application.ProductVersion); - if (updateAvailable && MessageBox.Show( - MainInstance ?? null, - "New update available.\n" + - message, - "Update Available", - buttons, icon, MessageBoxDefaultButton.Button1) == dialogResult) - { - Updater.DownloadTo(new DirectoryInfo(Application.StartupPath)); - Updater.Launch(); - Application.Exit(); - } +#if NDEBUG + string url = $"{RawProjectUrl}/main/Version.json"; + AutoUpdater.Start(url); +#endif } + + class UpdateInfo + { + [JsonProperty("version")] + public string Version { get; set; } + + [JsonProperty("url")] + public string Url { get; set; } + + [JsonProperty("changelog")] + public string Changelog { get; set; } + + [JsonProperty("mandatory")] + public bool Mandatory { get; set; } + } + + private static void AutoUpdaterOnParseUpdateInfoEvent(ParseUpdateInfoEventArgs args) + { + UpdateInfo json = JsonConvert.DeserializeObject(args.RemoteData); + args.UpdateInfo = new UpdateInfoEventArgs + { + CurrentVersion = json.Version, + DownloadURL = json.Url, + ChangelogURL = json.Changelog, + Mandatory = new Mandatory() + { + Value = json.Mandatory, + } + }; + } + } } \ No newline at end of file diff --git a/PCK_Studio.sln b/PCK_Studio.sln index 772bd2c5..8062268c 100644 --- a/PCK_Studio.sln +++ b/PCK_Studio.sln @@ -11,8 +11,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OMI Filetype Library", "Ven EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpMss32", "Vendor\SharpMss32\SharpMss32\SharpMss32.csproj", "{E8D0B671-3AB1-48B6-A767-58DF67BD5D11}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PCK-Studio-Updater", "PCK-Studio-Updater\PCK-Studio-Updater.csproj", "{5B223556-15B9-41DA-AA0B-5E7F45E743BF}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Beta|Any CPU = Beta|Any CPU @@ -80,24 +78,6 @@ Global {E8D0B671-3AB1-48B6-A767-58DF67BD5D11}.Release|x64.Build.0 = Release|Any CPU {E8D0B671-3AB1-48B6-A767-58DF67BD5D11}.Release|x86.ActiveCfg = Release|Any CPU {E8D0B671-3AB1-48B6-A767-58DF67BD5D11}.Release|x86.Build.0 = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|Any CPU.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|Any CPU.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|x64.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|x64.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|x86.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Beta|x86.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|x64.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|x64.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|x86.ActiveCfg = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Debug|x86.Build.0 = Debug|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|Any CPU.Build.0 = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|x64.ActiveCfg = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|x64.Build.0 = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|x86.ActiveCfg = Release|Any CPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Version.json b/Version.json new file mode 100644 index 00000000..a2f213fc --- /dev/null +++ b/Version.json @@ -0,0 +1,6 @@ +{ + "version": "7.0.0.0", + "url": "https://github.com/PhoenixARC/-PCK-Studio/releases/download/v7.0.0.0/PCK-Studio.zip", + "changelog": "https://raw.githubusercontent.com/PhoenixARC/-PCK-Studio/main/CHANGELOG.md", + "mandatory": false +} \ No newline at end of file From d5c7fe9af5fce613642385c0854977ffb887141b Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:30:45 +0200 Subject: [PATCH 45/66] TreeViewExtensions - Fix ArgumentOutOfRangeException when adding or replacing files(#38) --- PCK-Studio/Extensions/TreeViewExtensions.cs | 6 ++++++ PCK-Studio/Properties/AssemblyInfo.cs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/PCK-Studio/Extensions/TreeViewExtensions.cs b/PCK-Studio/Extensions/TreeViewExtensions.cs index 61583041..7ba0e35b 100644 --- a/PCK-Studio/Extensions/TreeViewExtensions.cs +++ b/PCK-Studio/Extensions/TreeViewExtensions.cs @@ -14,6 +14,12 @@ namespace PckStudio.Extensions { if (string.IsNullOrWhiteSpace(path)) return Array.Empty(); + + if (!path.Contains(treeView.PathSeparator)) + { + return treeView.Nodes.Find(path, false); + } + string segment = path.Substring(0, path.IndexOf(treeView.PathSeparator)); if (treeView.Nodes.ContainsKey(segment)) { diff --git a/PCK-Studio/Properties/AssemblyInfo.cs b/PCK-Studio/Properties/AssemblyInfo.cs index acd3487d..967d6ade 100644 --- a/PCK-Studio/Properties/AssemblyInfo.cs +++ b/PCK-Studio/Properties/AssemblyInfo.cs @@ -32,6 +32,6 @@ using System.Security.Permissions; // 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("7.0.0.0")] +[assembly: AssemblyVersion("7.0.0.1")] [assembly: AssemblyFileVersion("7.0.0.0")] [assembly: NeutralResourcesLanguage("")] From 6007897bd1ae650580ab21f10424ef53142fb26d Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:36:37 +0200 Subject: [PATCH 46/66] Update version information --- Version.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Version.json b/Version.json index a2f213fc..e4be63b7 100644 --- a/Version.json +++ b/Version.json @@ -1,6 +1,6 @@ { - "version": "7.0.0.0", - "url": "https://github.com/PhoenixARC/-PCK-Studio/releases/download/v7.0.0.0/PCK-Studio.zip", + "version": "7.0.0.1", + "url": "https://github.com/PhoenixARC/-PCK-Studio/releases/download/v7.0.0.1/PCK-Studio.zip", "changelog": "https://raw.githubusercontent.com/PhoenixARC/-PCK-Studio/main/CHANGELOG.md", "mandatory": false } \ No newline at end of file From 974b4cab96f407a007183644a3bb30853cde3608 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:47:03 +0200 Subject: [PATCH 47/66] Fix displayed Version --- .gitignore | 3 +++ PCK-Studio/Forms/ContributorsForm.cs | 2 +- PCK-Studio/Internal/App/ApplicationScope.cs | 2 ++ PCK-Studio/MainForm.cs | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 15baf62c..8e15384e 100644 --- a/.gitignore +++ b/.gitignore @@ -250,3 +250,6 @@ paket-files/ # JetBrains Rider .idea/ *.sln.iml + +# Deploy util +makeUpdate.py diff --git a/PCK-Studio/Forms/ContributorsForm.cs b/PCK-Studio/Forms/ContributorsForm.cs index 51906542..cd2a528e 100644 --- a/PCK-Studio/Forms/ContributorsForm.cs +++ b/PCK-Studio/Forms/ContributorsForm.cs @@ -27,7 +27,7 @@ namespace PckStudio.Forms #else buildConfig = "unknown"; #endif - buildLabel.Text = $"Verion: {Application.ProductVersion}\nBuild Config: {buildConfig}\nBranch: {CommitInfo.BranchName}@{CommitInfo.CommitHash}"; + buildLabel.Text = $"Verion: {ApplicationScope.CurrentVersion}\nBuild Config: {buildConfig}\nBranch: {CommitInfo.BranchName}@{CommitInfo.CommitHash}"; } protected override void OnLoad(EventArgs e) diff --git a/PCK-Studio/Internal/App/ApplicationScope.cs b/PCK-Studio/Internal/App/ApplicationScope.cs index d489938b..a9578fce 100644 --- a/PCK-Studio/Internal/App/ApplicationScope.cs +++ b/PCK-Studio/Internal/App/ApplicationScope.cs @@ -21,6 +21,8 @@ namespace PckStudio.Internal.App private static Image[] _entityImages; public static Image[] EntityImages => _entityImages; + public static Version CurrentVersion { get; } = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + internal static void Initialize() { Profiler.Start(); diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 75a68d6c..c420de93 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -91,7 +91,7 @@ namespace PckStudio Text = Application.ProductName; - labelVersion.Text = $"{Application.ProductName}: {Application.ProductVersion}"; + labelVersion.Text = $"{Application.ProductName}: {ApplicationScope.CurrentVersion}"; ChangelogRichTextBox.Text = Resources.CHANGELOG; pckFileTypeHandler = new Dictionary>(15) From 3840b2940e92257bf5c143f3b11db0fa6a3bb7b9 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:53:33 +0200 Subject: [PATCH 48/66] Remove PCK-Studio-Updater Project --- PCK-Studio-Updater/API/GithubParams.cs | 22 --- .../API/GithubUpdateDownloader.cs | 146 ------------------ PCK-Studio-Updater/API/IUpdateDownloader.cs | 19 --- PCK-Studio-Updater/PCK-Studio-Updater.csproj | 105 ------------- PCK-Studio-Updater/Program.cs | 58 ------- PCK-Studio-Updater/ProjectLogo.ico | Bin 150065 -> 0 bytes PCK-Studio-Updater/Properties/AssemblyInfo.cs | 36 ----- PCK-Studio-Updater/Properties/app.manifest | 70 --------- 8 files changed, 456 deletions(-) delete mode 100644 PCK-Studio-Updater/API/GithubParams.cs delete mode 100644 PCK-Studio-Updater/API/GithubUpdateDownloader.cs delete mode 100644 PCK-Studio-Updater/API/IUpdateDownloader.cs delete mode 100644 PCK-Studio-Updater/PCK-Studio-Updater.csproj delete mode 100644 PCK-Studio-Updater/Program.cs delete mode 100644 PCK-Studio-Updater/ProjectLogo.ico delete mode 100644 PCK-Studio-Updater/Properties/AssemblyInfo.cs delete mode 100644 PCK-Studio-Updater/Properties/app.manifest diff --git a/PCK-Studio-Updater/API/GithubParams.cs b/PCK-Studio-Updater/API/GithubParams.cs deleted file mode 100644 index 77aed764..00000000 --- a/PCK-Studio-Updater/API/GithubParams.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Text.RegularExpressions; - -namespace PCKStudio_Updater -{ - public sealed class GithubParams - { - public readonly string RepositoryOwnerName; - public readonly string RepositoryName; - public readonly string TargetExecutableName; - public readonly bool UsePreRelease; - public readonly Regex VersionMatcher; - - public GithubParams(string repositoryOwnerName, string repositoryName, string targetExecutableName, bool usePreRelease, Regex versionMatcher) - { - RepositoryOwnerName = repositoryOwnerName; - RepositoryName = repositoryName; - TargetExecutableName = targetExecutableName; - UsePreRelease = usePreRelease; - VersionMatcher = versionMatcher; - } - } -} diff --git a/PCK-Studio-Updater/API/GithubUpdateDownloader.cs b/PCK-Studio-Updater/API/GithubUpdateDownloader.cs deleted file mode 100644 index 663da45e..00000000 --- a/PCK-Studio-Updater/API/GithubUpdateDownloader.cs +++ /dev/null @@ -1,146 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO.Compression; -using System.IO; -using System.Linq; -using System.Net; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; -using Octokit; - -namespace PCKStudio_Updater -{ - public sealed class GithubUpdateDownloader : IUpdateDownloader - { - private static readonly Assembly updaterAssembly = Assembly.GetAssembly(typeof(GithubUpdateDownloader)); - - private readonly GithubParams _updateParams; - private readonly GitHubClient githubClient; - private Release latestFetchedRelease; - private Version latestReleaseVersion; - private DirectoryInfo downloadDirectory; - - - public GithubUpdateDownloader(GithubParams updateParams) - { - _updateParams = updateParams; - var githubClientProductHeader = new ProductHeaderValue(updaterAssembly.GetName().Name); - githubClient = new GitHubClient(githubClientProductHeader); - } - - public bool IsUpdateAvailable(FileVersionInfo fileVersionInfo) - { - return IsUpdateAvailable(fileVersionInfo.ProductVersion); - } - - public bool IsUpdateAvailable(Assembly currentAssembly) - { - if (!File.Exists(currentAssembly.Location)) - return false; - FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(currentAssembly.Location); - return IsUpdateAvailable(fileVersionInfo.ProductVersion); - } - - public bool IsUpdateAvailable(Version productVersion) - { - Debug.WriteLine("Release Product ver.: " + latestReleaseVersion); - Debug.WriteLine("Current Product ver.: " + productVersion); - return latestReleaseVersion.CompareTo(productVersion) >= 0; - } - - public bool IsUpdateAvailable(string productVersion) - { - GetLatestRelease(_updateParams.UsePreRelease); - if (Version.TryParse(productVersion, out var currentVersion)) - { - return IsUpdateAvailable(currentVersion); - } - return false; - } - - private void UnpackZip(string zipFilePath) - { - ZipFile.ExtractToDirectory(zipFilePath, Path.GetDirectoryName(zipFilePath)); - } - - private static void DownloadAsset(ReleaseAsset asset, Stream destination) - { - string downloadUrl = asset.BrowserDownloadUrl; - var client = new WebClient(); - using (var serverStream = client.OpenRead(downloadUrl)) - { - serverStream.CopyTo(destination); - } - } - - private void GetLatestRelease(bool prerelease) - { - Release release; - if (prerelease) - { - var prereleaseTask = githubClient.Repository.Release.GetAll(_updateParams.RepositoryOwnerName, _updateParams.RepositoryName); - prereleaseTask.Wait(); - var prereleases = prereleaseTask.Result.OrderByDescending(release => release.PublishedAt ?? release.CreatedAt).Where(release => release.Prerelease).ToArray(); - release = latestFetchedRelease = prereleases[0]; - } - else - { - var latestReleaseTask = githubClient.Repository.Release.GetLatest(_updateParams.RepositoryOwnerName, _updateParams.RepositoryName); - latestReleaseTask.Wait(); - release = latestFetchedRelease = latestReleaseTask.Result; - } - var match = _updateParams.VersionMatcher.Match(release.Name); - if (match.Success) - { - string versionString = match.Value; - Version.TryParse(versionString, out latestReleaseVersion); - } - } - - private void EmptyDirectory(DirectoryInfo directory) - { - foreach (FileInfo file in directory.GetFiles()) - { - if (Path.GetFileNameWithoutExtension(file.Name) != _updateParams.TargetExecutableName && file.Name != "update.zip") - file.Delete(); - } - foreach (DirectoryInfo subDirectory in directory.GetDirectories()) - subDirectory.Delete(true); - } - - public void DownloadTo(DirectoryInfo directory) - { - if (latestFetchedRelease is null) - GetLatestRelease(_updateParams.UsePreRelease); - if (latestFetchedRelease.Assets?.Count > 0) - { - var asset = latestFetchedRelease.Assets[0]; - string zipFilePath = Path.Combine(directory.FullName, asset.Name); - using(var zipFileStream = File.OpenWrite(zipFilePath)) - { - DownloadAsset(asset, zipFileStream); - } - Debug.WriteLine("Download Complete", category: nameof(GithubUpdateDownloader)); - EmptyDirectory(directory); - UnpackZip(zipFilePath); - downloadDirectory = directory; - } - } - - public void Launch() - { - if (downloadDirectory is null) - { - throw new ArgumentNullException("Download directory not set."); - } - - var files = downloadDirectory.GetFiles(_updateParams.TargetExecutableName + ".exe", SearchOption.TopDirectoryOnly); - if (files is not null && files.Length > 0) - { - Process.Start(files[0].FullName); - } - } - } -} diff --git a/PCK-Studio-Updater/API/IUpdateDownloader.cs b/PCK-Studio-Updater/API/IUpdateDownloader.cs deleted file mode 100644 index ef422762..00000000 --- a/PCK-Studio-Updater/API/IUpdateDownloader.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace PCKStudio_Updater -{ - public interface IUpdateDownloader - { - public bool IsUpdateAvailable(Version currentVersion); - public bool IsUpdateAvailable(string currentVersionString); - - public void DownloadTo(DirectoryInfo directory); - - public void Launch(); - } -} diff --git a/PCK-Studio-Updater/PCK-Studio-Updater.csproj b/PCK-Studio-Updater/PCK-Studio-Updater.csproj deleted file mode 100644 index a47ab997..00000000 --- a/PCK-Studio-Updater/PCK-Studio-Updater.csproj +++ /dev/null @@ -1,105 +0,0 @@ - - - - - Debug - AnyCPU - {5B223556-15B9-41DA-AA0B-5E7F45E743BF} - WinExe - PCKStudio_Updater - PCK-Studio-Updater - latest - enable - v4.8 - 512 - true - true - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - PCKStudio_Updater.Program - - - ProjectLogo.ico - - - - - - - - - - - - - - - - - - - - - - 5.7.0 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - 7.1.0 - - - - - False - Microsoft .NET Framework 4.8 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - - - - - - - \ No newline at end of file diff --git a/PCK-Studio-Updater/Program.cs b/PCK-Studio-Updater/Program.cs deleted file mode 100644 index d150ad4c..00000000 --- a/PCK-Studio-Updater/Program.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Runtime; -using System.Text; -using System.Text.RegularExpressions; - -namespace PCKStudio_Updater -{ - internal class Program - { - static void Main(string[] args) - { - Uri projectUrl = new Uri("https://github.com/PhoenixARC/-PCK-Studio"); - if (args.Length > 0) - { - projectUrl = new Uri(args[0]); - } - - string executableName = "PCK-Studio"; - if (args.Length > 1) - { - executableName = args[1]; - } - - bool prerelease = false; - if (args.Length > 2) - { - prerelease = args[2].ToLower() == "true" || args[2].ToLower() == "1"; - } - - var versionMatcher = new Regex("(\\*|\\d+(\\.\\d+){0,3}(\\.\\*)?)"); - if (args.Length > 3) - { - versionMatcher = new Regex(args[3]); - } - - GithubParams updateParams = new GithubParams( - Path.GetDirectoryName(projectUrl.AbsolutePath).Replace("\\", ""), - Path.GetFileName(projectUrl.AbsolutePath), - executableName, - prerelease, - versionMatcher - ); - - IUpdateDownloader updater = new GithubUpdateDownloader(updateParams); - - if (!File.Exists(updateParams.TargetExecutableName + ".exe") || updater.IsUpdateAvailable(FileVersionInfo.GetVersionInfo(updateParams.TargetExecutableName + ".exe").ProductVersion)) - { - updater.DownloadTo(new DirectoryInfo(".")); - updater.Launch(); - return; - } - } - } -} diff --git a/PCK-Studio-Updater/ProjectLogo.ico b/PCK-Studio-Updater/ProjectLogo.ico deleted file mode 100644 index 85357f6f1261aa55ad080aae1030554de307b768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150065 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 diff --git a/PCK-Studio-Updater/Properties/AssemblyInfo.cs b/PCK-Studio-Updater/Properties/AssemblyInfo.cs deleted file mode 100644 index 8e714011..00000000 --- a/PCK-Studio-Updater/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -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("PckStudio-Updater")] -[assembly: AssemblyDescription("Updater for PCK-Studio")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("PckStudio-Updater")] -[assembly: AssemblyCopyright("Copyright © 2023 Miku-666")] -[assembly: AssemblyTrademark("")] -[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("5b223556-15b9-41da-aa0b-5e7f45e743bf")] - -// 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.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PCK-Studio-Updater/Properties/app.manifest b/PCK-Studio-Updater/Properties/app.manifest deleted file mode 100644 index c02c2d89..00000000 --- a/PCK-Studio-Updater/Properties/app.manifest +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From baa151a1801163fc4bce185bb8cd2d840f9c5e10 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 28 Jun 2024 21:52:35 +0200 Subject: [PATCH 49/66] AddNewSkin - Fix Cape button not being visible --- .../Skins-And-Textures/AddNewSkin.Designer.cs | 2 +- .../Forms/Skins-And-Textures/AddNewSkin.resx | 26 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs index 871ee322..17e1ef1f 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs @@ -308,6 +308,7 @@ // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.buttonCape); this.Controls.Add(this.buttonAnimGen); this.Controls.Add(this.capeLabel); this.Controls.Add(this.textThemeName); @@ -318,7 +319,6 @@ this.Controls.Add(this.radioButtonAuto); this.Controls.Add(this.buttonDone); this.Controls.Add(this.buttonModelGen); - this.Controls.Add(this.buttonCape); this.Controls.Add(this.buttonSkin); this.Controls.Add(this.capePictureBox); this.Controls.Add(this.skinPictureBox); diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx index 2f724c3d..6e87bf23 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx @@ -313,7 +313,7 @@ $this - 10 + 11 14, 259 @@ -337,7 +337,7 @@ $this - 11 + 12 Center @@ -364,7 +364,7 @@ $this - 12 + 0 Center @@ -439,7 +439,7 @@ $this - 9 + 10 True @@ -466,7 +466,7 @@ $this - 8 + 9 @@ -505,7 +505,7 @@ $this - 6 + 7 @@ -544,7 +544,7 @@ $this - 5 + 6 @@ -583,7 +583,7 @@ $this - 4 + 5 True @@ -616,7 +616,7 @@ $this - 7 + 8 True @@ -652,7 +652,7 @@ $this - 3 + 4 False @@ -679,7 +679,7 @@ $this - 2 + 3 None @@ -706,7 +706,7 @@ capePictureBox - PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null + PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.1, Culture=neutral, PublicKeyToken=null $this @@ -736,7 +736,7 @@ skinPictureBox - PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null + PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.1, Culture=neutral, PublicKeyToken=null $this From 94e5fbfb8fa54e62aee4f717216b7bd618043658 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 30 Jun 2024 17:06:23 +0200 Subject: [PATCH 50/66] Move AddNewSkin to Additional-Popups --- .../AddSkinPrompt.Designer.cs} | 6 +++--- .../AddSkinPrompt.cs} | 6 +++--- .../AddSkinPrompt.ja.resx} | 0 .../AddSkinPrompt.resx} | 0 PCK-Studio/MainForm.cs | 2 +- PCK-Studio/PckStudio.csproj | 14 +++++++------- 6 files changed, 14 insertions(+), 14 deletions(-) rename PCK-Studio/Forms/{Skins-And-Textures/AddNewSkin.Designer.cs => Additional-Popups/AddSkinPrompt.Designer.cs} (99%) rename PCK-Studio/Forms/{Skins-And-Textures/AddNewSkin.cs => Additional-Popups/AddSkinPrompt.cs} (98%) rename PCK-Studio/Forms/{Skins-And-Textures/addnewskin.ja.resx => Additional-Popups/AddSkinPrompt.ja.resx} (100%) rename PCK-Studio/Forms/{Skins-And-Textures/AddNewSkin.resx => Additional-Popups/AddSkinPrompt.resx} (100%) diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.Designer.cs similarity index 99% rename from PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs rename to PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.Designer.cs index 17e1ef1f..bd3df23c 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.Designer.cs +++ b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.Designer.cs @@ -1,6 +1,6 @@ -namespace PckStudio.Popups +namespace PckStudio.Forms.Additional_Popups { - partial class AddNewSkin + partial class AddSkinPrompt { /// /// Required designer variable. @@ -30,7 +30,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.Label label3; - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddNewSkin)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddSkinPrompt)); System.Windows.Forms.Label label2; System.Windows.Forms.Label label1; this.textTheme = new System.Windows.Forms.TextBox(); diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs similarity index 98% rename from PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs rename to PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs index def7994e..7fed446d 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs +++ b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs @@ -13,9 +13,9 @@ using PckStudio.Properties; using PckStudio.Forms; using PckStudio.Extensions; -namespace PckStudio.Popups +namespace PckStudio.Forms.Additional_Popups { - public partial class AddNewSkin : MetroFramework.Forms.MetroForm + public partial class AddSkinPrompt : MetroFramework.Forms.MetroForm { public PckAsset SkinAsset => _skin; public PckAsset CapeAsset => _cape; @@ -39,7 +39,7 @@ namespace PckStudio.Popups Custom, } - public AddNewSkin(LOCFile loc) + public AddSkinPrompt(LOCFile loc) { InitializeComponent(); currentLoc = loc; diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.ja.resx b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.ja.resx similarity index 100% rename from PCK-Studio/Forms/Skins-And-Textures/addnewskin.ja.resx rename to PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.ja.resx diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.resx similarity index 100% rename from PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.resx rename to PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.resx diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index c420de93..4912cee9 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1020,7 +1020,7 @@ namespace PckStudio { LOCFile locFile = null; TryGetLocFile(out locFile); - using AddNewSkin add = new AddNewSkin(locFile); + using AddSkinPrompt add = new AddSkinPrompt(locFile); if (add.ShowDialog(this) == DialogResult.OK) { if (currentPCK.HasAsset("Skins.pck", PckAssetType.SkinDataFile)) // Prioritize Skins.pck diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index c82f17d4..4fc86490 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -352,11 +352,11 @@ AddPropertyPrompt.cs - + Form - - AddNewSkin.cs + + AddSkinPrompt.cs Form @@ -501,11 +501,11 @@ AddPropertyPrompt.cs - - AddNewSkin.cs + + AddSkinPrompt.cs - - AddNewSkin.cs + + AddSkinPrompt.cs Designer From 43ad6d4107b2cf4abed5f3e3dca43d7581930a23 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 30 Jun 2024 21:03:21 +0200 Subject: [PATCH 51/66] Extended ResourceLocation for better atlas handling --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 40 +++--- PCK-Studio/Internal/ResourceCategory.cs | 12 +- PCK-Studio/Internal/ResourceLocation.cs | 93 +++++++++++++- PCK-Studio/MainForm.cs | 114 ++++-------------- 4 files changed, 147 insertions(+), 112 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index d3ffee2a..78ef3d85 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -30,6 +30,7 @@ using OMI.Formats.Pck; using OMI.Workers.Color; using PckStudio.Extensions; +using PckStudio.Internal; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Json; using PckStudio.Internal.Serializer; @@ -54,7 +55,7 @@ namespace PckStudio.Forms.Editor private readonly Size _areaSize; private readonly int _rowCount; private readonly int _columnCount; - private readonly string _atlasType; + private readonly ResourceLocation _atlasType; private readonly List _tiles; private AtlasTile _selectedTile; @@ -93,7 +94,7 @@ namespace PckStudio.Forms.Editor private const ImageLayoutDirection _imageLayout = ImageLayoutDirection.Horizontal; - public TextureAtlasEditor(PckFile pckFile, string path, Image atlas, Size areaSize) + public TextureAtlasEditor(PckFile pckFile, ResourceLocation resourceLocation, Image atlas) { InitializeComponent(); @@ -101,23 +102,24 @@ namespace PckStudio.Forms.Editor _workingTexture = atlas; - _areaSize = areaSize; + _areaSize = resourceLocation.GetTileArea(atlas.Size); _pckFile = pckFile; - _rowCount = atlas.Width / areaSize.Width; - _columnCount = atlas.Height / areaSize.Height; - (var tileInfos, _atlasType) = Path.GetFileNameWithoutExtension(path) switch + _rowCount = atlas.Width / _areaSize.Width; + _columnCount = atlas.Height / _areaSize.Height; + _atlasType = resourceLocation; + var tileInfos = resourceLocation.Category switch { - "terrain" => (Tiles.BlockTileInfos, "blocks"), - "items" => (Tiles.ItemTileInfos, "items"), - "particles" => (Tiles.ParticleTileInfos, "particles"), - "mapicons" => (Tiles.MapIconTileInfos, "map_icons"), - "additionalmapicons" => (Tiles.AdditionalMapIconTileInfos, "additional_map_icons"), - "moon_phases" => (Tiles.MoonPhaseTileInfos, "moon_phases"), - "xporb" => (Tiles.ExperienceOrbTileInfos, "experience_orbs"), - "explosion" => (Tiles.ExplosionTileInfos, "explosions"), - "kz" => (Tiles.PaintingTileInfos, "paintings"), - "Banner_Atlas" => (Tiles.BannerTileInfos, "banners"), - _ => (null, null), + ResourceCategory.BlockAtlas => Tiles.BlockTileInfos, + ResourceCategory.ItemAtlas => Tiles.ItemTileInfos, + ResourceCategory.ParticleAtlas => Tiles.ParticleTileInfos, + ResourceCategory.MapIconAtlas => Tiles.MapIconTileInfos, + ResourceCategory.AdditionalMapIconsAtlas => Tiles.AdditionalMapIconTileInfos, + ResourceCategory.MoonPhaseAtlas => Tiles.MoonPhaseTileInfos, + ResourceCategory.ExperienceOrbAtlas => Tiles.ExperienceOrbTileInfos, + ResourceCategory.ExplosionAtlas => Tiles.ExplosionTileInfos, + ResourceCategory.PaintingAtlas => Tiles.PaintingTileInfos, + ResourceCategory.BannerAtlas => Tiles.BannerTileInfos, + _ => null, }; originalPictureBox.Image = atlas.GetArea(new Rectangle(0, 0, atlas.Width, atlas.Height)); @@ -156,7 +158,7 @@ namespace PckStudio.Forms.Editor SelectedIndex = 0; - bool isParticles = _atlasType == "particles"; + bool isParticles = _atlasType.Category == ResourceCategory.ParticleAtlas; // this is directly based on Java's source code for handling enchanted hits // the particle is assigned a random grayscale color between roughly 154 and 230 @@ -239,7 +241,7 @@ namespace PckStudio.Forms.Editor selectTilePictureBox.BlendColor = GetBlendColor(); selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; - if (animationButton.Enabled = _atlasType == "blocks" || _atlasType == "items") + if (animationButton.Enabled = _atlasType.Category == ResourceCategory.BlockAtlas || _atlasType.Category == ResourceCategory.ItemAtlas) { PckAsset animationAsset; diff --git a/PCK-Studio/Internal/ResourceCategory.cs b/PCK-Studio/Internal/ResourceCategory.cs index 0233ef62..8b8c1243 100644 --- a/PCK-Studio/Internal/ResourceCategory.cs +++ b/PCK-Studio/Internal/ResourceCategory.cs @@ -22,6 +22,16 @@ namespace PckStudio.Internal { Unknown = -1, ItemAnimation, - BlockAnimation + BlockAnimation, + ItemAtlas, + BlockAtlas, + ParticleAtlas, + BannerAtlas, + PaintingAtlas, + ExplosionAtlas, + ExperienceOrbAtlas, + MoonPhaseAtlas, + MapIconAtlas, + AdditionalMapIconsAtlas, } } diff --git a/PCK-Studio/Internal/ResourceLocation.cs b/PCK-Studio/Internal/ResourceLocation.cs index e9984d86..59a726be 100644 --- a/PCK-Studio/Internal/ResourceLocation.cs +++ b/PCK-Studio/Internal/ResourceLocation.cs @@ -1,19 +1,46 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PckStudio.Internal { - internal class ResourceLocation + internal sealed class ResourceLocation { + private static readonly Dictionary _categoryLookUp = new Dictionary() + { + ["textures/items"] = new ResourceLocation("textures/items", ResourceCategory.ItemAnimation, 16, isGroup: true), + ["textures/blocks"] = new ResourceLocation("textures/blocks", ResourceCategory.BlockAnimation, 16, isGroup: true), + ["terrain.png"] = new ResourceLocation("terrain.png", ResourceCategory.BlockAtlas, 16), + ["items.png"] = new ResourceLocation("items.png", ResourceCategory.ItemAtlas, 16), + ["particles.png"] = new ResourceLocation("particles.png", ResourceCategory.ParticleAtlas, 16), + ["item/banner/Banner_Atlas.png"] = new ResourceLocation("item/banner/Banner_Atlas.png", ResourceCategory.BannerAtlas, new Size(6, 7), TillingMode.Custom), + ["art/kz.png"] = new ResourceLocation("art/kz.png", ResourceCategory.PaintingAtlas, 16), + ["misc/explosion.png"] = new ResourceLocation("misc/explosion.png", ResourceCategory.ExplosionAtlas, 4), + ["item/xporb.png"] = new ResourceLocation("item/xporb.png", ResourceCategory.ExperienceOrbAtlas, 4), + ["terrain/moon_phases.png"] = new ResourceLocation("terrain/moon_phases.png", ResourceCategory.MoonPhaseAtlas, 4), + ["misc/mapicons.png"] = new ResourceLocation("misc/mapicons.png", ResourceCategory.MapIconAtlas, 4), + ["misc/additionalmapicons.png"] = new ResourceLocation("misc/additionalmapicons.png", ResourceCategory.AdditionalMapIconsAtlas, 4), + }; + public static string GetPathFromCategory(ResourceCategory category) { return category switch { - ResourceCategory.ItemAnimation => "res/textures/items", - ResourceCategory.BlockAnimation => "res/textures/blocks", + ResourceCategory.ItemAnimation => "res/textures/items", + ResourceCategory.BlockAnimation => "res/textures/blocks", + ResourceCategory.BlockAtlas => "res/terrain.png", + ResourceCategory.ItemAtlas => "res/items.png", + ResourceCategory.ParticleAtlas => "res/particles.png", + ResourceCategory.BannerAtlas => "res/item/banner/Banner_Atlas.png", + ResourceCategory.PaintingAtlas => "res/art/kz.png", + ResourceCategory.ExplosionAtlas => "res/misc/explosion.png", + ResourceCategory.ExperienceOrbAtlas => "res/item/xporb.png", + ResourceCategory.MoonPhaseAtlas => "res/terrain/moon_phases.png", + ResourceCategory.MapIconAtlas => "res/misc/mapicons.png", + ResourceCategory.AdditionalMapIconsAtlas => "res/misc/additionalmapicons.png", _ => string.Empty }; } @@ -29,7 +56,65 @@ namespace PckStudio.Internal if (path.StartsWith("res/textures/blocks")) return ResourceCategory.BlockAnimation; - return ResourceCategory.Unknown; + string categoryPath = path.Substring("res/".Length); + return _categoryLookUp.ContainsKey(categoryPath) ? _categoryLookUp[categoryPath].Category : ResourceCategory.Unknown; + } + + public static ResourceLocation GetFromPath(string path) + { + if (string.IsNullOrWhiteSpace(path) || !path.StartsWith("res/")) + return null; + string categoryPath = path.Substring("res/".Length); + if (categoryPath.StartsWith("textures/items")) + categoryPath = "textures/items"; + if (categoryPath.StartsWith("textures/blocks")) + categoryPath = "textures/blocks"; + return _categoryLookUp.ContainsKey(categoryPath) ? _categoryLookUp[categoryPath] : null; + } + + public enum TillingMode + { + Width, + Height, + Custom + } + + public readonly string Path; + public readonly ResourceCategory Category; + public readonly Size TillingFactor; + public readonly TillingMode TillingResolution; + public readonly bool IsGroup; + + public Size GetTileArea(Size imgSize) + { + int tileFactorWidth = Math.Max(1, TillingFactor.Width); + int tileFactorHeight = Math.Max(1, TillingFactor.Height); + return TillingResolution switch + { + TillingMode.Width => new Size(imgSize.Width / tileFactorWidth, imgSize.Width / tileFactorHeight), + TillingMode.Height => new Size(imgSize.Height / tileFactorWidth, imgSize.Height / tileFactorHeight), + TillingMode.Custom => new Size(imgSize.Width / tileFactorWidth, imgSize.Height / tileFactorHeight), + _ => Size.Empty, + }; + } + + private ResourceLocation(string path, ResourceCategory category, int tillingFactor, TillingMode tillingResolution = TillingMode.Width, bool isGroup = false) + : this(path, category, new Size(tillingFactor, tillingFactor), tillingResolution, isGroup) + { + } + + private ResourceLocation(string path, ResourceCategory category, Size tillingFactor, TillingMode tillingResolution = TillingMode.Width, bool isGroup = false) + { + Path = path; + Category = category; + TillingFactor = tillingFactor; + TillingResolution = tillingResolution; + IsGroup = isGroup; + } + + public override string ToString() + { + return "res/" + Path; } } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 4912cee9..7b0f3923 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -457,71 +457,19 @@ namespace PckStudio return; } - bool isTerrain = asset.Filename == "res/terrain.png"; - bool isItems = asset.Filename == "res/items.png"; - bool isParticles = asset.Filename == "res/particles.png"; - bool isMoonPhases = asset.Filename == "res/terrain/moon_phases.png"; - bool isMapIcons = asset.Filename == "res/misc/mapicons.png"; - bool isAdditionalMapIcons = asset.Filename == "res/misc/additionalmapicons.png"; - bool isXPOrbs = asset.Filename == "res/item/xporb.png"; - bool isExplosions = asset.Filename == "res/misc/explosion.png"; - bool isPaintings = asset.Filename == "res/art/kz.png"; - bool isBanners = asset.Filename == "res/item/banner/Banner_Atlas.png"; + ResourceLocation resourceLocation = ResourceLocation.GetFromPath(asset.Filename); + Debug.WriteLine("Handling Resource file: " + resourceLocation?.ToString()); + if (resourceLocation is null || resourceLocation.Category == ResourceCategory.Unknown) + return; - if ( - isTerrain || isItems || isParticles || isMoonPhases || isPaintings || - isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners - ) + if (resourceLocation.Category != ResourceCategory.BlockAnimation && + resourceLocation.Category != ResourceCategory.ItemAnimation) { Image img = asset.GetTexture(); - var tile_size = new Size(); - - int banner_scale = img.Width / Resources.banners_atlas.Width; - - if (isBanners) - { - // The banner atlas has extra space on it that has to be truncated for the editor - img = img.GetArea(new Rectangle(0, 0, img.Width - (4 * banner_scale), img.Height - (1 * banner_scale))); - - // banners are 42x41 because of course they are - tile_size = new Size(42 * banner_scale, 41 * banner_scale); - } - - // most atlases have 4 columns - int columnCount = isBanners ? 6 : 4; - - if (isTerrain || isItems || isParticles || isPaintings) columnCount = 16; - - if (!isBanners) - { - int resolution = img.Width / columnCount; - tile_size = new Size(resolution, resolution); - } - - var viewer = new TextureAtlasEditor(currentPCK, asset.Filename, img, tile_size); + var viewer = new TextureAtlasEditor(currentPCK, resourceLocation, img); if (viewer.ShowDialog(this) == DialogResult.OK) { Image texture = viewer.FinalTexture; - if(isBanners) - { - var graphicsConfig = new GraphicsConfig() - { - InterpolationMode = InterpolationMode.NearestNeighbor, - PixelOffsetMode = PixelOffsetMode.HighQuality - }; - - var _img = new Bitmap((Resources.banners_atlas.Width + 4) * banner_scale, - (Resources.banners_atlas.Height + 1) * banner_scale); - - using (Graphics g = Graphics.FromImage(_img)) - { - g.ApplyConfig(graphicsConfig); - g.DrawImage(texture, 0, 0, texture.Width, texture.Height); - } - - texture = _img; - } - asset.SetTexture(texture); wasModified = true; BuildMainTreeView(); @@ -529,24 +477,24 @@ namespace PckStudio return; } - if (!asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) && - !asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) + if (resourceLocation.Category != ResourceCategory.ItemAnimation && + resourceLocation.Category != ResourceCategory.BlockAnimation) return; Animation animation = asset.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); - string filename = Path.GetFileNameWithoutExtension(asset.Filename); + string internalName = Path.GetFileNameWithoutExtension(asset.Filename); - var textureInfos = ResourceLocation.GetCategoryFromPath(asset.Filename) switch + var textureInfos = resourceLocation.Category switch { ResourceCategory.BlockAnimation => Tiles.BlockTileInfos, ResourceCategory.ItemAnimation => Tiles.ItemTileInfos, _ => Array.Empty().ToList() }; - string displayname = textureInfos.FirstOrDefault(p => p.InternalName == filename)?.DisplayName ?? filename; + string displayname = textureInfos.FirstOrDefault(p => p.InternalName == internalName)?.DisplayName ?? internalName; string[] specialTileNames = { "clock", "compass" }; - using (AnimationEditor animationEditor = new AnimationEditor(animation, displayname, filename.ToLower().EqualsAny(specialTileNames))) + using (AnimationEditor animationEditor = new AnimationEditor(animation, displayname, internalName.ToLower().EqualsAny(specialTileNames))) { if (animationEditor.ShowDialog(this) == DialogResult.OK) { @@ -708,34 +656,24 @@ namespace PckStudio Debug.WriteLine(string.Format("An error occured of type: {0} with message: {1}", ex.GetType(), ex.Message), "Exception"); } - if ((asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.ItemAnimation)) || - asset.Filename.StartsWith(ResourceLocation.GetPathFromCategory(ResourceCategory.BlockAnimation))) && - asset.Type == PckAssetType.TextureFile - && !asset.IsMipmappedFile()) + if (asset.Type != PckAssetType.TextureFile) + break; + + ResourceLocation resourceLocation = ResourceLocation.GetFromPath(asset.Filename); + if (resourceLocation is null || resourceLocation.Category == ResourceCategory.Unknown) + break; + + if (resourceLocation.Category == ResourceCategory.ItemAnimation || + resourceLocation.Category == ResourceCategory.BlockAnimation && + !asset.IsMipmappedFile()) { buttonEdit.Text = "EDIT TILE ANIMATION"; buttonEdit.Visible = true; + break; } - bool isTerrain = asset.Filename == "res/terrain.png"; - bool isItems = asset.Filename == "res/items.png"; - bool isParticles = asset.Filename == "res/particles.png"; - bool isMoonPhases = asset.Filename == "res/terrain/moon_phases.png"; - bool isMapIcons = asset.Filename == "res/misc/mapicons.png"; - bool isAdditionalMapIcons = asset.Filename == "res/misc/additionalmapicons.png"; - bool isXPOrbs = asset.Filename == "res/item/xporb.png"; - bool isExplosions = asset.Filename == "res/misc/explosion.png"; - bool isPaintings = asset.Filename == "res/art/kz.png"; - bool isBanners = asset.Filename == "res/item/banner/Banner_Atlas.png"; - - if (( - isTerrain || isItems || isParticles || isMoonPhases || isPaintings || - isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners - ) && asset.Type == PckAssetType.TextureFile) - { - buttonEdit.Text = "EDIT TEXTURE ATLAS"; - buttonEdit.Visible = true; - } + buttonEdit.Text = "EDIT TEXTURE ATLAS"; + buttonEdit.Visible = true; } break; From 2d9fdb4748c6ca9c015d4e28c008f3461ea57e9a Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:20:05 +0200 Subject: [PATCH 52/66] TextureAtlasEditor - Rename class member variables --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 65 +++++++++---------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 78ef3d85..df26e87b 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -39,28 +39,29 @@ namespace PckStudio.Forms.Editor { internal partial class TextureAtlasEditor : MetroForm { - private Image _workingTexture; + private Image _atlasTexture; public Image FinalTexture { get { if (DialogResult != DialogResult.OK) return null; - return _workingTexture; + return _atlasTexture; } } private readonly PckFile _pckFile; private ColorContainer _colourTable; - private readonly Size _areaSize; + private readonly Size _tileAreaSize; private readonly int _rowCount; private readonly int _columnCount; - private readonly ResourceLocation _atlasType; + private readonly ResourceLocation _resourceLocation; private readonly List _tiles; private AtlasTile _selectedTile; // the "parent" tile for tiles that share name; i.e. parts of water_flow private AtlasTile dataTile; + private sealed class AtlasTile { internal readonly int Index; @@ -100,13 +101,12 @@ namespace PckStudio.Forms.Editor AcquireColorTable(pckFile); - _workingTexture = atlas; - - _areaSize = resourceLocation.GetTileArea(atlas.Size); + _atlasTexture = atlas; + _tileAreaSize = resourceLocation.GetTileArea(atlas.Size); _pckFile = pckFile; - _rowCount = atlas.Width / _areaSize.Width; - _columnCount = atlas.Height / _areaSize.Height; - _atlasType = resourceLocation; + _rowCount = atlas.Width / _tileAreaSize.Width; + _columnCount = atlas.Height / _tileAreaSize.Height; + _resourceLocation = resourceLocation; var tileInfos = resourceLocation.Category switch { ResourceCategory.BlockAtlas => Tiles.BlockTileInfos, @@ -124,7 +124,7 @@ namespace PckStudio.Forms.Editor originalPictureBox.Image = atlas.GetArea(new Rectangle(0, 0, atlas.Width, atlas.Height)); - var images = atlas.Split(_areaSize, _imageLayout); + var images = atlas.Split(_tileAreaSize, _imageLayout); var tiles = images.enumerate().Select( p => new AtlasTile( @@ -138,7 +138,7 @@ namespace PckStudio.Forms.Editor ? tileInfos[p.index].Height : 1, _rowCount, _columnCount, - _areaSize, + _tileAreaSize, _imageLayout), tileInfos.IndexInRange(p.index) @@ -148,17 +148,17 @@ namespace PckStudio.Forms.Editor tileInfos.IndexInRange(p.index) ? atlas.GetArea( new Rectangle( - GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).X * _areaSize.Width, - GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).Y * _areaSize.Height, - tileInfos[p.index].Width * _areaSize.Width, - tileInfos[p.index].Height * _areaSize.Height)) + GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).X * _tileAreaSize.Width, + GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).Y * _tileAreaSize.Height, + tileInfos[p.index].Width * _tileAreaSize.Width, + tileInfos[p.index].Height * _tileAreaSize.Height)) : p.value) ); _tiles = new List(tiles); SelectedIndex = 0; - bool isParticles = _atlasType.Category == ResourceCategory.ParticleAtlas; + bool isParticles = _resourceLocation.Category == ResourceCategory.ParticleAtlas; // this is directly based on Java's source code for handling enchanted hits // the particle is assigned a random grayscale color between roughly 154 and 230 @@ -193,14 +193,10 @@ namespace PckStudio.Forms.Editor { g.ApplyConfig(graphicsConfig); g.Clear(Color.Transparent); - g.DrawImage(_workingTexture, 0, 0, _workingTexture.Width, _workingTexture.Height); + g.DrawImage(_atlasTexture, 0, 0, _atlasTexture.Width, _atlasTexture.Height); SolidBrush brush = new SolidBrush(Color.FromArgb(127, 255, 255, 255)); - - var rect = new Rectangle(_selectedTile.Area.X, _selectedTile.Area.Y, - _areaSize.Width, _areaSize.Height); - - g.FillRectangle(brush, rect); + g.FillRectangle(brush, _selectedTile.Area); } originalPictureBox.Invalidate(); @@ -241,13 +237,14 @@ namespace PckStudio.Forms.Editor selectTilePictureBox.BlendColor = GetBlendColor(); selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; - if (animationButton.Enabled = _atlasType.Category == ResourceCategory.BlockAtlas || _atlasType.Category == ResourceCategory.ItemAtlas) + if (animationButton.Enabled = _resourceLocation.Category == ResourceCategory.BlockAtlas || _resourceLocation.Category == ResourceCategory.ItemAtlas) { PckAsset animationAsset; + ResourceCategory animationResourceCategory = _resourceLocation.Category == ResourceCategory.ItemAtlas ? ResourceCategory.ItemAnimation : ResourceCategory.BlockAnimation; bool hasAnimation = - _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.png", PckAssetType.TextureFile, out animationAsset) || - _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.tga", PckAssetType.TextureFile, out animationAsset); + _pckFile.TryGetValue($"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{dataTile.Tile.InternalName}.png", PckAssetType.TextureFile, out animationAsset) || + _pckFile.TryGetValue($"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{dataTile.Tile.InternalName}.tga", PckAssetType.TextureFile, out animationAsset); animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; if (playAnimationsToolStripMenuItem.Checked && @@ -389,16 +386,16 @@ namespace PckStudio.Forms.Editor InterpolationMode = selectTilePictureBox.InterpolationMode, PixelOffsetMode = PixelOffsetMode.HighQuality }; - if (texture.Size != _areaSize) - texture = texture.Resize(_areaSize, graphicsConfig); - using (var g = Graphics.FromImage(_workingTexture)) + if (texture.Size != _tileAreaSize) + texture = texture.Resize(_tileAreaSize, graphicsConfig); + using (var g = Graphics.FromImage(_atlasTexture)) { g.ApplyConfig(graphicsConfig); g.Fill(dataTile.Area, Color.Transparent); g.DrawImage(texture, dataTile.Area); } - var _finalTexture = _workingTexture.GetArea(new Rectangle(dataTile.Area.X, dataTile.Area.Y, dataTile.Area.Width, dataTile.Area.Height)); + var _finalTexture = _atlasTexture.GetArea(new Rectangle(dataTile.Area.X, dataTile.Area.Y, dataTile.Area.Width, dataTile.Area.Height)); if(_selectedTile != dataTile) _tiles[dataTile.Index] = new AtlasTile(dataTile.Index, dataTile.Area, dataTile.Tile, _finalTexture); @@ -500,8 +497,8 @@ namespace PckStudio.Forms.Editor int index = GetSelectedImageIndex( originalPictureBox.Size, - _workingTexture.Size, - _areaSize, + _atlasTexture.Size, + _tileAreaSize, e.Location, originalPictureBox.SizeMode, _imageLayout); @@ -534,8 +531,10 @@ namespace PckStudio.Forms.Editor private void animationButton_Click(object sender, EventArgs e) { + ResourceCategory animationResourceCategory = _resourceLocation.Category == ResourceCategory.ItemAtlas ? ResourceCategory.ItemAnimation : ResourceCategory.BlockAnimation; + var file = _pckFile.GetOrCreate( - $"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", + $"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{_selectedTile.Tile.InternalName}.png", PckAssetType.TextureFile ); From bdd2917af585d7a5451ad6f0cc0ba5b7c619b883 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:31:26 +0200 Subject: [PATCH 53/66] TextureAtlasEditor - Fix setting atlas texture --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index df26e87b..751ef7a6 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -122,7 +122,7 @@ namespace PckStudio.Forms.Editor _ => null, }; - originalPictureBox.Image = atlas.GetArea(new Rectangle(0, 0, atlas.Width, atlas.Height)); + originalPictureBox.Image = new Bitmap(atlas); var images = atlas.Split(_tileAreaSize, _imageLayout); From dc08ceb96ef444c417bf28779146465e009afc61 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:33:48 +0200 Subject: [PATCH 54/66] TextureAtlasEditor - Move GraphicsConfig into member variable and clean up SetTile function --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 751ef7a6..9443ced3 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -95,6 +95,12 @@ namespace PckStudio.Forms.Editor private const ImageLayoutDirection _imageLayout = ImageLayoutDirection.Horizontal; + private readonly GraphicsConfig _graphicsConfig = new GraphicsConfig() + { + InterpolationMode = InterpolationMode.NearestNeighbor, + PixelOffsetMode = PixelOffsetMode.HighQuality + }; + public TextureAtlasEditor(PckFile pckFile, ResourceLocation resourceLocation, Image atlas) { InitializeComponent(); @@ -184,14 +190,9 @@ namespace PckStudio.Forms.Editor private void UpdateAtlasDisplay() { - var graphicsConfig = new GraphicsConfig() - { - InterpolationMode = selectTilePictureBox.InterpolationMode, - PixelOffsetMode = PixelOffsetMode.HighQuality - }; using (var g = Graphics.FromImage(originalPictureBox.Image)) { - g.ApplyConfig(graphicsConfig); + g.ApplyConfig(_graphicsConfig); g.Clear(Color.Transparent); g.DrawImage(_atlasTexture, 0, 0, _atlasTexture.Width, _atlasTexture.Height); @@ -381,28 +382,19 @@ namespace PckStudio.Forms.Editor private void SetTile(Image texture) { - var graphicsConfig = new GraphicsConfig() - { - InterpolationMode = selectTilePictureBox.InterpolationMode, - PixelOffsetMode = PixelOffsetMode.HighQuality - }; if (texture.Size != _tileAreaSize) - texture = texture.Resize(_tileAreaSize, graphicsConfig); + texture = texture.Resize(_tileAreaSize, _graphicsConfig); + using (var g = Graphics.FromImage(_atlasTexture)) { - g.ApplyConfig(graphicsConfig); + g.ApplyConfig(_graphicsConfig); g.Fill(dataTile.Area, Color.Transparent); g.DrawImage(texture, dataTile.Area); } - var _finalTexture = _atlasTexture.GetArea(new Rectangle(dataTile.Area.X, dataTile.Area.Y, dataTile.Area.Width, dataTile.Area.Height)); - - if(_selectedTile != dataTile) - _tiles[dataTile.Index] = new AtlasTile(dataTile.Index, dataTile.Area, dataTile.Tile, _finalTexture); - else - _tiles[_selectedTile.Index] = new AtlasTile(_selectedTile.Index, _selectedTile.Area, _selectedTile.Tile, _finalTexture); - selectTilePictureBox.Image = _finalTexture; - + var tile = _selectedTile != dataTile ? dataTile : _selectedTile; + _tiles[tile.Index] = new AtlasTile(tile.Index, tile.Area, tile.Tile, texture); + selectTilePictureBox.Image = texture; UpdateAtlasDisplay(); } From 926515c9778c6b0a841f831ffc392c1dceeb8fa0 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:36:07 +0200 Subject: [PATCH 55/66] TextureAtlasEditor - Move Dye colors into GameConstants class and add ToBGR extension method --- PCK-Studio/Extensions/ColorExtensions.cs | 5 +++ PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 37 +++++++++---------- PCK-Studio/Internal/GameConstants.cs | 31 ++++++++++++++++ PCK-Studio/PckStudio.csproj | 1 + 4 files changed, 54 insertions(+), 20 deletions(-) create mode 100644 PCK-Studio/Internal/GameConstants.cs diff --git a/PCK-Studio/Extensions/ColorExtensions.cs b/PCK-Studio/Extensions/ColorExtensions.cs index 3ff94a3d..958c6611 100644 --- a/PCK-Studio/Extensions/ColorExtensions.cs +++ b/PCK-Studio/Extensions/ColorExtensions.cs @@ -15,6 +15,11 @@ namespace PckStudio.Extensions return new Vector4(color.R / 255f, color.G / 255f, color.B / 255f, color.A / 255f); } + internal static int ToBGR(this Color color) + { + return color.B << 16 | color.G << 8 | color.R; + } + internal static byte BlendValues(byte source, byte overlay, BlendMode blendType) { return (byte)MathExtensions.Clamp(BlendValues(source / 255f, overlay / 255f, blendType) * 255, 0, 255); diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 9443ced3..ea531c45 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -590,27 +590,24 @@ namespace PckStudio.Forms.Editor colorPick.AnyColor = true; colorPick.SolidColorOnly = true; - // custom colors are read as BGR for some reason, so hex values are "backwards" - // values below are the default Minecraft dyed leather armor values for convenience + //Debug.Assert(Color.FromArgb(0xf9fffe).ToBGR() == 0xfefff9); // White + //Debug.Assert(Color.FromArgb(0xf9801d).ToBGR() == 0x1d80f9); // Orange + //Debug.Assert(Color.FromArgb(0xc74ebd).ToBGR() == 0xbd4ec7); // Magenta + //Debug.Assert(Color.FromArgb(0x3ab3da).ToBGR() == 0xdab33a); // Light Blue + //Debug.Assert(Color.FromArgb(0xfed83d).ToBGR() == 0x3dd8fe); // Yellow + //Debug.Assert(Color.FromArgb(0x80c71f).ToBGR() == 0x1fc780); // Lime + //Debug.Assert(Color.FromArgb(0xf38baa).ToBGR() == 0xaa8bf3); // Pink + //Debug.Assert(Color.FromArgb(0x474f52).ToBGR() == 0x524f47); // Gray + //Debug.Assert(Color.FromArgb(0x9d9d97).ToBGR() == 0x979d9d); // Light Gray + //Debug.Assert(Color.FromArgb(0x169c9c).ToBGR() == 0x9c9c16); // Cyan + //Debug.Assert(Color.FromArgb(0x8932b8).ToBGR() == 0xb83289); // Purple + //Debug.Assert(Color.FromArgb(0x3c44aa).ToBGR() == 0xaa443c); // Blue + //Debug.Assert(Color.FromArgb(0x835432).ToBGR() == 0x325483); // Brown + //Debug.Assert(Color.FromArgb(0x5e7c16).ToBGR() == 0x167c5e); // Green + //Debug.Assert(Color.FromArgb(0xb02e26).ToBGR() == 0x262eb0); // Red + //Debug.Assert(Color.FromArgb(0x1d1d21).ToBGR() == 0x211d1d); // Black - colorPick.CustomColors = new int[] { - 0xfefff9, // White - 0x1d80f9, // Orange - 0xbd4ec7, // Magenta - 0xdab33a, // Light Blue - 0x3dd8fe, // Yellow - 0x1fc780, // Lime - 0xaa8bf3, // Pink - 0x524f47, // Gray - 0x979d9d, // Light Gray - 0x9c9c16, // Cyan - 0xb83289, // Purple - 0xaa443c, // Blue - 0x325483, // Brown - 0x167c5e, // Green - 0x262eb0, // Red - 0x211d1d // Black - }; + colorPick.CustomColors = GameConstants.DyeColors.Select(c => c.ToBGR()).ToArray(); if (colorPick.ShowDialog(this) != DialogResult.OK) return; diff --git a/PCK-Studio/Internal/GameConstants.cs b/PCK-Studio/Internal/GameConstants.cs new file mode 100644 index 00000000..08576417 --- /dev/null +++ b/PCK-Studio/Internal/GameConstants.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PckStudio.Internal +{ + internal static class GameConstants + { + public static readonly Color[] DyeColors = [ + Color.FromArgb(0xf9fffe), // White + Color.FromArgb(0xf9801d), // Orange + Color.FromArgb(0xc74ebd), // Magenta + Color.FromArgb(0x3ab3da), // Light Blue + Color.FromArgb(0xfed83d), // Yellow + Color.FromArgb(0x80c71f), // Lime + Color.FromArgb(0xf38baa), // Pink + Color.FromArgb(0x474f52), // Gray + Color.FromArgb(0x9d9d97), // Light Gray + Color.FromArgb(0x169c9c), // Cyan + Color.FromArgb(0x8932b8), // Purple + Color.FromArgb(0x3c44aa), // Blue + Color.FromArgb(0x835432), // Brown + Color.FromArgb(0x5e7c16), // Green + Color.FromArgb(0xb02e26), // Red + Color.FromArgb(0x1d1d21), // Black + ]; + } +} diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 4fc86490..e92f8580 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -148,6 +148,7 @@ ContributorsForm.cs + From 91be60e10a00f37051b3121bad224440ec993f9f Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:45:29 +0200 Subject: [PATCH 56/66] TextureAtlasEditor - Add error checking when getting color table --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index ea531c45..d36f07f7 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -105,7 +105,11 @@ namespace PckStudio.Forms.Editor { InitializeComponent(); - AcquireColorTable(pckFile); + if (!AcquireColorTable(pckFile)) + { + MessageBox.Show("Failed to acquire color information", "Acquire failure", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); + return; + } _atlasTexture = atlas; _tileAreaSize = resourceLocation.GetTileArea(atlas.Size); From a57b85fd3f844bda356fab4be6330ff9c0f586c6 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:47:32 +0200 Subject: [PATCH 57/66] TextureAtlasEditor - Clean up Tile initialization --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 44 ++++++++----------- PCK-Studio/Internal/Json/TileInfo.cs | 4 +- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index d36f07f7..f9bdfe87 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -136,34 +136,26 @@ namespace PckStudio.Forms.Editor var images = atlas.Split(_tileAreaSize, _imageLayout); - var tiles = images.enumerate().Select( - p => new AtlasTile( - p.index, + var tiles = images.enumerate().Select(MakeTile); - GetAtlasArea( - p.index, - tileInfos.IndexInRange(p.index) - ? tileInfos[p.index].Width : 1, - tileInfos.IndexInRange(p.index) - ? tileInfos[p.index].Height : 1, - _rowCount, - _columnCount, - _tileAreaSize, - _imageLayout), + AtlasTile MakeTile((int index, Image value) p) + { + int i = p.index; + JsonTileInfo tileInfo = tileInfos.IndexInRange(i) ? tileInfos[i] : null; - tileInfos.IndexInRange(p.index) - ? tileInfos[p.index] : null, + Rectangle atlasArea = GetAtlasArea(i, tileInfo?.TileWidth ?? 1, tileInfo?.TileHeight ?? 1, _rowCount, _columnCount, _tileAreaSize, _imageLayout); // get texture for tiles that are not 1x1 tiles - tileInfos.IndexInRange(p.index) - ? atlas.GetArea( - new Rectangle( - GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).X * _tileAreaSize.Width, - GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).Y * _tileAreaSize.Height, - tileInfos[p.index].Width * _tileAreaSize.Width, - tileInfos[p.index].Height * _tileAreaSize.Height)) - : p.value) - ); + Point selectedPoint = GetSelectedPoint(i, _rowCount, _columnCount, _imageLayout); + + var textureLocation = new Point(selectedPoint.X * _tileAreaSize.Width, selectedPoint.Y * _tileAreaSize.Height); + var textureSize = new Size(tileInfos[i].TileWidth * _tileAreaSize.Width, tileInfos[i].TileHeight * _tileAreaSize.Height); + var textureArea = new Rectangle(textureLocation, textureSize); + + Image texture = tileInfos.IndexInRange(i) ? atlas.GetArea(textureArea) : p.value; + return new AtlasTile(i, atlasArea, tileInfo, texture); + } + _tiles = new List(tiles); SelectedIndex = 0; @@ -369,11 +361,11 @@ namespace PckStudio.Forms.Editor }; } - private static Rectangle GetAtlasArea(int index, int width, int height, int rowCount, int columnCount, Size size, ImageLayoutDirection imageLayout) + private static Rectangle GetAtlasArea(int index, int tileWidth, int tileHeight, int rowCount, int columnCount, Size size, ImageLayoutDirection imageLayout) { var p = GetSelectedPoint(index, rowCount, columnCount, imageLayout); var ap = new Point(p.X * size.Width, p.Y * size.Height); - return new Rectangle(ap, new Size(size.Width * width, size.Height * height)); + return new Rectangle(ap, new Size(size.Width * tileWidth, size.Height * tileHeight)); } private static Point GetSelectedPoint(int index, int rowCount, int columnCount, ImageLayoutDirection imageLayout) diff --git a/PCK-Studio/Internal/Json/TileInfo.cs b/PCK-Studio/Internal/Json/TileInfo.cs index 54e27d2f..5c8aa704 100644 --- a/PCK-Studio/Internal/Json/TileInfo.cs +++ b/PCK-Studio/Internal/Json/TileInfo.cs @@ -16,10 +16,10 @@ namespace PckStudio.Internal.Json public string InternalName { get; set; } [JsonProperty("width")] - public int Width { get; set; } = 1; + public int TileWidth { get; set; } = 1; [JsonProperty("height")] - public int Height { get; set; } = 1; + public int TileHeight { get; set; } = 1; [JsonProperty("hasColourEntry", DefaultValueHandling = DefaultValueHandling.Populate)] public bool HasColourEntry { get; set; } From 3baa592d2586670a94920c395e310821db65e11c Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:49:01 +0200 Subject: [PATCH 58/66] TextureAtlasEditor - Simplified particle atlas check --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index f9bdfe87..81d6e4f1 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -160,14 +160,15 @@ namespace PckStudio.Forms.Editor SelectedIndex = 0; - bool isParticles = _resourceLocation.Category == ResourceCategory.ParticleAtlas; - // this is directly based on Java's source code for handling enchanted hits // the particle is assigned a random grayscale color between roughly 154 and 230 // since critical hit is the only particle with this distinction, we just need to check the atlas type - colorSlider.Maximum = isParticles ? 230 : 255; - colorSlider.Minimum = isParticles ? 154 : 0; - colorSlider.Value = isParticles ? colorSlider.Maximum : colorSlider.Minimum; + if (_resourceLocation.Category == ResourceCategory.ParticleAtlas) + { + colorSlider.Minimum = 154; + colorSlider.Maximum = 230; + colorSlider.Value = colorSlider.Maximum; + } } private bool AcquireColorTable(PckFile pckFile) From 74da4a74a9cf753e9036609d89e01e22f0ae30b4 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:50:03 +0200 Subject: [PATCH 59/66] TextureAtlasEditor - Use display name rather than internal name when opening animation editor --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 81d6e4f1..8b1fc861 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -529,7 +529,7 @@ namespace PckStudio.Forms.Editor var animation = file.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); - var animationEditor = new AnimationEditor(animation, _selectedTile.Tile.InternalName, GetBlendColor()); + var animationEditor = new AnimationEditor(animation, _selectedTile.Tile.DisplayName); if (animationEditor.ShowDialog(this) != DialogResult.OK) { return; From fedfc68fc26b8f1001c4ff6720fac48f88556981 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:14:15 +0200 Subject: [PATCH 60/66] Rename & Move HasCustomColor to AllowCustomColour and move from ColorEntry to TileInfo --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 4 +- PCK-Studio/Internal/Json/ColorEntry.cs | 3 - PCK-Studio/Internal/Json/TileInfo.cs | 3 + PCK-Studio/Resources/atlases/blockData.json | 4 +- PCK-Studio/Resources/atlases/itemData.json | 21 ++--- .../Resources/atlases/particleData.json | 87 +++++++++---------- 6 files changed, 57 insertions(+), 65 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 8b1fc861..dfa5d294 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -255,7 +255,9 @@ namespace PckStudio.Forms.Editor } } - if (setColorButton.Enabled = clearColorButton.Enabled = dataTile.Tile.HasColourEntry) + setColorButton.Enabled = dataTile.Tile.AllowCustomColour; + + if (setColorButton.Enabled) { setColorButton.Enabled = clearColorButton.Enabled = dataTile.Tile.ColourEntry.HasCustomColour; clearColorButton.Enabled = false; diff --git a/PCK-Studio/Internal/Json/ColorEntry.cs b/PCK-Studio/Internal/Json/ColorEntry.cs index 39390d81..8523a311 100644 --- a/PCK-Studio/Internal/Json/ColorEntry.cs +++ b/PCK-Studio/Internal/Json/ColorEntry.cs @@ -15,9 +15,6 @@ namespace PckStudio.Internal.Json [JsonProperty("isWaterColour", DefaultValueHandling = DefaultValueHandling.Populate)] public bool IsWaterColour { get; set; } - [JsonProperty("hasCustomColour", DefaultValueHandling = DefaultValueHandling.Populate)] - public bool HasCustomColour { get; set; } - [JsonProperty("variants", DefaultValueHandling = DefaultValueHandling.Populate)] public string[] Variants { get; set; } } diff --git a/PCK-Studio/Internal/Json/TileInfo.cs b/PCK-Studio/Internal/Json/TileInfo.cs index 5c8aa704..b5fb0510 100644 --- a/PCK-Studio/Internal/Json/TileInfo.cs +++ b/PCK-Studio/Internal/Json/TileInfo.cs @@ -27,6 +27,9 @@ namespace PckStudio.Internal.Json [JsonProperty("colourEntry", DefaultValueHandling = DefaultValueHandling.Populate)] public JsonColorEntry ColourEntry { get; set; } + [JsonProperty("allowCustomColour", DefaultValueHandling = DefaultValueHandling.Populate)] + public bool AllowCustomColour { get; set; } + public JsonTileInfo(string displayName, string internalName) { DisplayName = displayName; diff --git a/PCK-Studio/Resources/atlases/blockData.json b/PCK-Studio/Resources/atlases/blockData.json index c2cb1b8f..2b9e4550 100644 --- a/PCK-Studio/Resources/atlases/blockData.json +++ b/PCK-Studio/Resources/atlases/blockData.json @@ -2317,11 +2317,11 @@ { "internalName": "cauldron_water", "displayName": "Cauldron Water", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Cauldron_Water", - "variants": [ + "variants": [ "Cauldron_Water", "Effect_MovementSpeed", "Effect_MovementSlowDown", diff --git a/PCK-Studio/Resources/atlases/itemData.json b/PCK-Studio/Resources/atlases/itemData.json index 0c49ee02..51c380b7 100644 --- a/PCK-Studio/Resources/atlases/itemData.json +++ b/PCK-Studio/Resources/atlases/itemData.json @@ -5,9 +5,9 @@ { "internalName": "helmetCloth", "displayName": "Leather Cap", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Armour_Default_Leather_Colour", "variants": [ "Armour_Default_Leather_Colour" ] } @@ -75,9 +75,9 @@ { "internalName": "chestplateCloth", "displayName": "Leather Tunic", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Armour_Default_Leather_Colour", "variants": [ "Armour_Default_Leather_Colour" ] } @@ -145,9 +145,9 @@ { "internalName": "leggingsCloth", "displayName": "Leather Pants", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Armour_Default_Leather_Colour", "variants": [ "Armour_Default_Leather_Colour" ] } @@ -215,9 +215,9 @@ { "internalName": "bootsCloth", "displayName": "Leather Boots", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Armour_Default_Leather_Colour", "variants": [ "Armour_Default_Leather_Colour" ] } @@ -593,11 +593,11 @@ { "internalName": "potion_contents", "displayName": "Potion (Overlay)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1013,12 +1013,7 @@ { "internalName": "fireworks_charge_overlay", "displayName": "Firework Star (Overlay)", - "hasColourEntry": true, - "colourEntry": { - "hasCustomColour": true, - "defaultName": "", - "variants": [""] - } + "allowCustomColour": true }, { "internalName": "netherquartz", @@ -1099,9 +1094,9 @@ { "internalName": "leather_horse_armor_base", "displayName": "Leather Horse Armor", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "Armour_Default_Leather_Colour", "variants": [ "Armour_Default_Leather_Colour" ] } diff --git a/PCK-Studio/Resources/atlases/particleData.json b/PCK-Studio/Resources/atlases/particleData.json index e89bcf85..f4dae017 100644 --- a/PCK-Studio/Resources/atlases/particleData.json +++ b/PCK-Studio/Resources/atlases/particleData.json @@ -301,12 +301,7 @@ "displayName": "Firework Flash", "width": 4, "height": 4, - "hasColourEntry": true, - "colourEntry": { - "hasCustomColour": true, - "defaultName": "", - "variants": [""] - } + "allowCustomColour": true }, { "internalName": "flash", @@ -754,10 +749,10 @@ "internalName": "effect_0", "displayName": "Effect (Stage 1)", "hasColourEntry": true, + "allowCustomColour": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -794,10 +789,10 @@ "internalName": "effect_1", "displayName": "Effect (Stage 2)", "hasColourEntry": true, + "allowCustomColour": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -833,11 +828,11 @@ { "internalName": "effect_2", "displayName": "Effect (Stage 3)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -873,11 +868,11 @@ { "internalName": "effect_3", "displayName": "Effect (Stage 4)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -913,11 +908,11 @@ { "internalName": "effect_4", "displayName": "Effect (Stage 5)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -953,11 +948,11 @@ { "internalName": "effect_5", "displayName": "Effect (Stage 6)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -993,11 +988,11 @@ { "internalName": "effect_6", "displayName": "Effect (Stage 7)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1033,11 +1028,11 @@ { "internalName": "effect_7", "displayName": "Effect (Stage 8)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1105,11 +1100,11 @@ { "internalName": "spell_0", "displayName": "Splash Effect (Stage 1)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1145,11 +1140,11 @@ { "internalName": "spell_1", "displayName": "Splash Effect (Stage 2)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1185,11 +1180,11 @@ { "internalName": "spell_2", "displayName": "Splash Effect (Stage 3)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1225,11 +1220,11 @@ { "internalName": "spell_3", "displayName": "Splash Effect (Stage 4)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1265,11 +1260,11 @@ { "internalName": "spell_4", "displayName": "Splash Effect (Stage 5)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1305,11 +1300,11 @@ { "internalName": "spell_5", "displayName": "Splash Effect (Stage 6)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1345,11 +1340,11 @@ { "internalName": "spell_6", "displayName": "Splash Effect (Stage 7)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1385,11 +1380,11 @@ { "internalName": "spell_7", "displayName": "Splash Effect (Stage 8)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { "defaultName": "Potion_BaseColour", - "hasCustomColour": true, - "variants": [ + "variants": [ "Potion_BaseColour", "Effect_MovementSpeed", "Effect_MovementSlowDown", @@ -1457,9 +1452,9 @@ { "internalName": "spark_0", "displayName": "Firework Spark (Stage 1)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1472,9 +1467,9 @@ { "internalName": "spark_1", "displayName": "Firework Spark (Stage 2)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1487,9 +1482,9 @@ { "internalName": "spark_2", "displayName": "Firework Spark (Stage 3)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1502,9 +1497,9 @@ { "internalName": "spark_3", "displayName": "Firework Spark (Stage 4)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1517,9 +1512,9 @@ { "internalName": "spark_4", "displayName": "Firework Spark (Stage 5)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1532,9 +1527,9 @@ { "internalName": "spark_5", "displayName": "Firework Spark (Stage 6)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1547,9 +1542,9 @@ { "internalName": "spark_6", "displayName": "Firework Spark (Stage 7)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", @@ -1562,9 +1557,9 @@ { "internalName": "spark_7", "displayName": "Firework Spark (Stage 8)", + "allowCustomColour": true, "hasColourEntry": true, "colourEntry": { - "hasCustomColour": true, "defaultName": "None", "variants": [ "None", From 60f569eb510212822881da0eee310a2b616237d8 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:19:01 +0200 Subject: [PATCH 61/66] ImageDeserializer - Add size and null check --- PCK-Studio/Internal/Deserializer/ImageDeserializer.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs index eb00b243..09d27721 100644 --- a/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs +++ b/PCK-Studio/Internal/Deserializer/ImageDeserializer.cs @@ -16,10 +16,15 @@ namespace PckStudio.Internal.Deserializer internal sealed class ImageDeserializer : IPckAssetDeserializer { public static readonly ImageDeserializer DefaultDeserializer = new ImageDeserializer(); + // TODO: replace empty image with image displaying something went wrong private static Image EmptyImage = new Bitmap(1, 1, PixelFormat.Format32bppArgb); public Image Deserialize(PckAsset asset) { + _ = asset ?? throw new ArgumentNullException(nameof(asset)); + if (asset.Size == 0) + return EmptyImage; + using var stream = new MemoryStream(asset.Data); try { From 35abbe84ce7841ae1b4f97aa683bba8d2716f55b Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:22:52 +0200 Subject: [PATCH 62/66] TextureAtlasEditor - General clean up of functions --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 111 ++++++++---------- 1 file changed, 50 insertions(+), 61 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index dfa5d294..6bfec1b8 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -40,15 +40,7 @@ namespace PckStudio.Forms.Editor internal partial class TextureAtlasEditor : MetroForm { private Image _atlasTexture; - public Image FinalTexture - { - get - { - if (DialogResult != DialogResult.OK) - return null; - return _atlasTexture; - } - } + public Image FinalTexture => DialogResult == DialogResult.OK ? _atlasTexture : null; private readonly PckFile _pckFile; private ColorContainer _colourTable; @@ -83,11 +75,11 @@ namespace PckStudio.Forms.Editor set { if (value < 0) { - value = _tiles.Count + value; + value += _tiles.Count; } else if (value >= _tiles.Count) { - value = value - _tiles.Count; + value -= _tiles.Count; } SetImageDisplayed(value); } @@ -136,16 +128,14 @@ namespace PckStudio.Forms.Editor var images = atlas.Split(_tileAreaSize, _imageLayout); - var tiles = images.enumerate().Select(MakeTile); - AtlasTile MakeTile((int index, Image value) p) { int i = p.index; JsonTileInfo tileInfo = tileInfos.IndexInRange(i) ? tileInfos[i] : null; - + Rectangle atlasArea = GetAtlasArea(i, tileInfo?.TileWidth ?? 1, tileInfo?.TileHeight ?? 1, _rowCount, _columnCount, _tileAreaSize, _imageLayout); - - // get texture for tiles that are not 1x1 tiles + + // get texture for tiles that are not 1x1 tiles Point selectedPoint = GetSelectedPoint(i, _rowCount, _columnCount, _imageLayout); var textureLocation = new Point(selectedPoint.X * _tileAreaSize.Width, selectedPoint.Y * _tileAreaSize.Height); @@ -156,10 +146,14 @@ namespace PckStudio.Forms.Editor return new AtlasTile(i, atlasArea, tileInfo, texture); } - _tiles = new List(tiles); + _tiles = new List(images.enumerate().Select(MakeTile)); SelectedIndex = 0; + animationButton.Enabled = + _resourceLocation.Category == ResourceCategory.BlockAtlas || + _resourceLocation.Category == ResourceCategory.ItemAtlas; + // this is directly based on Java's source code for handling enchanted hits // the particle is assigned a random grayscale color between roughly 154 and 230 // since critical hit is the only particle with this distinction, we just need to check the atlas type @@ -193,7 +187,7 @@ namespace PckStudio.Forms.Editor g.Clear(Color.Transparent); g.DrawImage(_atlasTexture, 0, 0, _atlasTexture.Width, _atlasTexture.Height); - SolidBrush brush = new SolidBrush(Color.FromArgb(127, 255, 255, 255)); + SolidBrush brush = new SolidBrush(Color.FromArgb(127, Color.White)); g.FillRectangle(brush, _selectedTile.Area); } @@ -208,9 +202,11 @@ namespace PckStudio.Forms.Editor colorSlider.Visible = false; colorSliderLabel.Visible = false; variantComboBox.Visible = false; - variantComboBox.Items.Clear(); + variantComboBox.SelectedItem = null; variantComboBox.Enabled = false; + variantComboBox.Items.Clear(); + clearColorButton.Enabled = false; if (selectTilePictureBox.IsPlaying) selectTilePictureBox.Stop(); @@ -220,34 +216,36 @@ namespace PckStudio.Forms.Editor if (_tiles is null || !_tiles.IndexInRange(index) || (_selectedTile = _tiles[index]) is null) return; - dataTile = _selectedTile; - UpdateAtlasDisplay(); + dataTile = _selectedTile; if (string.IsNullOrEmpty(dataTile.Tile.DisplayName) && !string.IsNullOrEmpty(dataTile.Tile.InternalName)) { dataTile = _tiles.Find(t => t.Tile.InternalName == _selectedTile.Tile.InternalName); } selectTilePictureBox.Image = dataTile.Texture; - tileNameLabel.Text = $"{dataTile.Tile.DisplayName}"; - internalTileNameLabel.Text = $"{dataTile.Tile.InternalName}"; selectTilePictureBox.BlendColor = GetBlendColor(); selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; - if (animationButton.Enabled = _resourceLocation.Category == ResourceCategory.BlockAtlas || _resourceLocation.Category == ResourceCategory.ItemAtlas) + + + tileNameLabel.Text = $"{dataTile.Tile.DisplayName}"; + internalTileNameLabel.Text = $"{dataTile.Tile.InternalName}"; + + if (animationButton.Enabled) { PckAsset animationAsset; ResourceCategory animationResourceCategory = _resourceLocation.Category == ResourceCategory.ItemAtlas ? ResourceCategory.ItemAnimation : ResourceCategory.BlockAnimation; + string animationAssetPath = $"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{dataTile.Tile.InternalName}"; bool hasAnimation = - _pckFile.TryGetValue($"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{dataTile.Tile.InternalName}.png", PckAssetType.TextureFile, out animationAsset) || - _pckFile.TryGetValue($"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{dataTile.Tile.InternalName}.tga", PckAssetType.TextureFile, out animationAsset); + _pckFile.TryGetValue($"{animationAssetPath}.png", PckAssetType.TextureFile, out animationAsset) || + _pckFile.TryGetValue($"{animationAssetPath}.tga", PckAssetType.TextureFile, out animationAsset); animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; - if (playAnimationsToolStripMenuItem.Checked && - hasAnimation && - animationAsset.Size > 0) + // asset size check dont have to be done here the deserializer handles it. -Miku + if (playAnimationsToolStripMenuItem.Checked && hasAnimation) { var animation = animationAsset.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); selectTilePictureBox.Image = animation.CreateAnimationImage(); @@ -259,25 +257,21 @@ namespace PckStudio.Forms.Editor if (setColorButton.Enabled) { - setColorButton.Enabled = clearColorButton.Enabled = dataTile.Tile.ColourEntry.HasCustomColour; - clearColorButton.Enabled = false; - variantComboBox.Enabled = variantComboBox.Visible = dataTile.Tile.ColourEntry.Variants.Length > 1; - if (dataTile.Tile.ColourEntry.IsWaterColour && _colourTable.WaterColors.Count > 0) + if (dataTile.Tile.ColourEntry.IsWaterColour) { - foreach (var col in _colourTable.WaterColors) + foreach (ColorContainer.WaterColor col in _colourTable.WaterColors) { if(!variantComboBox.Items.Contains(col.Name)) variantComboBox.Items.Add(col.Name); } - - dataTile.Tile.ColourEntry.DefaultName = _colourTable.WaterColors[0].Name; } variantComboBox.Items.AddRange(dataTile.Tile.ColourEntry.Variants); - - variantComboBox.SelectedItem = dataTile.Tile.ColourEntry.DefaultName; + + if (variantComboBox.Items.Count > 0) + variantComboBox.SelectedIndex = 0; } } @@ -408,22 +402,24 @@ namespace PckStudio.Forms.Editor return Color.White; } - private Color HandleSpecialTiles(string colorKey) + private Color GetSpecificBlendColor(string colorKey) { colorSlider.Visible = colorSliderLabel.Visible = true; // Simply, Experience orbs red value is just sliding between 255 and 0 - if (colorKey == "experience_orb") return Color.FromArgb(colorSlider.Value, 255, 0); + if (colorKey == "experience_orb") + return Color.FromArgb(colorSlider.Value, 255, 0); - //similar story for critical hits, but for all values + // Similar story for critical hits, but for all values var final_color = Color.FromArgb(colorSlider.Value, colorSlider.Value, colorSlider.Value); - // enchanted hits are modified critical hit particles + // Enchanted hits are modified critical hit particles if (dataTile.Tile.InternalName == "enchanted_hit") - // this is directly based on Java's source code for handling enchanted hits + { + // This is directly based on Java's source code for handling enchanted hits // it just multiplies the red by 0.3 and green by .8 of the color assigned to the critical hit particle final_color = Color.FromArgb((int)(final_color.R * 0.3f), (int)(final_color.R * 0.8f), final_color.B); - + } return final_color; } @@ -431,11 +427,9 @@ namespace PckStudio.Forms.Editor { // The following tiles are hardcoded within a range and do not have color table entries if (colorKey == "experience_orb" || colorKey == "critical_hit") - return HandleSpecialTiles(colorKey); + return GetSpecificBlendColor(colorKey); - if (_colourTable is not null && - dataTile.Tile.HasColourEntry && - dataTile.Tile.ColourEntry is not null) + if (dataTile.Tile.HasColourEntry && dataTile.Tile.ColourEntry is not null) { // basic way to check for classic water colors if(!dataTile.Tile.ColourEntry.IsWaterColour || colorKey.StartsWith("Water_")) @@ -504,7 +498,7 @@ namespace PckStudio.Forms.Editor { OpenFileDialog fileDialog = new OpenFileDialog() { - Filter = "PNG Image|*.png", + Filter = "Tile Texture(*.png)|*.png", Title = "Select Texture" }; @@ -523,23 +517,18 @@ namespace PckStudio.Forms.Editor private void animationButton_Click(object sender, EventArgs e) { ResourceCategory animationResourceCategory = _resourceLocation.Category == ResourceCategory.ItemAtlas ? ResourceCategory.ItemAnimation : ResourceCategory.BlockAnimation; - - var file = _pckFile.GetOrCreate( - $"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{_selectedTile.Tile.InternalName}.png", - PckAssetType.TextureFile - ); + string animationAssetPath = $"{ResourceLocation.GetPathFromCategory(animationResourceCategory)}/{_selectedTile.Tile.InternalName}.png"; + var file = _pckFile.GetOrCreate(animationAssetPath, PckAssetType.TextureFile); var animation = file.GetDeserializedData(AnimationDeserializer.DefaultDeserializer); var animationEditor = new AnimationEditor(animation, _selectedTile.Tile.DisplayName); - if (animationEditor.ShowDialog(this) != DialogResult.OK) + if (animationEditor.ShowDialog(this) == DialogResult.OK) { - return; + file.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); + // so animations can automatically update upon saving + SelectedIndex = _selectedTile.Index; } - - file.SetSerializedData(animationEditor.Result, AnimationSerializer.DefaultSerializer); - // so animations can automatically update upon saving - SelectedIndex = _selectedTile.Index; } private void extractTileToolStripMenuItem_Click(object sender, EventArgs e) @@ -557,7 +546,7 @@ namespace PckStudio.Forms.Editor private void variantComboBox_SelectedIndexChanged(object sender, EventArgs e) { - if (dataTile.Tile.ColourEntry is not null) + if (dataTile.Tile.ColourEntry is not null && variantComboBox.SelectedItem is not null) { string colorKey = variantComboBox.SelectedItem.ToString(); From 9a37eac6ecd22d5fb73d0816961d0b076adb0240 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:51:35 +0200 Subject: [PATCH 63/66] TextureAtlasEditor - Fix argument null exception when populating variant combo box --- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 6bfec1b8..5ffd1b2f 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -17,6 +17,7 @@ **/ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; @@ -228,8 +229,6 @@ namespace PckStudio.Forms.Editor selectTilePictureBox.BlendColor = GetBlendColor(); selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; - - tileNameLabel.Text = $"{dataTile.Tile.DisplayName}"; internalTileNameLabel.Text = $"{dataTile.Tile.InternalName}"; @@ -255,10 +254,9 @@ namespace PckStudio.Forms.Editor setColorButton.Enabled = dataTile.Tile.AllowCustomColour; - if (setColorButton.Enabled) + variantComboBox.Enabled = variantComboBox.Visible = dataTile.Tile.HasColourEntry && dataTile.Tile.ColourEntry?.Variants?.Length > 1; + if (variantComboBox.Enabled) { - variantComboBox.Enabled = variantComboBox.Visible = dataTile.Tile.ColourEntry.Variants.Length > 1; - if (dataTile.Tile.ColourEntry.IsWaterColour) { foreach (ColorContainer.WaterColor col in _colourTable.WaterColors) @@ -268,6 +266,7 @@ namespace PckStudio.Forms.Editor } } + // TODO: only add variants that are available in the color table variantComboBox.Items.AddRange(dataTile.Tile.ColourEntry.Variants); if (variantComboBox.Items.Count > 0) @@ -445,6 +444,7 @@ namespace PckStudio.Forms.Editor } } + Debug.WriteLine("Could not find: " + colorKey); return Color.White; } From 642261c0ec8183ba1ba4e5dd590ebcc5611b7587 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:52:55 +0200 Subject: [PATCH 64/66] GameConstants - Add reference link --- PCK-Studio/Internal/GameConstants.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/PCK-Studio/Internal/GameConstants.cs b/PCK-Studio/Internal/GameConstants.cs index 08576417..6f055546 100644 --- a/PCK-Studio/Internal/GameConstants.cs +++ b/PCK-Studio/Internal/GameConstants.cs @@ -9,6 +9,7 @@ namespace PckStudio.Internal { internal static class GameConstants { + // See: https://minecraft.fandom.com/wiki/Dye#Color_values for more information. public static readonly Color[] DyeColors = [ Color.FromArgb(0xf9fffe), // White Color.FromArgb(0xf9801d), // Orange From cb20a7f3ca8e0e03f713f026fd74ebdc04a94805 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 7 Jul 2024 13:52:05 +0200 Subject: [PATCH 65/66] Move 'GameTickInMilliseconds' to GameConstants --- PCK-Studio/Extensions/AnimationExtensions.cs | 4 ++-- PCK-Studio/Forms/Editor/AnimationEditor.cs | 9 +-------- PCK-Studio/Internal/Animation.cs | 2 -- PCK-Studio/Internal/GameConstants.cs | 3 +++ 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/PCK-Studio/Extensions/AnimationExtensions.cs b/PCK-Studio/Extensions/AnimationExtensions.cs index 9c6e2b8d..b9270538 100644 --- a/PCK-Studio/Extensions/AnimationExtensions.cs +++ b/PCK-Studio/Extensions/AnimationExtensions.cs @@ -20,10 +20,10 @@ namespace PckStudio.Extensions return null; } var ms = new System.IO.MemoryStream(); - var generateor = new AnimatedGifCreator(ms, Animation.GameTickInMilliseconds, 0); + var generateor = new AnimatedGifCreator(ms, GameConstants.GameTickInMilliseconds, 0); foreach (var frame in animation.GetInterpolatedFrames()) { - generateor.AddFrame(frame.Texture, frame.Ticks * Animation.GameTickInMilliseconds, GifQuality.Bit8); + generateor.AddFrame(frame.Texture, frame.Ticks * GameConstants.GameTickInMilliseconds, GifQuality.Bit8); } ms.Position = 0; return Image.FromStream(ms); diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.cs b/PCK-Studio/Forms/Editor/AnimationEditor.cs index da56968e..b6ab15e4 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.cs @@ -465,14 +465,7 @@ namespace PckStudio.Forms.Editor }; if (fileDialog.ShowDialog(this) != DialogResult.OK) return; - - using (var gifWriter = AnimatedGif.AnimatedGif.Create(fileDialog.FileName, Animation.GameTickInMilliseconds, repeat: 0)) - { - foreach (var frame in _animation.GetInterpolatedFrames()) - { - gifWriter.AddFrame(frame.Texture, frame.Ticks * Animation.GameTickInMilliseconds, GifQuality.Bit8); - } - } + _animation.CreateAnimationImage().Save(fileDialog.FileName); } private void frameTimeandTicksToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/PCK-Studio/Internal/Animation.cs b/PCK-Studio/Internal/Animation.cs index 66f8f6a5..b64bd9e7 100644 --- a/PCK-Studio/Internal/Animation.cs +++ b/PCK-Studio/Internal/Animation.cs @@ -29,8 +29,6 @@ namespace PckStudio.Internal { public const int MinimumFrameTime = 1; - public const int GameTickInMilliseconds = 50; - public int FrameCount => frames.Count; public int TextureCount => textures.Count; diff --git a/PCK-Studio/Internal/GameConstants.cs b/PCK-Studio/Internal/GameConstants.cs index 6f055546..72abeb67 100644 --- a/PCK-Studio/Internal/GameConstants.cs +++ b/PCK-Studio/Internal/GameConstants.cs @@ -9,6 +9,9 @@ namespace PckStudio.Internal { internal static class GameConstants { + + public const int GameTickInMilliseconds = 50; + // See: https://minecraft.fandom.com/wiki/Dye#Color_values for more information. public static readonly Color[] DyeColors = [ Color.FromArgb(0xf9fffe), // White From 8be79bcd1739473340abd00ee4e88496afe2c4ef Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 7 Jul 2024 14:51:51 +0200 Subject: [PATCH 66/66] MainForm - Fix null exception when droping in anything other than a file onto start page --- PCK-Studio/MainForm.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 7b0f3923..28fb46d6 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1944,7 +1944,7 @@ namespace PckStudio private void OpenPck_DragEnter(object sender, DragEventArgs e) { pckOpen.Image = Resources.pckDrop; - string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); + string[] files = (string[])e.Data.GetData(DataFormats.FileDrop) ?? Array.Empty(); foreach (string file in files) { string ext = Path.GetExtension(file);