Added, Texture Browser: wad resources now have subgroups.

Fixed, Texture Browser: we should not skip items with the same texture name when they belong to different imagegroups.
This commit is contained in:
MaxED 2015-03-22 20:43:05 +00:00
parent d0f82170d9
commit 46509b5442
10 changed files with 72 additions and 60 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -298,7 +298,7 @@ namespace CodeImp.DoomBuilder.Controls
ListViewItem selected = list.SelectedItems[0];
//mxd
foreach(ListViewItem n in visibleitems)
foreach(ImageBrowserItem n in visibleitems)
{
if(n == selected) continue;
if(n.Text == selected.Text)
@ -497,17 +497,17 @@ namespace CodeImp.DoomBuilder.Controls
int h = filterHeight.GetResult(-1);
// Go for all items
string prevname = string.Empty; //mxd
ImageBrowserItem previtem = null; //mxd
for(int i = items.Count - 1; i > -1; i--)
{
// Add item if valid
items[i].ShowFullName = uselongtexturenames; //mxd
if(ValidateItem(items[i], prevname) && ValidateItemSize(items[i], w, h))
if(ValidateItem(items[i], previtem) && ValidateItemSize(items[i], w, h))
{
items[i].Group = items[i].ListGroup;
items[i].Selected = false;
visibleitems.Add(items[i]);
prevname = items[i].TextureName;
previtem = items[i];
}
}
@ -544,20 +544,20 @@ namespace CodeImp.DoomBuilder.Controls
}
// This validates an item
private bool ValidateItem(ImageBrowserItem i, string previtemname)
private bool ValidateItem(ImageBrowserItem item, ImageBrowserItem previtem)
{
//mxd. Don't show duplicate items
if(i.TextureName == previtemname) return false; //mxd
if(previtem != null && item.TextureName == previtem.TextureName && item.Group == previtem.Group) return false; //mxd
//mxd. mixMode: 0 = All, 1 = Textures, 2 = Flats, 3 = Based on BrowseFlats
if(!splitter.Panel2Collapsed)
{
if(mixMode == 1 && i.Icon.IsFlat) return false;
if(mixMode == 2 && !i.Icon.IsFlat) return false;
if(mixMode == 3 && (browseFlats != i.Icon.IsFlat)) return false;
if(mixMode == 1 && item.Icon.IsFlat) return false;
if(mixMode == 2 && !item.Icon.IsFlat) return false;
if(mixMode == 3 && (browseFlats != item.Icon.IsFlat)) return false;
}
return i.Text.ToUpperInvariant().Contains(objectname.Text.ToUpperInvariant());
return item.Text.ToUpperInvariant().Contains(objectname.Text.ToUpperInvariant());
}
//mxd. This validates an item's texture size

View file

@ -33,6 +33,7 @@ namespace CodeImp.DoomBuilder.Data
{
// Initialize
SetName(name);
virtualname = "[Colormaps]/" + this.name; //mxd
// We have no destructor
GC.SuppressFinalize(this);

View file

@ -33,6 +33,7 @@ namespace CodeImp.DoomBuilder.Data
{
// Initialize
SetName(name);
virtualname = "[Flats]/" + this.name; //mxd
isFlat = true; //mxd
// We have no destructor

View file

@ -46,6 +46,7 @@ namespace CodeImp.DoomBuilder.Data
this.scale.y = scaley;
this.lumpname = lumpname;
SetName(name);
virtualname = "[Textures]/" + this.name; //mxd
// We have no destructor
GC.SuppressFinalize(this);

View file

@ -39,7 +39,7 @@ namespace CodeImp.DoomBuilder.Data
#region ================== Constructor / Disposer
// Constructor
public TextureImage(string name, int width, int height, float scalex, float scaley)
public TextureImage(string group, string name, int width, int height, float scalex, float scaley)
{
// Initialize
this.width = width;
@ -48,6 +48,7 @@ namespace CodeImp.DoomBuilder.Data
this.scale.y = scaley;
this.patches = new List<TexturePatch>();
SetName(name);
virtualname = "[" + group + "]/" + this.name; //mxd
// We have no destructor
GC.SuppressFinalize(this);

View file

@ -488,7 +488,7 @@ namespace CodeImp.DoomBuilder.Data
if(texname.Length > 0)
{
// Make the image object
image = new TextureImage(Lump.MakeNormalName(namebytes, WAD.ENCODING),
image = new TextureImage(sourcename, Lump.MakeNormalName(namebytes, WAD.ENCODING),
width, height, scalex, scaley);
}
else

View file

@ -74,9 +74,10 @@ namespace CodeImp.DoomBuilder.Windows
this.smallimages.Images.SetKeyName(2, "FileTextureSet.ico");
this.smallimages.Images.SetKeyName(3, "FolderTextureSet.ico");
this.smallimages.Images.SetKeyName(4, "PK3TextureSet.ico");
this.smallimages.Images.SetKeyName(5, "FolderImage.png");
this.smallimages.Images.SetKeyName(6, "ArchiveImage.png");
this.smallimages.Images.SetKeyName(7, "TextLump.png");
this.smallimages.Images.SetKeyName(5, "WadTextureSet.png");
this.smallimages.Images.SetKeyName(6, "FolderImage.png");
this.smallimages.Images.SetKeyName(7, "ArchiveImage.png");
this.smallimages.Images.SetKeyName(8, "TextLump.png");
//
// tvTextureSets
//

View file

@ -268,7 +268,7 @@ namespace CodeImp.DoomBuilder.Windows
return;
}
int imageIndex = set.Location.type + 4;
int imageIndex = set.Location.type + 5;
char[] separator = new[] { Path.AltDirectorySeparatorChar };
ImageData[] images;
@ -290,7 +290,7 @@ namespace CodeImp.DoomBuilder.Windows
TreeNode curNode = root;
if (parts.Length == 1) continue;
int localindex = (parts[0] == "[TEXTURES]" ? 7 : imageIndex);
int localindex = (parts[0] == "[TEXTURES]" ? 8 : imageIndex);
for (int i = 0; i < parts.Length - 1; i++)
{

View file

@ -124,8 +124,8 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAi
EAAAAk1TRnQBSQFMAgEBCAEAAYwBAQGMAQEBEAEAARYBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACS
EQAAAk1TRnQBSQFMAgEBCQEAAaQBAQGkAQEBEAEAARYBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAUIDAAEBAQABCAUAAYABEBgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQABwAHc
AcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQADQgEA
AzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB/wEz
@ -153,47 +153,54 @@
AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8BAAL/
ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8BAAL/
AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD+AEA
AfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wD/AP8A/wD/AP8A
WQANSwgAApkIAAEHDBIBBwQABw4BEAFtAWwCDgIAAVENUgFLBQAB7wFzARwBbgFKAQcGAAESDP8BEgMA
AQ4BDQFsAZABuwIJAfcCbAFmAg4BAAFSAXoBUgGgCHoBUgGgAVIBSwMAAZkBbgN0AVIBSwFEAUoBmQQA
AeoB/wn0AfMB/wHqCwABDgHqAWwBDwEOAQABUgF6AVIBoAF6AVgGeQFYAaABUgFLAgABcwFuAXQBmQJ0
AVICSwFuAUQBbgEaAgAB6gH/AfQI7AHzAf8B6gQAAW0HAAFDAW0BDgIAAVIBegFSAaAKcwFSAUsBAAEc
AXQBmgJSAXQBegFMBUsBcwIAAW0B/wX0BfMB/wFtAwABbQHxAW0BBwG8AfAB8QIAAREBBwHsAgABUgF6
AVIBoAFzAv8B8wP0AvMBcwFSAUsBAAGZAXMBUQF0AXoCdAFMA0sBSgFLAZMCAAFtAf8B9AjtAfMB/wFt
AwADbQEHArwB8AIAAm0BDgIAAVIBegFSAaABcwH/AdwF2wH0AXMBUgFLAQAB7AEcAXkCdAoSAQAB6wH/
AfQJ8wH/AesDAAFtAfADBwK8AgABEQEHAewCAAFSAZoBUgH/AbwB/wYZAfMBvAFSAUsBAAIcAnQCBwPv
AfcBHAPtARIBAAHrAf8B8wH3B5IB8wH/AesDAAFtAfAB7wMHAbwCAAJtAQ4CAAFSAaANUgIAAe0BHAF0
AUsBHAj/Ae0BEgEAAewB/wrzAf8B7AMAAW0B8ALvAwcCAAERAQcB7AIAAVIDoAEcAf8BrgGaAb0BdQHj
Aa4B/wHtAesCAAHsAXMBdAFLAfcB/wauAf8B7QESAQAB7AH/AfMI7wHyAf8B7AMAAW0B8APvAgcCAAJt
AQ4CAAFSAf8CoAH3Af8BrgL/AnUBrgH/Ae0B6wIAAZMDdAHvAf8BrgGUAf8BmgGUAa4B/wHtARIBAAHs
Af8G8wX/AewDAAFtAbwE7wEHAgABEQEHAewDAAFSAv8B7wH/Aa4BlAH/AZoBlAGuAf8B7QHrAgABHAGZ
AcMBegHvAf8C0wH/AZoC0wH/Ae0BEgEAAe0B/wHzBe8B/wLyAfMB7QG8AwAIbQEAAQ8B7AEPBAACUgHv
Af8B0wSuAdMB/wHtAesDAAIcAZoB7wH/BtMB/wHtARIBAAHtAf8D8wPyAf8B8gHzAe0B8AQACQ4B6wGR
AQ0GAAHvAf8G0wH/Ae0B6wQAAZkBdAEHCP8B7QESAQABkgH/AfMF8gH/AfMBkgHwBQABDgFlAZABuwUJ
AfcBbAIOBQABBwj/Ae0B6wYAAgcD7wH3ARwD7QIAAZII/wGSAfARAAEOBgACBwPvAfcBHAPtCQACmQgA
AfAI9wHw/wCWAAH3Aq4BbQFsAeoCbARmNAAB9wX/AvQDGQFmCQAIDhMAAfcCrgFtAWwB6gJsBGYEAAG1
Av8CkwGZAQcBuwG0AhkDZgYAAQ4BAAXvAfcBDgMAAnMB6wFuAW0BSgETARUBQwERAQ8BDgEPAwAB9wX/
AvQDGQFmBAABtQL/AZMBmgF6AZ8BngG7AfQB8wFmARkBZgUAAQ4B7wEAAfAC8QLyAbwBDgMAAXMCHAcx
AksBRAHtAgABtQL/ApMBmQEHAbsBtAIZA2YCAAG1Av8BuwEIAp8BfgF5AvQBbAEZA2YCAAEOAe8BBwEA
AfAC8QLyAfABDgMAAewBegEcAZoDegJZAVMBUgExAUsB6gIAAbUC/wGTAZoBegGfAZ4BuwH0AfMBZgEZ
AWYCAAG1Av8C2wEJAQgBfgF5Af8B9AFsAfMBZgEZAWYCAAEOAgAB7wG8AfAC8QHyAfABDgMAAe0BegEc
AZkFegJZAVMBMQFEAe0BAAG1Av8BuwEIAp8BfgF5AvQBbAEZA2YBBwr/AWwB9AFsARkBZgIAAQ4B8AIH
ArwC8AHxAbwBDgMAAe0BmgF6ARwBmgV6A1kBSwFtAQABtQL/AtsBCQEIAX4BeQH/AfQBbAHzAWYBGQFm
AgcEtQH3AbUC7QKRAfQBbAHzAWYCAAEOAfADBwK8AvABvAEOAwABHAGaAXoBHAGZB3oBWQFSAUoB7QEH
Cv8BbAH0AWwBGQFmAbUB/wEHCv8BbAH0AWwCAAEOAfAEBwK8AfABvAEOAwABHAGaAaABegEcB5oCegF0
AW0CBwS1AfcBtQLtApEB9AFsAfMBZgG1Af8CBwS1AfcBtQLtApEB9AFsAgABDgHwAu8EBwG8AQcBDgMA
ARwDoAgcAu0B7AFzAgABBwr/AWwB9AFsAQcD/wEHCv8BbAIAAQ4B8APvBQcBDgMAARwEoAGaBnoBcwUA
AgcEtQH3AbUC7QKRAfQBbAIHArUCBwS1AfcBtQLtApECAAEOAbwE7wQHAQ4DAAEcAaABwwOgAXoDHALt
AXMHAAEHCv8BbAIAAQcK/wFsAfQBbAIAAQ4BvAXvAwcBDgMAARwBmQLDAqABHAHtDAACBwS1AfcBtQLt
ApECAAIHBLUB9wG1Au0CkQH0AWwCAAEOAfQD8AO8AgcBDgQABRwB7R0AAQcK/wFsAgALDicAAgcEtQH3
AbUC7QKR4AABQgFNAT4HAAE+AwABKAMAAUADAAFCAwABAQEAAQEFAAEQAQIWAAP/sQAZ/wHDAcABAQH+
AX8BgAEBAeABAQGAAQAB+AEfAYABAQHAAQECAAHgAQcBgAEBAYABAQIAAcABAQGAAQEB4AEjAgABgAEB
AYABAQHAASMCAAGAAQEBgAEBAcABIwIAAYABAAGAAQEBwAEjAgABgAEAAYABAQHAASMBAAEBAYABAAGA
AQEBwAEjAQABAQGAAQABgAEBAcABIwEAAQEBgAEAAYABAQHAASMBgAEBAYABAAGAAQEBwAEjAcABAQHA
AQABgAEDAYABAQHwAQEB4AEAAYABBwHAAQEB8AEBAfgBAQGAAQ8B4AEDAfABAwH+AX8BgAEfMv8BAAEP
Bv8BAAEPAfgBBwL/AQABDwEAAQMB8AEHAQABBwEAAQ8BAAEDAeABBwEAAQMBAAEDAgABwAEHAQABAwEA
AQMCAAHAAQcBAAEBBAABwAEHAQABAQQAAcABBwYAAcABBwYAAcABBwIAAcADAAHAAQcBAAEHAcADAAHA
AQcBAAEHAfABAAHAAQABwAEHAQAB/wHwAQABwAEAAcABBwGBA/8B8AEAAcABBwT/AfABABz/Cw==
AfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP/wgABBwwSAQcyAAES
DP8BEjIAAeoB/wn0AfMB/wHqMgAB6gH/AfQI7AHzAf8B6jIAAW0B/wX0BfMB/wFtMgABbQH/AfQI7QHz
Af8BbTIAAesB/wH0CfMB/wHrMgAB6wH/AfMB9weSAfMB/wHrMgAB7AH/CvMB/wHsMgAB7AH/AfMI7wHy
Af8B7DIAAewB/wbzBf8B7DIAAe0B/wHzBe8B/wLyAfMB7QG8MgAB7QH/A/MD8gH/AfIB8wHtAfAzAAGS
Af8B8wXyAf8B8wGSAfA0AAGSCP8BkgHwNQAB8Aj3AfD/ANgADUsIAAKZCgAHDgEQAW0BbAIOBgAIDgQA
AVENUgFLBQAB7wFzARwBbgFKAQcHAAEOAQ0BbAGQAbsCCQH3AmwBZgIOBQABDgEABe8B9wEOAwABUgF6
AVIBoAh6AVIBoAFSAUsDAAGZAW4DdAFSAUsBRAFKAZkNAAEOAeoBbAEPAQ4EAAEOAe8BAAHwAvEC8gG8
AQ4DAAFSAXoBUgGgAXoBWAZ5AVgBoAFSAUsCAAFzAW4BdAGZAnQBUgJLAW4BRAFuARoEAAFtBwABQwFt
AQ4EAAEOAe8BBwEAAfAC8QLyAfABDgMAAVIBegFSAaAKcwFSAUsBAAEcAXQBmgJSAXQBegFMBUsBcwMA
AW0B8QFtAQcBvAHwAfECAAERAQcB7AQAAQ4CAAHvAbwB8ALxAfIB8AEOAwABUgF6AVIBoAFzAv8B8wP0
AvMBcwFSAUsBAAGZAXMBUQF0AXoCdAFMA0sBSgFLAZMDAANtAQcCvAHwAgACbQEOBAABDgHwAgcCvALw
AfEBvAEOAwABUgF6AVIBoAFzAf8B3AXbAfQBcwFSAUsBAAHsARwBeQJ0ChICAAFtAfADBwK8AgABEQEH
AewEAAEOAfADBwK8AvABvAEOAwABUgGaAVIB/wG8Af8GGQHzAbwBUgFLAQACHAJ0AgcD7wH3ARwD7QES
AgABbQHwAe8DBwG8AgACbQEOBAABDgHwAgcKEgFSAaANUgIAAe0BHAF0AUsBHAj/Ae0BEgIAAW0B8ALv
AwcCAAERAQcB7AQAAQ4B8AHvAgcD7wH3ARwD7QESAVIDoAEcAf8BrgGaAb0BdQHjAa4B/wHtAesCAAHs
AXMBdAFLAfcB/wauAf8B7QESAgABbQHwA+8CBwIAAm0BDgQAAQ4B8AHvARwI9QHtARIBUgH/AqAB9wH/
Aa4C/wJ1Aa4B/wHtAesCAAGTA3QB7wH/Aa4BlAH/AZoBlAGuAf8B7QESAgABbQG8BO8BBwIAAREBBwHs
BAABDgG8Ae8B9wH1Bq4B9QHtARIBAAFSAv8B7wH/Aa4BlAH/AZoBlAGuAf8B7QHrAgABHAGZAcMBegHv
Af8C0wH/AZoC0wH/Ae0BEgIACG0BAAEPAewBDwQAAQ4BvALvAfUBrgGUAfUBmgGUAa4B9QHtARICAAJS
Ae8B/wHTBK4B0wH/Ae0B6wMAAhwBmgHvAf8G0wH/Ae0BEgIACQ4B6wGRAQ0EAAEOAfQB8AHvAfUC0wH1
AZoC0wH1Ae0BEgQAAe8B/wbTAf8B7QHrBAABmQF0AQcI/wHtARICAAEOAWUBkAG7BQkB9wFsAg4DAAMO
Ae8B9QbTAfUB7QESBAABBwj/Ae0B6wYAAgcD7wH3ARwD7Q4AAQ4HAAEHCPUB7QESBAACBwPvAfcBHAPt
CQACmRwAAgcD7wH3ARwD7f8AcgAB9wKuAW0BbAHqAmwEZjQAAfcF/wL0AxkBZgkACA4TAAH3Aq4BbQFs
AeoCbARmBAABtQL/ApMBmQEHAbsBtAIZA2YGAAEOAQAF7wH3AQ4DAAJzAesBbgFtAUoBEwEVAUMBEQEP
AQ4BDwMAAfcF/wL0AxkBZgQAAbUC/wGTAZoBegGfAZ4BuwH0AfMBZgEZAWYFAAEOAe8BAAHwAvEC8gG8
AQ4DAAFzAhwHMQJLAUQB7QIAAbUC/wKTAZkBBwG7AbQCGQNmAgABtQL/AbsBCAKfAX4BeQL0AWwBGQNm
AgABDgHvAQcBAAHwAvEC8gHwAQ4DAAHsAXoBHAGaA3oCWQFTAVIBMQFLAeoCAAG1Av8BkwGaAXoBnwGe
AbsB9AHzAWYBGQFmAgABtQL/AtsBCQEIAX4BeQH/AfQBbAHzAWYBGQFmAgABDgIAAe8BvAHwAvEB8gHw
AQ4DAAHtAXoBHAGZBXoCWQFTATEBRAHtAQABtQL/AbsBCAKfAX4BeQL0AWwBGQNmAQcK/wFsAfQBbAEZ
AWYCAAEOAfACBwK8AvAB8QG8AQ4DAAHtAZoBegEcAZoFegNZAUsBbQEAAbUC/wLbAQkBCAF+AXkB/wH0
AWwB8wFmARkBZgIHBLUB9wG1Au0CkQH0AWwB8wFmAgABDgHwAwcCvALwAbwBDgMAARwBmgF6ARwBmQd6
AVkBUgFKAe0BBwr/AWwB9AFsARkBZgG1Af8BBwr/AWwB9AFsAgABDgHwBAcCvAHwAbwBDgMAARwBmgGg
AXoBHAeaAnoBdAFtAgcEtQH3AbUC7QKRAfQBbAHzAWYBtQH/AgcEtQH3AbUC7QKRAfQBbAIAAQ4B8ALv
BAcBvAEHAQ4DAAEcA6AIHALtAewBcwIAAQcK/wFsAfQBbAEHA/8BBwr/AWwCAAEOAfAD7wUHAQ4DAAEc
BKABmgZ6AXMFAAIHBLUB9wG1Au0CkQH0AWwCBwK1AgcEtQH3AbUC7QKRAgABDgG8BO8EBwEOAwABHAGg
AcMDoAF6AxwC7QFzBwABBwr/AWwCAAEHCv8BbAH0AWwCAAEOAbwF7wMHAQ4DAAEcAZkCwwKgARwB7QwA
AgcEtQH3AbUC7QKRAgACBwS1AfcBtQLtApEB9AFsAgABDgH0A/ADvAIHAQ4EAAUcAe0dAAEHCv8BbAIA
Cw4nAAIHBLUB9wG1Au0CkeAAAUIBTQE+BwABPgMAASgDAAFAAwABQgMAAQEBAAEBBQABEAECFgAD/wEA
Av8GAAL/BgAC/wYAAYABAQYAAYABAQYAAYABAQYAAYABAQYAAYABAQYAAYABAQYAAYABAQYAAYABAQYA
AYABAQYAAYABAQYAAYABAQYAAYABAQYAAYABAwYAAYABBwYAAYABDwYAAYABHwYAAv8GAAL/BgAC/wYA
Gf8BwwL/AcABAQH+AX8B4AEBAfgBBwGAAQAB+AEfAcABAQHwAQcCAAHgAQcBgAEBAeABBwIAAcABAQHg
ASMBwAEHAgABgAEBAcABIwHAAQcCAAGAAQEBwAEjAcABBwIAAYABAAHAASMBwAEHAgABgAEAAcABIwHA
AgABAQGAAQABwAEjAcACAAEBAYABAAHAASMBwAIAAQEBgAEAAcABIwHAAQABgAEBAYABAAHAASMBwAEA
AcABAQHAAQABgAEBAcABAAHwAQEB4AEAAcABAQHAAQAB8AEBAfgBAQHgAQMB+AEAAfABAwH+AX8C/wH4
AQEu/wEAAQ8G/wEAAQ8B+AEHAv8BAAEPAQABAwHwAQcBAAEHAQABDwEAAQMB4AEHAQABAwEAAQMCAAHA
AQcBAAEDAQABAwIAAcABBwEAAQEEAAHAAQcBAAEBBAABwAEHBgABwAEHBgABwAEHAgABwAMAAcABBwEA
AQcBwAMAAcABBwEAAQcB8AEAAcABAAHAAQcBAAH/AfABAAHAAQABwAEHAYED/wHwAQABwAEHBP8B8AEA
HP8L
</value>
</data>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">