diff --git a/OpenRA.Editor/Form1.cs b/OpenRA.Editor/Form1.cs index 27afd47101..25edb7da8d 100644 --- a/OpenRA.Editor/Form1.cs +++ b/OpenRA.Editor/Form1.cs @@ -199,6 +199,8 @@ namespace OpenRA.Editor surface1.BindResourceTemplates(resourceTemplates); foreach (var p in palettes) { p.Visible = true; p.ResumeLayout(); + var terrainBitmap = Minimap.TerrainBitmap(surface1.Map); + pmMiniMap.Image = terrainBitmap; } } @@ -336,7 +338,13 @@ namespace OpenRA.Editor surface1.Map.PlayerCount = surface1.Map.Waypoints.Count; surface1.Map.Package = new Folder(loadedMapName); surface1.Map.Save(loadedMapName); - + using (var nms = new MapSelect()) + { + var terrainBitmap = Minimap.TerrainBitmap(surface1.Map); + nms.pbMinimap.Image = terrainBitmap; + Bitmap png = new Bitmap(nms.pbMinimap.Image); + png.Save(Path.Combine(loadedMapName, "map.png"), System.Drawing.Imaging.ImageFormat.Png); + } dirty = false; } diff --git a/OpenRA.Editor/MapSelect.Designer.cs b/OpenRA.Editor/MapSelect.Designer.cs index 33c03e861c..f696e72f75 100644 --- a/OpenRA.Editor/MapSelect.Designer.cs +++ b/OpenRA.Editor/MapSelect.Designer.cs @@ -39,19 +39,19 @@ this.txtNew = new System.Windows.Forms.TextBox(); this.pbMinimap = new System.Windows.Forms.PictureBox(); this.pnlBottom = new System.Windows.Forms.Panel(); + this.lblPathOut = new System.Windows.Forms.Label(); + this.lblPath = new System.Windows.Forms.Label(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.lblMinimap = new System.Windows.Forms.Label(); - this.lblMapName = new System.Windows.Forms.Label(); - this.txtTitle = new System.Windows.Forms.TextBox(); - this.txtAuthor = new System.Windows.Forms.TextBox(); - this.lblAuthor = new System.Windows.Forms.Label(); - this.txtTheater = new System.Windows.Forms.TextBox(); - this.lblTheater = new System.Windows.Forms.Label(); + this.lblMapList = new System.Windows.Forms.Label(); this.txtDesc = new System.Windows.Forms.TextBox(); this.lblDesc = new System.Windows.Forms.Label(); - this.lblMapList = new System.Windows.Forms.Label(); - this.lblPath = new System.Windows.Forms.Label(); - this.lblPathOut = new System.Windows.Forms.Label(); + this.txtTheater = new System.Windows.Forms.TextBox(); + this.lblTheater = new System.Windows.Forms.Label(); + this.txtAuthor = new System.Windows.Forms.TextBox(); + this.lblAuthor = new System.Windows.Forms.Label(); + this.txtTitle = new System.Windows.Forms.TextBox(); + this.lblMapName = new System.Windows.Forms.Label(); + this.lblMinimap = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pbMinimap)).BeginInit(); this.pnlBottom.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout(); @@ -131,10 +131,11 @@ // pbMinimap // this.pbMinimap.BackColor = System.Drawing.Color.Black; - this.pbMinimap.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pbMinimap.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.pbMinimap.Location = new System.Drawing.Point(32, 25); this.pbMinimap.Name = "pbMinimap"; this.pbMinimap.Size = new System.Drawing.Size(124, 124); + this.pbMinimap.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pbMinimap.TabIndex = 5; this.pbMinimap.TabStop = false; // @@ -153,6 +154,24 @@ this.pnlBottom.Size = new System.Drawing.Size(494, 70); this.pnlBottom.TabIndex = 6; // + // lblPathOut + // + this.lblPathOut.AutoSize = true; + this.lblPathOut.Location = new System.Drawing.Point(55, 13); + this.lblPathOut.Name = "lblPathOut"; + this.lblPathOut.Size = new System.Drawing.Size(0, 13); + this.lblPathOut.TabIndex = 6; + // + // lblPath + // + this.lblPath.AutoSize = true; + this.lblPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.lblPath.Location = new System.Drawing.Point(12, 13); + this.lblPath.Name = "lblPath"; + this.lblPath.Size = new System.Drawing.Size(37, 13); + this.lblPath.TabIndex = 5; + this.lblPath.Text = "Path:"; + // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; @@ -180,72 +199,14 @@ this.splitContainer1.SplitterDistance = 300; this.splitContainer1.TabIndex = 7; // - // lblMinimap + // lblMapList // - this.lblMinimap.AutoSize = true; - this.lblMinimap.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.lblMinimap.Location = new System.Drawing.Point(29, 9); - this.lblMinimap.Name = "lblMinimap"; - this.lblMinimap.Size = new System.Drawing.Size(71, 13); - this.lblMinimap.TabIndex = 6; - this.lblMinimap.Text = "Map preview:"; - // - // lblMapName - // - this.lblMapName.AutoSize = true; - this.lblMapName.Location = new System.Drawing.Point(13, 161); - this.lblMapName.Name = "lblMapName"; - this.lblMapName.Size = new System.Drawing.Size(30, 13); - this.lblMapName.TabIndex = 7; - this.lblMapName.Text = "Title:"; - // - // txtTitle - // - this.txtTitle.BackColor = System.Drawing.SystemColors.ButtonFace; - this.txtTitle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtTitle.Location = new System.Drawing.Point(16, 177); - this.txtTitle.Name = "txtTitle"; - this.txtTitle.ReadOnly = true; - this.txtTitle.Size = new System.Drawing.Size(162, 20); - this.txtTitle.TabIndex = 8; - // - // txtAuthor - // - this.txtAuthor.BackColor = System.Drawing.SystemColors.ButtonFace; - this.txtAuthor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtAuthor.Location = new System.Drawing.Point(16, 214); - this.txtAuthor.Name = "txtAuthor"; - this.txtAuthor.ReadOnly = true; - this.txtAuthor.Size = new System.Drawing.Size(162, 20); - this.txtAuthor.TabIndex = 10; - // - // lblAuthor - // - this.lblAuthor.AutoSize = true; - this.lblAuthor.Location = new System.Drawing.Point(13, 198); - this.lblAuthor.Name = "lblAuthor"; - this.lblAuthor.Size = new System.Drawing.Size(41, 13); - this.lblAuthor.TabIndex = 9; - this.lblAuthor.Text = "Author:"; - // - // txtTheater - // - this.txtTheater.BackColor = System.Drawing.SystemColors.ButtonFace; - this.txtTheater.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtTheater.Location = new System.Drawing.Point(16, 252); - this.txtTheater.Name = "txtTheater"; - this.txtTheater.ReadOnly = true; - this.txtTheater.Size = new System.Drawing.Size(162, 20); - this.txtTheater.TabIndex = 12; - // - // lblTheater - // - this.lblTheater.AutoSize = true; - this.lblTheater.Location = new System.Drawing.Point(13, 236); - this.lblTheater.Name = "lblTheater"; - this.lblTheater.Size = new System.Drawing.Size(47, 13); - this.lblTheater.TabIndex = 11; - this.lblTheater.Text = "Theater:"; + this.lblMapList.AutoSize = true; + this.lblMapList.Location = new System.Drawing.Point(12, 9); + this.lblMapList.Name = "lblMapList"; + this.lblMapList.Size = new System.Drawing.Size(81, 13); + this.lblMapList.TabIndex = 1; + this.lblMapList.Text = "Available maps:"; // // txtDesc // @@ -266,32 +227,72 @@ this.lblDesc.TabIndex = 13; this.lblDesc.Text = "Description:"; // - // lblMapList + // txtTheater // - this.lblMapList.AutoSize = true; - this.lblMapList.Location = new System.Drawing.Point(12, 9); - this.lblMapList.Name = "lblMapList"; - this.lblMapList.Size = new System.Drawing.Size(81, 13); - this.lblMapList.TabIndex = 1; - this.lblMapList.Text = "Available maps:"; + this.txtTheater.BackColor = System.Drawing.SystemColors.ButtonFace; + this.txtTheater.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtTheater.Location = new System.Drawing.Point(16, 252); + this.txtTheater.Name = "txtTheater"; + this.txtTheater.ReadOnly = true; + this.txtTheater.Size = new System.Drawing.Size(162, 20); + this.txtTheater.TabIndex = 12; // - // lblPath + // lblTheater // - this.lblPath.AutoSize = true; - this.lblPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.lblPath.Location = new System.Drawing.Point(12, 13); - this.lblPath.Name = "lblPath"; - this.lblPath.Size = new System.Drawing.Size(37, 13); - this.lblPath.TabIndex = 5; - this.lblPath.Text = "Path:"; + this.lblTheater.AutoSize = true; + this.lblTheater.Location = new System.Drawing.Point(13, 236); + this.lblTheater.Name = "lblTheater"; + this.lblTheater.Size = new System.Drawing.Size(47, 13); + this.lblTheater.TabIndex = 11; + this.lblTheater.Text = "Theater:"; // - // lblPathOut + // txtAuthor // - this.lblPathOut.AutoSize = true; - this.lblPathOut.Location = new System.Drawing.Point(55, 13); - this.lblPathOut.Name = "lblPathOut"; - this.lblPathOut.Size = new System.Drawing.Size(0, 13); - this.lblPathOut.TabIndex = 6; + this.txtAuthor.BackColor = System.Drawing.SystemColors.ButtonFace; + this.txtAuthor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtAuthor.Location = new System.Drawing.Point(16, 214); + this.txtAuthor.Name = "txtAuthor"; + this.txtAuthor.ReadOnly = true; + this.txtAuthor.Size = new System.Drawing.Size(162, 20); + this.txtAuthor.TabIndex = 10; + // + // lblAuthor + // + this.lblAuthor.AutoSize = true; + this.lblAuthor.Location = new System.Drawing.Point(13, 198); + this.lblAuthor.Name = "lblAuthor"; + this.lblAuthor.Size = new System.Drawing.Size(41, 13); + this.lblAuthor.TabIndex = 9; + this.lblAuthor.Text = "Author:"; + // + // txtTitle + // + this.txtTitle.BackColor = System.Drawing.SystemColors.ButtonFace; + this.txtTitle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtTitle.Location = new System.Drawing.Point(16, 177); + this.txtTitle.Name = "txtTitle"; + this.txtTitle.ReadOnly = true; + this.txtTitle.Size = new System.Drawing.Size(162, 20); + this.txtTitle.TabIndex = 8; + // + // lblMapName + // + this.lblMapName.AutoSize = true; + this.lblMapName.Location = new System.Drawing.Point(13, 161); + this.lblMapName.Name = "lblMapName"; + this.lblMapName.Size = new System.Drawing.Size(30, 13); + this.lblMapName.TabIndex = 7; + this.lblMapName.Text = "Title:"; + // + // lblMinimap + // + this.lblMinimap.AutoSize = true; + this.lblMinimap.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.lblMinimap.Location = new System.Drawing.Point(29, 9); + this.lblMinimap.Name = "lblMinimap"; + this.lblMinimap.Size = new System.Drawing.Size(71, 13); + this.lblMinimap.TabIndex = 6; + this.lblMinimap.Text = "Map preview:"; // // MapSelect // diff --git a/OpenRA.Editor/MapSelect.cs b/OpenRA.Editor/MapSelect.cs index 7693c8ebca..385961b5e9 100644 --- a/OpenRA.Editor/MapSelect.cs +++ b/OpenRA.Editor/MapSelect.cs @@ -32,6 +32,7 @@ namespace OpenRA.Editor ListViewItem map1 = new ListViewItem(subDirectory.Name); map1.ImageIndex = 0; MapList.Items.Add(map1); + } if (txtNew.Text == "unnamed") { @@ -54,6 +55,16 @@ namespace OpenRA.Editor txtAuthor.Text = map.Author; txtTheater.Text = map.Theater; txtDesc.Text = map.Description; + pbMinimap.Image = new Bitmap(pbMinimap.Width, pbMinimap.Height); + try + { + pbMinimap.Image = Image.FromFile(Path.Combine(Path.Combine(MapFolderPath, txtNew.Text), "map.png")); + } + catch (Exception ed) + { + Console.WriteLine("No map preview image found: {0}", ed.ToString()); + } + finally { } } } diff --git a/OpenRA.Editor/MapSelect.resx b/OpenRA.Editor/MapSelect.resx index 8f84a1231e..5944301fa9 100644 --- a/OpenRA.Editor/MapSelect.resx +++ b/OpenRA.Editor/MapSelect.resx @@ -124,70 +124,69 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACQ - DgAAAk1TRnQBSQFMAwEBAAEYAQABGAEAARgBAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABYAMA - ARgDAAEBAQABIAYAASQhAAEBAx8BLAM/AW8DSAGJAzYBWQMYASIDAQECDAADHQEqA0cBhQJBAUIBdgMP - ARQDAQECAw0BEgMzAVIDQgF3A0wBpwMPART/ADAAAQEDAwEEAzQBVAJNAUwBwgFlAVUBUgH0AV4BVQFU - AdgBSgJJAY0DFgEeAwIBAwMAAQEDAgEDAxoBJQNKAZQBBgEHASQB/QJMAVABpAM1AVcDQQFzAkoBTQG6 - AjIBTgHjAksBTQGyAwABAf8AMAABAQMMARADQQF0AUwBSgFIAdgBmQGIAYEB/wGgAYwBhQH/AX4BcgFp - AfgDOgFhAwoBDgMKAQ0DHQEqAz8BbQNLAbsBEgIUAfkBAAEHAb8B/wEPARUBRwH5ASoBPAFDAesBAAEH - AUYB/wIGAVAB/QMNARH/ADEAAwMBBAMdASkDTAGkAVwBUQFPAe0BmwGLAYMB/wGcAYwBhAH/AZYBhAF5 - Af8BWwFWAVUB2AMzAVMDNAFUA0sBnQFLAUcBRgHTAkwBTgHzATIBngG7Af8BFgF1AasB/wEWAXcBvwH/ - ARIBaAG2Af8BGQGNAcIB/wE7AWEBcQHhAwEBAv8AMAABAQMJAQwDMAFMAU4CTAHDAX0BbAFkAfoBqAGZ - AY8B/wGTAYQBeQH/AYwBeQFyAf8BhwFzAW4B/wFRAVABTwG+A0oBvAE/ATwBOAHlAXgBXwFVAfoBgwFv - AWcB/wFTAUoBSQH/ARABTQGkAf8BBQEcAbgB/wEPAVMBlQH/ARsBlQHAAf8BNAFuAYwB6wMzAVIDDQES - AwIBA/8AJQADAQECAxgBIQNJAY8BRwJFAdwBmwGOAYUB/QGhAZEBiQH/AYcBdQFtAf8BgQFwAWcB/wF3 - AWkBYgH/AVYBTAFFAf0BSwFAAT0B/AGWAYYBewH/AaMBkgGKAf8BVQFMAVUB/wEFARoB8wH/ARQBYgGm - Af8BFwF4AZUB/wExAf0B/gH/AQkBNAGUAf8BFwF8AcgB/wIAAVYB/wNKAZQDGQEj/wAlAAMGAQgDLQFG - A0kBvAFwAWUBYgH0AaoBmwGRAf8BiQF2AW8B/wGMAXkBcAH/AZoBiQGBAf8BiwF5AXEB/wF3AWcBYAH/ - AYYBcwFrAf8BlQGGAXwB/wFDAT4BTAH/ARUBIQGIAf8BDAETAa4B/wEeAXwBlQH/ASwB3wHiAf8BEAFV - AXkB/wELATsBvAH/ARsBgQGqAf8BDAEUAakB/wEaAR4BUwH3AkwBTQGg/wAlAAMQARUDQQFyAUMBQgFB - AdYBkwGEAXYB/QGaAYkBgwH/AY8BgAF1Af8BlgGGAXoB/wGfAY0BhAH/AZYBhQF7Af8BlAGEAXkB/wGU - AYMBeQH/AZcBhwGAAf8BbAFhAV4B/wFlAVkBWAH/AWIBVwFVAf8BVQFZAVoB/wEkAWUBmgH/AQ8BTQGd - Af8BIgGOAbAB/wFOAZwBrwH/AWoBmgGuAf8BOwFLAVoB/gFMAk0Bn/8AJQADGAEiA0sBlQF+AXcBcQH8 - AagBmAGOAf8BkQGBAXcB/wGNAXkBcgH/AZoBiQGBAf8BkwGDAXgB/wGZAYgBgQH/AZwBiwGDAf8BlQGG - AXoB/wGWAYYBewH/AaABjwGHAf8BlgGFAXoB/wF4AXEBbgH/AU4BbwGBAf8BIAE9AV8B/wEfAZ4BhAH/ - AVUBlwGpAf8BhgHFAd8B/wGIAb4B1wH/AUUBXwFmAfsDQQFz/wAlAAMYASIDSwGVAZ0BjwGGAf8BmwGL - AYMB/wGGAXMBbAH/AYUBcQFqAf8BiAF1AW4B/wGJAXYBbgH/AZABeQFxAf8BlQGEAXkB/wGWAYUBegH/ - AZ8BjwGGAf8BmQGLAYQB/wFvAYABhgH/AVgBkwGwAf8BXAGmAccB/wFOAYMBpAH/AQcBGAGgAf8BZQGa - AbAB/wGCAb8B2QH/AXMBrQHIAf8BXQFzAX4B3gMqAUD/ACEAAwMBBAMmATgDSwGjAZoBjAGEAf8BpwGW - AY4B/wGXAYYBfAH/AZQBggF4Af8BlAGDAXkB/wGWAYUBegH/AZIBewF0Af8BjwF7AXQB/wGVAYQBegH/ - AY8BeAFtAf8BcgGAAYcB/wFcAZcBswH/AVEBmgHCAf8BZwG1AdQB/wFnAaQBvgH/ASABLAE3Af8BegG6 - AdMB/wGAAbsB1QH/AYEBvwHaAf8BVQFdAWABtQMPART/ACEAAwoBDQNBAXMDRQHPAasBmgGRAf8BmgGJ - AYIB/wGOAXoBcwH/AZEBgQF3Af8BlQGEAXkB/wGYAYgBgAH/AYsBdwFwAf8BkQF8AXUB/wF6AXABbAH/ - AXEBrwHIAf8BWwGoAc0B/wFbAasBzAH/AVcBpgHJAf8BdwHDAeAB/wF8AcIB3wH/AYMBwAHbAf8BggHB - Ad0B/wFxAa4ByAH/AYsBvwHbAf8CSAFJAYYDBQEH/wAhAAMeASsDTAGgAVABSgFHAe0BgwFxAWoB/wGD - AXABaQH/AYEBbgFnAf8BgQFvAWgB/wGIAXUBbQH/AYcBdAFtAf8BlAGEAXoB/wGFAXgBdQH/AVYBbgGD - Af8BTwGEAaYB/wFoAbAB0AH/AV8BqgHLAf8BYwGxAdEB/wF4Ab8B3QH/AYUByAHjAf8BgQHEAd8B/wGI - AccB4gH/AXkBtgHRAf8BbwGeAbYB/wM+AWsDAgED/wAhAAM3AVwBTAJLAcgBbgFeAVwB+AGRAYABdgH/ - AZgBiAGAAf8BlQGEAXoB/wGNAXkBcgH/AZUBhAF6Af8BmAGHAYAB/wGTAYMBeQH/AWoBgAGLAf8BWAGQ - AbEB/wE5AUwBbAH/AWUBqQHKAf8BYgGuAc8B/wFjAawBzAH/AXgBvwHcAf8BiQHMAecB/wGDAcYB4gH/ - AYUBxQHgAf8BhwHDAd4B/wFKAYMBmwH/AzwBaAMEAQX/ACEAA0gBiQFVAVEBTwHiAaQBkwGKAf8BrAGc - AZMB/wGlAZUBjAH/AZYBhgF7Af8BkAF7AXYB/wGZAYgBgQH/AaIBkQGJAf8BcAFfAVcB/wFmAZUBqwH/ - AWoBtQHVAf8BdAHBAd0B/wF2AbsB2wH/AWABrAHOAf8BYQGtAcwB/wF6AcMB4AH/AYgBywHmAf8BhQHG - AeQB/wGDAcYB4gH/AYcBvwHdAf8BOwFVAW0B7gMbASb/ACUAA0sBpQFiAVgBVgHvAaMBkwGKAf8BmAGH - AYAB/wGfAY4BhgH/AZ0BjAGEAf8BkAF7AXUB/wGIAXQBbQH/AYgBeAFxAf8BbAGFAY8B/wFqAbAB0AH/ - AXEBvAHaAf8BaAG2AdYB/wFhAbEB0AH/AV8BrwHQAf8BcwG9AdoB/wFyAbsB2gH/AYABxAHfAf8BjwHN - AekB/wGKAckB5QH/AV8BlwGuAf0DQwF5AwABAf8AJQADTAGxAW4CXwHzAaMBkgGKAf8BlQGDAXoB/wGU - AYIBeQH/AZQBhQF5Af8BhAGLAY0B/wFdAXUBhgH/AV4BhwGdAf8BYwGvAdIB/wFxAbsB2gH/AXkBwQHe - Af8BbgG5AdcB/wFjAbMB0gH/AWsBuQHWAf8BgAHFAeEB/wF6AcIB3wH/AYABxQHhAf8BhQHEAeEB/wGJ - AcYB4gH/AVIBewGMAfMDMQFO/wApAANFAccBfQFzAWsB+AGrAZsBkgH/AZABgAF3Af8BhAFxAWgB/wF0 - AZoBqwH/AWQBqwHPAf8BZgGyAdMB/wFvAbwB2gH/AW0BuAHVAf8BcwG+AdsB/wF4Ab8B3QH/AXIBvgHb - Af8BagG5AdYB/wGAAccB4QH/AYkBywHkAf8BigHMAecB/wGNAdEB7AH/AYUByQHmAf8BbwGzAdQB/wFN - AU8BUAGYAzABTAMAAQEDAAEB/wAhAAM+AWwBaQFmAWMByQGSAYYBgQH1AaQBkwGLAf8BhgGeAakB/wFp - Aa8B0gH/AXoBxAHgAf8BeAHCAd4B/wF4AcIB3gH/AXMBvwHbAf8BdQG8AdoB/wF0AbsB2AH/AXYBuwHZ - Af8BdgG/Ad0B/wFjAZ0BwwH/AUMBZQGUAf8BbwGnAcgB/wGHAcQB4AH/AYgBzQHpAf8BXwF7AYcB4AMs - AUQDBwEJAwQBBgMAAQH/ACEAAwQBBQMZASMDNAFUA0oBiQFaAV8BYgHBAWIBfgGJAeIBcAGfAbUB9QF9 - AbgB0wH+AYABxQHiAf8BdAG8AdoB/wFzAbwB2gH/AXIBuwHYAf8BdwG8AdkB/wGOAc8B6wH/AW8BrwHS - Af8BUQF3AaQB/wFuAasBzQH/AXABrwHPAf8BjwHKAecB/wFXAWoBcwHRAyIBMf8APQADAQECAwkBDAMa - ASUDQgF2AVABXgFpAeoBhQHIAeQB/gGKAccB5AH/AXsBwAHdAf8BigHGAeIB/wGWAdQB7gH/AXsBuAHX - Af8BYwGhAcgB/wFrAaYBzAH/AVsBkgG/Af8BgwHHAeEB/gJGAUcBgQMDAQT/AEkAAwIBAwMQARYDMgFQ - AUoBTAFNAY0BUAFTAVQBnQFSAVQBVgGhAWwBgwGMAeABdgGxAcsB/QFiAZcBvgH/AWIBlAHAAf8BcQGo - Ac4B/wFCAXsBqgH/AzUBVgMAAQH/AFUAAwIBAwMGAQgDCgENAygBPQJAAUEBcQFPAlEBnAFYAWgBcgHW - AWUBhwGeAfIBTgGBAacB/AMgAS//AHAAAQEDCAELAyQBNgNGAYEDAwEE/wAxAAFCAU0BPgcAAT4DAAEo - AwABYAMAARgDAAEBAQABAQUAASABARYAA/8BAAHgATgBAQkAAcABAAEBCQABwAEAAQMJAAHAAQABAwkA - AYALAAGACwABgAsAAYALAAGACwABgD0AAQELAAEBCwABAyMAAQcJAAHwAQABBwkAAf4BAAEHCQAB/wHA - AQ8JAAH/Af4BDwkACw== + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABw + DgAAAk1TRnQBSQFMAwEBAAEgAQABIAEAARgBAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABYAMA + ARgDAAEBAQABIAYAASQhAAEBAx8BLAM/AW8DSQGJAzYBWQMYASIDAQECDAADHQEqA0gBhQNCAXYDDwEU + AwEBAgMNARIDMwFSA0MBdwNQAacDDwEU/wAwAAEBAwMBBAM0AVQCUgFRAcIBZQFUAVIB9AFeAlYB2ANK + AY0DFgEeAwIBAwMAAQEDAgEDAxoBJQNMAZQBBwEIASUB/QJPAVABpAM1AVcDQQFzAlABUQG6AjwBUQHj + AlABUgGyAwABAf8AMAABAQMMARADQgF0AVEBUAFOAdgBmQGIAYEB/wGgAYwBhQH/AX0BcQFnAfgDOgFh + AwoBDgMKAQ0DHQEqAz8BbQNQAbsBFgIYAfkBAAEGAb8B/wETARkBRwH5ATMBQQFIAesBAAEGAUUB/wIH + AU8B/QMNARH/ADEAAwMBBAMdASkDTwGkAV0BUgFQAe0BmwGLAYMB/wGcAYwBhAH/AZYBhAF4Af8BWwFY + AVYB2AMzAVMDNAFUA00BnQFPAU4BTQHTAkwBTgHzATEBngG7Af8BFQF0AasB/wEVAXYBvwH/AREBZwG2 + Af8BGAGNAcIB/wFCAWEBbQHhAwEBAv8AMAABAQMJAQwDMAFMAVMCUQHDAXwBawFiAfoBqAGZAY8B/wGT + AYQBeAH/AYwBeAFxAf8BhwFyAW0B/wJUAVMBvgNQAbwBRgFDAT8B5QF3AV0BUwH6AYMBbgFmAf8BUgFJ + AUgB/wEPAUwBpAH/AQQBGwG4Af8BDgFSAZUB/wEaAZUBwAH/ATsBawGGAesDMwFSAw0BEgMCAQP/ACUA + AwEBAgMYASEDSwGPA0wB3AGbAY4BhQH9AaEBkQGJAf8BhwF0AWwB/wGBAW8BZgH/AXYBaAFhAf8BVAFL + AUQB/QFJAT8BPAH8AZYBhgF6Af8BowGSAYoB/wFUAUsBVAH/AQQBGQHzAf8BEwFhAaYB/wEWAXcBlQH/ + ATAB/QH+Af8BCAEzAZQB/wEWAXsByAH/AgABVQH/A0wBlAMZASP/ACUAAwYBCAMtAUYDUAG8AW0BZQFi + AfQBqgGbAZEB/wGJAXUBbgH/AYwBeAFvAf8BmgGJAYEB/wGLAXgBcAH/AXYBZgFfAf8BhgFyAWoB/wGV + AYYBewH/AUIBPQFLAf8BFAEgAYgB/wELARIBrgH/AR0BewGVAf8BKwHfAeIB/wEPAVQBeAH/AQoBOgG8 + Af8BGgGBAaoB/wELARMBqQH/AR0BIQFSAfcDTwGg/wAlAAMQARUDQQFyA0oB1gGTAYQBdAH9AZoBiQGD + Af8BjwGAAXQB/wGWAYYBeQH/AZ8BjQGEAf8BlgGFAXoB/wGUAYQBeAH/AZQBgwF4Af8BlwGHAYAB/wFr + AWABXQH/AWQBWAFXAf8BYQFWAVQB/wFUAVgBWQH/ASMBZAGaAf8BDgFMAZ0B/wEhAY4BsAH/AU0BnAGv + Af8BaQGaAa4B/wE7AUsBWgH+A04Bn/8AJQADGAEiA00BlQF9AXYBcAH8AagBmAGOAf8BkQGBAXYB/wGN + AXgBcQH/AZoBiQGBAf8BkwGDAXcB/wGZAYgBgQH/AZwBiwGDAf8BlQGGAXkB/wGWAYYBegH/AaABjwGH + Af8BlgGFAXkB/wF3AXABbQH/AU0BbgGBAf8BHwE8AV4B/wEeAZ4BhAH/AVQBlwGpAf8BhgHFAd8B/wGI + Ab4B1wH/AUUBXwFkAfsDQQFz/wAlAAMYASIDTQGVAZ0BjwGGAf8BmwGLAYMB/wGGAXIBawH/AYUBcAFp + Af8BiAF0AW0B/wGJAXUBbQH/AZABeAFwAf8BlQGEAXgB/wGWAYUBeQH/AZ8BjwGGAf8BmQGLAYQB/wFu + AYABhgH/AVcBkwGwAf8BWwGmAccB/wFNAYMBpAH/AQYBFwGgAf8BZAGaAbAB/wGCAb8B2QH/AXIBrQHI + Af8BXQFtAXcB3gMqAUD/ACEAAwMBBAMmATgDTgGjAZoBjAGEAf8BpwGWAY4B/wGXAYYBewH/AZQBggF3 + Af8BlAGDAXgB/wGWAYUBeQH/AZIBegFzAf8BjwF6AXMB/wGVAYQBeQH/AY8BdwFsAf8BcQGAAYcB/wFb + AZcBswH/AVABmgHCAf8BZgG1AdQB/wFmAaQBvgH/AR8BKwE2Af8BeQG6AdMB/wGAAbsB1QH/AYEBvwHa + Af8BVQFZAVsBtQMPART/ACEAAwoBDQNBAXMDTAHPAasBmgGRAf8BmgGJAYIB/wGOAXkBcgH/AZEBgQF2 + Af8BlQGEAXgB/wGYAYgBgAH/AYsBdgFvAf8BkQF7AXQB/wF5AW8BawH/AXABrwHIAf8BWgGoAc0B/wFa + AasBzAH/AVYBpgHJAf8BdgHDAeAB/wF7AcIB3wH/AYMBwAHbAf8BggHBAd0B/wFwAa4ByAH/AYsBvwHb + Af8DSAGGAwUBB/8AIQADHgErA08BoAFRAU0BSgHtAYMBcAFpAf8BgwFvAWgB/wGBAW0BZgH/AYEBbgFn + Af8BiAF0AWwB/wGHAXMBbAH/AZQBhAF5Af8BhQF3AXQB/wFVAW0BgwH/AU4BhAGmAf8BZwGwAdAB/wFe + AaoBywH/AWIBsQHRAf8BdwG/Ad0B/wGFAcgB4wH/AYEBxAHfAf8BiAHHAeIB/wF4AbYB0QH/AW4BngG2 + Af8DPgFrAwIBA/8AIQADOAFcA1IByAFtAV0BXAH4AZEBgAF1Af8BmAGIAYAB/wGVAYQBeQH/AY0BeAFx + Af8BlQGEAXkB/wGYAYcBgAH/AZMBgwF4Af8BaQGAAYsB/wFXAZABsQH/ATgBSwFrAf8BZAGpAcoB/wFh + Aa4BzwH/AWIBrAHMAf8BdwG/AdwB/wGJAcwB5wH/AYMBxgHiAf8BhQHFAeAB/wGHAcMB3gH/AUkBgwGb + Af8DPAFoAwQBBf8AIQADSQGJAVYBVAFSAeIBpAGTAYoB/wGsAZwBkwH/AaUBlQGMAf8BlgGGAXoB/wGQ + AXoBdQH/AZkBiAGBAf8BogGRAYkB/wFvAV4BVgH/AWUBlQGrAf8BaQG1AdUB/wFzAcEB3QH/AXUBuwHb + Af8BXwGsAc4B/wFgAa0BzAH/AXkBwwHgAf8BiAHLAeYB/wGFAcYB5AH/AYMBxgHiAf8BhwG/Ad0B/wE/ + AVUBawHuAxsBJv8AJQADTwGlAWIBWAFXAe8BowGTAYoB/wGYAYcBgAH/AZ8BjgGGAf8BnQGMAYQB/wGQ + AXoBdAH/AYgBcwFsAf8BiAF3AXAB/wFrAYUBjwH/AWkBsAHQAf8BcAG8AdoB/wFnAbYB1gH/AWABsQHQ + Af8BXgGvAdAB/wFyAb0B2gH/AXEBuwHaAf8BgAHEAd8B/wGPAc0B6QH/AYoByQHlAf8BXQGXAa0B/QNE + AXkDAAEB/wAlAANRAbEBbQJfAfMBowGSAYoB/wGVAYMBeQH/AZQBggF4Af8BlAGFAXgB/wGEAYsBjQH/ + AVwBdAGGAf8BXQGHAZ0B/wFiAa8B0gH/AXABuwHaAf8BeAHBAd4B/wFtAbkB1wH/AWIBswHSAf8BagG5 + AdYB/wGAAcUB4QH/AXkBwgHfAf8BgAHFAeEB/wGFAcQB4QH/AYkBxgHiAf8BUgF3AYcB8wMxAU7/ACkA + A00BxwF8AXIBaQH4AasBmwGSAf8BkAGAAXYB/wGEAXABZwH/AXMBmgGrAf8BYwGrAc8B/wFlAbIB0wH/ + AW4BvAHaAf8BbAG4AdUB/wFyAb4B2wH/AXcBvwHdAf8BcQG+AdsB/wFpAbkB1gH/AYABxwHhAf8BiQHL + AeQB/wGKAcwB5wH/AY0B0QHsAf8BhQHJAeYB/wFuAbMB1AH/Ak4BTwGYAzABTAMAAQEDAAEB/wAhAAM+ + AWwBZQFiAV8ByQGNAYQBfwH1AaQBkwGLAf8BhgGeAakB/wFoAa8B0gH/AXkBxAHgAf8BdwHCAd4B/wF3 + AcIB3gH/AXIBvwHbAf8BdAG8AdoB/wFzAbsB2AH/AXUBuwHZAf8BdQG/Ad0B/wFiAZ0BwwH/AUIBZAGU + Af8BbgGnAcgB/wGHAcQB4AH/AYgBzQHpAf8BXwF1AX8B4AMsAUQDBwEJAwQBBgMAAQH/ACEAAwQBBQMZ + ASMDNAFUA0oBiQFYAVwBXQHBAWEBeAGAAeIBbwGbAa8B9QF9AbYB0QH+AYABxQHiAf8BcwG8AdoB/wFy + AbwB2gH/AXEBuwHYAf8BdgG8AdkB/wGOAc8B6wH/AW4BrwHSAf8BUAF2AaQB/wFtAasBzQH/AW8BrwHP + Af8BjwHKAecB/wFYAWYBawHRAyIBMf8APQADAQECAwkBDAMaASUDQgF2AVEBXQFmAeoBgwHGAeIB/gGK + AccB5AH/AXoBwAHdAf8BigHGAeIB/wGWAdQB7gH/AXoBuAHXAf8BYgGhAcgB/wFqAaYBzAH/AVoBkgG/ + Af8BgQHFAd8B/gJGAUcBgQMDAQT/AEkAAwIBAwMQARYDMgFQAkoBTAGNAlABUgGdAlIBUwGhAWkBewGD + AeABdAGwAcgB/QFhAZcBvgH/AWEBlAHAAf8BcAGoAc4B/wFBAXoBqgH/AzUBVgMAAQH/AFUAAwIBAwMG + AQgDCgENAygBPQNAAXEBTwJRAZwBWgFkAW0B1gFlAYMBmQHyAUwBfgGkAfwDIAEv/wBwAAEBAwgBCwMk + ATYDRgGBAwMBBP8AMQABQgFNAT4HAAE+AwABKAMAAWADAAEYAwABAQEAAQEFAAEgAQEWAAP/AQAB4AE4 + AQEJAAHAAQABAQkAAcABAAEDCQABwAEAAQMJAAGACwABgAsAAYALAAGACwABgAsAAYA9AAEBCwABAQsA + AQMjAAEHCQAB8AEAAQcJAAH+AQABBwkAAf8BwAEPCQAB/wH+AQ8JAAs= \ No newline at end of file