From a0898c4e9599caa9882dd0657542d42ea50e51b1 Mon Sep 17 00:00:00 2001
From: MaxED <j.maxed@gmail.com>
Date: Fri, 5 Dec 2014 14:33:31 +0000
Subject: [PATCH] Thing/Linedef/Sector Edit forms: added help button to action
 special selector. Cosmetic changes in Sector Info Panel and Thing Browser
 Control. ArgumentInfo: fixed a crash when enum specified in a game
 configuration doesn't exist. Updated Hexen and ZDoom linedef configs. Updated
 ZDoom_DECORATE.cfg

---
 .../Includes/Hexen_linedefs.cfg               | 142 +++-
 .../Configurations/Includes/ZDoom_common.cfg  |   3 +
 .../Includes/ZDoom_linedefs.cfg               | 406 +++++++---
 Build/Configurations/Includes/ZDoom_misc.cfg  |  63 +-
 Build/Scripting/ZDoom_DECORATE.cfg            |  17 +-
 Source/Core/Builder.csproj                    |   9 +
 Source/Core/Config/ArgumentInfo.cs            |  29 +-
 Source/Core/Config/GameConfiguration.cs       |   5 +-
 Source/Core/Config/LinedefActionInfo.cs       |   3 +
 .../ActionSpecialHelpButton.Designer.cs       |  58 ++
 .../Core/Controls/ActionSpecialHelpButton.cs  |  32 +
 .../Controls/ActionSpecialHelpButton.resx     | 120 +++
 Source/Core/Controls/SectorInfoPanel.cs       |  18 +-
 .../Controls/ThingBrowserControl.Designer.cs  |  47 +-
 Source/Core/Controls/ThingBrowserControl.cs   |   4 +-
 Source/Core/Controls/ThingBrowserControl.resx | 763 +++++++++---------
 Source/Core/General/General.cs                |   9 -
 .../Core/Windows/LinedefEditForm.Designer.cs  |  68 +-
 Source/Core/Windows/LinedefEditForm.cs        |   7 +-
 Source/Core/Windows/LinedefEditForm.resx      |  18 +
 .../Windows/LinedefEditFormUDMF.Designer.cs   |  16 +-
 Source/Core/Windows/LinedefEditFormUDMF.cs    |   2 +
 Source/Core/Windows/LinedefEditFormUDMF.resx  |   5 +-
 Source/Core/Windows/ThingEditForm.Designer.cs |  15 +-
 Source/Core/Windows/ThingEditForm.cs          |   7 +-
 Source/Core/Windows/ThingEditForm.resx        |   9 +
 .../Windows/ThingEditFormUDMF.Designer.cs     |  55 +-
 Source/Core/Windows/ThingEditFormUDMF.cs      |   7 +-
 28 files changed, 1293 insertions(+), 644 deletions(-)
 create mode 100644 Source/Core/Controls/ActionSpecialHelpButton.Designer.cs
 create mode 100644 Source/Core/Controls/ActionSpecialHelpButton.cs
 create mode 100644 Source/Core/Controls/ActionSpecialHelpButton.resx

diff --git a/Build/Configurations/Includes/Hexen_linedefs.cfg b/Build/Configurations/Includes/Hexen_linedefs.cfg
index 79336ed62..54fb25582 100644
--- a/Build/Configurations/Includes/Hexen_linedefs.cfg
+++ b/Build/Configurations/Includes/Hexen_linedefs.cfg
@@ -16,6 +16,7 @@ polyobj
 	1
 	{
 		title = "Polyobj Start Line";
+		id = "Polyobj_StartLine";
 		requiresactivation = false;
 		
 		arg0
@@ -37,6 +38,7 @@ polyobj
 	2
 	{
 		title = "Polyobj Rotate Left";
+		id = "Polyobj_RotateLeft";
 		
 		arg0
 		{
@@ -62,6 +64,7 @@ polyobj
 	3
 	{
 		title = "Polyobj Rotate Right";
+		id = "Polyobj_RotateRight";
 		
 		arg0
 		{
@@ -87,6 +90,7 @@ polyobj
 	4
 	{
 		title = "Polyobj Move";
+		id = "Polyobj_Move";
 		
 		arg0
 		{
@@ -118,6 +122,7 @@ polyobj
 	5
 	{
 		title = "Polyobj Explicit Line";
+		id = "Polyobj_ExplicitLine";
 		requiresactivation = false;
 		
 		arg0
@@ -144,6 +149,7 @@ polyobj
 	6
 	{
 		title = "Polyobj Move (* 8)";
+		id = "Polyobj_MoveTimes8";
 		
 		arg0
 		{
@@ -175,6 +181,7 @@ polyobj
 	7
 	{
 		title = "Polyobj Door Swing";
+		id = "Polyobj_DoorSwing";
 		
 		arg0
 		{
@@ -208,6 +215,7 @@ polyobj
 	8
 	{
 		title = "Polyobj Door Slide";
+		id = "Polyobj_DoorSlide";
 		
 		arg0
 		{
@@ -247,6 +255,7 @@ polyobj
 	90
 	{
 		title = "Polyobj Rotate Left (override)";
+		id = "Polyobj_OR_RotateLeft";
 		
 		arg0
 		{
@@ -272,6 +281,7 @@ polyobj
 	91
 	{
 		title = "Polyobj Rotate Right (override)";
+		id = "Polyobj_OR_RotateRight";
 		
 		arg0
 		{
@@ -297,6 +307,7 @@ polyobj
 	92
 	{
 		title = "Polyobj Move (override)";
+		id = "Polyobj_OR_Move";
 		
 		arg0
 		{
@@ -328,6 +339,7 @@ polyobj
 	93
 	{
 		title = "Polyobj Move (8mu, override)";
+		id = "Polyobj_OR_MoveTimes8";
 		
 		arg0
 		{
@@ -365,6 +377,7 @@ line
 	121
 	{
 		title = "Line Identification";
+		id = "Line_SetIdentification";
 		
 		arg0
 		{
@@ -381,6 +394,7 @@ door
 	10
 	{
 		title = "Door Close";
+		id = "Door_Close";
 		
 		arg0
 		{
@@ -406,6 +420,7 @@ door
 	11
 	{
 		title = "Door Open";
+		id = "Door_Open";
 		
 		arg0
 		{
@@ -431,6 +446,7 @@ door
 	12
 	{
 		title = "Door Raise";
+		id = "Door_Raise";
 		
 		arg0
 		{
@@ -464,6 +480,7 @@ door
 	13
 	{
 		title = "Door Locked Raise";
+		id = "Door_LockedRaise";
 		
 		arg0
 		{
@@ -510,6 +527,7 @@ floor
 	20
 	{
 		title = "Floor Lower by Value";
+		id = "Floor_LowerByValue";
 		
 		arg0
 		{
@@ -534,6 +552,7 @@ floor
 	21
 	{
 		title = "Floor Lower to Lowest Floor";
+		id = "Floor_LowerToLowest";
 		
 		arg0
 		{
@@ -553,6 +572,7 @@ floor
 	22
 	{
 		title = "Floor Lower to Nearest Floor";
+		id = "Floor_LowerToNearest";
 		
 		arg0
 		{
@@ -572,6 +592,7 @@ floor
 	23
 	{
 		title = "Floor Raise by Value";
+		id = "Floor_RaiseByValue";
 		
 		arg0
 		{
@@ -596,6 +617,7 @@ floor
 	24
 	{
 		title = "Floor Raise to Highest Floor";
+		id = "Floor_RaiseToHighest";
 		
 		arg0
 		{
@@ -615,6 +637,7 @@ floor
 	25
 	{
 		title = "Floor Raise to Nearest Floor";
+		id = "Floor_RaiseToNearest";
 		
 		arg0
 		{
@@ -634,6 +657,7 @@ floor
 	28
 	{
 		title = "Floor Crusher Start";
+		id = "Floor_RaiseAndCrush";
 		
 		arg0
 		{
@@ -658,6 +682,7 @@ floor
 	35
 	{
 		title = "Floor Raise by Value * 8";
+		id = "Floor_RaiseByValueTimes8";
 		
 		arg0
 		{
@@ -682,6 +707,7 @@ floor
 	36
 	{
 		title = "Floor Lower by Value * 8";
+		id = "Floor_LowerByValueTimes8";
 		
 		arg0
 		{
@@ -706,6 +732,7 @@ floor
 	46
 	{
 		title = "Floor Crusher Stop";
+		id = "Floor_CrushStop";
 		
 		arg0
 		{
@@ -717,6 +744,7 @@ floor
 	66
 	{
 		title = "Floor Lower Instantly by Value * 8";
+		id = "Floor_LowerInstant";
 		
 		arg0
 		{
@@ -733,6 +761,7 @@ floor
 	67
 	{
 		title = "Floor Raise Instantly by Value * 8";
+		id = "Floor_RaiseInstant";
 		
 		arg0
 		{
@@ -749,6 +778,7 @@ floor
 	68
 	{
 		title = "Floor Move to Value * 8";
+		id = "Floor_MoveToValueTimes8";
 		
 		arg0
 		{
@@ -780,6 +810,7 @@ floor
 	95
 	{
 		title = "Floor and Ceiling Lower by Value";
+		id = "FloorAndCeiling_LowerByValue";
 		
 		arg0
 		{
@@ -804,6 +835,7 @@ floor
 	96
 	{
 		title = "Floor and Ceiling Raise by Value";
+		id = "FloorAndCeiling_RaiseByValue";
 		
 		arg0
 		{
@@ -834,6 +866,7 @@ stairs
 	26
 	{
 		title = "Stairs Build Down";
+		id = "Stairs_BuildDown";
 		
 		arg0
 		{
@@ -874,6 +907,7 @@ stairs
 	27
 	{
 		title = "Stairs Build Up";
+		id = "Stairs_BuildUp";
 		
 		arg0
 		{
@@ -914,6 +948,7 @@ stairs
 	31
 	{
 		title = "Stairs Build Down (sync)";
+		id = "Stairs_BuildDownSync";
 		
 		arg0
 		{
@@ -946,6 +981,7 @@ stairs
 	32
 	{
 		title = "Stairs Build Up (sync)";
+		id = "Stairs_BuildUpSync";
 		
 		arg0
 		{
@@ -984,6 +1020,7 @@ pillar
 	29
 	{
 		title = "Pillar Build";
+		id = "Pillar_Build";
 		
 		arg0
 		{
@@ -1008,6 +1045,7 @@ pillar
 	30
 	{
 		title = "Pillar Open";
+		id = "Pillar_Open";
 		
 		arg0
 		{
@@ -1037,6 +1075,7 @@ pillar
 	94
 	{
 		title = "Pillar Build and Crush";
+		id = "Pillar_BuildAndCrush";
 		
 		arg0
 		{
@@ -1066,7 +1105,8 @@ ceiling
 	
 	40
 	{
-		title = "Ceiling Lower";
+		title = "Ceiling Lower by Value";
+		id = "Ceiling_LowerByValue";
 		
 		arg0
 		{
@@ -1077,17 +1117,22 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
 		{
-			title = "Movement Amount";
+			title = "Lower by";
+			default = 64;
 		}
 	}
 	
 	41
 	{
-		title = "Ceiling Raise";
+		title = "Ceiling Raise by Value";
+		id = "Ceiling_RaiseByValue";
 		
 		arg0
 		{
@@ -1098,17 +1143,22 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
 		{
-			title = "Movement Amount";
+			title = "Raise by";
+			default = 64;
 		}
 	}
 	
 	42
 	{
 		title = "Ceiling Crusher Start";
+		id = "Ceiling_CrushAndRaise";
 		
 		arg0
 		{
@@ -1119,17 +1169,22 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
 		{
 			title = "Crush Damage";
+			default = 100;
 		}
 	}
 	
 	43
 	{
 		title = "Ceiling Crush Once";
+		id = "Ceiling_LowerAndCrush";
 		
 		arg0
 		{
@@ -1140,17 +1195,22 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
 		{
 			title = "Crush Damage";
+			default = 100;
 		}
 	}
 	
 	44
 	{
 		title = "Ceiling Crusher Stop";
+		id = "Ceiling_CrushStop";
 		
 		arg0
 		{
@@ -1162,6 +1222,7 @@ ceiling
 	45
 	{
 		title = "Ceiling Crush Once and Open";
+		id = "Ceiling_CrushRaiseAndStay";
 		
 		arg0
 		{
@@ -1172,17 +1233,22 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
 		{
 			title = "Crush Damage";
+			default = 100;
 		}
 	}
 	
 	69
 	{
 		title = "Ceiling Move to Value * 8";
+		id = "Ceiling_MoveToValueTimes8";
 		
 		arg0
 		{
@@ -1193,6 +1259,9 @@ ceiling
 		arg1
 		{
 			title = "Movement Speed";
+			type = 11;
+			enum = "plat_speeds";
+			default = 16;
 		}
 		
 		arg2
@@ -1217,6 +1286,7 @@ platform
 	60
 	{
 		title = "Platform Perpetual Move";
+		id = "Plat_PerpetualRaise";
 		
 		arg0
 		{
@@ -1238,6 +1308,7 @@ platform
 	61
 	{
 		title = "Platform Stop";
+		id = "Plat_Stop";
 		
 		arg0
 		{
@@ -1249,6 +1320,7 @@ platform
 	62
 	{
 		title = "Platform Lower Wait Raise";
+		id = "Plat_DownWaitUpStay";
 		
 		arg0
 		{
@@ -1270,6 +1342,7 @@ platform
 	63
 	{
 		title = "Platform Lower by Value * 8";
+		id = "Plat_DownByValue";
 		
 		arg0
 		{
@@ -1296,6 +1369,7 @@ platform
 	64
 	{
 		title = "Platform Raise Wait Lower";
+		id = "Plat_UpWaitDownStay";
 		
 		arg0
 		{
@@ -1317,6 +1391,7 @@ platform
 	65
 	{
 		title = "Platform Raise by Value * 8";
+		id = "Plat_UpByValue";
 		
 		arg0
 		{
@@ -1349,6 +1424,7 @@ teleport
 	70
 	{
 		title = "Teleport";
+		id = "Teleport";
 		
 		arg0
 		{
@@ -1366,6 +1442,7 @@ teleport
 	71
 	{
 		title = "Teleport (silent)";
+		id = "Teleport_NoFog";
 		
 		arg0
 		{
@@ -1390,6 +1467,7 @@ teleport
 	74
 	{
 		title = "Teleport to Map";
+		id = "Teleport_NewMap";
 		
 		arg0
 		{
@@ -1411,6 +1489,7 @@ thing
 	72
 	{
 		title = "Thing Thrust";
+		id = "ThrustThing";
 		
 		arg0
 		{
@@ -1426,6 +1505,7 @@ thing
 	73
 	{
 		title = "Thing Damage";
+		id = "DamageThing";
 		
 		arg0
 		{
@@ -1436,6 +1516,7 @@ thing
 	130
 	{
 		title = "Thing Activate";
+		id = "Thing_Activate";
 		
 		arg0
 		{
@@ -1447,6 +1528,7 @@ thing
 	131
 	{
 		title = "Thing Deactivate";
+		id = "Thing_Deactivate";
 		
 		arg0
 		{
@@ -1458,6 +1540,7 @@ thing
 	132
 	{
 		title = "Thing Remove";
+		id = "Thing_Remove";
 		
 		arg0
 		{
@@ -1469,6 +1552,7 @@ thing
 	133
 	{
 		title = "Thing Destroy";
+		id = "Thing_Destroy";
 		
 		arg0
 		{
@@ -1495,6 +1579,7 @@ thing
 	134
 	{
 		title = "Thing Projectile";
+		id = "Thing_Projectile";
 		
 		arg0
 		{
@@ -1526,6 +1611,7 @@ thing
 	135
 	{
 		title = "Thing Spawn";
+		id = "Thing_Spawn";
 		
 		arg0
 		{
@@ -1547,6 +1633,7 @@ thing
 	136
 	{
 		title = "Thing Projectile with Gravity";
+		id = "Thing_ProjectileGravity";
 		
 		arg0
 		{
@@ -1578,6 +1665,7 @@ thing
 	137
 	{
 		title = "Thing Spawn (silent)";
+		id = "Thing_SpawnNoFog";
 		
 		arg0
 		{
@@ -1605,6 +1693,7 @@ end
 	75
 	{
 		title = "End Game";
+		id = "Teleport_EndGame";
 	}
 }
 
@@ -1616,6 +1705,7 @@ script
 	80
 	{
 		title = "Script Execute";
+		id = "ACS_Execute";
 		
 		arg0
 		{
@@ -1646,6 +1736,7 @@ script
 	81
 	{
 		title = "Script Suspend";
+		id = "ACS_Suspend";
 		
 		arg0
 		{
@@ -1661,6 +1752,7 @@ script
 	82
 	{
 		title = "Script Terminate";
+		id = "ACS_Terminate";
 		
 		arg0
 		{
@@ -1676,6 +1768,7 @@ script
 	83
 	{
 		title = "Script Locked Execute";
+		id = "ACS_LockedExecute";
 		
 		arg0
 		{
@@ -1712,6 +1805,7 @@ scroll
 	100
 	{
 		title = "Scroll Texture Left";
+		id = "Scroll_Texture_Left";
 		requiresactivation = false;
 		
 		arg0
@@ -1726,6 +1820,7 @@ scroll
 	101
 	{
 		title = "Scroll Texture Right";
+		id = "Scroll_Texture_Right";
 		requiresactivation = false;
 		
 		arg0
@@ -1740,6 +1835,7 @@ scroll
 	102
 	{
 		title = "Scroll Texture Up";
+		id = "Scroll_Texture_Up";
 		requiresactivation = false;
 		
 		arg0
@@ -1754,6 +1850,7 @@ scroll
 	103
 	{
 		title = "Scroll Texture Down";
+		id = "Scroll_Texture_Down";
 		requiresactivation = false;
 		
 		arg0
@@ -1773,7 +1870,8 @@ light
 	
 	110
 	{
-		title = "Light Raise";
+		title = "Light Raise by Value";
+		id = "Light_RaiseByValue";
 		
 		arg0
 		{
@@ -1783,13 +1881,14 @@ light
 		
 		arg1
 		{
-			title = "Lighting Amount";
+			title = "Raise by";
 		}
 	}
 	
 	111
 	{
-		title = "Light Lower";
+		title = "Light Lower by Value";
+		id = "Light_LowerByValue";
 		
 		arg0
 		{
@@ -1799,13 +1898,14 @@ light
 		
 		arg1
 		{
-			title = "Lighting Amount";
+			title = "Lower by";
 		}
 	}
 	
 	112
 	{
-		title = "Light Change";
+		title = "Light Change to Value";
+		id = "Light_ChangeToValue";
 		
 		arg0
 		{
@@ -1815,13 +1915,14 @@ light
 		
 		arg1
 		{
-			title = "Brightness Level";
+			title = "Target Brightness";
 		}
 	}
 	
 	113
 	{
 		title = "Light Fade";
+		id = "Light_Fade";
 		
 		arg0
 		{
@@ -1831,7 +1932,7 @@ light
 		
 		arg1
 		{
-			title = "Brightness Level";
+			title = "Target Brightness";
 		}
 		
 		arg2
@@ -1846,6 +1947,7 @@ light
 	114
 	{
 		title = "Light Glow";
+		id = "Light_Glow";
 		
 		arg0
 		{
@@ -1856,11 +1958,13 @@ light
 		arg1
 		{
 			title = "Brightest Level";
+			default = 255;
 		}
 		
 		arg2
 		{
 			title = "Darkest Level";
+			default = 128;
 		}
 		
 		arg3
@@ -1875,6 +1979,7 @@ light
 	115
 	{
 		title = "Light Flicker";
+		id = "Light_Flicker";
 		
 		arg0
 		{
@@ -1898,6 +2003,7 @@ light
 	116
 	{
 		title = "Light Strobe";
+		id = "Light_Strobe";
 		
 		arg0
 		{
@@ -1943,10 +2049,12 @@ earthquake
 	120
 	{
 		title = "Earthquake";
+		id = "Radius_Quake";
 		
 		arg0
 		{
-			title = "Intensity";
+			title = "Intensity (1-9)";
+			default = 2;
 		}
 		
 		arg1
@@ -1954,7 +2062,7 @@ earthquake
 			title = "Duration (tics)";
 			type = 11;
 			enum = "delay_tics";
-			default = 35;
+			default = 150;
 		}
 		
 		arg2
@@ -1971,7 +2079,7 @@ earthquake
 		
 		arg4
 		{
-			title = "Thing Tag";
+			title = "Focus Thing Tag";
 			type = 14;
 		}
 	}
@@ -1985,12 +2093,15 @@ use
 	129
 	{
 		title = "Use Puzzle Item";
+		id = "UsePuzzleItem";
 		
 		arg0
 		{
 			title = "Item Number";
+			type = 11;
+			enum = "puzzle_items";
 		}
-		
+
 		arg1
 		{
 			title = "Script Number";
@@ -2021,6 +2132,7 @@ sector
 	140
 	{
 		title = "Sector Change Sound";
+		id = "Sector_ChangeSound";
 		
 		arg0
 		{
diff --git a/Build/Configurations/Includes/ZDoom_common.cfg b/Build/Configurations/Includes/ZDoom_common.cfg
index 02ea9461e..a74f6b569 100644
--- a/Build/Configurations/Includes/ZDoom_common.cfg
+++ b/Build/Configurations/Includes/ZDoom_common.cfg
@@ -13,6 +13,9 @@ common
 	// Default testing parameters
 	testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" +map %L %NM";
 
+	// Action special help (mxd)
+	actionspecialhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
+
 	// Default nodebuilder configurations
 	defaultsavecompiler = "zdbsp_normal";
 	defaulttestcompiler = "zdbsp_fast";
diff --git a/Build/Configurations/Includes/ZDoom_linedefs.cfg b/Build/Configurations/Includes/ZDoom_linedefs.cfg
index c3adf8423..847a4a03c 100644
--- a/Build/Configurations/Includes/ZDoom_linedefs.cfg
+++ b/Build/Configurations/Includes/ZDoom_linedefs.cfg
@@ -11,42 +11,42 @@ doom
 		
 		270	// FraggleScript Execute
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "WR";
 		}
 		273
 		{
-			title = "FraggleScript Execute one-way (GZDoom only!)";
+			title = "FraggleScript Execute one-way (GZDoom only)";
 			prefix = "WR";
 		}
 		274
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "W1";
 		}
 		275
 		{
-			title = "FraggleScript Execute one-way (GZDoom only!)";
+			title = "FraggleScript Execute one-way (GZDoom only)";
 			prefix = "W1";
 		}
 		276
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "SR";
 		}
 		277
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "S1";
 		}
 		278
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "GR";
 		}
 		279
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
 			prefix = "G1";
 		}
 	}
@@ -465,6 +465,7 @@ zdoom
 		59
 		{
 			title = "Polyobj Move to Spot (override)";
+			id = "Polyobj_OR_MoveToSpot";
 			arg0
 			{
 				title = "Polyobj Number";
@@ -485,6 +486,7 @@ zdoom
 		86
 		{
 			title = "Polyobj Move to Spot";
+			id = "Polyobj_MoveToSpot";
 			arg0
 			{
 				title = "Polyobj Number";
@@ -505,6 +507,7 @@ zdoom
 		87
 		{
 			title = "Polyobj Stop";
+			id = "Polyobj_Stop";
 			arg0
 			{
 				title = "Polyobj Number";
@@ -513,6 +516,7 @@ zdoom
 		88
 		{
 			title = "Polyobj Move to";
+			id = "Polyobj_MoveTo";
 			arg0
 			{
 				title = "Polyobj Number";
@@ -536,6 +540,7 @@ zdoom
 		89
 		{
 			title = "Polyobj Move to (override)";
+			id = "Polyobj_OR_MoveTo";
 			arg0
 			{
 				title = "Polyobj Number";
@@ -565,6 +570,7 @@ zdoom
 		9
 		{
 			title = "Line Horizon";
+			id = "Line_Horizon";
 			requiresactivation = false;
 		}	
 		121	// Line Identification
@@ -592,6 +598,7 @@ zdoom
 		182
 		{
 			title = "Line Mirror";
+			id = "Line_Mirror";
 			requiresactivation = false;
 		}
 	}
@@ -601,6 +608,7 @@ zdoom
 		14
 		{
 			title = "Door Animated";
+			id = "Door_Animated";
 			
 			arg0
 			{
@@ -631,6 +639,7 @@ zdoom
 		202
 		{
 			title = "Door Generic";
+			id = "Generic_Door";
 			
 			arg0
 			{
@@ -668,6 +677,7 @@ zdoom
 		249
 		{
 			title = "Door Close Wait Open";
+			id = "Door_CloseWaitOpen";
 			
 			arg0
 			{
@@ -703,6 +713,7 @@ zdoom
 		15
 		{
 			title = "Autosave";
+			id = "Autosave";
 		}
 	}
 
@@ -720,6 +731,7 @@ zdoom
 		37
 		{
 			title = "Floor Move to Value";
+			id = "Floor_MoveToValue";
 			
 			arg0
 			{
@@ -748,6 +760,7 @@ zdoom
 		138
 		{
 			title = "Floor Waggle";
+			id = "Floor_Waggle";
 			
 			arg0
 			{
@@ -764,17 +777,21 @@ zdoom
 			}
 			arg3
 			{
-				title = "Phase Offset";
+				title = "Phase Offset (0-63)";
 			}
 			arg4
 			{
 				title = "Duration";
+				type = 11;
+				enum = "delay_seconds";
+				default = 5;
 			}
 		}
 		
 		200
 		{
 			title = "Floor Generic Change";
+			id = "Generic_Floor";
 			
 			arg0
 			{
@@ -817,6 +834,7 @@ zdoom
 		235
 		{
 			title = "Floor Transfer Trigger";
+			id = "Floor_TransferTrigger";
 			
 			arg0
 			{
@@ -827,6 +845,7 @@ zdoom
 		236
 		{
 			title = "Floor Transfer Numeric";
+			id = "Floor_TransferNumeric";
 			
 			arg0
 			{
@@ -837,6 +856,7 @@ zdoom
 		238
 		{
 			title = "Floor Raise to Lowest Ceiling";
+			id = "Floor_RaiseToLowestCeiling";
 			
 			arg0
 			{
@@ -854,6 +874,7 @@ zdoom
 		239
 		{
 			title = "Floor Raise by TxTy";
+			id = "Floor_RaiseByValueTxTy";
 			
 			arg0
 			{
@@ -869,13 +890,14 @@ zdoom
 			}
 			arg2
 			{
-				title = "Movement Amount";
+				title = "Raise by";
 			}
 		}
 		
 		240
 		{
 			title = "Floor Raise by Texture";
+			id = "Floor_RaiseByTexture";
 			
 			arg0
 			{
@@ -894,6 +916,7 @@ zdoom
 		241
 		{
 			title = "Floor Lower to Lowest TxTy";
+			id = "Floor_LowerToLowestTxTy";
 			
 			arg0
 			{
@@ -911,7 +934,8 @@ zdoom
 		
 		242
 		{
-			title = "Floor Lower to Highest";
+			title = "Floor Lower to Highest Floor";
+			id = "Floor_LowerToHighest";
 			
 			arg0
 			{
@@ -938,6 +962,7 @@ zdoom
 		250
 		{
 			title = "Floor Donut";
+			id = "Floor_Donut";
 			
 			arg0
 			{
@@ -963,6 +988,7 @@ zdoom
 		251
 		{
 			title = "Floor and Ceiling Lower and Raise";
+			id = "FloorAndCeiling_LowerRaise";
 			
 			arg0
 			{
@@ -991,6 +1017,7 @@ zdoom
 		204
 		{
 			title = "Stairs Generic Build";
+			id = "Generic_Stairs";
 			
 			arg0
 			{
@@ -1026,7 +1053,8 @@ zdoom
 		
 		217
 		{
-			title = "Stairs Build Doom";
+			title = "Stairs Build up Doom";
+			id = "Stairs_BuildUpDoom";
 			
 			arg0
 			{
@@ -1077,10 +1105,13 @@ zdoom
 		33
 		{
 			title = "Forcefield Set";
+			id = "ForceField";
+			requiresactivation = false;
 		}
 		34
 		{
 			title = "Forcefield Remove";
+			id = "ClearForceField";
 			
 			arg0
 			{
@@ -1098,6 +1129,7 @@ zdoom
 		38
 		{
 			title = "Ceiling Waggle";
+			id = "Ceiling_Waggle";
 			
 			arg0
 			{
@@ -1106,19 +1138,26 @@ zdoom
 			}
 			arg1
 			{
-				title = "Amplitude";
+				title = "Amplitude (in 1/8 mu.)";
+				default = 128;
 			}
 			arg2
 			{
 				title = "Frequency";
+				type = 11;
+				enum = "plat_speeds";
+				default = 16;
 			}
 			arg3
 			{
-				title = "Phase Offset";
+				title = "Phase Offset (0-63)";
 			}
 			arg4
 			{
 				title = "Duration";
+				type = 11;
+				enum = "delay_seconds";
+				default = 5;
 			}
 		}
 		42	// Ceiling Crusher Start
@@ -1144,6 +1183,8 @@ zdoom
 		97
 		{
 			title = "Ceiling Lower And Crush Dist";
+			id = "Ceiling_LowerAndCrushDist";
+			
 			arg0
 			{
 				title = "Sector Tag";
@@ -1180,6 +1221,8 @@ zdoom
 		104
 		{
 			title = "Ceiling Crush And Raise Dist";
+			id = "Ceiling_CrushAndRaiseSilentDist";
+			
 			arg0
 			{
 				title = "Sector Tag";
@@ -1224,7 +1267,8 @@ zdoom
 		}
 		47
 		{
-			title = "Ceiling Move";
+			title = "Ceiling Move to Value";
+			id = "Ceiling_MoveToValue";
 			
 			arg0
 			{
@@ -1240,7 +1284,7 @@ zdoom
 			}
 			arg2
 			{
-				title = "Movement Amount";
+				title = "Target Height";
 			}
 			arg3
 			{
@@ -1252,6 +1296,7 @@ zdoom
 		169
 		{
 			title = "Ceiling Generic Crush Hexen Mode";
+			id = "Generic_Crusher2";
 			
 			arg0
 			{
@@ -1286,6 +1331,7 @@ zdoom
 		192
 		{
 			title = "Ceiling Lower to Highest Floor";
+			id = "Ceiling_LowerToHighestFloor";
 			
 			arg0
 			{
@@ -1303,6 +1349,7 @@ zdoom
 		193
 		{
 			title = "Ceiling Lower Instantly by Value * 8";
+			id = "Ceiling_LowerInstant";
 			
 			arg0
 			{
@@ -1317,6 +1364,7 @@ zdoom
 		194
 		{
 			title = "Ceiling Raise Instantly by Value * 8";
+			id = "Ceiling_RaiseInstant";
 			
 			arg0
 			{
@@ -1331,6 +1379,7 @@ zdoom
 		195
 		{
 			title = "Ceiling Crush Once and Open A";
+			id = "Ceiling_CrushRaiseAndStayA";
 			
 			arg0
 			{
@@ -1366,6 +1415,7 @@ zdoom
 		196
 		{
 			title = "Ceiling Crush Start A";
+			id = "Ceiling_CrushAndRaiseA";
 			
 			arg0
 			{
@@ -1401,6 +1451,7 @@ zdoom
 		197
 		{
 			title = "Ceiling Crush Start A (silent)";
+			id = "Ceiling_CrushAndRaiseSilentA";
 			
 			arg0
 			{
@@ -1436,6 +1487,7 @@ zdoom
 		198
 		{
 			title = "Ceiling Raise by Value * 8";
+			id = "Ceiling_RaiseByValueTimes8";
 			
 			arg0
 			{
@@ -1457,6 +1509,7 @@ zdoom
 		199
 		{
 			title = "Ceiling Lower by Value * 8";
+			id = "Ceiling_LowerByValueTimes8";
 			
 			arg0
 			{
@@ -1479,6 +1532,7 @@ zdoom
 		201
 		{
 			title = "Ceiling Generic Change";
+			id = "Generic_Ceiling";
 			
 			arg0
 			{
@@ -1520,6 +1574,7 @@ zdoom
 		205
 		{
 			title = "Ceiling Generic Crush";
+			id = "Generic_Crusher";
 			
 			arg0
 			{
@@ -1554,6 +1609,7 @@ zdoom
 		252
 		{
 			title = "Ceiling Raise to Nearest Ceiling";
+			id = "Ceiling_RaiseToNearest";
 			
 			arg0
 			{
@@ -1571,6 +1627,7 @@ zdoom
 		253
 		{
 			title = "Ceiling Lower to Lowest Floor";
+			id = "Ceiling_LowerToLowest";
 			
 			arg0
 			{
@@ -1588,6 +1645,7 @@ zdoom
 		254
 		{
 			title = "Ceiling Lower to Floor";
+			id = "Ceiling_LowerToFloor";
 			
 			arg0
 			{
@@ -1605,6 +1663,7 @@ zdoom
 		255
 		{
 			title = "Ceiling Crush Once and Open A (silent)";
+			id = "Ceiling_CrushRaiseAndStaySilA";
 			
 			arg0
 			{
@@ -1645,6 +1704,14 @@ zdoom
 		49
 		{
 			title = "Breakable Glass";
+			id = "GlassBreak";
+			
+			arg0
+			{
+				title = "Spawn Glass Shards";
+				type = 11;
+				enum = "yesno";
+			}
 		}
 	}
 
@@ -1655,6 +1722,7 @@ zdoom
 		50
 		{
 			title = "Transfer Brightness Level";
+			id = "ExtraFloor_LightOnly";
 			requiresactivation = false;
 			
 			arg0
@@ -1677,6 +1745,7 @@ zdoom
 		209
 		{
 			title = "Transfer Heights";
+			id = "Transfer_Heights";
 			requiresactivation = false;
 			
 			arg0
@@ -1703,6 +1772,7 @@ zdoom
 		210
 		{
 			title = "Transfer Floor Brightness";
+			id = "Transfer_FloorLight";
 			requiresactivation = false;
 			
 			arg0
@@ -1714,6 +1784,7 @@ zdoom
 		211
 		{
 			title = "Transfer Ceiling Brightness";
+			id = "Transfer_CeilingLight";
 			requiresactivation = false;
 			
 			arg0
@@ -1725,6 +1796,7 @@ zdoom
 		16
 		{
 			title = "Transfer Wall Brightness";
+			id = "Transfer_WallLight";
 			requiresactivation = false;
 			
 			arg0
@@ -1752,6 +1824,7 @@ zdoom
 		172
 		{
 			title = "Platform Raise to Nearest Wait Lower";
+			id = "Plat_UpNearestWaitDownStay";
 			
 			arg0
 			{
@@ -1773,6 +1846,7 @@ zdoom
 		203
 		{
 			title = "Platform Generic Change";
+			id = "Generic_Lift";
 			
 			arg0
 			{
@@ -1804,6 +1878,7 @@ zdoom
 		206
 		{
 			title = "Platform Lower Wait Raise (lip)";
+			id = "Plat_DownWaitUpStayLip";
 			
 			arg0
 			{
@@ -1835,6 +1910,7 @@ zdoom
 		207
 		{
 			title = "Platform Perpetual Move (lip)";
+			id = "Plat_PerpetualRaiseLip";
 			
 			arg0
 			{
@@ -1860,6 +1936,7 @@ zdoom
 		228
 		{
 			title = "Platform Raise Tx0";
+			id = "Plat_RaiseAndStayTx0";
 			
 			arg0
 			{
@@ -1873,10 +1950,22 @@ zdoom
 				enum = "plat_speeds";
 				default = 16;
 			}
+			arg2
+			{
+				title = "Lockout Mode";
+				type = 11;
+				enum
+				{
+					0 = "Lockout in Heretic only";
+					1 = "Don't lockout";
+					2 = "Lockout in all games";
+				}
+			}
 		}
 		230
 		{
 			title = "Platform Raise by Value Tx (* 8)";
+			id = "Plat_UpByValueStayTx";
 			
 			arg0
 			{
@@ -1898,6 +1987,7 @@ zdoom
 		231
 		{
 			title = "Platform Toggle Ceiling";
+			id = "Plat_ToggleCeiling";
 			
 			arg0
 			{
@@ -1914,6 +2004,7 @@ zdoom
 		39
 		{
 			title = "Teleport to Pain State (silent)";
+			id = "Teleport_ZombieChanger";
 			
 			arg0
 			{
@@ -1947,6 +2038,7 @@ zdoom
 		76
 		{
 			title = "Teleport Other";
+			id = "TeleportOther";
 			
 			arg0
 			{
@@ -1968,6 +2060,7 @@ zdoom
 		77
 		{
 			title = "Teleport Group";
+			id = "TeleportGroup";
 			
 			arg0
 			{
@@ -2000,6 +2093,7 @@ zdoom
 		78
 		{
 			title = "Teleport in sector";
+			id = "TeleportInSector";
 			
 			arg0
 			{
@@ -2031,6 +2125,7 @@ zdoom
 		154
 		{
 			title = "Teleport (No Stop)";
+			id = "Teleport_NoStop";
 			
 			arg0
 			{
@@ -2052,6 +2147,7 @@ zdoom
 		215
 		{
 			title = "Teleport to Line";
+			id = "Teleport_Line";
 			
 			arg1
 			{
@@ -2072,6 +2168,7 @@ zdoom
 		17
 		{
 			title = "Thing Raise";
+			id = "Thing_Raise";
 			
 			arg0
 			{
@@ -2081,7 +2178,8 @@ zdoom
 		}
 		18
 		{
-			title = "Thing Start Converstation";
+			title = "Start Converstation";
+			id = "StartConversation";
 			
 			arg0
 			{
@@ -2099,6 +2197,7 @@ zdoom
 		19
 		{
 			title = "Thing Stop";
+			id = "Thing_Stop";
 			
 			arg0
 			{
@@ -2108,7 +2207,8 @@ zdoom
 		}
 		79
 		{
-			title = "Thing Set Conversation";
+			title = "Set Conversation";
+			id = "Thing_SetConversation";
 			arg0
 			{
 				title = "Thing Tag";
@@ -2122,6 +2222,7 @@ zdoom
 		119
 		{
 			title = "Thing Damage";
+			id = "Thing_Damage";
 			
 			arg0
 			{
@@ -2142,6 +2243,7 @@ zdoom
 		125
 		{
 			title = "Thing Move";
+			id = "Thing_Move";
 			
 			arg0
 			{
@@ -2157,6 +2259,7 @@ zdoom
 		127
 		{
 			title = "Thing Set Special";
+			id = "Thing_SetSpecial";
 			
 			arg0
 			{
@@ -2184,6 +2287,7 @@ zdoom
 		128
 		{
 			title = "Thing Thrust Z";
+			id = "ThrustThingZ";
 			
 			arg0
 			{
@@ -2242,6 +2346,7 @@ zdoom
 		139
 		{
 			title = "Thing Spawn Facing";
+			id = "Thing_SpawnFacing";
 			
 			arg0
 			{
@@ -2269,6 +2374,7 @@ zdoom
 		175
 		{
 			title = "Thing Projectile Intercept";
+			id = "Thing_ProjectileIntercept";
 			
 			arg0
 			{
@@ -2299,6 +2405,7 @@ zdoom
 		176
 		{
 			title = "Change Thing Tag";
+			id = "Thing_ChangeTID";
 			
 			arg0
 			{
@@ -2314,6 +2421,7 @@ zdoom
 		177
 		{
 			title = "Thing Hate";
+			id = "Thing_Hate";
 			
 			arg0
 			{
@@ -2344,6 +2452,7 @@ zdoom
 		178
 		{
 			title = "Thing Aimed Projectile";
+			id = "Thing_ProjectileAimed";
 			
 			arg0
 			{
@@ -2374,6 +2483,7 @@ zdoom
 		180
 		{
 			title = "Thing Set Translation";
+			id = "Thing_SetTranslation";
 			
 			arg0
 			{
@@ -2388,6 +2498,7 @@ zdoom
 		229
 		{
 			title = "Thing Goal";
+			id = "Thing_SetGoal";
 			
 			arg0
 			{
@@ -2412,7 +2523,8 @@ zdoom
 		}
 		248
 		{
-			title = "Thing Heal";
+			title = "Heal Thing";
+			id = "HealThing";
 			
 			arg0
 			{
@@ -2437,6 +2549,7 @@ zdoom
 		84
 		{
 			title = "Script Execute with Result";
+			id = "ACS_ExecuteWithResult";
 			
 			arg0
 			{
@@ -2462,6 +2575,7 @@ zdoom
 		85
 		{
 			title = "Script Locked Execute (Door message)";
+			id = "ACS_LockedExecuteDoor";
 			
 			arg0
 			{
@@ -2492,7 +2606,8 @@ zdoom
 		}
 		158
 		{
-			title = "FraggleScript Execute (GZDoom only!)";
+			title = "FraggleScript Execute (GZDoom only)";
+			id = "FS_Execute";
 			
 			arg0
 			{
@@ -2526,6 +2641,7 @@ zdoom
 		226
 		{
 			title = "Script Execute Always";
+			id = "ACS_ExecuteAlways";
 			
 			arg0
 			{
@@ -2559,6 +2675,7 @@ zdoom
 		243
 		{
 			title = "End Normal";
+			id = "Exit_Normal";
 			
 			arg0
 			{
@@ -2568,6 +2685,7 @@ zdoom
 		244
 		{
 			title = "End Secret";
+			id = "Exit_Secret";
 			
 			arg0
 			{
@@ -2583,6 +2701,8 @@ zdoom
 		52
 		{
 			title = "Scroll Wall";
+			id = "Scroll_Wall";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -2659,6 +2779,8 @@ zdoom
 		221
 		{
 			title = "Scroll Texture Both";
+			id = "Scroll_Texture_Both";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -2697,12 +2819,9 @@ zdoom
 		222
 		{
 			title = "Scroll Texture Model";
+			id = "Scroll_Texture_Model";
+			requiresactivation = false;
 			
-			arg0
-			{
-				title = "Line Tag";
-				type = 15;
-			}
 			arg1
 			{
 				title = "Options";
@@ -2718,6 +2837,8 @@ zdoom
 		223
 		{
 			title = "Scroll Floor";
+			id = "Scroll_Floor";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -2764,6 +2885,8 @@ zdoom
 		224
 		{
 			title = "Scroll Ceiling";
+			id = "Scroll_Ceiling";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -2810,6 +2933,15 @@ zdoom
 		225
 		{
 			title = "Scroll Texture by Offsets";
+			id = "Scroll_Texture_Offsets";
+			requiresactivation = false;
+			
+			arg0
+			{
+				title = "Sidedef part";
+				type = 12;
+				enum = "sidedef_part";
+			}
 		}
 	}
 
@@ -2819,6 +2951,7 @@ zdoom
 		109
 		{
 			title = "Lightning control";
+			id = "Light_ForceLightning";
 			
 			arg0
 			{
@@ -2835,6 +2968,7 @@ zdoom
 		117
 		{
 			title = "Light Stop";
+			id = "Light_Stop";
 			
 			arg0
 			{
@@ -2845,6 +2979,7 @@ zdoom
 		232
 		{
 			title = "Light Strobe Doom";
+			id = "Light_StrobeDoom";
 			
 			arg0
 			{
@@ -2853,16 +2988,23 @@ zdoom
 			}
 			arg1
 			{
-				title = "Brightest Duration";
+				title = "Brightest Duration (tics)";
+				type = 11;
+				enum = "delay_tics";
+				default = 35;
 			}
 			arg2
 			{
-				title = "Darkest Duration";
+				title = "Darkest Duration (tics)";
+				type = 11;
+				enum = "delay_tics";
+				default = 35;
 			}
 		}
 		233
 		{
 			title = "Light Change to Darkest";
+			id = "Light_MinNeighbor";
 			
 			arg0
 			{
@@ -2873,6 +3015,7 @@ zdoom
 		234
 		{
 			title = "Light Change to Brightest";
+			id = "Light_MaxNeighbor";
 			
 			arg0
 			{
@@ -2882,69 +3025,6 @@ zdoom
 		}
 	}
 
-	earthquake
-	{
-		title = "Earthquake";
-		
-		120
-		{
-			title = "Earthquake";
-			
-			arg0
-			{
-				title = "Intensity";
-			}
-			arg1
-			{
-				title = "Duration";
-			}
-			arg2
-			{
-				title = "Damage Radius";
-			}
-			arg3
-			{
-				title = "Tremor Radius";
-			}
-			arg4
-			{
-				title = "Thing Tag";
-				type = 14;
-			}
-		}
-	}
-
-	use
-	{
-		title = "Use";
-		
-		129
-		{
-			title = "Use Puzzle Item";
-			
-			arg0
-			{
-				title = "Item Number";
-			}
-			arg1
-			{
-				title = "Script Number";
-			}
-			arg2
-			{
-				title = "Script Argument 1";
-			}
-			arg3
-			{
-				title = "Script Argument 2";
-			}
-			arg4
-			{
-				title = "Script Argument 3";
-			}
-		}
-	}
-
 	sector
 	{
 		title = "Sector";
@@ -2952,6 +3032,7 @@ zdoom
 		48
 		{
 			title = "Sector Attach 3D Midtex";
+			id = "Sector_Attach3dMidtex";
 			requiresactivation = false;
 			
 			arg0
@@ -2974,6 +3055,7 @@ zdoom
 		51
 		{
 			title = "Sector Set Link";
+			id = "Sector_SetLink";
 			
 			arg0
 			{
@@ -2997,8 +3079,8 @@ zdoom
 				type = 12;
 				enum
 				{
-					1 = "Link Tgt's floor to 'surface'";
-					2 = "Link Tgt's ceiling to 'surface'";
+					1 = "Link Target's floor to 'surface'";
+					2 = "Link Target's ceiling to 'surface'";
 					4 = "Floor move at opposite (need bit1)";
 					8 = "Ceiling move at opposite (need bit2)";
 				}
@@ -3007,8 +3089,10 @@ zdoom
 		
 		98
 		{
-		title = "Sector Set Translucent";
-		arg0
+			title = "Sector Set Translucent";
+			id = "Sector_SetTranslucent";
+			
+			arg0
 			{
 				title = "Sector Tag";
 				type = 13;
@@ -3039,6 +3123,7 @@ zdoom
 		54
 		{
 			title = "Sector Change Flags";
+			id = "Sector_ChangeFlags";
 			
 			arg0
 			{
@@ -3061,6 +3146,8 @@ zdoom
 		57
 		{
 			title = "Sector Set Portal";
+			id = "Sector_SetPortal";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -3077,7 +3164,7 @@ zdoom
 					1 = "Copy portal from second tag";
 					2 = "Eternity-style skybox portal";
 				}
-			}		
+			}
 			arg2
 			{
 				title = "Floor / Ceiling";
@@ -3090,12 +3177,14 @@ zdoom
 			}
 			arg4
 			{
-				title = "Translucency";
+				title = "Opacity";
 			}
 		}
 		58
 		{
 			title = "Sector Copy Scroller";
+			id = "Sector_CopyScroller";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -3117,6 +3206,7 @@ zdoom
 		160
 		{
 			title = "Sector 3D Floor (OpenGL only)";
+			id = "Sector_Set3dFloor";
 			requiresactivation = false;
 			
 			arg0
@@ -3169,6 +3259,7 @@ zdoom
 		161
 		{
 			title = "Sector Set Contents (Vavoom compatibility)";
+			id = "Sector_SetContents";
 			
 			arg0
 			{
@@ -3208,6 +3299,7 @@ zdoom
 		185
 		{
 			title = "Sector Rotate Flat";
+			id = "Sector_SetRotation";
 			
 			arg0
 			{
@@ -3228,6 +3320,7 @@ zdoom
 		186
 		{
 			title = "Sector Ceiling Panning";
+			id = "Sector_SetCeilingPanning";
 			
 			arg0
 			{
@@ -3254,6 +3347,7 @@ zdoom
 		187
 		{
 			title = "Sector Floor Panning";
+			id = "Sector_SetFloorPanning";
 			
 			arg0
 			{
@@ -3280,6 +3374,7 @@ zdoom
 		188
 		{
 			title = "Sector Ceiling Scale";
+			id = "Sector_SetCeilingScale";
 			
 			arg0
 			{
@@ -3306,6 +3401,7 @@ zdoom
 		189
 		{
 			title = "Sector Floor Scale";
+			id = "Sector_SetFloorScale";
 			
 			arg0
 			{
@@ -3332,6 +3428,7 @@ zdoom
 		212
 		{
 			title = "Sector Color";
+			id = "Sector_SetColor";
 			
 			arg0
 			{
@@ -3350,10 +3447,15 @@ zdoom
 			{
 				title = "Blue";
 			}
+			arg4
+			{
+				title = "Desaturation";
+			}
 		}
 		213
 		{
 			title = "Sector Fade";
+			id = "Sector_SetFade";
 			
 			arg0
 			{
@@ -3376,6 +3478,7 @@ zdoom
 		214
 		{
 			title = "Sector Damage";
+			id = "Sector_SetDamage";
 			
 			arg0
 			{
@@ -3396,6 +3499,7 @@ zdoom
 		216
 		{
 			title = "Sector Gravity";
+			id = "Sector_SetGravity";
 			
 			arg0
 			{
@@ -3415,6 +3519,7 @@ zdoom
 		218
 		{
 			title = "Sector Wind";
+			id = "Sector_SetWind";
 			
 			arg0
 			{
@@ -3428,15 +3533,20 @@ zdoom
 			arg2
 			{
 				title = "Wind Angle";
+				type = 8;
 			}
 			arg3
 			{
-				title = "Line Vector";
+				title = "Use Line Vector";
+				type = 11;
+				enum = "noyes";
 			}
 		}
 		219
 		{
 			title = "Sector Friction";
+			id = "Sector_SetFriction";
+			requiresactivation = false;
 			
 			arg0
 			{
@@ -3452,6 +3562,7 @@ zdoom
 		220
 		{
 			title = "Sector Current";
+			id = "Sector_SetCurrent";
 			
 			arg0
 			{
@@ -3465,10 +3576,13 @@ zdoom
 			arg2
 			{
 				title = "Current Angle";
+				type = 8;
 			}
 			arg3
 			{
-				title = "Line Vector";
+				title = "Use Line Vector";
+				type = 11;
+				enum = "noyes";
 			}
 		}
 	}
@@ -3480,6 +3594,7 @@ zdoom
 		173
 		{
 			title = "Alert monsters";
+			id = "NoiseAlert";
 			
 			arg0
 			{
@@ -3501,6 +3616,7 @@ zdoom
 		174
 		{
 			title = "Communicator message";
+			id = "SendToCommunicator";
 			
 			arg0
 			{
@@ -3533,7 +3649,8 @@ zdoom
 		
 		157
 		{
-			title = "Set Global Fog Parameter (GZDoom only!)";
+			title = "Set Global Fog Parameter (GZDoom only)";
+			id = "SetGlobalFogParameter";
 			
 			arg0
 			{
@@ -3554,10 +3671,20 @@ zdoom
 		179
 		{
 			title = "Change Skill";
+			id = "ChangeSkill";
 			
 			arg0
 			{
 				title = "New Skill Level";
+				type = 11;
+				enum 
+				{
+					0 = "Very Easy";
+					1 = "Easy";
+					2 = "Normal";
+					3 = "Hard";
+					4 = "Nightmare!";
+				}
 			}
 		}
 	}
@@ -3569,6 +3696,7 @@ zdoom
 		118
 		{
 			title = "Plane Copy (slope)";
+			id = "Plane_Copy";
 			
 			arg0
 			{
@@ -3592,7 +3720,7 @@ zdoom
 			}
 			arg4
 			{
-				title = "Share slope";
+				title = "Share Slope";
 				type = 12;
 				enum
 				{
@@ -3606,6 +3734,7 @@ zdoom
 		159
 		{
 			title = "Plane Reflection (OpenGL only)";
+			id = "Sector_SetPlaneReflection";
 			
 			arg0
 			{
@@ -3614,16 +3743,17 @@ zdoom
 			}
 			arg1
 			{
-				title = "Floor reflectiveness";
+				title = "Floor Reflectiveness";
 			}
 			arg2
 			{
-				title = "Ceiling reflectiveness";
+				title = "Ceiling Reflectiveness";
 			}
 		}
 		181
 		{
 			title = "Plane Align (slope)";
+			id = "Plane_Align";
 			
 			arg0
 			{
@@ -3657,6 +3787,7 @@ zdoom
 		190
 		{
 			title = "Static Init";
+			id = "Static_Init";
 			
 			arg0
 			{
@@ -3666,10 +3797,23 @@ zdoom
 			arg1
 			{
 				title = "Property";
+				type = 11;
+				enum
+				{
+					0 = "Set the gravity to the length of the linedef";
+					1 = "Set the light or fog color in a sector";
+					2 = "Set damage to the length of the linedef";
+					3 = "Define a sector link";
+					255 = "Use the line's upper texture as the sky in any tagged sectors";
+				}
 			}
 			arg2
 			{
-				title = "Flip Sky";
+				title = "Flip Sky / Ceiling";
+			}
+			arg3
+			{
+				title = "Movement Type";
 			}
 		}
 	}
@@ -3678,7 +3822,7 @@ zdoom
 	{
 		title = "Player";
 		
-		145
+		/*145
 		{
 			title = "Player Set Team (Zandronum only)";
 			arg0
@@ -3687,27 +3831,46 @@ zdoom
 				type = 11;
 				enum = "teams";
 			}
-		}
+		}*/
 		191
 		{
-			title = "Player Property";
+			title = "Set Player Property";
+			id = "SetPlayerProperty";
 			
 			arg0
 			{
-				title = "Everyone";
+				title = "Target";
+				type = 11;
+				enum
+				{
+					0 = "Activator";
+					1 = "Everyone";
+				}
 			}
 			arg1
 			{
-				title = "Toggle";
+				title = "Enable";
+				type = 11;
+				enum = "noyes";
 			}
 			arg2
 			{
 				title = "Property";
+				type = 11;
+				enum
+				{
+					0 = "PROP_FROZEN";
+					1 = "PROP_NOTARGET";
+					2 = "PROP_INSTANTWEAPONSWITCH";
+					3 = "PROP_FLY";
+					4 = "PROP_TOTALLYFROZEN";
+					16 = "PROP_BUDDHA";
+				}
 			}
 		}
 	}
 
-	team
+	/*team
 	{
 		title = "Team";
 		
@@ -3739,7 +3902,7 @@ zdoom
 				enum = "noyes";
 			}
 		}
-	}
+	}*/
 
 	translucent
 	{
@@ -3748,6 +3911,8 @@ zdoom
 		208
 		{
 			title = "Translucent Line";
+			id = "TranslucentLine";
+			requiresactivation = false;
 			
 			arg1
 			{
@@ -3769,6 +3934,7 @@ zdoom
 		227
 		{
 			title = "Point Pusher and Puller Force";
+			id = "PointPush_SetForce";
 			
 			arg0
 			{
@@ -3786,7 +3952,9 @@ zdoom
 			}
 			arg3
 			{
-				title = "Line Vector";
+				title = "Use Line Vector";
+				type = 11;
+				enum = "noyes";
 			}
 		}
 	}
@@ -3797,7 +3965,8 @@ zdoom
 		
 		237
 		{
-			title = "Camera Change";
+			title = "Change Camera";
+			id = "ChangeCamera";
 			
 			arg0
 			{
@@ -3806,13 +3975,17 @@ zdoom
 			}
 			arg1
 			{
-				title = "Everyone";
+				title = "Target";
 				type = 11;
-				enum = "noyes";
+				enum
+				{
+					0 = "Activator";
+					1 = "Everyone";
+				}
 			}
 			arg2
 			{
-				title = "Movement Resets";
+				title = "Movement Cancels";
 				type = 11;
 				enum = "noyes";
 			}
@@ -3826,6 +3999,7 @@ zdoom
 		245
 		{
 			title = "Elevator Raise to Nearest Floor";
+			id = "Elevator_RaiseToNearest";
 			
 			arg0
 			{
@@ -3843,6 +4017,7 @@ zdoom
 		246
 		{
 			title = "Elevator Raise to Activated Floor";
+			id = "Elevator_MoveToFloor";
 			
 			arg0
 			{
@@ -3860,6 +4035,7 @@ zdoom
 		247
 		{
 			title = "Elevator Lower to Nearest Floor";
+			id = "Elevator_LowerToNearest";
 			
 			arg0
 			{
diff --git a/Build/Configurations/Includes/ZDoom_misc.cfg b/Build/Configurations/Includes/ZDoom_misc.cfg
index b9c7037bb..3e72c8713 100644
--- a/Build/Configurations/Includes/ZDoom_misc.cfg
+++ b/Build/Configurations/Includes/ZDoom_misc.cfg
@@ -127,14 +127,14 @@ thingflagscompare_udmf
 		skill6;
 		skill7;
 		skill8; 
-    skill9;
-    skill10;
-    skill11;
-    skill12;
-    skill13;
-    skill14;
-    skill15;
-    skill16;
+		skill9;
+		skill10;
+		skill11;
+		skill12;
+		skill13;
+		skill14;
+		skill15;
+		skill16;
 	}
 
 	classes {
@@ -143,12 +143,12 @@ thingflagscompare_udmf
 		class6;
 		class7;
 		class8;
-    class9;
+		class9;
 		class10;
 		class11;
 		class12;
 		class13;
-    class14;
+		class14;
 		class15;
 		class16;
 	}
@@ -541,9 +541,9 @@ enums
 	sector_flags
 	{
 		1 = "Silent";
-		2 = "No Falling Damage";
-		4 = "Drop with floor";
-		8 = "No Respawn";
+		2 = "No falling damage";
+		4 = "Actors drop with floor";
+		8 = "No respawn";
 	}
 
 	delays
@@ -705,6 +705,7 @@ enums
 		25 = "Disintegration";
 		26 = "Poison";
 		27 = "Electricity";
+		1000 = "Massacre!";
 	}
 	
 	teams
@@ -734,6 +735,21 @@ enums
 		350 = "350: 10 Seconds";
 	}
 
+	delay_seconds
+	{
+		0 = "Forever";
+		1 = "1 Second";
+		2 = "2 Seconds";
+		3 = "3 Seconds";
+		5 = "5 Seconds";
+		10 = "10 Seconds";
+		15 = "15 Seconds";
+		20 = "20 Seconds";
+		25 = "25 Seconds";
+		30 = "30 Seconds";
+		60 = "1 Minute";
+	}
+
 	reset_tics
 	{
 		0 = "0: Never";
@@ -1156,6 +1172,27 @@ enums_hexen
 		130 = "Blood";
 		133 = "Icon of the Defender";
 	}
+
+	puzzle_items
+	{
+		0 = "Yorick's skull";
+		1 = "Heart of D'Sparil";
+		2 = "Ruby Planet";
+		3 = "Emerald Planet (1)";
+		4 = "Emerald Planet (2)";
+		5 = "Sapphire Planet (1)";
+		6 = "Sapphire Planet (2)";
+		7 = "Daemon Codex";
+		8 = "Liber Obscura";
+		9 = "Flame Mask";
+		10 = "Glaive Seal";
+		11 = "Holy Relic";
+		12 = "Sigil of the Magus";
+		13 = "Iron gear";
+		14 = "Brass gear";
+		15 = "Brass and iron gear";
+		16 = "Silver and brass gear";
+	}
 }
 
 enums_strife
diff --git a/Build/Scripting/ZDoom_DECORATE.cfg b/Build/Scripting/ZDoom_DECORATE.cfg
index be03b563e..cc5c34f7b 100644
--- a/Build/Scripting/ZDoom_DECORATE.cfg
+++ b/Build/Scripting/ZDoom_DECORATE.cfg
@@ -45,9 +45,9 @@ keywords
 	A_Look = "A_Look";
 	A_Look2 = "A_Look2";
 	A_LookEx = "A_LookEx(int flags, fixed minseedist, fixed maxseedist, fixed maxheardist, fixed fov, state seestate)";
-	A_RaiseChildren = "A_RaiseChildren";
-	A_RaiseMaster = "A_RaiseMaster";
-	A_RaiseSiblings = "A_RaiseSiblings"; 
+	A_RaiseChildren = "A_RaiseChildren[(bool copyaffiliation)]";
+	A_RaiseMaster = "A_RaiseMaster[(bool copyaffiliation)]";
+	A_RaiseSiblings = "A_RaiseSiblings[(bool copyaffiliation)]"; 
 	A_RemoveChildren = "A_RemoveChildren[(bool  = false[, int flags = 0])]\nflags: RMVF flags.";
 	A_RemoveMaster = "A_RemoveMaster[(int flags = 0)]\nflags: RMVF flags.";
 	A_RemoveSiblings = "A_RemoveSiblings[(bool all = false[, int flags = 0])]\nflags: RMVF flags.";
@@ -139,15 +139,16 @@ keywords
 	A_JumpIfTargetOutsideMeleeRange = "A_JumpIfTargetOutsideMeleeRange(int offset OR string state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is beyond melee range of the caller.";
 	A_JumpIfTracerCloser = "A_JumpIfTracerCloser (int distance, int offset OR string state)";
 //Status changes
-	A_ActiveAndUnblock = "A_ActiveAndUnblock";
+	A_ActiveAndUnblock = "A_ActiveAndUnblock"; 
+	A_CallSpecial = "A_CallSpecial(int special[, int arg1[, int arg2[, int arg3[, int arg4[, int arg5]]]]])";
 	A_ChangeFlag = "A_ChangeFlag(string flagname, bool value)";
 	A_ChangeVelocity = "A_ChangeVelocity(float x, float y, float z, int flags)";
 	A_ClearShadow = "A_ClearShadow";
 	A_CopyFriendliness = "A_CopyFriendliness[(int copyfrom = AAPTR_MASTER)]";
 	A_DeQueueCorpse = "A_DeQueueCorpse";
-	A_FadeIn = "A_FadeIn[(float increase_amount = 0.1)]";
-	A_FadeOut = "A_FadeOut[(float reduce_amount = 0.1[, bool remove = true])]";
-	A_FadeTo = "A_FadeTo(float target[, float amount = 0.1[, bool remove = true]])";
+	A_FadeIn = "A_FadeIn[(float increase_amount = 0.1[, int flags = 0])]\nflags: FTF flags.";
+	A_FadeOut = "A_FadeOut[(float reduce_amount = 0.1[, int flags = FTF_REMOVE])]\nflags: FTF flags.";
+	A_FadeTo = "A_FadeTo(float target[, float amount = 0.1[, int flags = 0]])\nflags: FTF flags.";
 	A_Fall = "A_Fall";
 	A_Gravity = "A_Gravity";
 	A_HideThing = "A_HideThing";
@@ -784,6 +785,8 @@ constants
 	DMSS_NOFACTOR;
 	FPF_AIMATANGLE;
 	FPF_TRANSFERTRANSLATION;
+	FTF_CLAMP;
+	FTF_REMOVE;
 	GFF_NOEXTCHANGE;
 	JLOSF_ALLYNOJUMP;
 	JLOSF_CHECKMASTER;
diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj
index 38453badf..a1865f6a5 100644
--- a/Source/Core/Builder.csproj
+++ b/Source/Core/Builder.csproj
@@ -682,6 +682,12 @@
     <Compile Include="Config\ModelAndLightRenderModes.cs" />
     <Compile Include="Config\PasteOptions.cs" />
     <Compile Include="Config\ThingsFlagsCompare.cs" />
+    <Compile Include="Controls\ActionSpecialHelpButton.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Controls\ActionSpecialHelpButton.Designer.cs">
+      <DependentUpon>ActionSpecialHelpButton.cs</DependentUpon>
+    </Compile>
     <Compile Include="Controls\ButtonsNumericTextboxDesigner.cs" />
     <Compile Include="Controls\DebugConsole.cs">
       <SubType>UserControl</SubType>
@@ -946,6 +952,9 @@
     <Compile Include="ZDoom\DecorateParser.cs" />
     <Compile Include="ZDoom\StateStructure.cs" />
     <Compile Include="Editing\EditingManager.cs" />
+    <EmbeddedResource Include="Controls\ActionSpecialHelpButton.resx">
+      <DependentUpon>ActionSpecialHelpButton.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Controls\DebugConsole.resx">
       <DependentUpon>DebugConsole.cs</DependentUpon>
     </EmbeddedResource>
diff --git a/Source/Core/Config/ArgumentInfo.cs b/Source/Core/Config/ArgumentInfo.cs
index 3d7963114..f0010ac05 100644
--- a/Source/Core/Config/ArgumentInfo.cs
+++ b/Source/Core/Config/ArgumentInfo.cs
@@ -33,12 +33,11 @@ namespace CodeImp.DoomBuilder.Config
 
 		#region ================== Variables
 
-		private string title;
-		private bool used;
-		private int type;
-		private EnumList enumlist;
-		//mxd
-		private object defaultValue;
+		private readonly string title;
+		private readonly bool used;
+		private readonly int type;
+		private readonly EnumList enumlist;
+		private readonly object defaultvalue; //mxd
 
 		#endregion
 
@@ -48,8 +47,7 @@ namespace CodeImp.DoomBuilder.Config
 		public bool Used { get { return used; } }
 		public int Type { get { return type; } }
 		public EnumList Enum { get { return enumlist; } }
-		//mxd
-		public object DefaultValue { get { return defaultValue; } }
+		public object DefaultValue { get { return defaultvalue; } } //mxd
 
 		#endregion
 
@@ -63,16 +61,14 @@ namespace CodeImp.DoomBuilder.Config
 			this.used = cfg.SettingExists(argspath + ".arg" + istr);
 			this.title = cfg.ReadSetting(argspath + ".arg" + istr + ".title", "Argument " + (argindex + 1));
 			this.type = cfg.ReadSetting(argspath + ".arg" + istr + ".type", 0);
-
-			//mxd
-			this.defaultValue = cfg.ReadSetting(argspath + ".arg" + istr + ".default", 0);
+			this.defaultvalue = cfg.ReadSetting(argspath + ".arg" + istr + ".default", 0); //mxd
 
 			// Determine enum type
 			IDictionary argdic = cfg.ReadSetting(argspath + ".arg" + istr, new Hashtable());
-			if(argdic.Contains("enum"))
+			if (argdic.Contains("enum"))
 			{
 				// Enum fully specified?
-				if(argdic["enum"] is IDictionary)
+				if (argdic["enum"] is IDictionary)
 				{
 					// Create anonymous enum
 					this.enumlist = new EnumList(argdic["enum"] as IDictionary);
@@ -80,7 +76,7 @@ namespace CodeImp.DoomBuilder.Config
 				else
 				{
 					// Check if referenced enum exists
-					if((argdic["enum"].ToString().Length > 0) && enums.ContainsKey(argdic["enum"].ToString()))
+					if ((argdic["enum"].ToString().Length > 0) && enums.ContainsKey(argdic["enum"].ToString()))
 					{
 						// Get the enum list
 						this.enumlist = enums[argdic["enum"].ToString()];
@@ -91,6 +87,8 @@ namespace CodeImp.DoomBuilder.Config
 					}
 				}
 			}
+			
+			if (this.enumlist == null) this.enumlist = new EnumList(); //mxd
 		}
 
 		// Constructor for unknown argument info
@@ -101,8 +99,7 @@ namespace CodeImp.DoomBuilder.Config
 			this.title = "Argument " + (argindex + 1);
 			this.type = 0;
 			this.enumlist = new EnumList();
-			//mxd
-			this.defaultValue = 0;
+			this.defaultvalue = 0; //mxd
 		}
 
 		#endregion
diff --git a/Source/Core/Config/GameConfiguration.cs b/Source/Core/Config/GameConfiguration.cs
index e143395f0..8a759dc39 100644
--- a/Source/Core/Config/GameConfiguration.cs
+++ b/Source/Core/Config/GameConfiguration.cs
@@ -80,6 +80,7 @@ namespace CodeImp.DoomBuilder.Config
 		private readonly int topboundary;
 		private readonly int bottomboundary;
 		private readonly bool doomlightlevels;
+		private readonly string actionspecialhelp; //mxd
 		
 		// Skills
 		private readonly List<SkillInfo> skills;
@@ -185,7 +186,8 @@ namespace CodeImp.DoomBuilder.Config
 		public int TopBoundary { get { return topboundary; } }
 		public int BottomBoundary { get { return bottomboundary; } }
 		public bool DoomLightLevels { get { return doomlightlevels; } }
-		
+		public string ActionSpecialHelp { get { return actionspecialhelp; } } //mxd
+
 		// Skills
 		public List<SkillInfo> Skills { get { return skills; } }
 		
@@ -319,6 +321,7 @@ namespace CodeImp.DoomBuilder.Config
 			topboundary = cfg.ReadSetting("topboundary", 32767);
 			bottomboundary = cfg.ReadSetting("bottomboundary", -32768);
 			doomlightlevels = cfg.ReadSetting("doomlightlevels", true);
+			actionspecialhelp = cfg.ReadSetting("actionspecialhelp", string.Empty); //mxd
 			defaultLinedefActivation = cfg.ReadSetting("defaultlinedefactivation", ""); //mxd
 			for(int i = 0; i < Linedef.NUM_ARGS; i++) makedoorargs[i] = cfg.ReadSetting("makedoorarg" + i.ToString(CultureInfo.InvariantCulture), 0);
 
diff --git a/Source/Core/Config/LinedefActionInfo.cs b/Source/Core/Config/LinedefActionInfo.cs
index 12387fb7f..f84318e1d 100644
--- a/Source/Core/Config/LinedefActionInfo.cs
+++ b/Source/Core/Config/LinedefActionInfo.cs
@@ -40,6 +40,7 @@ namespace CodeImp.DoomBuilder.Config
 		private readonly string category;
 		private readonly string name;
 		private readonly string title;
+		private readonly string id; //mxd. wiki-compatible name 
 		private readonly ArgumentInfo[] args;
 		private readonly bool isgeneralized;
 		private readonly bool isknown;
@@ -54,6 +55,7 @@ namespace CodeImp.DoomBuilder.Config
 		public string Category { get { return category; } }
 		public string Name { get { return name; } }
 		public string Title { get { return title; } }
+		public string Id { get { return id; } } //mxd
 		public bool IsGeneralized { get { return isgeneralized; } }
 		public bool IsKnown { get { return isknown; } }
 		public bool IsNull { get { return (index == 0); } }
@@ -78,6 +80,7 @@ namespace CodeImp.DoomBuilder.Config
 			
 			// Read settings
 			this.name = cfg.ReadSetting(actionsetting + ".title", "Unnamed");
+			this.id = cfg.ReadSetting(actionsetting + ".id", string.Empty); //mxd
 			this.prefix = cfg.ReadSetting(actionsetting + ".prefix", "");
 			this.requiresactivation = cfg.ReadSetting(actionsetting + ".requiresactivation", true); //mxd
 			this.title = this.prefix + " " + this.name;
diff --git a/Source/Core/Controls/ActionSpecialHelpButton.Designer.cs b/Source/Core/Controls/ActionSpecialHelpButton.Designer.cs
new file mode 100644
index 000000000..6d0a0f94b
--- /dev/null
+++ b/Source/Core/Controls/ActionSpecialHelpButton.Designer.cs
@@ -0,0 +1,58 @@
+namespace CodeImp.DoomBuilder.Controls
+{
+	partial class ActionSpecialHelpButton
+	{
+		/// <summary> 
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
+
+		/// <summary> 
+		/// Clean up any resources being used.
+		/// </summary>
+		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+		protected override void Dispose(bool disposing) {
+			if(disposing && (components != null)) {
+				components.Dispose();
+			}
+			base.Dispose(disposing);
+		}
+
+		#region Component Designer generated code
+
+		/// <summary> 
+		/// Required method for Designer support - do not modify 
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent() {
+			this.button = new System.Windows.Forms.Button();
+			this.SuspendLayout();
+			// 
+			// button
+			// 
+			this.button.Dock = System.Windows.Forms.DockStyle.Fill;
+			this.button.Image = global::CodeImp.DoomBuilder.Properties.Resources.Help;
+			this.button.Location = new System.Drawing.Point(0, 0);
+			this.button.Margin = new System.Windows.Forms.Padding(0);
+			this.button.Name = "button";
+			this.button.Size = new System.Drawing.Size(28, 26);
+			this.button.TabIndex = 0;
+			this.button.UseVisualStyleBackColor = true;
+			this.button.Click += new System.EventHandler(this.button_Click);
+			// 
+			// ActionSpecialHelpButton
+			// 
+			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+			this.Controls.Add(this.button);
+			this.Name = "ActionSpecialHelpButton";
+			this.Size = new System.Drawing.Size(28, 26);
+			this.ResumeLayout(false);
+
+		}
+
+		#endregion
+
+		private System.Windows.Forms.Button button;
+	}
+}
diff --git a/Source/Core/Controls/ActionSpecialHelpButton.cs b/Source/Core/Controls/ActionSpecialHelpButton.cs
new file mode 100644
index 000000000..33a8d2d19
--- /dev/null
+++ b/Source/Core/Controls/ActionSpecialHelpButton.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Windows.Forms;
+
+namespace CodeImp.DoomBuilder.Controls
+{
+	public partial class ActionSpecialHelpButton : UserControl
+	{
+		private int action;
+		
+		public ActionSpecialHelpButton() 
+		{
+			InitializeComponent();
+		}
+
+		public void UpdateAction(int newaction)
+		{
+			action = newaction;
+
+			//Can we display help?
+			this.Enabled = (action != 0 
+				&& !string.IsNullOrEmpty(General.Map.Config.ActionSpecialHelp)
+				&& General.Map.Config.LinedefActions.ContainsKey(action)
+				&& !string.IsNullOrEmpty(General.Map.Config.LinedefActions[action].Id));
+		}
+
+		private void button_Click(object sender, EventArgs e)
+		{
+			string site = General.Map.Config.ActionSpecialHelp.Replace("%K", General.Map.Config.LinedefActions[action].Id);
+			General.OpenWebsite(site);
+		}
+	}
+}
diff --git a/Source/Core/Controls/ActionSpecialHelpButton.resx b/Source/Core/Controls/ActionSpecialHelpButton.resx
new file mode 100644
index 000000000..ff31a6db5
--- /dev/null
+++ b/Source/Core/Controls/ActionSpecialHelpButton.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Source/Core/Controls/SectorInfoPanel.cs b/Source/Core/Controls/SectorInfoPanel.cs
index 7a023845a..2a1b61004 100644
--- a/Source/Core/Controls/SectorInfoPanel.cs
+++ b/Source/Core/Controls/SectorInfoPanel.cs
@@ -30,6 +30,8 @@ namespace CodeImp.DoomBuilder.Controls
 {
 	internal partial class SectorInfoPanel : UserControl
 	{
+		private readonly List<Label> floorinfolabels;
+		private readonly List<Label> ceilinfolabels;
 		private readonly List<Label> floorlabels;
 		private readonly List<Label> ceillabels;
 		
@@ -43,8 +45,10 @@ namespace CodeImp.DoomBuilder.Controls
 			labelFloorTextureSize.BackColor = Color.FromArgb(128, labelFloorTextureSize.BackColor);
 			labelCeilTextureSize.BackColor = Color.FromArgb(128, labelCeilTextureSize.BackColor);
 
-			floorlabels = new List<Label> { floorAngle, floorLight, floorOffset, floorScale };
-			ceillabels = new List<Label> { ceilingAngle, ceilingLight, ceilingOffset, ceilingScale };
+			floorinfolabels = new List<Label> { floorAngle, floorLight, floorOffset, floorScale };
+			ceilinfolabels = new List<Label> { ceilingAngle, ceilingLight, ceilingOffset, ceilingScale };
+			floorlabels = new List<Label> { floorAngleLabel, floorLightLabel, floorOffsetLabel, floorScaleLabel };
+			ceillabels = new List<Label> { ceilingAngleLabel, ceilingLightLabel, ceilingOffsetLabel, ceilingScaleLabel };
 		}
 
 		// This shows the info
@@ -298,6 +302,12 @@ namespace CodeImp.DoomBuilder.Controls
 					flags.Width = itemWidth * (int)Math.Ceiling(flags.Items.Count / 5.0f);
 					flagsPanel.Width = flags.Width + flags.Left * 2;
 				}
+
+				//mxd. Toggle visibility
+				foreach(Label label in floorinfolabels) label.Visible = showExtededFloorInfo;
+				foreach(Label label in floorlabels) label.Visible = showExtededFloorInfo;
+				foreach(Label label in ceilinfolabels) label.Visible = showExtededCeilingInfo;
+				foreach(Label label in ceillabels) label.Visible = showExtededCeilingInfo;
 			} 
 			else 
 			{
@@ -309,8 +319,8 @@ namespace CodeImp.DoomBuilder.Controls
 			}
 
 			//mxd. Resize panels
-			UpdateTexturePanel(ceilingpanel, ceilingname, ceillabels, ceilingtex, ceilingOffsetLabel.Location.X - 1, showExtededCeilingInfo);
-			UpdateTexturePanel(floorpanel, floorname, floorlabels, floortex, floorOffsetLabel.Location.X - 1, showExtededFloorInfo);
+			UpdateTexturePanel(ceilingpanel, ceilingname, ceilinfolabels, ceilingtex, ceilingOffsetLabel.Location.X - 1, showExtededCeilingInfo);
+			UpdateTexturePanel(floorpanel, floorname, floorinfolabels, floortex, floorOffsetLabel.Location.X - 1, showExtededFloorInfo);
 
 			// Show the whole thing
 			this.Show();
diff --git a/Source/Core/Controls/ThingBrowserControl.Designer.cs b/Source/Core/Controls/ThingBrowserControl.Designer.cs
index 564e25e21..beb31dea3 100644
--- a/Source/Core/Controls/ThingBrowserControl.Designer.cs
+++ b/Source/Core/Controls/ThingBrowserControl.Designer.cs
@@ -39,14 +39,17 @@ namespace CodeImp.DoomBuilder.Controls
 			this.positionlabel = new System.Windows.Forms.Label();
 			this.thingimages = new System.Windows.Forms.ImageList(this.components);
 			this.infopanel = new System.Windows.Forms.Panel();
-			this.spritetex = new System.Windows.Forms.Panel();
+			this.spritepanel = new System.Windows.Forms.Panel();
 			this.label1 = new System.Windows.Forms.Label();
 			this.tbFilter = new System.Windows.Forms.TextBox();
 			this.bClear = new System.Windows.Forms.Button();
 			this.updatetimer = new System.Windows.Forms.Timer(this.components);
 			this.typelist = new CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview();
+			this.spritetex = new CodeImp.DoomBuilder.Controls.ConfigurablePictureBox();
 			this.typeid = new CodeImp.DoomBuilder.Controls.NumericTextbox();
 			this.infopanel.SuspendLayout();
+			this.spritepanel.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)(this.spritetex)).BeginInit();
 			this.SuspendLayout();
 			// 
 			// sizecaption
@@ -141,7 +144,7 @@ namespace CodeImp.DoomBuilder.Controls
 			// 
 			this.infopanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
 						| System.Windows.Forms.AnchorStyles.Right)));
-			this.infopanel.Controls.Add(this.spritetex);
+			this.infopanel.Controls.Add(this.spritepanel);
 			this.infopanel.Controls.Add(this.sizelabel);
 			this.infopanel.Controls.Add(this.typecaption);
 			this.infopanel.Controls.Add(this.sizecaption);
@@ -155,17 +158,17 @@ namespace CodeImp.DoomBuilder.Controls
 			this.infopanel.Size = new System.Drawing.Size(304, 74);
 			this.infopanel.TabIndex = 18;
 			// 
-			// spritetex
+			// spritepanel
 			// 
-			this.spritetex.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.spritetex.BackColor = System.Drawing.SystemColors.AppWorkspace;
-			this.spritetex.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
-			this.spritetex.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-			this.spritetex.Location = new System.Drawing.Point(235, 2);
-			this.spritetex.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
-			this.spritetex.Name = "spritetex";
-			this.spritetex.Size = new System.Drawing.Size(70, 70);
-			this.spritetex.TabIndex = 23;
+			this.spritepanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+			this.spritepanel.BackColor = System.Drawing.SystemColors.AppWorkspace;
+			this.spritepanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+			this.spritepanel.Controls.Add(this.spritetex);
+			this.spritepanel.Location = new System.Drawing.Point(235, 2);
+			this.spritepanel.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
+			this.spritepanel.Name = "spritepanel";
+			this.spritepanel.Size = new System.Drawing.Size(70, 70);
+			this.spritepanel.TabIndex = 23;
 			// 
 			// label1
 			// 
@@ -218,6 +221,21 @@ namespace CodeImp.DoomBuilder.Controls
 			this.typelist.MouseEnter += new System.EventHandler(this.typelist_MouseEnter);
 			this.typelist.SelectionsChanged += new System.EventHandler(this.typelist_SelectionsChanged);
 			// 
+			// spritetex
+			// 
+			this.spritetex.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Default;
+			this.spritetex.Dock = System.Windows.Forms.DockStyle.Fill;
+			this.spritetex.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
+			this.spritetex.Location = new System.Drawing.Point(0, 0);
+			this.spritetex.Name = "spritetex";
+			this.spritetex.PageUnit = System.Drawing.GraphicsUnit.Pixel;
+			this.spritetex.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.None;
+			this.spritetex.Size = new System.Drawing.Size(66, 66);
+			this.spritetex.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+			this.spritetex.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
+			this.spritetex.TabIndex = 0;
+			this.spritetex.TabStop = false;
+			// 
 			// typeid
 			// 
 			this.typeid.AllowDecimal = false;
@@ -244,6 +262,8 @@ namespace CodeImp.DoomBuilder.Controls
 			this.Size = new System.Drawing.Size(304, 320);
 			this.infopanel.ResumeLayout(false);
 			this.infopanel.PerformLayout();
+			this.spritepanel.ResumeLayout(false);
+			((System.ComponentModel.ISupportInitialize)(this.spritetex)).EndInit();
 			this.ResumeLayout(false);
 			this.PerformLayout();
 
@@ -265,7 +285,8 @@ namespace CodeImp.DoomBuilder.Controls
 		private System.Windows.Forms.TextBox tbFilter;
 		private System.Windows.Forms.Button bClear;
 		private CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview typelist;
-		private System.Windows.Forms.Panel spritetex;
+		private System.Windows.Forms.Panel spritepanel;
 		private System.Windows.Forms.Timer updatetimer;
+		private ConfigurablePictureBox spritetex;
 	}
 }
diff --git a/Source/Core/Controls/ThingBrowserControl.cs b/Source/Core/Controls/ThingBrowserControl.cs
index 400170e8b..c29efbb13 100644
--- a/Source/Core/Controls/ThingBrowserControl.cs
+++ b/Source/Core/Controls/ThingBrowserControl.cs
@@ -170,14 +170,14 @@ namespace CodeImp.DoomBuilder.Controls
 				if(thinginfo.Sprite.ToLowerInvariant().StartsWith(DataManager.INTERNAL_PREFIX) &&
 				   (thinginfo.Sprite.Length > DataManager.INTERNAL_PREFIX.Length)) 
 				{
-					General.DisplayZoomedImage(spritetex, General.Map.Data.GetSpriteImage(thinginfo.Sprite).GetBitmap());
+					spritetex.Image = General.Map.Data.GetSpriteImage(thinginfo.Sprite).GetBitmap();
 					return;
 				} 
 
 				if((thinginfo.Sprite.Length < 9) && (thinginfo.Sprite.Length > 0))
 				{
 					ImageData sprite = General.Map.Data.GetSpriteImage(thinginfo.Sprite);
-					General.DisplayZoomedImage(spritetex, sprite.GetPreview());
+					spritetex.Image = sprite.GetPreview();
 					if(!sprite.IsPreviewLoaded) updatetimer.Start();
 					return;
 				}
diff --git a/Source/Core/Controls/ThingBrowserControl.resx b/Source/Core/Controls/ThingBrowserControl.resx
index b48119d08..2e2504715 100644
--- a/Source/Core/Controls/ThingBrowserControl.resx
+++ b/Source/Core/Controls/ThingBrowserControl.resx
@@ -124,397 +124,396 @@
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
-        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA
-        WwAAAk1TRnQBSQFMAgEBFAEAAewBAAHsAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAk
+        WwAAAk1TRnQBSQFMAgEBFAEAAQQBAQEEAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
         AwABYAMAAQEBAAEgBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3AAGUAYsBxQH/
-        AYQBYAHEAf8BgQFXAcQB/wGAAVUBwwH/AWEBUwHBAf8BYQFVAbYB/ykAAToBlwH/AQABKwFiAf8BAAEk
-        AVYB/wEAASIBUwH/AQABHwFNAf8BAAEYAUAB/ygAAS4BRwFJAf8BHwE3ATkB/wEZAS8BMQH/ARcBLQEv
-        Af8BFQEpASsB/wERAR8BIAH/KAABFQE5AUgB/wEJASsBOQH/AQQBJQEyAf8BAwEkATEB/wECASABLAH/
-        AQIBFwEfAf8gAAG5AbQB0gH/AZ8BlQHSAf8BngGUAdMB/wGcAZIB0gH/AZsBkQHSAf8BmQGOAdIB/wGV
-        AYoB0AH/AYsBgQHLAf8BgAFWAcUB/wFXAVEBkQH/GAABOwGUAcsB/wEAAUsBtQH/AQABSwG0Af8BAAFJ
-        AbIB/wEAAUgBrwH/AQABRgGrAf8BAAFCAaQB/wEAATYBjgH/AQABJAFWAf8BEAEqAT8B/xgAAYoBnwGh
-        Af8BOQFdAWAB/wE4AV0BYAH/ATcBXAFfAf8BNQFaAV0B/wEzAVgBWwH/ATABUwFWAf8BJwFEAUcB/wEY
-        AS8BMQH/ASYCLQH/GAABXgGUAaEB/wEYAUwBYgH/ARcBTQFiAf8BFgFLAWEB/wEVAUoBXwH/ARMBSAFd
-        Af8BEQFDAVgB/wEMATcBSAH/AQQBJQEyAf8BHwEoAS0B/xQAAbwBtwHYAf8BqwGhAeIB/wGuAaMB6AH/
-        AbABpAHsAf8BrwGkAesB/wGvAaQB6gH/Aa8BpAHqAf8BrQGhAegB/wGqAZ8B4gH/AZ0BkwHTAf8BgwFe
-        AcYB/wFWAVABkQH/EAABPQGbAdQB/wEAAWAB2wH/AQABgQHmAf8BAAGCAe0B/wEAAYEB7AH/AQABgQHq
-        Af8BAAGBAeoB/wEAAYEB5AH/AQABXwHZAf8BAAFKAbMB/wEAASsBgAH/AQ8BKQE+Af8QAAGNAagBqgH/
-        AUMBkwGYAf8BQwGfAaUB/wFFAaUBqwH/AUUBowGpAf8BRAGiAagB/wFEAaIBqAH/AUIBngGjAf8BQQGT
-        AZgB/wE4AVwBYAH/AR8BOAE6Af8BJgEsAS0B/xAAAV0BnAGsAf8BFQGBAaAB/wEOAYkBsQH/AQkBkQG9
-        Af8BCgGPAboB/wELAY0BuAH/AQsBjQG4Af8BDQGIAa8B/wETAYEBoAH/ARYBTAFiAf8BCAEsATsB/wEe
-        ASgBLAH/EAABrAGiAeMB/wGvAaQB6wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BsAGl
-        Ae0B/wGxAaYB7wH/Aa0BogHnAf8BlwGNAc8B/wGZAY4B0QH/AYIBXQHGAf8RAAFhAd4B/wEAAYEB7QH/
-        AQABiQH6Af8BAAGJAfoB/wEAAYkB+gH/AQABiQH6Af8BAAGDAfAB/wEAAYUB9AH/AQABgQHkAf8BAAFC
-        AaUB/wEAAUYBqwH/AQABKgFhAf8QAAFDAZcBnAH/AUUBpAGqAf8BTAGsAbIB/wFMAawBsgH/AUwBrAGy
-        Af8BTAGsAbIB/wFGAaYBrAH/AUcBqQGvAf8BQwGdAaIB/wEyAVMBVgH/ATQBVwFaAf8BHgE2ATgB/xAA
-        ARQBggGkAf8BCgGPAbwB/wEFAZsBzQH/AQUBmwHNAf8BBQGbAc0B/wEFAZsBzQH/AQgBkgHAAf8BBQGW
-        AcYB/wEQAYcBrQH/ARMBRAFXAf8BFAFHAVwB/wEHASsBOgH/DAABsgGnAeoB/wG1AasB7QH/AbQBqAHx
-        Af8BtQGqAfAB/wG1AaoB8AH/AbUBqgHvAf8BswGoAesB/wGmAZ0B0wH/AYIBXgHAAf8BSAE5Aa4B/wMA
-        Af8BmQGPAdAB/wGVAYoB0AH/AYEBWgG9Af8JAAGCAe8B/wEAAYgB+AH/AQABiQH6Af8BAAGJAfoB/wEA
-        AYkB+gH/AQABiAH6Af8BAAGEAfEB/wEAAVIBwgH/AQABJwFbAf8CAAEPAf8DAAH/AQABRQGqAf8BAAFC
-        AaQB/wEAASEBUAH/CAABSAGkAaoB/wFNAakBrwH/AUoBrQG0Af8BTAGsAbIB/wFMAawBsgH/AUwBqwGx
-        Af8BSgGlAaoB/wFAAoEB/wEcATEBMwH/AQACAQH/AwAB/wE0AVcBWgH/ATABUwFWAf8BGAEqASwB/wgA
-        AQ0BkAG7Af8BCgGXAcYB/wEBAZwB0QH/AQUBmwHNAf8BBQGbAc0B/wEGAZoBywH/AQ0BkQG8Af8BHgFS
-        AYEB/wEIAScBMwH/AgABAQH/AwAB/wEUAUcBWwH/AREBQwFYAf8BBgEhASsB/wgAAbUBqgHyAf8BvwG1
-        AfMB/wG3AawB8AH/AbUBqgHwAf8BqQGgAdkB/wGJAYEBxAH/AU0BPgGzAf8BRwE+AY0B/wMAAf8DAAH/
-        AUMBNAGrAf8BrQGiAeUB/wGkAZoB1wH/AYgBgAHIAf8JAAGKAf0B/wEAAZIC/wEAAYsB/gH/AQABiQH6
-        Af8BAAFYAc4B/wEAATABgwH/AQABBQEdAf8DAAH/AwAB/wMAAf8CAAEEAf8BAAGAAeEB/wEAAVMBxAH/
-        AQABMQGFAf8IAAFMAa4BtQH/AVoBtQG7Af8BTwGtAbMB/wFMAawBsgH/AUMBhgGKAf8BJAE8AT4B/wEA
-        AQoBCwH/AwAB/wMAAf8DAAH/AwAB/wFDAZoBoAH/AT4BgQGDAf8BIwE+AUAB/wgAAQIBngHSAf8BAwGp
-        AeIB/wEGAZ0BzwH/AQUBmwHNAf8BHAFbAYwB/wEMATABPgH/AQABBQELAf8DAAH/AwAB/wMAAf8DAAH/
-        AREBhQGqAf8BGQFWAYYB/wEKATIBQgH/CAABvQGzAfMB/wHGAb0B9QH/AboBsAHwAf8BtQGqAfAB/wGV
-        AYoBygH/AYABVgG8Af8BQAExAaQB/wMAAf8DAAH/AwAB/wGEAWEBwQH/AbIBpwHwAf8BqQGeAeIB/wGO
-        AYIBzQH/CQABkQL/AQQBmAL/AQABjQL/AQABiQH6Af8BAAE9AZwB/wEAAR4BSgH/AwAB/wMAAf8DAAH/
-        AwAB/wEAASoBYAH/AQABhgH2Af8BAAFeAdcB/wEAATkBlAH/CAABVwG0AboB/wGBAboBwAH/AVQBrwG1
-        Af8BTAGsAbIB/wEvAUwBTgH/ARUBJgEoAf8DAAH/AwAB/wMAAf8DAAH/AR8BNQE2Af8BSAGrAbEB/wFB
-        AZIBlwH/ASkBSQFLAf8IAAEDAacB3gH/AQ0BrgHkAf8BCAGgAdMB/wEFAZsBzQH/ARQBPgFOAf8BBAEe
-        ASgB/wMAAf8DAAH/AwAB/wMAAf8BCgEqATYB/wEEAZgBygH/ARMBgQGfAf8BDgE7AU0B/wgAAcEBuAH0
-        Af8BygHCAfUB/wG7AbEB8AH/AbUBqgHwAf8BtQGqAe8B/wG1AaoB7wH/AVUBSAG3Af8DAAH/AwAB/wE/
-        ATEBnQH/AagBnwHXAf8BrwGkAesB/wGtAaIB5gH/AZEBhQHOAf8JAAGUAv8BCwGbAv8BAAGNAv8BAAGJ
-        AfoB/wEAAYgB+gH/AQABiAH5Af8BAAEPAS8B/wMAAf8DAAH/AwAB/wEAAVcBywH/AQABgQHsAf8BAAGB
-        AeIB/wEAATwBmgH/CAABXAG3Ab0B/wGBAb0BwgH/AVQBrwG0Af8BTAGsAbIB/wFMAasBsQH/AUwBqwGx
-        Af8BCAEVARcB/wMAAf8DAAH/AwAB/wFCAYMBhwH/AUUBowGpAf8BQgGbAaEB/wEsAUwBTwH/CAABBgGr
-        AeMB/wETAbAB5QH/AQkBnwHRAf8BBQGbAc0B/wEGAZoBywH/AQcBmQHJAf8BAAEPARcB/wMAAf8DAAH/
-        AwAB/wEdAVkBiQH/AQoBjwG6Af8BDwGGAawB/wEPAT4BUQH/CAABwAG3AfQB/wHPAcgB9gH/AcABtgHz
-        Af8BtAGpAewB/wGyAagB6gH/AV0BUAG6Af8BIQEGAcQB/wGDAWABwgH/ATwBLQGiAf8BVQFIAbcB/wG1
-        AaoB7gH/AbUBqgHwAf8BqwGhAeMB/wGRAYYBzQH/CQABlAL/ARUBoAL/AQABkwL/AQABhQH0Af8BAAGD
-        AfAB/wEAARcBPgH/AwAB/wEAASkBXwH/AwAB/wEAAQ8BLwH/AQABiAH4Af8BAAGJAfoB/wEAAWEB3QH/
-        AQABPAGZAf8IAAFbAbYBvAH/AYgBwQHGAf8BWwG1AbsB/wFLAacBrAH/AUkBpAGpAf8BDwEfASEB/wMA
-        Af8BHgE0ATYB/wMAAf8BCAEVARcB/wFMAaoBsAH/AUwBrAGyAf8BQgGWAZsB/wEsAUsBTgH/CAABBQGq
-        AeMB/wEcAbMB5gH/AQUBqQHhAf8BDAGUAcAB/wEOAZABugH/AQABFwEhAf8DAAH/AQkBKQE2Af8DAAH/
-        AQABDwEXAf8BCAGYAcgB/wEFAZsBzQH/ARIBgQGkAf8BEAE9AU8B/wgAAbwBsQHzAf8B0wHMAfcB/wHM
-        AcQB9gH/AbsBsgHqAf8BXQFQAboB/wMAAf8BkwGJAckB/wG3AasB8gH/AVQBRgG2Af8BlQGKAcoB/wG2
-        AasB8QH/AbUBqgHwAf8BqwGhAeIB/wGYAY8BzAH/CQABkAL/ARsBowL/AQ8BnQL/AQABigH9Af8BAAEX
-        AT4B/wMAAf8BAAE7AZcB/wEAAYsC/wEAAQ0BKwH/AQABPQGcAf8BAAGLAf4B/wEAAYkB+gH/AQABYAHb
-        Af8BAAFCAaQB/wgAAVUBswG5Af8BjQHDAcgB/wGDAb8BxAH/AVUBqAGtAf8BDwEfASEB/wMAAf8BLQFJ
-        AUsB/wFOAa8BtQH/AQcBEwEUAf8BLwFMAU4B/wFOAa8BtQH/AUwBrAGyAf8BQgGUAZgB/wEzAVEBVAH/
-        CAABAwGlAd0B/wEhAbUB5gH/ARYBsQHlAf8BFQGWAcAB/wEAARcBIQH/AwAB/wETATsBSwH/AQIBnwHV
-        Af8BAAENARQB/wEUAT4BTgH/AQMBngHTAf8BBQGbAc0B/wEUAYEBoAH/ARYBQgFUAf8MAAHTAc0B9wH/
-        AdYB0AH3Af8BqQGjAcwB/wFHAT4BjQH/AZQBigHKAf8BtgGrAfEB/wG1AaoB7gH/AaQBmwHSAf8BrwGl
-        AeQB/wG1AaoB8AH/AbUBqgHwAf8BrAGiAeQB/xAAAR0BowL/ASEBpQL/AQABUQHAAf8DAAH/AQABPQGb
-        Af8BAAGKAf0B/wEAAYgB+AH/AQABTwG9Af8BAAGBAeQB/wEAAYkB+gH/AQABiQH6Af8BAAFiAeAB/xAA
-        AY4BxAHIAf8BkQHGAcoB/wFEAV8BYQH/AwAB/wEvAUsBTgH/AU0BrQG0Af8BTAGqAbAB/wE+AWEBgQH/
-        AUYBmgGfAf8BTAGsAbIB/wFMAawBsgH/AUMBmQGeAf8QAAEiAbUB5wH/ASYBtgHnAf8BJgFNAV0B/wMA
-        Af8BEwE9AU4B/wEEAZ0B0AH/AQgBmAHIAf8BHQFQAYEB/wEVAYUBqAH/AQUBmwHNAf8BBQGbAc0B/wES
-        AYMBpwH/EAAB3QHYAfkB/wHaAdUB+AH/AcIBuwHmAf8BsAGqAdUB/wHBAbcB8gH/AbsBsgHuAf8BuQGv
-        Ae8B/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbwBtgHcAf8QAAFfAcEC/wEpAakC/wEA
-        AY4C/wEAAV0B1QH/AQABkwL/AQABjQL/AQABjAL/AQABiQH6Af8BAAGJAfoB/wEAAYkB+gH/AQABiQH6
-        Af8BOgGdAdwB/xAAAbEB1wHaAf8BlwHJAc0B/wFgAaUBqQH/AUsBhwGKAf8BXAG0AboB/wFVAa0BsgH/
-        AVMBrQGyAf8BTAGsAbIB/wFMAawBsgH/AUwBrAGyAf8BTAGsAbIB/wGLAa8BsgH/EAABgQHPAe8B/wEs
-        AbkB6AH/ASYBkwG2Af8BJwFbAYgB/wEJAacB3QH/AQ4BnQHMAf8BCwGcAc0B/wEFAZsBzQH/AQUBmwHN
-        Af8BBQGbAc0B/wEFAZsBzQH/AVUBogG3Af8UAAHhAd0B+gH/AdYB0AH4Af8B0wHMAfcB/wHOAccB9gH/
-        AcUBvAH0Af8BvAGxAfIB/wG3Aa0B8AH/AbMBqAHuAf8BsQGmAe8B/wG/AbgB4QH/GAABgQHFAv8BIgGm
-        Av8BHAGjAv8BEwGfAv8BAQGXAv8BAAGPAv8BAAGLAf4B/wEAAYYB9gH/AQABhQH0Af8BPQGiAeIB/xgA
-        AbUB2QHcAf8BkgHGAcoB/wGNAcQByAH/AYYBwAHFAf8BYQG5Ab8B/wFVAbIBuAH/AVABrQGzAf8BSgGp
-        Aa8B/wFHAakBsAH/AY0BtgG5Af8YAAGDAdEB8AH/ASYBtwHnAf8BIQG1AeYB/wEaAbIB5QH/AQsBrAHk
-        Af8BBQGjAdkB/wEHAZwBzgH/AQgBlwHGAf8BBAGWAccB/wFUAakBwgH/IAABwwG6AfQB/wHHAb8B9QH/
-        AcsBwwH1Af8BxQG8AfQB/wG8AbEB8wH/AbEBpgHvAf8pAAGWAv8BBgGZAv8BDQGcAv8BAQGXAv8BAAGQ
-        Av8BAAGFAfQB/ygAAWABuQG+Af8BgQG7AcAB/wGCAb4BwwH/AWEBuQG/Af8BVQGzAbkB/wFHAakBrwH/
-        KAABCQGsAeQB/wEPAa4B5AH/ARUBsAHlAf8BCwGsAeQB/wEDAaUB3QH/AQUBlgHGAf//AP8AKgABHgEq
-        AYIB/wEOARkBVwH/AQkBEwFOAf8BCAESAUsB/wEGARABRQH/AQgBDgE0Af8oAAGSATYBkgH/AYEBJQGB
-        Af8BYAEfAWAB/wFeAR0BXgH/AVgBHAFYAf8BSAEcAUgB/ykAApAB/wEAAl0B/wEAAlIB/wEAAk8B/wEA
-        AkkB/wEAAjwB/ygAA6UB/wORAf8DhwH/A4UB/wOBAf8DXQH/IAABgQGGAbwB/wEfATABpgH/AR4BLwGn
-        Af8BHQEuAaUB/wEcASwBowH/ARoBKgGgAf8BGAEnAZkB/wESAR8BgwH/AQgBEgFOAf8BIgElATcB/xgA
-        Ab4BkwG+Af8BsAE9AbAB/wGxATsBsQH/AbABOQGwAf8BrwE3Aa8B/wGsATUBrAH/AaYBMgGmAf8BkwEq
-        AZMB/wFgAR4BYAH/AUMBLgFDAf8YAAFfAskB/wEAAq0B/wEAAq0B/wEAAqsB/wEAAqgB/wEAAqQB/wEA
-        Ap0B/wEAAogB/wEAAlEB/wEhAkEB/xgAA8kB/wO7Af8DuwH/A7gB/wO2Af8DtQH/A68B/wOeAf8DhwH/
-        A1EB/xQAAYABhwHLAf8BIAE3AdMB/wEhAToB4QH/ASIBPAHpAf8BIgE8AecB/wEhATsB5gH/ASEBOwHm
-        Af8BHgE4AeEB/wEdATUB1QH/AR4BLgGmAf8BDQEYAVoB/wEhASQBNgH/EAABxwGWAccB/wHJAVEByQH/
-        AdMBVQHTAf8B2QFXAdkB/wHYAVgB2AH/AdcBVgHXAf8B1wFWAdcB/wHSAVIB0gH/AcoBTwHKAf8BsAE7
-        AbAB/wGCASQBggH/AUMBLQFDAf8QAAFhAtEB/wEAAtEB/wEAAtwB/wEAAuQB/wEAAuIB/wEAAuEB/wEA
-        AuEB/wEAAtoB/wEAAtAB/wEAAqwB/wEAAl4B/wEgAkAB/xAAA9EB/wPTAf8D2gH/A98B/wPeAf8D3AH/
-        A9wB/wPZAf8D0gH/A7oB/wOSAf8DUAH/EAABIgE5AdcB/wEiATwB6AH/ASoBRAHwAf8BKgFEAfAB/wEq
-        AUQB8AH/ASoBRAHwAf8BIgE9AesB/wEkAT4B7wH/ASEBOgHeAf8BGgEpAZgB/wEbASsBnwH/AQwBFwFY
-        Af8QAAHLAVMBywH/AdgBVwHYAf8B4AFhAeAB/wHgAWEB4AH/AeABYQHgAf8B4AFhAeAB/wHbAVkB2wH/
-        Ad4BWwHeAf8B0QFUAdEB/wGlATQBpQH/AasBNgGrAf8BgQEjAYEB/xEAAtUB/wEAAuMB/wEAAvAB/wEA
-        AvAB/wEAAvAB/wEAAvAB/wEAAuYB/wEAAukB/wEAAtoB/wEAAp4B/wEAAqQB/wEAAlwB/xAAA9UB/wPf
-        Af8D5gH/A+YB/wPmAf8D5gH/A+AB/wPhAf8D2QH/A7AB/wO1Af8DkAH/DAABJwFAAeUB/wEtAUYB6wH/
-        ASYBQQH0Af8BKgFEAfAB/wEqAUQB8AH/ASoBRAHvAf8BKgFCAeUB/wEnATgBrgH/AQ4BGAFPAf8CAAEK
-        Af8DAAH/ARwBKwGdAf8BGAEnAZkB/wEMARQBRAH/CAAB1wFcAdcB/wHcAWIB3AH/AeIBXwHiAf8B4AFh
-        AeAB/wHgAWEB4AH/Ad8BYQHfAf8B2AFeAdgB/wGyAUoBsgH/AWABJAFgAf8BIwEGASMB/wMAAf8BqgE2
-        AaoB/wGmATIBpgH/AVcBIQFXAf8JAALlAf8BAALuAf8BAALwAf8BAALwAf8BAALwAf8BAALvAf8BAALn
-        Af8BAAK5Af8BAAJWAf8BAAINAf8DAAH/AQACowH/AQACnQH/AQACTAH/CAAD3wH/A+QB/wPmAf8D5gH/
-        A+YB/wPlAf8D4AH/A8MB/wOLAf8DKwH/AwAB/wO0Af8DrwH/A4IB/wgAASkBRAH0Af8BPgFWAfUB/wEv
-        AUgB8AH/ASoBRAHwAf8BJAE3AcAB/wETAR4BXQH/AgABGAH/AwAB/wMAAf8DAAH/AgABAQH/ASABOQHc
-        Af8BIAEzAbgB/wEQARwBgAH/CAAB4wFhAeMB/wHmAYsB5gH/AeABgQHgAf8B4AFhAeAB/wG7AU8BuwH/
-        AYYBKgGGAf8BLwELAS8B/wEDAQABAwH/AwAB/wMAAf8BGwEBARsB/wHPAVMBzwH/AbgBRgG4Af8BiwEn
-        AYsB/wkAAvIB/wEAA/8BAAL0Af8BAALwAf8BAALFAf8BAAKBAf8BAAIbAf8DAAH/AwAB/wMAAf8BAAID
-        Af8BAALYAf8BAAK8Af8BAAKBAf8IAAPnAf8D8gH/A+cB/wPmAf8DyQH/A5gB/wM9Af8DAAH/AwAB/wMA
-        Af8DHwH/A9YB/wPDAf8DmQH/CAABOgFSAfUB/wFNAYAB9gH/ATYBTgHvAf8BKgFEAfAB/wEbASkBjAH/
-        AQkBEQE/Af8DAAH/AwAB/wMAAf8DAAH/ARABGgFTAf8BJAE/AfEB/wEcATQB1AH/ARMBIgGKAf8IAAHm
-        AYcB5gH/AekBlwHpAf8B4QGDAeEB/wHgAWEB4AH/AZoBNAGaAf8BUwEeAVMB/wERAQABEQH/AwAB/wMA
-        Af8DAAH/AYEBJgGBAf8B3wFcAd8B/wHJAU4ByQH/AZkBLQGZAf8JAAP/AQAD/wEAAvkB/wEAAvAB/wEA
-        ApYB/wEAAkYB/wMAAf8DAAH/AwAB/wMAAf8BAAJbAf8BAALsAf8BAALPAf8BAAKOAf8IAAPwAf8D+QH/
-        A+sB/wPmAf8DqgH/A4EB/wMNAf8DAAH/AwAB/wMAAf8DkAH/A+IB/wPQAf8DpAH/CAABQwFaAfYB/wFW
-        AYIB9wH/ATcBTwHuAf8BKgFEAfAB/wEqAUQB7wH/ASsBRQHuAf8BAAEFASgB/wMAAf8DAAH/AwAB/wEl
-        ATgBuwH/ASIBPAHnAf8BHwE4Ad4B/wEUASMBkAH/CAAB5wGOAecB/wHrAZ8B6wH/AeABgwHgAf8B4AFh
-        AeAB/wHfAWEB3wH/Ad4BYQHeAf8BPQESAT0B/wMAAf8DAAH/AQgBAAEIAf8BuQFOAbkB/wHYAVgB2AH/
-        AdABUwHQAf8BngEuAZ4B/wkAA/8BAAP/AQAC+QH/AQAC8AH/AQAC7wH/AQAC7wH/AQACLAH/AwAB/wMA
-        Af8DAAH/AQACwgH/AQAC4gH/AQAC2QH/AQACkwH/CAAD9AH/A/0B/wPrAf8D5gH/A+UB/wPlAf8DTwH/
-        AwAB/wMAAf8DAAH/A8gB/wPeAf8D2AH/A6gB/wgAAUEBWAH1Af8BYQGMAfcB/wFAAVcB9AH/ASsBRAHn
-        Af8BKQFCAeQB/wEEAQwBNQH/AwAB/wEPARkBUgH/AwAB/wEAAQUBKAH/ASsBRQHtAf8BKgFEAfAB/wEf
-        ATcB2AH/ARYBJAGNAf8IAAHnAY0B5wH/Ae0BqQHtAf8B5gGMAeYB/wHaAWAB2gH/AdcBXQHXAf8BSQEZ
-        AUkB/wELAQABCwH/AYEBJQGBAf8BCgEAAQoB/wE9ARIBPQH/Ad0BYAHdAf8B4AFhAeAB/wHMAVEBzAH/
-        AZwBLwGcAf8JAAP/AQkD/wEAA/8BAALqAf8BAALmAf8BAAI7Af8DAAH/AQACWgH/AwAB/wEAAiwB/wEA
-        Au4B/wEAAvAB/wEAAtQB/wEAApMB/wgAA/MB/wQAA/MB/wPiAf8D4AH/A1wB/wMAAf8DjgH/AwAB/wNP
-        Af8D5AH/A+YB/wPUAf8DqAH/CAABNwFQAfUB/wGBAZIB+AH/AVoBhgH3Af8BPAFSAeIB/wEEAQwBNQH/
-        AwAB/wEaAScBhwH/ASsBRgH0Af8BAAEEASQB/wEbASkBjAH/ASwBRgHzAf8BKgFEAfAB/wEfATcB1AH/
-        AR4BLAGTAf8IAAHlAYQB5QH/Ae4BrwHuAf8B6wGjAesB/wHYAYQB2AH/AUkBGQFJAf8DAAH/AZYBMwGW
-        Af8B4wGAAeMB/wE6AREBOgH/AZoBNAGaAf8B4gGAAeIB/wHgAWEB4AH/AckBUQHJAf8BoQE4AaEB/wkA
-        Av4B/wEPA/8BAwP/AQAC8wH/AQACOwH/AwAB/wEAApEB/wEAAvQB/wEAAikB/wEAApYB/wEAAvQB/wEA
-        AvAB/wEAAtEB/wEAAp4B/wgAA+4B/wgAA+cB/wNcAf8DAAH/A6YB/wPoAf8DSgH/A6oB/wPnAf8D5gH/
-        A9MB/wOvAf8MAAGCAZMB+AH/AYcBmAH4Af8BNAFAAZ8B/wMAAf8BGwEoAYsB/wErAUUB8gH/ASsBRQHt
-        Af8BJwE3AaoB/wEnAT4B2AH/ASoBRAHwAf8BKgFEAfAB/wEgATgB2gH/EAAB7gGwAe4B/wHvAbUB7wH/
-        AacBUgGnAf8BAwEAAQMB/wGZATQBmQH/AeEBYgHhAf8B3QFgAd0B/wGwAUcBsAH/Ac0BWAHNAf8B4AFh
-        AeAB/wHgAWEB4AH/Ac0BUwHNAf8QAAEQA/8BFAP/AQACuAH/AwAB/wEAApUB/wEAAvIB/wEAAu4B/wEA
-        ArUB/wEAAtoB/wEAAvAB/wEAAvAB/wEAAtcB/xgAA8IB/wMAAf8DqQH/A+cB/wPkAf8DwQH/A9kB/wPm
-        Af8D5gH/A9UB/xAAAaMBsQH6Af8BjwGfAfkB/wFSAWIB1QH/ATcBRgG2Af8BQwFaAfEB/wE6AVEB6gH/
-        ATYBTQHsAf8BKgFEAfAB/wEqAUQB8AH/ASoBRAHwAf8BKgFEAfAB/wFgAYYB1AH/EAAB8gHBAfIB/wHx
-        AbwB8QH/AdEBkwHRAf8BtgFeAbYB/wHkAY4B5AH/Ad4BhQHeAf8B3gGBAd4B/wHgAWEB4AH/AeABYQHg
-        Af8B4AFhAeAB/wHgAWEB4AH/Ac4BlgHOAf8QAAGYA/8BHAP/AQAC+QH/AQACzAH/AQAD/wEAAvgB/wEA
-        AvYB/wEAAvAB/wEAAvAB/wEAAvAB/wEAAvAB/wFdAtQB/xAAA/wB/wQAA+sB/wPPAf8D8wH/A+sB/wPq
-        Af8D5gH/A+YB/wPmAf8D5gH/A9UB/xQAAawBtwH7Af8BiAGZAfgB/wGBAZMB+AH/AV4BiQH3Af8BSgFg
-        AfYB/wE3AVAB8wH/ATABSQHvAf8BKAFCAe0B/wEjAT4B8AH/AWEBiAHdAf8YAAH0AckB9AH/Ae8BtgHv
-        Af8B7gGvAe4B/wHsAaYB7AH/AegBlQHoAf8B5AGEAeQB/wHgAYEB4AH/Ad0BXgHdAf8B3gFaAd4B/wHU
-        AZkB1AH/GAABngP/ARUD/wEPA/8BBwP/AQAD/wEAAvwB/wEAAvQB/wEAAuwB/wEAAukB/wFhAtoB/ygA
-        A/cB/wPtAf8D5wH/A+IB/wPhAf8D2QH/IAABSAFeAfYB/wFQAYEB9gH/AVcBhAH3Af8BSgFgAfYB/wE3
-        AVAB9QH/ASQBPgHvAf8oAAHoAZMB6AH/AeoBmgHqAf8B6wGgAesB/wHoAZUB6AH/AeUBhAHlAf8B3gFb
-        Ad4B/ykAA/8BAAP/AQED/wEAA/8BAAL+Af8BAALpAf8oAAP3Af8D+QH/A/0B/wP3Af8D7gH/A+EB//8A
-        /wAqAANIAf8DPQH/AzgB/wM3Af8DNQH/AzAB/ygAAZEBUwEBAf8BYQFAAQAB/wFWATcBAAH/AVMBNQEA
-        Af8BTQEwAQAB/wE8ASYBAAH/KAABGwFFARsB/wEOATYBDgH/AQkBMAEJAf8BCAEuAQgB/wEHASkBBwH/
-        AQYBHgEGAf8oAAKeATEB/wKWAQwB/wKTAQAB/wKSAQAB/wKNAQAB/wJeAQAB/yAAA5kB/wNVAf8DVQH/
-        A1MB/wNSAf8DUQH/A00B/wNEAf8DOAH/AzkB/xgAAcYBqQFQAf8BtAGCAQEB/wG0AYEBAAH/AbIBgQEA
-        Af8BrwGBAQAB/wGsAYEBAAH/AaQBXgEAAf8BjgFPAQAB/wFWATYBAAH/ATwBMQEYAf8YAAGAAZ4BgAH/
-        ASABXQEgAf8BHwFeAR8B/wEeAV0BHgH/AR0BWwEdAf8BGwFZARsB/wEZAVMBGQH/ARMBRQETAf8BCQEv
-        AQkB/wEhASwBIQH/GAACwAGbAf8CsgFHAf8CtAFFAf8CsgFCAf8CsQE+Af8CsQE6Af8CrQEzAf8CogEd
-        Af8CkwEAAf8CTQEbAf8UAAOfAf8DgQH/A4QB/wOJAf8DiAH/A4YB/wOGAf8DgwH/A4EB/wNUAf8DPgH/
-        AzgB/xAAAdEBsQFSAf8B2QGdAQcB/wHlAaUBCAH/Ae0BrAEJAf8B6wGqAQkB/wHqAagBCAH/AeoBqAEI
-        Af8B4wGkAQYB/wHZAZwBBQH/AbMBgQEAAf8BgAFBAQAB/wE7ATABGAH/EAABgAGpAYAB/wEhAZgBIQH/
-        ARwBqAEcAf8BGQGzARkB/wEaAbABGgH/ARoBrgEaAf8BGgGuARoB/wEbAaYBGwH/AR8BmQEfAf8BHwFd
-        AR8B/wENATgBDQH/ASABLAEgAf8QAALJAaAB/wLLAWIB/wLUAYEB/wLaAYMB/wLYAYIB/wLXAYIB/wLX
-        AYIB/wLUAYEB/wLMAV4B/wK0AUMB/wKZAQsB/wJOARkB/xAAA4EB/wOJAf8DkAH/A5AB/wOQAf8DkAH/
-        A4oB/wOMAf8DgwH/A04B/wNRAf8DPAH/EAAB3AGgAQgB/wHsAaoBCQH/AfYBswEOAf8B9gGzAQ4B/wH2
-        AbMBDgH/AfYBswEOAf8B7wGtAQkB/wHyAbABCgH/AeIBpAEIAf8BpAFfAQAB/wGrAYABAAH/AWEBQAEA
-        Af8QAAEgAZ0BIAH/ARkBsQEZAf8BFwHAARcB/wEXAcABFwH/ARcBwAEXAf8BFwHAARcB/wEYAbYBGAH/
-        ARYBuwEWAf8BHQGkAR0B/wEbAVMBGwH/ARwBWAEcAf8BDAE3AQwB/xAAAs0BgQH/AtgBggH/At8BjQH/
-        At8BjQH/At8BjQH/At8BjQH/AtsBgwH/At0BhwH/AtIBgQH/Aq0BNwH/ArABOgH/ApgBBwH/DAADiQH/
-        A44B/wOQAf8DkAH/A5AB/wOPAf8DiwH/A1oB/wM6Af8DFwH/AwAB/wNQAf8DTQH/AzYB/wgAAesBrAEM
-        Af8B8gGyAQ8B/wH4AbQBDAH/AfYBswEOAf8B9gGzAQ4B/wH1AbIBDgH/AewBrAENAf8BvgGKAQUB/wFY
-        ATkBAAH/AQ4BBAEAAf8DAAH/AaoBgAEAAf8BpAFeAQAB/wFNATMBAAH/CAABHAGxARwB/wEaAbsBGgH/
-        ARMBxAETAf8BFwHAARcB/wEXAcABFwH/ARcBvwEXAf8BHQGyAR0B/wEmAYABJgH/AQ0BMQENAf8DAAH/
-        AwAB/wEcAVcBHAH/ARkBUwEZAf8BCgEpAQoB/wgAAtgBhwH/AtwBjwH/AuEBiwH/At8BjQH/At8BjQH/
-        At4BjQH/AtgBigH/ArUBVwH/Ao8BCQH/AjEBAAH/AwAB/wKuAToB/wKtATMB/wKIAQEB/wgAA5EB/wOc
-        Af8DkQH/A5AB/wNfAf8DQQH/AyAB/wMAAf8DAAH/AwAB/wMQAf8DgQH/A1sB/wNBAf8IAAH5AbYBDQL/
-        Ab8BGwH/AfgBtwEQAf8B9gGzAQ4B/wHKAZMBBwH/AYEBRQEAAf8BHAEOAQAB/wMAAf8DAAH/AwAB/wEE
-        AgAB/wHgAaMBBwH/AcQBjgECAf8BhAFHAQAB/wgAARQBxgEUAf8BGgHRARoB/wEYAcMBGAH/ARcBwAEX
-        Af8BJgGHASYB/wESATsBEgH/AQABCgEAAf8DAAH/AwAB/wMAAf8DAAH/AR4BoQEeAf8BIgGBASIB/wEQ
-        AT4BEAH/CAAC4gGNAf8C5QGhAf8C3wGSAf8C3wGNAf8CvwFeAf8CmAEYAf8CQgEAAf8CAQEAAf8DAAH/
-        AwAB/wIoAQAB/wLRAYEB/wK7AVQB/wKeARUB/wgAA5oB/wOmAf8DlQH/A5AB/wNLAf8DMwH/AwQB/wMA
-        Af8DAAH/AwAB/wM8Af8DjQH/A4EB/wNHAf8IAAH/Ab4BFwL/AcUBKgH/AfoBugEUAf8B9gGzAQ4B/wGZ
-        AVcBAAH/AUgBLQEAAf8DAAH/AwAB/wMAAf8DAAH/AV0BPQEAAf8B9AGxAQsB/wHYAZsBBAH/AZUBUwEA
-        Af8IAAEXAdABFwH/ASQB0wEkAf8BGgHGARoB/wEXAcABFwH/ARoBSwEaAf8BCAEmAQgB/wMAAf8DAAH/
-        AwAB/wMAAf8BDwE0AQ8B/wEVAb4BFQH/AR8BlwEfAf8BFQFJARUB/wgAAuUBnAH/AugBrQH/AuEBmAH/
-        At8BjQH/AqQBMQH/AoUBAAH/AhwBAAH/AwAB/wMAAf8DAAH/ApIBDgH/At4BiAH/AssBXgH/AqUBIwH/
-        CAADnwH/A6oB/wOVAf8DkAH/A48B/wOPAf8DKQH/AwAB/wMAAf8DAAH/A14B/wOIAf8DggH/A0kB/wgA
-        Af8BwQEgAv8ByAEyAf8B+QG5ARUB/wH2AbMBDgH/AfUBsgEOAf8B9AGyAQ4B/wEuARsBAAH/AwAB/wMA
-        Af8DAAH/AccBkQEHAf8B6wGqAQkB/wHiAaMBBwH/AZoBVwEAAf8IAAEdAdIBHQH/ASkB1QEpAf8BGwHF
-        ARsB/wEXAcABFwH/ARcBvwEXAf8BGAG+ARgB/wEAARUBAAH/AwAB/wMAAf8DAAH/ASYBhAEmAf8BGgGw
-        ARoB/wEdAaMBHQH/ARYBTQEWAf8IAALmAaQB/wLrAbQB/wLhAZgB/wLfAY0B/wLeAY0B/wLeAY0B/wJU
-        AQAB/wMAAf8DAAH/AhEBAAH/Ar0BXQH/AtgBggH/AtEBgQH/AqgBKAH/CAADngH/A7EB/wOeAf8DjQH/
-        A4oB/wMwAf8DAAH/AzwB/wMAAf8DKQH/A44B/wOQAf8DgQH/A0kB/wgAAf8BwAEeAv8BzAE9Av8BwQEd
-        Af8B7wGvAQ4B/wHrAasBDAH/AT0BJQEAAf8DAAH/AVwBPAEAAf8DAAH/AS4BGwEAAf8B8wGxAQ4B/wH2
-        AbMBDgH/AdwBnwEGAf8BmQFXAQAB/wgAARsB0gEbAf8BMQHWATEB/wEbAdABGwH/ARwBtgEcAf8BHQGw
-        AR0B/wEEAR8BBAH/AwAB/wEOATMBDgH/AwAB/wEAARUBAAH/ARkBvQEZAf8BFwHAARcB/wEfAZwBHwH/
-        ARcBTAEXAf8IAALmAaIB/wLtAb0B/wLlAaIB/wLbAYsB/wLYAYgB/wJiAQAB/wIxAQAB/wKSAQwB/wIV
-        AQAB/wJUAQAB/wLdAY0B/wLfAY0B/wLNAWIB/wKnASoB/wgAA5kB/wO2Af8DrQH/A5EB/wMwAf8DAAH/
-        A0kB/wOTAf8DJwH/A0sB/wORAf8DkAH/A4EB/wNNAf8IAAH/AbwBFQL/Ac4BRAL/AckBNgH/AfEBtAEX
-        Af8BPQElAQAB/wMAAf8BlAFUAQAB/wH6AbYBDwH/ASoBGAEAAf8BmQFXAQAB/wH5AbUBDwH/AfYBswEO
-        Af8B2QGdAQYB/wGhAV4BAQH/CAABFgHPARYB/wE2AdcBNgH/ASwB1QEsAf8BJAG2ASQB/wEEAR8BBAH/
-        AwAB/wEZAUgBGQH/ARQBxwEUAf8BAAETAQAB/wEaAUsBGgH/ARUBxgEVAf8BFwHAARcB/wEgAZkBIAH/
-        AR0BUQEdAf8IAALkAZkB/wLuAcIB/wLsAbgB/wLaAZgB/wJiAQAB/wMAAf8CoQEtAf8C4gGQAf8CUAEA
-        Af8CpAExAf8C4QGQAf8C3wGNAf8CzAFiAf8CqAE4Af8MAAO4Af8DuwH/A1kB/wMAAf8DSgH/A5EB/wOO
-        Af8DWQH/A4MB/wOQAf8DkAH/A4EB/xAAAf8BzgFFAv8B0AFKAf8BtQGJAQwB/wMAAf8BmAFXAQAB/wH4
-        AbQBDgH/AfMBsQEOAf8BugGHAQUB/wHfAaIBCwH/AfYBswEOAf8B9gGzAQ4B/wHfAaEBBwH/EAABNwHY
-        ATcB/wE6AdgBOgH/AS0BWwEtAf8DAAH/ARoBSwEaAf8BFgHEARYB/wEZAb0BGQH/ASUBYAElAf8BIQGg
-        ASEB/wEXAcABFwH/ARcBwAEXAf8BHwGfAR8B/xAAAu8BxAH/AvAByAH/Aq4BXgH/AgEBAAH/AqQBMQH/
-        AuEBjwH/At0BjQH/ArQBVAH/AtABggH/At8BjQH/At8BjQH/As8BgQH/EAADygH/A8AB/wOVAf8DgQH/
-        A54B/wOVAf8DlAH/A5AB/wOQAf8DkAH/A5AB/wOhAf8QAAH/Ad0BjgL/AdMBUwH/Ae0BuAEhAf8BxwGY
-        ARIB/wH+AcABHgH/AfcBuQEWAf8B9wG3ARQB/wH2AbMBDgH/AfYBswEOAf8B9gGzAQ4B/wH2AbMBDgH/
-        AdkBtAFPAf8QAAGKAeYBigH/AUAB2gFAAf8BMwGuATMB/wEwAYQBMAH/AR8BzQEfAf8BHgHBAR4B/wEc
-        AcEBHAH/ARcBwAEXAf8BFwHAARcB/wEXAcABFwH/ARcBwAEXAf8BXQGzAV0B/xAAAvMBzwH/AvEBzwH/
-        AtYBpQH/ArwBhQH/AuQBpAH/At4BmQH/At8BlgH/At8BjQH/At8BjQH/At8BjQH/At8BjQH/AtABoQH/
-        FAADzwH/A7sB/wO2Af8DrgH/A6MB/wOXAf8DkQH/A40B/wOMAf8DpQH/GAAB/wHfAZUC/wHQAUsC/wHN
-        AUQC/wHLAToC/wHDAScB/wH9AbsBFQH/AfcBtwERAf8B8gGxAQwB/wHyAa8BCgH/AeABugFRAf8YAAGP
-        AecBjwH/ATsB2QE7Af8BNgHYATYB/wEvAdYBLwH/ASIB0wEiAf8BGAHMARgB/wEZAcIBGQH/ARgBuwEY
-        Af8BFQG7ARUB/wFdAbwBXQH/GAAC9AHVAf8C8AHIAf8C7wHDAf8C7QG7Af8C6AGqAf8C4wGZAf8C3wGS
-        Af8C3QGKAf8C3QGHAf8C1gGkAf8gAAOiAf8DpgH/A6oB/wOjAf8DmQH/A4wB/ygAAf8BwwElAv8BxgEt
-        Av8ByQE0Av8BwgEnAv8BvQEVAf8B8gGvAQoB/ygAASAB0wEgAf8BJgHUASYB/wEqAdUBKgH/ASIB0wEi
-        Af8BFgHPARYB/wEWAbsBFgH/KAAC5wGoAf8C6gGwAf8C6wG1Af8C6AGqAf8C5AGZAf8C3QGHAf//AP8A
-        KgACEAE4Af8CBgErAf8CAgEmAf8CAQEkAf8CAAEhAf8CAAEWAf8oAAFgAQABOwH/AUkBAAEsAf8BPwEA
-        ASUB/wE9AQABIwH/ATgBAAEgAf8BLgEAARkB/ygAAQcBKQE2Af8BAAEeASsB/wEAARkBJgH/AQABGAEk
-        Af8BAAEVASAB/wEAAQ4BFQH/KAADhQH/A1sB/wNTAf8DUQH/A00B/wNEAf8gAAJIAYcB/wITAU0B/wIS
-        AU0B/wISAUwB/wIRAUsB/wIQAUgB/wIOAUQB/wIJATcB/wIBASYB/wIUASEB/xgAAawBIwGJAf8BjwEA
-        AUwB/wGPAQABTAH/AY0BAAFLAf8BiwEAAUkB/wGIAQABRwH/AYIBAAFDAf8BWQEAATYB/wE/AQABJAH/
-        ATEBBAEjAf8YAAFAAWEBhgH/AQgBOAFMAf8BBgE5AU0B/wEGATcBTAH/AQUBNgFKAf8BBAE1AUgB/wED
-        ATEBRAH/AQABJwE3Af8BAAEZASYB/wEQARwBIAH/GAADtAH/A5cB/wOXAf8DlQH/A5MB/wOSAf8DjQH/
-        A4EB/wNTAf8DQgH/FAACRwGSAf8CEgGEAf8CDQGRAf8CCgGbAf8CCwGZAf8CCwGYAf8CCwGYAf8CDQGQ
-        Af8CEQGEAf8CEgFNAf8CBQEtAf8CEwEgAf8QAAG1ASQBkAH/Aa0BAAFhAf8BtgEAAYEB/wG8AQABgwH/
-        AbsBAAGDAf8BugEAAYIB/wG6AQABggH/AbQBAAGBAf8BrAEAAWAB/wGOAQABSwH/AUoBAAEsAf8BMAEE
-        ASMB/xAAAT0BgQGSAf8BAgFOAYUB/wEAAVcBlAH/AQABXQGfAf8BAAFcAZ0B/wEAAVsBmwH/AQABWwGb
-        Af8BAAFWAZMB/wEAAU4BhgH/AQYBOAFNAf8BAAEfASwB/wEQARsBIAH/EAADugH/A6wB/wOyAf8DtgH/
-        A7UB/wO0Af8DtAH/A7EB/wOrAf8DlgH/A1wB/wNCAf8QAAISAYcB/wIKAZoB/wIHAagB/wIHAagB/wIH
-        AagB/wIHAagB/wIJAZ4B/wIHAaMB/wIPAY8B/wIPAUQB/wIQAUgB/wIEASsB/xAAAbABAAGAAf8BvAEA
-        AYMB/wHGAQABigH/AcYBAAGKAf8BxgEAAYoB/wHGAQABigH/Ab4BAAGFAf8BwQEAAYcB/wG0AQABgQH/
-        AYMBAAFDAf8BiAEAAUcB/wFIAQABKwH/EAABAQFRAYkB/wEAAVwBngH/AQABgQGtAf8BAAGBAa0B/wEA
-        AYEBrQH/AQABgQGtAf8BAAFfAaMB/wEAAWIBpwH/AQABVQGRAf8BBQEyAUQB/wEFATQBSAH/AQABHgEr
-        Af8QAAOuAf8DtgH/A70B/wO9Af8DvQH/A70B/wO3Af8DuQH/A7EB/wOOAf8DkgH/A1oB/wwAAg0BmQH/
-        AgsBogH/AgQBqwH/AgcBqAH/AgcBqAH/AggBpwH/Ag0BmwH/AhgBUgH/AgUBJgH/AwAB/wMAAf8CEAFH
-        Af8CDgFEAf8CAwEgAf8IAAG9AQABhAH/AcUBAAGJAf8BxgEAAYoB/wHGAQABigH/AcYBAAGKAf8BxgEA
-        AYoB/wG/AQABhQH/AZkBAAFTAf8BQwEAAScB/wEHAgAB/wMAAf8BhwEAAUYB/wGCAQABQwH/ATsBAAEi
-        Af8JAAFdAZ0B/wEAAYABpwH/AQABgQGxAf8BAAGBAa0B/wEAAYEBrQH/AQABgQGrAf8BAAFeAZ4B/wEM
-        AT0BUQH/AQABGgEmAf8DAAH/AwAB/wEFATQBRwH/AQMBMQFEAf8BAAEVAR8B/wgAA7YB/wO7Af8DvQH/
-        A70B/wO9Af8DvAH/A7gB/wOeAf8DVgH/AxsB/wMAAf8DkQH/A40B/wNPAf8IAAIEAa0B/wIHAbkB/wII
-        AaoB/wIHAagB/wIYAVwB/wIJAS8B/wIAAQUB/wMAAf8DAAH/AwAB/wMAAf8CDwGMAf8CFQFXAf8CBwEy
-        Af8IAAHIAQABjAH/AdcBAAGWAf8ByQEAAYwB/wHGAQABigH/AaMBAAFaAf8BUAEAATEB/wESAQABBQH/
-        AwAB/wMAAf8DAAH/AwAB/wGzAQABgQH/AZsBAAFUAf8BUQEAATEB/wkAAYEBswH/AQABigG/Af8BAAGB
-        Aa8B/wEAAYEBrQH/AQoBRAFcAf8BAQEiAS8B/wIAAQUB/wMAAf8DAAH/AwAB/wMAAf8BAAFUAY4B/wEI
-        AUABVwH/AQABIwEyAf8IAAO+Af8DxwH/A74B/wO9Af8DpAH/A2EB/wMpAf8DAAH/AwAB/wMAAf8DEQH/
-        A68B/wOfAf8DYgH/CAACBgG3Af8CCAHCAf8CCgGtAf8CBwGoAf8CDwE9Af8CAQEdAf8DAAH/AwAB/wMA
-        Af8DAAH/AgYBKQH/AgYBpgH/AhEBgwH/AgoBPAH/CAAB1AEAAZQB/wHhAQABnQH/Ac4BAAGPAf8BxgEA
-        AYoB/wGBAQABPgH/ATYBAAEeAf8DAAH/AwAB/wMAAf8DAAH/AUcBAAEqAf8BwwEAAYgB/wGrAQABXwH/
-        AV4BAAE6Af8JAAGIAb0B/wEAAZAByAH/AQABggGyAf8BAAGBAa0B/wEFASwBPAH/AQABEwEdAf8DAAH/
-        AwAB/wMAAf8DAAH/AQABHAEoAf8BAAGBAasB/wEBAU0BhAH/AQABKwE8Af8IAAPFAf8DzgH/A8EB/wO9
-        Af8DiQH/A0oB/wMDAf8DAAH/AwAB/wMAAf8DWgH/A7oB/wOqAf8DhAH/CAACBwG8Af8CCQHHAf8CCwGs
-        Af8CBwGoAf8CCAGnAf8CCQGlAf8CAAEPAf8DAAH/AwAB/wMAAf8CGAFaAf8CCwGZAf8CDgGNAf8CCwE/
-        Af8IAAHaAQABmAH/AecBAAGhAf8BzgEAAY8B/wHGAQABigH/AcYBAAGKAf8BxQEAAYoB/wEgAQABDwH/
-        AwAB/wMAAf8DAAH/AaEBAAFYAf8BuwEAAYMB/wGzAQABgQH/AWIBAAE9Af8JAAGMAcIB/wEAAZQBzQH/
-        AQABgQGxAf8BAAGBAa0B/wEAAYEBqwH/AQABgQGqAf8BAAEHAQ4B/wMAAf8DAAH/AwAB/wEKAUIBWQH/
-        AQABXAGdAf8BAAFVAZAB/wEBAS0BPwH/CAADyQH/A9EB/wPBAf8DvQH/A7wB/wO8Af8DOAH/AwAB/wMA
-        Af8DAAH/A6MB/wO1Af8DsAH/A4cB/wgAAgcBuwH/AgoBzgH/AggBuQH/AgwBngH/Ag4BmQH/AgABFwH/
-        AwAB/wIGASgB/wMAAf8CAAEPAf8CCQGkAf8CBwGoAf8CEQGHAf8CDAE9Af8IAAHZAQABlwH/Ae4BAAGm
-        Af8B1wEAAZYB/wHCAQABhwH/Ab4BAAGFAf8BLAEAARcB/wMAAf8BRgEAASkB/wMAAf8BIAEAAQ8B/wHF
-        AQABiQH/AcYBAAGKAf8BrwEAAWIB/wFiAQABPQH/CQABiwHBAf8BAAGZAdQB/wEAAYkBvgH/AQABYAGi
-        Af8BAAFdAZ0B/wEAAQ4BFwH/AwAB/wEAARwBKAH/AwAB/wEAAQcBDgH/AQABgAGpAf8BAAGBAa0B/wEA
-        AVABiQH/AQIBLAE9Af8IAAPIAf8D1gH/A8gB/wO6Af8DtwH/A0MB/wMAAf8DWQH/AwAB/wM4Af8DuwH/
-        A70B/wOtAf8DhwH/CAACBgG1Af8CCwHRAf8CCQHJAf8CFAGeAf8CAAEXAf8DAAH/Ag4BOgH/AgUBrgH/
-        AgABDAH/Ag8BPQH/AgUBrQH/AgcBqAH/AhIBhAH/AhEBQgH/CAAB0gEAAZIB/wHzAQABqgH/AeoBAAGj
-        Af8ByQEAAYwB/wEsAQABFwH/AwAB/wFgAQABPAH/AcoBAAGNAf8BHQEAAQ0B/wGBAQABPgH/AckBAAGM
-        Af8BxgEAAYoB/wGtAQABYQH/AYIBAAFDAf8JAAGHAbsB/wEAAZwB2QH/AQABlgHQAf8BAAFhAaEB/wEA
-        AQ4BFwH/AwAB/wEFASoBOgH/AQABggG0Af8BAAEFAQwB/wEFASwBPAH/AQABgQGzAf8BAAGBAa0B/wEB
-        AU8BhgH/AQcBMAFBAf8IAAPEAf8D2QH/A9MB/wO+Af8DQwH/AwAB/wOGAf8DvwH/AzQB/wOJAf8DvgH/
-        A70B/wOsAf8DjQH/DAACCwHTAf8CCwHWAf8CHwFKAf8DAAH/Ag8BPAH/AgYBqwH/AgkBpAH/AhgBTwH/
-        AhIBiwH/AgcBqAH/AgcBqAH/AhABigH/EAAB9AEAAaoB/wH4AQABrQH/AZgBAAFSAf8DAAH/AYABAAE+
-        Af8ByAEAAYwB/wHFAQABiQH/AZYBAAFRAf8BtAEAAYEB/wHGAQABigH/AcYBAAGKAf8BsQEAAYEB/xEA
-        AZ0B2QH/AQABnwHdAf8BFAE5AUcB/wMAAf8BBQEsATwB/wEAAYEBsQH/AQABgAGpAf8BDAE7AU4B/wEB
-        AVMBjAH/AQABgQGtAf8BAAGBAa0B/wEAAVIBjAH/EAAD2gH/A9wB/wOdAf8DAAH/A4gB/wO+Af8DuwH/
-        A5wB/wOxAf8DvQH/A70B/wOuAf8QAAJHAdQB/wINAdoB/wIhAZYB/wIhAVkB/wILAbYB/wIOAagB/wIM
-        AagB/wIHAagB/wIHAagB/wIHAagB/wIHAagB/wJAAZ4B/xAAAesBMAG5Af8B/gEAAbEB/wHOAQABkAH/
-        AakBAAFeAf8B1wEAAZYB/wHNAQABjwH/AcsBAAGOAf8BxgEAAYoB/wHGAQABigH/AcYBAAGKAf8BxgEA
-        AYoB/wG8ASIBlQH/EAABNAGwAdkB/wEAAaMB4gH/AQ8BXgGWAf8BFAFEAVgB/wEAAYgBuwH/AQABgQGs
-        Af8BAAGBAa0B/wEAAYEBrQH/AQABgQGtAf8BAAGBAa0B/wEAAYEBrQH/ATQBhwGfAf8QAAPiAf8D3wH/
-        A8EB/wOpAf8DyAH/A8EB/wPAAf8DvQH/A70B/wO9Af8DvQH/A70B/xQAAkgB2QH/AgsB1gH/AgsB0gH/
-        AgoBzAH/AggBvwH/AggBsgH/AgkBqQH/AgkBowH/AgYBowH/Aj8BpwH/GAAB8QEwAb4B/wH5AQABrQH/
-        AfQBAAGqAf8B7QEAAaUB/wHfAQABmwH/AdEBAAGSAf8ByQEAAYwB/wHDAQABiAH/AcEBAAGHAf8BwgEk
-        AZkB/xgAATUBtAHeAf8BAAGfAd0B/wEAAZwB2QH/AQABmAHTAf8BAAGPAcYB/wEAAYUBuAH/AQABgQGv
-        Af8BAAFiAacB/wEAAWIBqAH/ATEBjQGpAf8YAAPmAf8D3AH/A9kB/wPUAf8DzAH/A8MB/wO+Af8DugH/
-        A7kB/wPBAf8gAAIHAb8B/wIIAcMB/wIJAcgB/wIIAb8B/wIGAbUB/wIHAaMB/ygAAd0BAAGaAf8B4wEA
-        AZ4B/wHoAQABogH/Ad8BAAGbAf8B0gEAAZIB/wHBAQABhwH/KQABjgHFAf8BAAGRAcoB/wEAAZUBzgH/
-        AQABjwHGAf8BAAGHAbsB/wEAAWIBpwH/KAADywH/A84B/wPRAf8DzAH/A8QB/wO5Af//AP8AKgADJQH/
-        Ax4B/wMcAf8DGwH/AxoB/wMYAf8oAAFUAS4BIQH/AUMBHgESAf8BOwEYAQ0B/wE5ARcBDAH/ATQBFQEK
-        Af8BJgERAQkB/ygAAQsBJwELAf8BAgEdAQIB/wEAARkBAAH/AQABFwEAAf8BAAEUAQAB/wEAAQ0BAAH/
-        KAABNQE3ARAB/wEpASsBBQH/ASMBJgEBAf8BIgEkAQAB/wEfASEBAAH/ARUBFgEAAf8gAAOCAf8DLwH/
-        Ay8B/wMuAf8DLQH/AywB/wMpAf8DIwH/AxwB/wMrAf8YAAGiAYEBVwH/AYcBOAEmAf8BiAE4ASUB/wGG
-        ATcBJAH/AYQBNQEjAf8BggEzASEB/wGBATABHgH/AVMBJgEYAf8BOwEYAQwB/wErAR8BGgH/GAABQwFf
-        AUMB/wEOATgBDgH/AQ0BOAENAf8BDQE3AQ0B/wEMATYBDAH/AQsBNQELAf8BCQExAQkB/wEFAScBBQH/
-        AQABGQEAAf8BEgEbARIB/xgAAYUBhwFHAf8BSQFNARIB/wFKAU0BEQH/AUkBTAERAf8BRwFLARAB/wFF
-        AUkBDwH/AUEBRQENAf8BNQE4AQgB/wEjASYBAQH/ASABIQEUAf8UAAOIAf8DQQH/A0cB/wNMAf8DSwH/
-        A0kB/wNJAf8DRgH/A0AB/wMvAf8DHwH/AysB/xAAAbABgQFWAf8BsAFDASYB/wHCAUMBIAH/Ac0BRAEe
-        Af8BygFEAR8B/wHJAUMBHgH/AckBQwEeAf8BwQFCAR8B/wGxAUEBJAH/AYcBNwElAf8BRQEeAREB/wEq
-        AR0BGQH/EAABQwGBAUMB/wEPAVABDwH/AQsBWwELAf8BCQFiAQkB/wEKAWABCgH/AQoBXwEKAf8BCgFf
-        AQoB/wELAVkBCwH/AQ0BUAENAf8BDQE4AQ0B/wEBAR4BAQH/AREBGwERAf8QAAGPAZIBRgH/AYEBhAER
-        Af8BiwGSAQwB/wGUAZwBCAH/AZIBmQEJAf8BkQGYAQoB/wGRAZgBCgH/AYoBkAELAf8BgQGEAQ8B/wFJ
-        AU0BEQH/ASsBLQEEAf8CIAETAf8QAANDAf8DTAH/A1UB/wNVAf8DVQH/A1UB/wNNAf8DTwH/A0YB/wMq
-        Af8DLAH/Ax4B/xAAAbUBQwElAf8BywFEAR8B/wHUAUsBJQH/AdQBSwElAf8B1AFLASUB/wHUAUsBJQH/
-        Ac8BRQEfAf8B0gFGASAB/wG+AUMBIgH/AYEBMQEgAf8BgQEzASEB/wFDAR0BEAH/EAABDgFTAQ4B/wEJ
-        AWEBCQH/AQgBgwEIAf8BCAGDAQgB/wEIAYMBCAH/AQgBgwEIAf8BCAGBAQgB/wEHAYEBBwH/AQwBWAEM
-        Af8BCwExAQsB/wELATQBCwH/AQEBHgEBAf8QAAGCAYgBEAH/AZMBmwEJAf8BoAGoAQYB/wGgAagBBgH/
-        AaABqAEGAf8BoAGoAQYB/wGXAZ8BBwH/AZsBowEGAf8BiAGOAQ0B/wFBAUQBDgH/AUUBSAEPAf8BKQEs
-        AQMB/wwAA0wB/wNSAf8DVQH/A1UB/wNVAf8DUwH/A04B/wM0Af8DHQH/AwwB/wMAAf8DLAH/AykB/wMb
-        Af8IAAHJAUcBIwH/Ac8BSwEnAf8B1wFJASIB/wHUAUsBJQH/AdQBSwElAf8B0wFLASUB/wHKAUkBJQH/
-        AY4BPwEtAf8BPAEcAREB/wEEAgAB/wMAAf8BgQEzASIB/wGBATABHgH/ATMBFwEOAf8IAAELAWEBCwH/
-        AQoBgQEKAf8BBQGFAQUB/wEIAYMBCAH/AQgBgwEIAf8BCAGCAQgB/wEMAWIBDAH/ARIBPAESAf8BAQEZ
-        AQEB/wMAAf8DAAH/AQsBNAELAf8BCQExAQkB/wEAARQBAAH/CAABkwGaAQsB/wGbAaMBCQH/AaMBqwEC
-        Af8BoAGoAQYB/wGgAagBBgH/AZ8BpwEGAf8BlAGbAQwB/wFOAVIBFwH/ASQBJgEEAf8DAAH/AwAB/wFE
-        AUcBEAH/AUEBRQENAf8BHgEgAQIB/wgAA1YB/wOAAf8DVgH/A1UB/wM5Af8DIAH/AxEB/wMAAf8DAAH/
-        AwAB/wMHAf8DRAH/AzUB/wMhAf8IAAHYAUsBJAH/AdsBWAE0Af8B1AFOASgB/wHUAUsBJQH/AZwBQgEs
-        Af8BSAEjARcB/wEPAgAB/wMAAf8DAAH/AwAB/wMAAf8BuwFDASMB/wGVAT4BKAH/AUwBIwEVAf8IAAEG
-        AYcBBgH/AQgBkAEIAf8BCAGFAQgB/wEIAYMBCAH/ARIBRAESAf8BBQEhAQUB/wMAAf8DAAH/AwAB/wMA
-        Af8DAAH/AQ0BVgENAf8BEAFAARAB/wEDASMBAwH/CAABpAGtAQMB/wGwAboBBQH/AaIBqgEGAf8BoAGo
-        AQYB/wFYAVwBFgH/AS0BLwEIAf8BBAEFAQAB/wMAAf8DAAH/AwAB/wMAAf8BhgGMAQ4B/wFTAVcBFAH/
-        AS8BMgEHAf8IAANgAf8DhwH/A1oB/wNVAf8DJwH/AxkB/wMAAf8DAAH/AwAB/wMAAf8DHgH/A1EB/wM/
-        Af8DJQH/CAAB2gFVATAB/wHdAWEBQAH/AdUBUgEuAf8B1AFLASUB/wFbAS8BIAH/AS8BFAELAf8DAAH/
-        AwAB/wMAAf8DAAH/AT8BHgETAf8B1AFHASAB/wGvAUEBJAH/AVkBKQEZAf8IAAEHAY4BBwH/AQkBlwEJ
-        Af8BCgGHAQoB/wEIAYMBCAH/AQoBKwEKAf8BAAESAQAB/wMAAf8DAAH/AwAB/wMAAf8BAgEcAQIB/wEH
-        AYEBBwH/AQ0BTwENAf8BBgEqAQYB/wgAAa4BtwEEAf8BuQHCAQYB/wGlAa0BCAH/AaABqAEGAf8BOgE9
-        AQ4B/wEbAR0BAAH/AwAB/wMAAf8DAAH/AwAB/wEnASkBBgH/AZ4BpgEEAf8BgQGDAQ8B/wE5ATwBCgH/
-        CAADgQH/A4wB/wNaAf8DVQH/A1MB/wNTAf8DFQH/AwAB/wMAAf8DAAH/AzgB/wNLAf8DRQH/AyYB/wgA
-        AdwBWwE3Af8B3wGBAUYB/wHUAVIBLwH/AdQBSwElAf8B0wFLASUB/wHSAUsBJgH/ARwBCAEBAf8DAAH/
-        AwAB/wMAAf8BmQFCASwB/wHKAUQBHwH/Ab0BQgEhAf8BXQErARsB/wgAAQgBkgEIAf8BCgGbAQoB/wEK
-        AYYBCgH/AQgBgwEIAf8BCAGCAQgB/wEJAYEBCQH/AQABBgEAAf8DAAH/AwAB/wMAAf8BEgFCARIB/wEK
-        AWABCgH/AQwBVwEMAf8BBwEtAQcB/wgAAbMBvAEFAf8BvQHHAQcB/wGkAawBCQH/AaABqAEGAf8BnwGn
-        AQYB/wGeAaYBBwH/AQ0BDgEAAf8DAAH/AwAB/wMAAf8BVgFaARcB/wGSAZkBCQH/AYgBjgENAf8BPAE/
-        AQsB/wgAA4EB/wOWAf8DgQH/A1EB/wNNAf8DGAH/AwAB/wMeAf8DAAH/AxUB/wNSAf8DVQH/A0IB/wMm
-        Af8IAAHcAVoBNgH/AeEBhgFPAf8B2gFZATUB/wHMAUoBJwH/AckBSAElAf8BJwEPAQcB/wMAAf8BPwEd
-        ARIB/wMAAf8BHAEIAQEB/wHRAUsBJgH/AdQBSwElAf8BtQFCASQB/wFbASwBHAH/CAABCAGSAQgB/wEL
-        AaABCwH/AQkBkAEJAf8BCwGBAQsB/wEMAWABDAH/AQABDQEAAf8DAAH/AQIBGwECAf8DAAH/AQABBgEA
-        Af8BCQGBAQkB/wEIAYMBCAH/AQ0BUwENAf8BCAEsAQgB/wgAAbIBuwEFAf8BxAHOAQgB/wGwAbkBBgH/
-        AZcBngELAf8BkwGaAQwB/wEVARcBAAH/AwAB/wEmASgBBQH/AwAB/wENAQ4BAAH/AZ0BpAEIAf8BoAGo
-        AQYB/wGCAYcBDwH/ATsBPgELAf8IAANfAf8DmwH/A5AB/wNWAf8DGAH/AwAB/wMmAf8DVwH/AxQB/wMn
-        Af8DVgH/A1UB/wNBAf8DKQH/CAAB2gFTAS4B/wHiAYoBVQH/Ad8BgQFKAf8ByAFTATQB/wEnAQ8BBwH/
-        AwAB/wFXAS0BHgH/AdgBTQEmAf8BGQEGAQAB/wFbAS8BIAH/AdcBTAEmAf8B1AFLASUB/wGxAUIBJQH/
-        AWEBMgEjAf8IAAEHAY0BBwH/AQwBpAEMAf8BCwGdAQsB/wERAYEBEQH/AQABDQEAAf8DAAH/AQkBKQEJ
-        Af8BBgGIAQYB/wEAAQUBAAH/AQoBKwEKAf8BBgGHAQYB/wEIAYMBCAH/AQ4BUAEOAf8BDAEvAQwB/wgA
-        AawBtQEEAf8ByAHSAQgB/wHAAcoBBwH/AZgBngESAf8BFQEXAQAB/wMAAf8BOAE6AQ0B/wGmAa8BAwH/
-        AQsBDAEAAf8BOgE9AQ4B/wGlAa0BBAH/AaABqAEGAf8BgQGEARAB/wE/AUEBEQH/DAADngH/A6IB/wM0
-        Af8DAAH/AycB/wNWAf8DUgH/AzMB/wNGAf8DVQH/A1UB/wNDAf8QAAHiAYsBVgH/AeMBjwFaAf8BhAFD
-        ATUB/wMAAf8BWgEuASAB/wHWAUwBJgH/AdEBSwEmAf8BiwE+ASwB/wG6AUUBJwH/AdQBSwElAf8B1AFL
-        ASUB/wG5AUMBJAH/EAABDAGkAQwB/wENAacBDQH/ARcBNgEXAf8DAAH/AQoBKwEKAf8BBwGFAQcB/wEJ
-        AYEBCQH/ARIBOgESAf8BDwFVAQ8B/wEIAYMBCAH/AQgBgwEIAf8BDQFVAQ0B/xAAAcgB0wEJAf8BzAHW
-        AQkB/wFHAUkBHgH/AwAB/wE6ATwBDgH/AaMBqwEEAf8BnQGkAQgB/wFMAU8BFwH/AYUBiwERAf8BoAGo
-        AQYB/wGgAagBBgH/AYQBigEPAf8QAAO3Af8DqAH/A1oB/wM+Af8DgQH/A1oB/wNZAf8DVQH/A1UB/wNV
-        Af8DVQH/A4sB/xAAAegBoAGHAf8B5AGUAWEB/wG9AV4BRgH/AZgBSgE4Af8B1wFaATgB/wHQAVQBMgH/
-        AdEBUQEuAf8B1AFLASUB/wHUAUsBJQH/AdQBSwElAf8B1AFLASUB/wHAAYEBTwH/EAABSAG1AUgB/wEO
-        AasBDgH/ARsBXwEbAf8BGQFCARkB/wELAY4BCwH/AQ0BgwENAf8BCwGEAQsB/wEIAYMBCAH/AQgBgwEI
-        Af8BCAGDAQgB/wEIAYMBCAH/AT4BiAE+Af8QAAHNAdQBRQH/AdEB3AEKAf8BkAGWASAB/wFVAVkBIAH/
-        Aa0BtgEJAf8BoQGoAQwB/wGhAakBCgH/AaABqAEGAf8BoAGoAQYB/wGgAagBBgH/AaABqAEGAf8BmgGe
-        AT8B/xQAA74B/wOiAf8DmwH/A5IB/wODAf8DXQH/A1YB/wNRAf8DTwH/A48B/xgAAekBpQGPAf8B4wGP
-        AVsB/wHiAYsBVQH/AeABhAFNAf8B3QFfAT0B/wHYAVMBLwH/AdQBTgEpAf8B0AFJASQB/wHTAUYBHwH/
-        AcoBgQFNAf8YAAFJAboBSQH/AQ0BpwENAf8BDAGkAQwB/wELAZ8BCwH/AQkBlgEJAf8BCAGLAQgB/wEJ
-        AYQBCQH/AQkBgQEJAf8BBwGBAQcB/wE+AZABPgH/GAAB0wHaAUYB/wHMAdcBCQH/AcgB0gEJAf8BwgHM
-        AQgB/wG3AcABBgH/AaoBswEGAf8BoQGqAQcB/wGbAaMBBwH/AZwBpAEFAf8BogGnAT4B/yAAA4IB/wOH
-        Af8DjAH/A4MB/wNfAf8DTwH/KAAB3QFeATwB/wHeAYABQgH/Ad8BgQFIAf8B3QFfAT0B/wHaAVMBLgH/
-        AdIBRgEgAf8oAAEJAZUBCQH/AQoBmQEKAf8BCgGcAQoB/wEJAZYBCQH/AQcBjQEHAf8BBwGBAQcB/ygA
-        AbYBvwEFAf8BugHEAQYB/wG+AcgBBwH/AbcBwAEGAf8BrAG1AQQB/wGbAaMBBgH//wAVAAFCAU0BPgcA
-        AT4DAAEoAwABQAMAAWADAAEBAQABAQYAAQMWAAP/gQAI/wH4AR8B+AEfAfgBHwH4AR8B4AEHAeABBwHg
-        AQcB4AEHAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGA
-        AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
-        AQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHg
-        AQcB+AEfAfgBHwH4AR8B+AEfEP8B+AEfAfgBHwH4AR8B+AEfAeABBwHgAQcB4AEHAeABBwHAAQMBwAED
-        AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
-        AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGgAQEBgAEBAYABAQGAAQEBsAEB
-        AcABAwHAAQMBwAEDAfABAwHAAQMBwAEDAcABAwHQAQMB4AEHAeABBwHgAQcB/gEHAfgBHwH4AR8B+AEf
-        AfgBHxD/AfgBHwH4AR8B+AEfAfgBHwHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAcABAwHA
+        AYQBXQHEAf8BgQFUAcQB/wGAAVIBwwH/AV4BUAHBAf8BXgFSAbYB/ykAATcBlwH/AQABKAFfAf8BAAEh
+        AVMB/wEAAR8BUAH/AQABHAFKAf8BAAEVAT0B/ygAASsBRAFGAf8BHAE0ATYB/wEWASwBLgH/ARQBKgEs
+        Af8BEgEmASgB/wEOARwBHQH/KAABEgE2AUUB/wEGASgBNgH/AQEBIgEvAf8BAAEhAS4B/wEAAR0BKQH/
+        AQABFAEcAf8gAAG5AbQB0gH/AZ8BlQHSAf8BngGUAdMB/wGcAZIB0gH/AZsBkQHSAf8BmQGOAdIB/wGV
+        AYoB0AH/AYsBgQHLAf8BgAFTAcUB/wFUAU4BkQH/GAABOAGUAcsB/wEAAUgBtQH/AQABSAG0Af8BAAFG
+        AbIB/wEAAUUBrwH/AQABQwGrAf8BAAE/AaQB/wEAATMBjgH/AQABIQFTAf8BDQEnATwB/xgAAYoBnwGh
+        Af8BNgFaAV0B/wE1AVoBXQH/ATQBWQFcAf8BMgFXAVoB/wEwAVUBWAH/AS0BUAFTAf8BJAFBAUQB/wEV
+        ASwBLgH/ASMCKgH/GAABWwGUAaEB/wEVAUkBXwH/ARQBSgFfAf8BEwFIAV4B/wESAUcBXAH/ARABRQFa
+        Af8BDgFAAVUB/wEJATQBRQH/AQEBIgEvAf8BHAElASoB/xQAAbwBtwHYAf8BqwGhAeIB/wGuAaMB6AH/
+        AbABpAHsAf8BrwGkAesB/wGvAaQB6gH/Aa8BpAHqAf8BrQGhAegB/wGqAZ8B4gH/AZ0BkwHTAf8BgwFb
+        AcYB/wFTAU0BkQH/EAABOgGbAdQB/wEAAV0B2wH/AQABgQHmAf8BAAGCAe0B/wEAAYEB7AH/AQABgQHq
+        Af8BAAGBAeoB/wEAAYEB5AH/AQABXAHZAf8BAAFHAbMB/wEAASgBgAH/AQwBJgE7Af8QAAGNAagBqgH/
+        AUABkwGYAf8BQAGfAaUB/wFCAaUBqwH/AUIBowGpAf8BQQGiAagB/wFBAaIBqAH/AT8BngGjAf8BPgGT
+        AZgB/wE1AVkBXQH/ARwBNQE3Af8BIwEpASoB/xAAAVoBnAGsAf8BEgGBAaAB/wELAYkBsQH/AQYBkQG9
+        Af8BBwGPAboB/wEIAY0BuAH/AQgBjQG4Af8BCgGIAa8B/wEQAYEBoAH/ARMBSQFfAf8BBQEpATgB/wEb
+        ASUBKQH/EAABrAGiAeMB/wGvAaQB6wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BsAGl
+        Ae0B/wGxAaYB7wH/Aa0BogHnAf8BlwGNAc8B/wGZAY4B0QH/AYIBWgHGAf8RAAFeAd4B/wEAAYEB7QH/
+        AQABiQH6Af8BAAGJAfoB/wEAAYkB+gH/AQABiQH6Af8BAAGDAfAB/wEAAYUB9AH/AQABgQHkAf8BAAE/
+        AaUB/wEAAUMBqwH/AQABJwFeAf8QAAFAAZcBnAH/AUIBpAGqAf8BSQGsAbIB/wFJAawBsgH/AUkBrAGy
+        Af8BSQGsAbIB/wFDAaYBrAH/AUQBqQGvAf8BQAGdAaIB/wEvAVABUwH/ATEBVAFXAf8BGwEzATUB/xAA
+        AREBggGkAf8BBwGPAbwB/wECAZsBzQH/AQIBmwHNAf8BAgGbAc0B/wECAZsBzQH/AQUBkgHAAf8BAgGW
+        AcYB/wENAYcBrQH/ARABQQFUAf8BEQFEAVkB/wEEASgBNwH/DAABsgGnAeoB/wG1AasB7QH/AbQBqAHx
+        Af8BtQGqAfAB/wG1AaoB8AH/AbUBqgHvAf8BswGoAesB/wGmAZ0B0wH/AYIBWwHAAf8BRQE2Aa4B/wMA
+        Af8BmQGPAdAB/wGVAYoB0AH/AYEBVwG9Af8JAAGCAe8B/wEAAYgB+AH/AQABiQH6Af8BAAGJAfoB/wEA
+        AYkB+gH/AQABiAH6Af8BAAGEAfEB/wEAAU8BwgH/AQABJAFYAf8CAAEMAf8DAAH/AQABQgGqAf8BAAE/
+        AaQB/wEAAR4BTQH/CAABRQGkAaoB/wFKAakBrwH/AUcBrQG0Af8BSQGsAbIB/wFJAawBsgH/AUkBqwGx
+        Af8BRwGlAaoB/wE9AoEB/wEZAS4BMAH/AwAB/wMAAf8BMQFUAVcB/wEtAVABUwH/ARUBJwEpAf8IAAEK
+        AZABuwH/AQcBlwHGAf8BAAGcAdEB/wECAZsBzQH/AQIBmwHNAf8BAwGaAcsB/wEKAZEBvAH/ARsBTwGB
+        Af8BBQEkATAB/wMAAf8DAAH/AREBRAFYAf8BDgFAAVUB/wEDAR4BKAH/CAABtQGqAfIB/wG/AbUB8wH/
+        AbcBrAHwAf8BtQGqAfAB/wGpAaAB2QH/AYkBgQHEAf8BSgE7AbMB/wFEATsBjQH/AwAB/wMAAf8BQAEx
+        AasB/wGtAaIB5QH/AaQBmgHXAf8BiAGAAcgB/wkAAYoB/QH/AQABkgL/AQABiwH+Af8BAAGJAfoB/wEA
+        AVUBzgH/AQABLQGDAf8BAAECARoB/wMAAf8DAAH/AwAB/wIAAQEB/wEAAYAB4QH/AQABUAHEAf8BAAEu
+        AYUB/wgAAUkBrgG1Af8BVwG1AbsB/wFMAa0BswH/AUkBrAGyAf8BQAGGAYoB/wEhATkBOwH/AQABBwEI
+        Af8DAAH/AwAB/wMAAf8DAAH/AUABmgGgAf8BOwGBAYMB/wEgATsBPQH/CQABngHSAf8BAAGpAeIB/wED
+        AZ0BzwH/AQIBmwHNAf8BGQFYAYwB/wEJAS0BOwH/AQABAgEIAf8DAAH/AwAB/wMAAf8DAAH/AQ4BhQGq
+        Af8BFgFTAYYB/wEHAS8BPwH/CAABvQGzAfMB/wHGAb0B9QH/AboBsAHwAf8BtQGqAfAB/wGVAYoBygH/
+        AYABUwG8Af8BPQEuAaQB/wMAAf8DAAH/AwAB/wGEAV4BwQH/AbIBpwHwAf8BqQGeAeIB/wGOAYIBzQH/
+        CQABkQL/AQEBmAL/AQABjQL/AQABiQH6Af8BAAE6AZwB/wEAARsBRwH/AwAB/wMAAf8DAAH/AwAB/wEA
+        AScBXQH/AQABhgH2Af8BAAFbAdcB/wEAATYBlAH/CAABVAG0AboB/wGBAboBwAH/AVEBrwG1Af8BSQGs
+        AbIB/wEsAUkBSwH/ARIBIwElAf8DAAH/AwAB/wMAAf8DAAH/ARwBMgEzAf8BRQGrAbEB/wE+AZIBlwH/
+        ASYBRgFIAf8JAAGnAd4B/wEKAa4B5AH/AQUBoAHTAf8BAgGbAc0B/wERATsBSwH/AQEBGwElAf8DAAH/
+        AwAB/wMAAf8DAAH/AQcBJwEzAf8BAQGYAcoB/wEQAYEBnwH/AQsBOAFKAf8IAAHBAbgB9AH/AcoBwgH1
+        Af8BuwGxAfAB/wG1AaoB8AH/AbUBqgHvAf8BtQGqAe8B/wFSAUUBtwH/AwAB/wMAAf8BPAEuAZ0B/wGo
+        AZ8B1wH/Aa8BpAHrAf8BrQGiAeYB/wGRAYUBzgH/CQABlAL/AQgBmwL/AQABjQL/AQABiQH6Af8BAAGI
+        AfoB/wEAAYgB+QH/AQABDAEsAf8DAAH/AwAB/wMAAf8BAAFUAcsB/wEAAYEB7AH/AQABgQHiAf8BAAE5
+        AZoB/wgAAVkBtwG9Af8BgQG9AcIB/wFRAa8BtAH/AUkBrAGyAf8BSQGrAbEB/wFJAasBsQH/AQUBEgEU
+        Af8DAAH/AwAB/wMAAf8BPwGDAYcB/wFCAaMBqQH/AT8BmwGhAf8BKQFJAUwB/wgAAQMBqwHjAf8BEAGw
+        AeUB/wEGAZ8B0QH/AQIBmwHNAf8BAwGaAcsB/wEEAZkByQH/AQABDAEUAf8DAAH/AwAB/wMAAf8BGgFW
+        AYkB/wEHAY8BugH/AQwBhgGsAf8BDAE7AU4B/wgAAcABtwH0Af8BzwHIAfYB/wHAAbYB8wH/AbQBqQHs
+        Af8BsgGoAeoB/wFaAU0BugH/AR4BAwHEAf8BgwFdAcIB/wE5ASoBogH/AVIBRQG3Af8BtQGqAe4B/wG1
+        AaoB8AH/AasBoQHjAf8BkQGGAc0B/wkAAZQC/wESAaAC/wEAAZMC/wEAAYUB9AH/AQABgwHwAf8BAAEU
+        ATsB/wMAAf8BAAEmAVwB/wMAAf8BAAEMASwB/wEAAYgB+AH/AQABiQH6Af8BAAFeAd0B/wEAATkBmQH/
+        CAABWAG2AbwB/wGIAcEBxgH/AVgBtQG7Af8BSAGnAawB/wFGAaQBqQH/AQwBHAEeAf8DAAH/ARsBMQEz
+        Af8DAAH/AQUBEgEUAf8BSQGqAbAB/wFJAawBsgH/AT8BlgGbAf8BKQFIAUsB/wgAAQIBqgHjAf8BGQGz
+        AeYB/wECAakB4QH/AQkBlAHAAf8BCwGQAboB/wEAARQBHgH/AwAB/wEGASYBMwH/AwAB/wEAAQwBFAH/
+        AQUBmAHIAf8BAgGbAc0B/wEPAYEBpAH/AQ0BOgFMAf8IAAG8AbEB8wH/AdMBzAH3Af8BzAHEAfYB/wG7
+        AbIB6gH/AVoBTQG6Af8DAAH/AZMBiQHJAf8BtwGrAfIB/wFRAUMBtgH/AZUBigHKAf8BtgGrAfEB/wG1
+        AaoB8AH/AasBoQHiAf8BmAGPAcwB/wkAAZAC/wEYAaMC/wEMAZ0C/wEAAYoB/QH/AQABFAE7Af8DAAH/
+        AQABOAGXAf8BAAGLAv8BAAEKASgB/wEAAToBnAH/AQABiwH+Af8BAAGJAfoB/wEAAV0B2wH/AQABPwGk
+        Af8IAAFSAbMBuQH/AY0BwwHIAf8BgwG/AcQB/wFSAagBrQH/AQwBHAEeAf8DAAH/ASoBRgFIAf8BSwGv
+        AbUB/wEEARABEQH/ASwBSQFLAf8BSwGvAbUB/wFJAawBsgH/AT8BlAGYAf8BMAFOAVEB/wkAAaUB3QH/
+        AR4BtQHmAf8BEwGxAeUB/wESAZYBwAH/AQABFAEeAf8DAAH/ARABOAFIAf8BAAGfAdUB/wEAAQoBEQH/
+        AREBOwFLAf8BAAGeAdMB/wECAZsBzQH/AREBgQGgAf8BEwE/AVEB/wwAAdMBzQH3Af8B1gHQAfcB/wGp
+        AaMBzAH/AUQBOwGNAf8BlAGKAcoB/wG2AasB8QH/AbUBqgHuAf8BpAGbAdIB/wGvAaUB5AH/AbUBqgHw
+        Af8BtQGqAfAB/wGsAaIB5AH/EAABGgGjAv8BHgGlAv8BAAFOAcAB/wMAAf8BAAE6AZsB/wEAAYoB/QH/
+        AQABiAH4Af8BAAFMAb0B/wEAAYEB5AH/AQABiQH6Af8BAAGJAfoB/wEAAV8B4AH/EAABjgHEAcgB/wGR
+        AcYBygH/AUEBXAFeAf8DAAH/ASwBSAFLAf8BSgGtAbQB/wFJAaoBsAH/ATsBXgGBAf8BQwGaAZ8B/wFJ
+        AawBsgH/AUkBrAGyAf8BQAGZAZ4B/xAAAR8BtQHnAf8BIwG2AecB/wEjAUoBWgH/AwAB/wEQAToBSwH/
+        AQEBnQHQAf8BBQGYAcgB/wEaAU0BgQH/ARIBhQGoAf8BAgGbAc0B/wECAZsBzQH/AQ8BgwGnAf8QAAHd
+        AdgB+QH/AdoB1QH4Af8BwgG7AeYB/wGwAaoB1QH/AcEBtwHyAf8BuwGyAe4B/wG5Aa8B7wH/AbUBqgHw
+        Af8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BvAG2AdwB/xAAAVwBwQL/ASYBqQL/AQABjgL/AQABWgHV
+        Af8BAAGTAv8BAAGNAv8BAAGMAv8BAAGJAfoB/wEAAYkB+gH/AQABiQH6Af8BAAGJAfoB/wE3AZ0B3AH/
+        EAABsQHXAdoB/wGXAckBzQH/AV0BpQGpAf8BSAGHAYoB/wFZAbQBugH/AVIBrQGyAf8BUAGtAbIB/wFJ
+        AawBsgH/AUkBrAGyAf8BSQGsAbIB/wFJAawBsgH/AYsBrwGyAf8QAAGBAc8B7wH/ASkBuQHoAf8BIwGT
+        AbYB/wEkAVgBiAH/AQYBpwHdAf8BCwGdAcwB/wEIAZwBzQH/AQIBmwHNAf8BAgGbAc0B/wECAZsBzQH/
+        AQIBmwHNAf8BUgGiAbcB/xQAAeEB3QH6Af8B1gHQAfgB/wHTAcwB9wH/Ac4BxwH2Af8BxQG8AfQB/wG8
+        AbEB8gH/AbcBrQHwAf8BswGoAe4B/wGxAaYB7wH/Ab8BuAHhAf8YAAGBAcUC/wEfAaYC/wEZAaMC/wEQ
+        AZ8C/wEAAZcC/wEAAY8C/wEAAYsB/gH/AQABhgH2Af8BAAGFAfQB/wE6AaIB4gH/GAABtQHZAdwB/wGS
+        AcYBygH/AY0BxAHIAf8BhgHAAcUB/wFeAbkBvwH/AVIBsgG4Af8BTQGtAbMB/wFHAakBrwH/AUQBqQGw
+        Af8BjQG2AbkB/xgAAYMB0QHwAf8BIwG3AecB/wEeAbUB5gH/ARcBsgHlAf8BCAGsAeQB/wECAaMB2QH/
+        AQQBnAHOAf8BBQGXAcYB/wEBAZYBxwH/AVEBqQHCAf8gAAHDAboB9AH/AccBvwH1Af8BywHDAfUB/wHF
+        AbwB9AH/AbwBsQHzAf8BsQGmAe8B/ykAAZYC/wEDAZkC/wEKAZwC/wEAAZcC/wEAAZAC/wEAAYUB9AH/
+        KAABXQG5Ab4B/wGBAbsBwAH/AYIBvgHDAf8BXgG5Ab8B/wFSAbMBuQH/AUQBqQGvAf8oAAEGAawB5AH/
+        AQwBrgHkAf8BEgGwAeUB/wEIAawB5AH/AQABpQHdAf8BAgGWAcYB//8A/wAqAAEbAScBggH/AQsBFgFU
+        Af8BBgEQAUsB/wEFAQ8BSAH/AQMBDQFCAf8BBQELATEB/ygAAZIBMwGSAf8BgQEiAYEB/wFdARwBXQH/
+        AVsBGgFbAf8BVQEZAVUB/wFFARkBRQH/KQACkAH/AQACWgH/AQACTwH/AQACTAH/AQACRgH/AQACOQH/
+        KAADpQH/A5EB/wOHAf8DhQH/A4EB/wNaAf8gAAGBAYYBvAH/ARwBLQGmAf8BGwEsAacB/wEaASsBpQH/
+        ARkBKQGjAf8BFwEnAaAB/wEVASQBmQH/AQ8BHAGDAf8BBQEPAUsB/wEfASIBNAH/GAABvgGTAb4B/wGw
+        AToBsAH/AbEBOAGxAf8BsAE2AbAB/wGvATQBrwH/AawBMgGsAf8BpgEvAaYB/wGTAScBkwH/AV0BGwFd
+        Af8BQAErAUAB/xgAAVwCyQH/AQACrQH/AQACrQH/AQACqwH/AQACqAH/AQACpAH/AQACnQH/AQACiAH/
+        AQACTgH/AR4CPgH/GAADyQH/A7sB/wO7Af8DuAH/A7YB/wO1Af8DrwH/A54B/wOHAf8DTgH/FAABgAGH
+        AcsB/wEdATQB0wH/AR4BNwHhAf8BHwE5AekB/wEfATkB5wH/AR4BOAHmAf8BHgE4AeYB/wEbATUB4QH/
+        ARoBMgHVAf8BGwErAaYB/wEKARUBVwH/AR4BIQEzAf8QAAHHAZYBxwH/AckBTgHJAf8B0wFSAdMB/wHZ
+        AVQB2QH/AdgBVQHYAf8B1wFTAdcB/wHXAVMB1wH/AdIBTwHSAf8BygFMAcoB/wGwATgBsAH/AYIBIQGC
+        Af8BQAEqAUAB/xAAAV4C0QH/AQAC0QH/AQAC3AH/AQAC5AH/AQAC4gH/AQAC4QH/AQAC4QH/AQAC2gH/
+        AQAC0AH/AQACrAH/AQACWwH/AR0CPQH/EAAD0QH/A9MB/wPaAf8D3wH/A94B/wPcAf8D3AH/A9kB/wPS
+        Af8DugH/A5IB/wNNAf8QAAEfATYB1wH/AR8BOQHoAf8BJwFBAfAB/wEnAUEB8AH/AScBQQHwAf8BJwFB
+        AfAB/wEfAToB6wH/ASEBOwHvAf8BHgE3Ad4B/wEXASYBmAH/ARgBKAGfAf8BCQEUAVUB/xAAAcsBUAHL
+        Af8B2AFUAdgB/wHgAV4B4AH/AeABXgHgAf8B4AFeAeAB/wHgAV4B4AH/AdsBVgHbAf8B3gFYAd4B/wHR
+        AVEB0QH/AaUBMQGlAf8BqwEzAasB/wGBASABgQH/EQAC1QH/AQAC4wH/AQAC8AH/AQAC8AH/AQAC8AH/
+        AQAC8AH/AQAC5gH/AQAC6QH/AQAC2gH/AQACngH/AQACpAH/AQACWQH/EAAD1QH/A98B/wPmAf8D5gH/
+        A+YB/wPmAf8D4AH/A+EB/wPZAf8DsAH/A7UB/wOQAf8MAAEkAT0B5QH/ASoBQwHrAf8BIwE+AfQB/wEn
+        AUEB8AH/AScBQQHwAf8BJwFBAe8B/wEnAT8B5QH/ASQBNQGuAf8BCwEVAUwB/wIAAQcB/wMAAf8BGQEo
+        AZ0B/wEVASQBmQH/AQkBEQFBAf8IAAHXAVkB1wH/AdwBXwHcAf8B4gFcAeIB/wHgAV4B4AH/AeABXgHg
+        Af8B3wFeAd8B/wHYAVsB2AH/AbIBRwGyAf8BXQEhAV0B/wEgAQMBIAH/AwAB/wGqATMBqgH/AaYBLwGm
+        Af8BVAEeAVQB/wkAAuUB/wEAAu4B/wEAAvAB/wEAAvAB/wEAAvAB/wEAAu8B/wEAAucB/wEAArkB/wEA
+        AlMB/wEAAgoB/wMAAf8BAAKjAf8BAAKdAf8BAAJJAf8IAAPfAf8D5AH/A+YB/wPmAf8D5gH/A+UB/wPg
+        Af8DwwH/A4sB/wMoAf8DAAH/A7QB/wOvAf8DggH/CAABJgFBAfQB/wE7AVMB9QH/ASwBRQHwAf8BJwFB
+        AfAB/wEhATQBwAH/ARABGwFaAf8CAAEVAf8DAAH/AwAB/wMAAf8DAAH/AR0BNgHcAf8BHQEwAbgB/wEN
+        ARkBgAH/CAAB4wFeAeMB/wHmAYsB5gH/AeABgQHgAf8B4AFeAeAB/wG7AUwBuwH/AYYBJwGGAf8BLAEI
+        ASwB/wMAAf8DAAH/AwAB/wEYAQABGAH/Ac8BUAHPAf8BuAFDAbgB/wGLASQBiwH/CQAC8gH/AQAD/wEA
+        AvQB/wEAAvAB/wEAAsUB/wEAAoEB/wEAAhgB/wMAAf8DAAH/AwAB/wMAAf8BAALYAf8BAAK8Af8BAAKB
+        Af8IAAPnAf8D8gH/A+cB/wPmAf8DyQH/A5gB/wM6Af8DAAH/AwAB/wMAAf8DHAH/A9YB/wPDAf8DmQH/
+        CAABNwFPAfUB/wFKAYAB9gH/ATMBSwHvAf8BJwFBAfAB/wEYASYBjAH/AQYBDgE8Af8DAAH/AwAB/wMA
+        Af8DAAH/AQ0BFwFQAf8BIQE8AfEB/wEZATEB1AH/ARABHwGKAf8IAAHmAYcB5gH/AekBlwHpAf8B4QGD
+        AeEB/wHgAV4B4AH/AZoBMQGaAf8BUAEbAVAB/wEOAQABDgH/AwAB/wMAAf8DAAH/AYEBIwGBAf8B3wFZ
+        Ad8B/wHJAUsByQH/AZkBKgGZAf8JAAP/AQAD/wEAAvkB/wEAAvAB/wEAApYB/wEAAkMB/wMAAf8DAAH/
+        AwAB/wMAAf8BAAJYAf8BAALsAf8BAALPAf8BAAKOAf8IAAPwAf8D+QH/A+sB/wPmAf8DqgH/A4EB/wMK
+        Af8DAAH/AwAB/wMAAf8DkAH/A+IB/wPQAf8DpAH/CAABQAFXAfYB/wFTAYIB9wH/ATQBTAHuAf8BJwFB
+        AfAB/wEnAUEB7wH/ASgBQgHuAf8BAAECASUB/wMAAf8DAAH/AwAB/wEiATUBuwH/AR8BOQHnAf8BHAE1
+        Ad4B/wERASABkAH/CAAB5wGOAecB/wHrAZ8B6wH/AeABgwHgAf8B4AFeAeAB/wHfAV4B3wH/Ad4BXgHe
+        Af8BOgEPAToB/wMAAf8DAAH/AQUBAAEFAf8BuQFLAbkB/wHYAVUB2AH/AdABUAHQAf8BngErAZ4B/wkA
+        A/8BAAP/AQAC+QH/AQAC8AH/AQAC7wH/AQAC7wH/AQACKQH/AwAB/wMAAf8DAAH/AQACwgH/AQAC4gH/
+        AQAC2QH/AQACkwH/CAAD9AH/A/0B/wPrAf8D5gH/A+UB/wPlAf8DTAH/AwAB/wMAAf8DAAH/A8gB/wPe
+        Af8D2AH/A6gB/wgAAT4BVQH1Af8BXgGMAfcB/wE9AVQB9AH/ASgBQQHnAf8BJgE/AeQB/wEBAQkBMgH/
+        AwAB/wEMARYBTwH/AwAB/wEAAQIBJQH/ASgBQgHtAf8BJwFBAfAB/wEcATQB2AH/ARMBIQGNAf8IAAHn
+        AY0B5wH/Ae0BqQHtAf8B5gGMAeYB/wHaAV0B2gH/AdcBWgHXAf8BRgEWAUYB/wEIAQABCAH/AYEBIgGB
+        Af8BBwEAAQcB/wE6AQ8BOgH/Ad0BXQHdAf8B4AFeAeAB/wHMAU4BzAH/AZwBLAGcAf8JAAP/AQYD/wEA
+        A/8BAALqAf8BAALmAf8BAAI4Af8DAAH/AQACVwH/AwAB/wEAAikB/wEAAu4B/wEAAvAB/wEAAtQB/wEA
+        ApMB/wgAA/MB/wQAA/MB/wPiAf8D4AH/A1kB/wMAAf8DjgH/AwAB/wNMAf8D5AH/A+YB/wPUAf8DqAH/
+        CAABNAFNAfUB/wGBAZIB+AH/AVcBhgH3Af8BOQFPAeIB/wEBAQkBMgH/AwAB/wEXASQBhwH/ASgBQwH0
+        Af8BAAEBASEB/wEYASYBjAH/ASkBQwHzAf8BJwFBAfAB/wEcATQB1AH/ARsBKQGTAf8IAAHlAYQB5QH/
+        Ae4BrwHuAf8B6wGjAesB/wHYAYQB2AH/AUYBFgFGAf8DAAH/AZYBMAGWAf8B4wGAAeMB/wE3AQ4BNwH/
+        AZoBMQGaAf8B4gGAAeIB/wHgAV4B4AH/AckBTgHJAf8BoQE1AaEB/wkAAv4B/wEMA/8BAAP/AQAC8wH/
+        AQACOAH/AwAB/wEAApEB/wEAAvQB/wEAAiYB/wEAApYB/wEAAvQB/wEAAvAB/wEAAtEB/wEAAp4B/wgA
+        A+4B/wgAA+cB/wNZAf8DAAH/A6YB/wPoAf8DRwH/A6oB/wPnAf8D5gH/A9MB/wOvAf8MAAGCAZMB+AH/
+        AYcBmAH4Af8BMQE9AZ8B/wMAAf8BGAElAYsB/wEoAUIB8gH/ASgBQgHtAf8BJAE0AaoB/wEkATsB2AH/
+        AScBQQHwAf8BJwFBAfAB/wEdATUB2gH/EAAB7gGwAe4B/wHvAbUB7wH/AacBTwGnAf8DAAH/AZkBMQGZ
+        Af8B4QFfAeEB/wHdAV0B3QH/AbABRAGwAf8BzQFVAc0B/wHgAV4B4AH/AeABXgHgAf8BzQFQAc0B/xAA
+        AQ0D/wERA/8BAAK4Af8DAAH/AQAClQH/AQAC8gH/AQAC7gH/AQACtQH/AQAC2gH/AQAC8AH/AQAC8AH/
+        AQAC1wH/GAADwgH/AwAB/wOpAf8D5wH/A+QB/wPBAf8D2QH/A+YB/wPmAf8D1QH/EAABowGxAfoB/wGP
+        AZ8B+QH/AU8BXwHVAf8BNAFDAbYB/wFAAVcB8QH/ATcBTgHqAf8BMwFKAewB/wEnAUEB8AH/AScBQQHw
+        Af8BJwFBAfAB/wEnAUEB8AH/AV0BhgHUAf8QAAHyAcEB8gH/AfEBvAHxAf8B0QGTAdEB/wG2AVsBtgH/
+        AeQBjgHkAf8B3gGFAd4B/wHeAYEB3gH/AeABXgHgAf8B4AFeAeAB/wHgAV4B4AH/AeABXgHgAf8BzgGW
+        Ac4B/xAAAZgD/wEZA/8BAAL5Af8BAALMAf8BAAP/AQAC+AH/AQAC9gH/AQAC8AH/AQAC8AH/AQAC8AH/
+        AQAC8AH/AVoC1AH/EAAD/AH/BAAD6wH/A88B/wPzAf8D6wH/A+oB/wPmAf8D5gH/A+YB/wPmAf8D1QH/
+        FAABrAG3AfsB/wGIAZkB+AH/AYEBkwH4Af8BWwGJAfcB/wFHAV0B9gH/ATQBTQHzAf8BLQFGAe8B/wEl
+        AT8B7QH/ASABOwHwAf8BXgGIAd0B/xgAAfQByQH0Af8B7wG2Ae8B/wHuAa8B7gH/AewBpgHsAf8B6AGV
+        AegB/wHkAYQB5AH/AeABgQHgAf8B3QFbAd0B/wHeAVcB3gH/AdQBmQHUAf8YAAGeA/8BEgP/AQwD/wEE
+        A/8BAAP/AQAC/AH/AQAC9AH/AQAC7AH/AQAC6QH/AV4C2gH/KAAD9wH/A+0B/wPnAf8D4gH/A+EB/wPZ
+        Af8gAAFFAVsB9gH/AU0BgQH2Af8BVAGEAfcB/wFHAV0B9gH/ATQBTQH1Af8BIQE7Ae8B/ygAAegBkwHo
+        Af8B6gGaAeoB/wHrAaAB6wH/AegBlQHoAf8B5QGEAeUB/wHeAVgB3gH/KQAD/wEAA/8BAAP/AQAD/wEA
+        Av4B/wEAAukB/ygAA/cB/wP5Af8D/QH/A/cB/wPuAf8D4QH//wD/ACoAA0UB/wM6Af8DNQH/AzQB/wMy
+        Af8DLQH/KAABkQFQAQAB/wFeAT0BAAH/AVMBNAEAAf8BUAEyAQAB/wFKAS0BAAH/ATkBIwEAAf8oAAEY
+        AUIBGAH/AQsBMwELAf8BBgEtAQYB/wEFASsBBQH/AQQBJgEEAf8BAwEbAQMB/ygAAp4BLgH/ApYBCQH/
+        ApMBAAH/ApIBAAH/Ao0BAAH/AlsBAAH/IAADmQH/A1IB/wNSAf8DUAH/A08B/wNOAf8DSgH/A0EB/wM1
+        Af8DNgH/GAABxgGpAU0B/wG0AYIBAAH/AbQBgQEAAf8BsgGBAQAB/wGvAYEBAAH/AawBgQEAAf8BpAFb
+        AQAB/wGOAUwBAAH/AVMBMwEAAf8BOQEuARUB/xgAAYABngGAAf8BHQFaAR0B/wEcAVsBHAH/ARsBWgEb
+        Af8BGgFYARoB/wEYAVYBGAH/ARYBUAEWAf8BEAFCARAB/wEGASwBBgH/AR4BKQEeAf8YAALAAZsB/wKy
+        AUQB/wK0AUIB/wKyAT8B/wKxATsB/wKxATcB/wKtATAB/wKiARoB/wKTAQAB/wJKARgB/xQAA58B/wOB
+        Af8DhAH/A4kB/wOIAf8DhgH/A4YB/wODAf8DgQH/A1EB/wM7Af8DNQH/EAAB0QGxAU8B/wHZAZ0BBAH/
+        AeUBpQEFAf8B7QGsAQYB/wHrAaoBBgH/AeoBqAEFAf8B6gGoAQUB/wHjAaQBAwH/AdkBnAECAf8BswGB
+        AQAB/wGAAT4BAAH/ATgBLQEVAf8QAAGAAakBgAH/AR4BmAEeAf8BGQGoARkB/wEWAbMBFgH/ARcBsAEX
+        Af8BFwGuARcB/wEXAa4BFwH/ARgBpgEYAf8BHAGZARwB/wEcAVoBHAH/AQoBNQEKAf8BHQEpAR0B/xAA
+        AskBoAH/AssBXwH/AtQBgQH/AtoBgwH/AtgBggH/AtcBggH/AtcBggH/AtQBgQH/AswBWwH/ArQBQAH/
+        ApkBCAH/AksBFgH/EAADgQH/A4kB/wOQAf8DkAH/A5AB/wOQAf8DigH/A4wB/wODAf8DSwH/A04B/wM5
+        Af8QAAHcAaABBQH/AewBqgEGAf8B9gGzAQsB/wH2AbMBCwH/AfYBswELAf8B9gGzAQsB/wHvAa0BBgH/
+        AfIBsAEHAf8B4gGkAQUB/wGkAVwBAAH/AasBgAEAAf8BXgE9AQAB/xAAAR0BnQEdAf8BFgGxARYB/wEU
+        AcABFAH/ARQBwAEUAf8BFAHAARQB/wEUAcABFAH/ARUBtgEVAf8BEwG7ARMB/wEaAaQBGgH/ARgBUAEY
+        Af8BGQFVARkB/wEJATQBCQH/EAACzQGBAf8C2AGCAf8C3wGNAf8C3wGNAf8C3wGNAf8C3wGNAf8C2wGD
+        Af8C3QGHAf8C0gGBAf8CrQE0Af8CsAE3Af8CmAEEAf8MAAOJAf8DjgH/A5AB/wOQAf8DkAH/A48B/wOL
+        Af8DVwH/AzcB/wMUAf8DAAH/A00B/wNKAf8DMwH/CAAB6wGsAQkB/wHyAbIBDAH/AfgBtAEJAf8B9gGz
+        AQsB/wH2AbMBCwH/AfUBsgELAf8B7AGsAQoB/wG+AYoBAgH/AVUBNgEAAf8BCwEBAQAB/wMAAf8BqgGA
+        AQAB/wGkAVsBAAH/AUoBMAEAAf8IAAEZAbEBGQH/ARcBuwEXAf8BEAHEARAB/wEUAcABFAH/ARQBwAEU
+        Af8BFAG/ARQB/wEaAbIBGgH/ASMBgAEjAf8BCgEuAQoB/wMAAf8DAAH/ARkBVAEZAf8BFgFQARYB/wEH
+        ASYBBwH/CAAC2AGHAf8C3AGPAf8C4QGLAf8C3wGNAf8C3wGNAf8C3gGNAf8C2AGKAf8CtQFUAf8CjwEG
+        Af8CLgEAAf8DAAH/Aq4BNwH/Aq0BMAH/AogBAAH/CAADkQH/A5wB/wORAf8DkAH/A1wB/wM+Af8DHQH/
+        AwAB/wMAAf8DAAH/Aw0B/wOBAf8DWAH/Az4B/wgAAfkBtgEKAv8BvwEYAf8B+AG3AQ0B/wH2AbMBCwH/
+        AcoBkwEEAf8BgQFCAQAB/wEZAQsBAAH/AwAB/wMAAf8DAAH/AQECAAH/AeABowEEAf8BxAGOAQAB/wGE
+        AUQBAAH/CAABEQHGAREB/wEXAdEBFwH/ARUBwwEVAf8BFAHAARQB/wEjAYcBIwH/AQ8BOAEPAf8BAAEH
+        AQAB/wMAAf8DAAH/AwAB/wMAAf8BGwGhARsB/wEfAYEBHwH/AQ0BOwENAf8IAALiAY0B/wLlAaEB/wLf
+        AZIB/wLfAY0B/wK/AVsB/wKYARUB/wI/AQAB/wMAAf8DAAH/AwAB/wIlAQAB/wLRAYEB/wK7AVEB/wKe
+        ARIB/wgAA5oB/wOmAf8DlQH/A5AB/wNIAf8DMAH/AwEB/wMAAf8DAAH/AwAB/wM5Af8DjQH/A4EB/wNE
+        Af8IAAH/Ab4BFAL/AcUBJwH/AfoBugERAf8B9gGzAQsB/wGZAVQBAAH/AUUBKgEAAf8DAAH/AwAB/wMA
+        Af8DAAH/AVoBOgEAAf8B9AGxAQgB/wHYAZsBAQH/AZUBUAEAAf8IAAEUAdABFAH/ASEB0wEhAf8BFwHG
+        ARcB/wEUAcABFAH/ARcBSAEXAf8BBQEjAQUB/wMAAf8DAAH/AwAB/wMAAf8BDAExAQwB/wESAb4BEgH/
+        ARwBlwEcAf8BEgFGARIB/wgAAuUBnAH/AugBrQH/AuEBmAH/At8BjQH/AqQBLgH/AoUBAAH/AhkBAAH/
+        AwAB/wMAAf8DAAH/ApIBCwH/At4BiAH/AssBWwH/AqUBIAH/CAADnwH/A6oB/wOVAf8DkAH/A48B/wOP
+        Af8DJgH/AwAB/wMAAf8DAAH/A1sB/wOIAf8DggH/A0YB/wgAAf8BwQEdAv8ByAEvAf8B+QG5ARIB/wH2
+        AbMBCwH/AfUBsgELAf8B9AGyAQsB/wErARgBAAH/AwAB/wMAAf8DAAH/AccBkQEEAf8B6wGqAQYB/wHi
+        AaMBBAH/AZoBVAEAAf8IAAEaAdIBGgH/ASYB1QEmAf8BGAHFARgB/wEUAcABFAH/ARQBvwEUAf8BFQG+
+        ARUB/wEAARIBAAH/AwAB/wMAAf8DAAH/ASMBhAEjAf8BFwGwARcB/wEaAaMBGgH/ARMBSgETAf8IAALm
+        AaQB/wLrAbQB/wLhAZgB/wLfAY0B/wLeAY0B/wLeAY0B/wJRAQAB/wMAAf8DAAH/Ag4BAAH/Ar0BWgH/
+        AtgBggH/AtEBgQH/AqgBJQH/CAADngH/A7EB/wOeAf8DjQH/A4oB/wMtAf8DAAH/AzkB/wMAAf8DJgH/
+        A44B/wOQAf8DgQH/A0YB/wgAAf8BwAEbAv8BzAE6Av8BwQEaAf8B7wGvAQsB/wHrAasBCQH/AToBIgEA
+        Af8DAAH/AVkBOQEAAf8DAAH/ASsBGAEAAf8B8wGxAQsB/wH2AbMBCwH/AdwBnwEDAf8BmQFUAQAB/wgA
+        ARgB0gEYAf8BLgHWAS4B/wEYAdABGAH/ARkBtgEZAf8BGgGwARoB/wEBARwBAQH/AwAB/wELATABCwH/
+        AwAB/wEAARIBAAH/ARYBvQEWAf8BFAHAARQB/wEcAZwBHAH/ARQBSQEUAf8IAALmAaIB/wLtAb0B/wLl
+        AaIB/wLbAYsB/wLYAYgB/wJfAQAB/wIuAQAB/wKSAQkB/wISAQAB/wJRAQAB/wLdAY0B/wLfAY0B/wLN
+        AV8B/wKnAScB/wgAA5kB/wO2Af8DrQH/A5EB/wMtAf8DAAH/A0YB/wOTAf8DJAH/A0gB/wORAf8DkAH/
+        A4EB/wNKAf8IAAH/AbwBEgL/Ac4BQQL/AckBMwH/AfEBtAEUAf8BOgEiAQAB/wMAAf8BlAFRAQAB/wH6
+        AbYBDAH/AScBFQEAAf8BmQFUAQAB/wH5AbUBDAH/AfYBswELAf8B2QGdAQMB/wGhAVsBAAH/CAABEwHP
+        ARMB/wEzAdcBMwH/ASkB1QEpAf8BIQG2ASEB/wEBARwBAQH/AwAB/wEWAUUBFgH/AREBxwERAf8BAAEQ
+        AQAB/wEXAUgBFwH/ARIBxgESAf8BFAHAARQB/wEdAZkBHQH/ARoBTgEaAf8IAALkAZkB/wLuAcIB/wLs
+        AbgB/wLaAZgB/wJfAQAB/wMAAf8CoQEqAf8C4gGQAf8CTQEAAf8CpAEuAf8C4QGQAf8C3wGNAf8CzAFf
+        Af8CqAE1Af8MAAO4Af8DuwH/A1YB/wMAAf8DRwH/A5EB/wOOAf8DVgH/A4MB/wOQAf8DkAH/A4EB/xAA
+        Af8BzgFCAv8B0AFHAf8BtQGJAQkB/wMAAf8BmAFUAQAB/wH4AbQBCwH/AfMBsQELAf8BugGHAQIB/wHf
+        AaIBCAH/AfYBswELAf8B9gGzAQsB/wHfAaEBBAH/EAABNAHYATQB/wE3AdgBNwH/ASoBWAEqAf8DAAH/
+        ARcBSAEXAf8BEwHEARMB/wEWAb0BFgH/ASIBXQEiAf8BHgGgAR4B/wEUAcABFAH/ARQBwAEUAf8BHAGf
+        ARwB/xAAAu8BxAH/AvAByAH/Aq4BWwH/AwAB/wKkAS4B/wLhAY8B/wLdAY0B/wK0AVEB/wLQAYIB/wLf
+        AY0B/wLfAY0B/wLPAYEB/xAAA8oB/wPAAf8DlQH/A4EB/wOeAf8DlQH/A5QB/wOQAf8DkAH/A5AB/wOQ
+        Af8DoQH/EAAB/wHdAY4C/wHTAVAB/wHtAbgBHgH/AccBmAEPAf8B/gHAARsB/wH3AbkBEwH/AfcBtwER
+        Af8B9gGzAQsB/wH2AbMBCwH/AfYBswELAf8B9gGzAQsB/wHZAbQBTAH/EAABigHmAYoB/wE9AdoBPQH/
+        ATABrgEwAf8BLQGEAS0B/wEcAc0BHAH/ARsBwQEbAf8BGQHBARkB/wEUAcABFAH/ARQBwAEUAf8BFAHA
+        ARQB/wEUAcABFAH/AVoBswFaAf8QAALzAc8B/wLxAc8B/wLWAaUB/wK8AYUB/wLkAaQB/wLeAZkB/wLf
+        AZYB/wLfAY0B/wLfAY0B/wLfAY0B/wLfAY0B/wLQAaEB/xQAA88B/wO7Af8DtgH/A64B/wOjAf8DlwH/
+        A5EB/wONAf8DjAH/A6UB/xgAAf8B3wGVAv8B0AFIAv8BzQFBAv8BywE3Av8BwwEkAf8B/QG7ARIB/wH3
+        AbcBDgH/AfIBsQEJAf8B8gGvAQcB/wHgAboBTgH/GAABjwHnAY8B/wE4AdkBOAH/ATMB2AEzAf8BLAHW
+        ASwB/wEfAdMBHwH/ARUBzAEVAf8BFgHCARYB/wEVAbsBFQH/ARIBuwESAf8BWgG8AVoB/xgAAvQB1QH/
+        AvAByAH/Au8BwwH/Au0BuwH/AugBqgH/AuMBmQH/At8BkgH/At0BigH/At0BhwH/AtYBpAH/IAADogH/
+        A6YB/wOqAf8DowH/A5kB/wOMAf8oAAH/AcMBIgL/AcYBKgL/AckBMQL/AcIBJAL/Ab0BEgH/AfIBrwEH
+        Af8oAAEdAdMBHQH/ASMB1AEjAf8BJwHVAScB/wEfAdMBHwH/ARMBzwETAf8BEwG7ARMB/ygAAucBqAH/
+        AuoBsAH/AusBtQH/AugBqgH/AuQBmQH/At0BhwH//wD/ACoAAg0BNQH/AgMBKAH/AgABIwH/AgABIQH/
+        AgABHgH/AgABEwH/KAABXQEAATgB/wFGAQABKQH/ATwBAAEiAf8BOgEAASAB/wE1AQABHQH/ASsBAAEW
+        Af8oAAEEASYBMwH/AQABGwEoAf8BAAEWASMB/wEAARUBIQH/AQABEgEdAf8BAAELARIB/ygAA4UB/wNY
+        Af8DUAH/A04B/wNKAf8DQQH/IAACRQGHAf8CEAFKAf8CDwFKAf8CDwFJAf8CDgFIAf8CDQFFAf8CCwFB
+        Af8CBgE0Af8CAAEjAf8CEQEeAf8YAAGsASABiQH/AY8BAAFJAf8BjwEAAUkB/wGNAQABSAH/AYsBAAFG
+        Af8BiAEAAUQB/wGCAQABQAH/AVYBAAEzAf8BPAEAASEB/wEuAQEBIAH/GAABPQFeAYYB/wEFATUBSQH/
+        AQMBNgFKAf8BAwE0AUkB/wECATMBRwH/AQEBMgFFAf8BAAEuAUEB/wEAASQBNAH/AQABFgEjAf8BDQEZ
+        AR0B/xgAA7QB/wOXAf8DlwH/A5UB/wOTAf8DkgH/A40B/wOBAf8DUAH/Az8B/xQAAkQBkgH/Ag8BhAH/
+        AgoBkQH/AgcBmwH/AggBmQH/AggBmAH/AggBmAH/AgoBkAH/Ag4BhAH/Ag8BSgH/AgIBKgH/AhABHQH/
+        EAABtQEhAZAB/wGtAQABXgH/AbYBAAGBAf8BvAEAAYMB/wG7AQABgwH/AboBAAGCAf8BugEAAYIB/wG0
+        AQABgQH/AawBAAFdAf8BjgEAAUgB/wFHAQABKQH/AS0BAQEgAf8QAAE6AYEBkgH/AQABSwGFAf8BAAFU
+        AZQB/wEAAVoBnwH/AQABWQGdAf8BAAFYAZsB/wEAAVgBmwH/AQABUwGTAf8BAAFLAYYB/wEDATUBSgH/
+        AQABHAEpAf8BDQEYAR0B/xAAA7oB/wOsAf8DsgH/A7YB/wO1Af8DtAH/A7QB/wOxAf8DqwH/A5YB/wNZ
+        Af8DPwH/EAACDwGHAf8CBwGaAf8CBAGoAf8CBAGoAf8CBAGoAf8CBAGoAf8CBgGeAf8CBAGjAf8CDAGP
+        Af8CDAFBAf8CDQFFAf8CAQEoAf8QAAGwAQABgAH/AbwBAAGDAf8BxgEAAYoB/wHGAQABigH/AcYBAAGK
+        Af8BxgEAAYoB/wG+AQABhQH/AcEBAAGHAf8BtAEAAYEB/wGDAQABQAH/AYgBAAFEAf8BRQEAASgB/xEA
+        AU4BiQH/AQABWQGeAf8BAAGBAa0B/wEAAYEBrQH/AQABgQGtAf8BAAGBAa0B/wEAAVwBowH/AQABXwGn
+        Af8BAAFSAZEB/wECAS8BQQH/AQIBMQFFAf8BAAEbASgB/xAAA64B/wO2Af8DvQH/A70B/wO9Af8DvQH/
+        A7cB/wO5Af8DsQH/A44B/wOSAf8DVwH/DAACCgGZAf8CCAGiAf8CAQGrAf8CBAGoAf8CBAGoAf8CBQGn
+        Af8CCgGbAf8CFQFPAf8CAgEjAf8DAAH/AwAB/wINAUQB/wILAUEB/wIAAR0B/wgAAb0BAAGEAf8BxQEA
+        AYkB/wHGAQABigH/AcYBAAGKAf8BxgEAAYoB/wHGAQABigH/Ab8BAAGFAf8BmQEAAVAB/wFAAQABJAH/
+        AQQCAAH/AwAB/wGHAQABQwH/AYIBAAFAAf8BOAEAAR8B/wkAAVoBnQH/AQABgAGnAf8BAAGBAbEB/wEA
+        AYEBrQH/AQABgQGtAf8BAAGBAasB/wEAAVsBngH/AQkBOgFOAf8BAAEXASMB/wMAAf8DAAH/AQIBMQFE
+        Af8BAAEuAUEB/wEAARIBHAH/CAADtgH/A7sB/wO9Af8DvQH/A70B/wO8Af8DuAH/A54B/wNTAf8DGAH/
+        AwAB/wORAf8DjQH/A0wB/wgAAgEBrQH/AgQBuQH/AgUBqgH/AgQBqAH/AhUBWQH/AgYBLAH/AgABAgH/
+        AwAB/wMAAf8DAAH/AwAB/wIMAYwB/wISAVQB/wIEAS8B/wgAAcgBAAGMAf8B1wEAAZYB/wHJAQABjAH/
+        AcYBAAGKAf8BowEAAVcB/wFNAQABLgH/AQ8BAAECAf8DAAH/AwAB/wMAAf8DAAH/AbMBAAGBAf8BmwEA
+        AVEB/wFOAQABLgH/CQABgQGzAf8BAAGKAb8B/wEAAYEBrwH/AQABgQGtAf8BBwFBAVkB/wEAAR8BLAH/
+        AgABAgH/AwAB/wMAAf8DAAH/AwAB/wEAAVEBjgH/AQUBPQFUAf8BAAEgAS8B/wgAA74B/wPHAf8DvgH/
+        A70B/wOkAf8DXgH/AyYB/wMAAf8DAAH/AwAB/wMOAf8DrwH/A58B/wNfAf8IAAIDAbcB/wIFAcIB/wIH
+        Aa0B/wIEAagB/wIMAToB/wIAARoB/wMAAf8DAAH/AwAB/wMAAf8CAwEmAf8CAwGmAf8CDgGDAf8CBwE5
+        Af8IAAHUAQABlAH/AeEBAAGdAf8BzgEAAY8B/wHGAQABigH/AYEBAAE7Af8BMwEAARsB/wMAAf8DAAH/
+        AwAB/wMAAf8BRAEAAScB/wHDAQABiAH/AasBAAFcAf8BWwEAATcB/wkAAYgBvQH/AQABkAHIAf8BAAGC
+        AbIB/wEAAYEBrQH/AQIBKQE5Af8BAAEQARoB/wMAAf8DAAH/AwAB/wMAAf8BAAEZASUB/wEAAYEBqwH/
+        AQABSgGEAf8BAAEoATkB/wgAA8UB/wPOAf8DwQH/A70B/wOJAf8DRwH/AwAB/wMAAf8DAAH/AwAB/wNX
+        Af8DugH/A6oB/wOEAf8IAAIEAbwB/wIGAccB/wIIAawB/wIEAagB/wIFAacB/wIGAaUB/wIAAQwB/wMA
+        Af8DAAH/AwAB/wIVAVcB/wIIAZkB/wILAY0B/wIIATwB/wgAAdoBAAGYAf8B5wEAAaEB/wHOAQABjwH/
+        AcYBAAGKAf8BxgEAAYoB/wHFAQABigH/AR0BAAEMAf8DAAH/AwAB/wMAAf8BoQEAAVUB/wG7AQABgwH/
+        AbMBAAGBAf8BXwEAAToB/wkAAYwBwgH/AQABlAHNAf8BAAGBAbEB/wEAAYEBrQH/AQABgQGrAf8BAAGB
+        AaoB/wEAAQQBCwH/AwAB/wMAAf8DAAH/AQcBPwFWAf8BAAFZAZ0B/wEAAVIBkAH/AQABKgE8Af8IAAPJ
+        Af8D0QH/A8EB/wO9Af8DvAH/A7wB/wM1Af8DAAH/AwAB/wMAAf8DowH/A7UB/wOwAf8DhwH/CAACBAG7
+        Af8CBwHOAf8CBQG5Af8CCQGeAf8CCwGZAf8CAAEUAf8DAAH/AgMBJQH/AwAB/wIAAQwB/wIGAaQB/wIE
+        AagB/wIOAYcB/wIJAToB/wgAAdkBAAGXAf8B7gEAAaYB/wHXAQABlgH/AcIBAAGHAf8BvgEAAYUB/wEp
+        AQABFAH/AwAB/wFDAQABJgH/AwAB/wEdAQABDAH/AcUBAAGJAf8BxgEAAYoB/wGvAQABXwH/AV8BAAE6
+        Af8JAAGLAcEB/wEAAZkB1AH/AQABiQG+Af8BAAFdAaIB/wEAAVoBnQH/AQABCwEUAf8DAAH/AQABGQEl
+        Af8DAAH/AQABBAELAf8BAAGAAakB/wEAAYEBrQH/AQABTQGJAf8BAAEpAToB/wgAA8gB/wPWAf8DyAH/
+        A7oB/wO3Af8DQAH/AwAB/wNWAf8DAAH/AzUB/wO7Af8DvQH/A60B/wOHAf8IAAIDAbUB/wIIAdEB/wIG
+        AckB/wIRAZ4B/wIAARQB/wMAAf8CCwE3Af8CAgGuAf8CAAEJAf8CDAE6Af8CAgGtAf8CBAGoAf8CDwGE
+        Af8CDgE/Af8IAAHSAQABkgH/AfMBAAGqAf8B6gEAAaMB/wHJAQABjAH/ASkBAAEUAf8DAAH/AV0BAAE5
+        Af8BygEAAY0B/wEaAQABCgH/AYEBAAE7Af8ByQEAAYwB/wHGAQABigH/Aa0BAAFeAf8BggEAAUAB/wkA
+        AYcBuwH/AQABnAHZAf8BAAGWAdAB/wEAAV4BoQH/AQABCwEUAf8DAAH/AQIBJwE3Af8BAAGCAbQB/wEA
+        AQIBCQH/AQIBKQE5Af8BAAGBAbMB/wEAAYEBrQH/AQABTAGGAf8BBAEtAT4B/wgAA8QB/wPZAf8D0wH/
+        A74B/wNAAf8DAAH/A4YB/wO/Af8DMQH/A4kB/wO+Af8DvQH/A6wB/wONAf8MAAIIAdMB/wIIAdYB/wIc
+        AUcB/wMAAf8CDAE5Af8CAwGrAf8CBgGkAf8CFQFMAf8CDwGLAf8CBAGoAf8CBAGoAf8CDQGKAf8QAAH0
+        AQABqgH/AfgBAAGtAf8BmAEAAU8B/wMAAf8BgAEAATsB/wHIAQABjAH/AcUBAAGJAf8BlgEAAU4B/wG0
+        AQABgQH/AcYBAAGKAf8BxgEAAYoB/wGxAQABgQH/EQABnQHZAf8BAAGfAd0B/wERATYBRAH/AwAB/wEC
+        ASkBOQH/AQABgQGxAf8BAAGAAakB/wEJATgBSwH/AQABUAGMAf8BAAGBAa0B/wEAAYEBrQH/AQABTwGM
+        Af8QAAPaAf8D3AH/A50B/wMAAf8DiAH/A74B/wO7Af8DnAH/A7EB/wO9Af8DvQH/A64B/xAAAkQB1AH/
+        AgoB2gH/Ah4BlgH/Ah4BVgH/AggBtgH/AgsBqAH/AgkBqAH/AgQBqAH/AgQBqAH/AgQBqAH/AgQBqAH/
+        Aj0BngH/EAAB6wEtAbkB/wH+AQABsQH/Ac4BAAGQAf8BqQEAAVsB/wHXAQABlgH/Ac0BAAGPAf8BywEA
+        AY4B/wHGAQABigH/AcYBAAGKAf8BxgEAAYoB/wHGAQABigH/AbwBHwGVAf8QAAExAbAB2QH/AQABowHi
+        Af8BDAFbAZYB/wERAUEBVQH/AQABiAG7Af8BAAGBAawB/wEAAYEBrQH/AQABgQGtAf8BAAGBAa0B/wEA
+        AYEBrQH/AQABgQGtAf8BMQGHAZ8B/xAAA+IB/wPfAf8DwQH/A6kB/wPIAf8DwQH/A8AB/wO9Af8DvQH/
+        A70B/wO9Af8DvQH/FAACRQHZAf8CCAHWAf8CCAHSAf8CBwHMAf8CBQG/Af8CBQGyAf8CBgGpAf8CBgGj
+        Af8CAwGjAf8CPAGnAf8YAAHxAS0BvgH/AfkBAAGtAf8B9AEAAaoB/wHtAQABpQH/Ad8BAAGbAf8B0QEA
+        AZIB/wHJAQABjAH/AcMBAAGIAf8BwQEAAYcB/wHCASEBmQH/GAABMgG0Ad4B/wEAAZ8B3QH/AQABnAHZ
+        Af8BAAGYAdMB/wEAAY8BxgH/AQABhQG4Af8BAAGBAa8B/wEAAV8BpwH/AQABXwGoAf8BLgGNAakB/xgA
+        A+YB/wPcAf8D2QH/A9QB/wPMAf8DwwH/A74B/wO6Af8DuQH/A8EB/yAAAgQBvwH/AgUBwwH/AgYByAH/
+        AgUBvwH/AgMBtQH/AgQBowH/KAAB3QEAAZoB/wHjAQABngH/AegBAAGiAf8B3wEAAZsB/wHSAQABkgH/
+        AcEBAAGHAf8pAAGOAcUB/wEAAZEBygH/AQABlQHOAf8BAAGPAcYB/wEAAYcBuwH/AQABXwGnAf8oAAPL
+        Af8DzgH/A9EB/wPMAf8DxAH/A7kB//8A/wAqAAMiAf8DGwH/AxkB/wMYAf8DFwH/AxUB/ygAAVEBKwEe
+        Af8BQAEbAQ8B/wE4ARUBCgH/ATYBFAEJAf8BMQESAQcB/wEjAQ4BBgH/KAABCAEkAQgB/wEAARoBAAH/
+        AQABFgEAAf8BAAEUAQAB/wEAAREBAAH/AQABCgEAAf8oAAEyATQBDQH/ASYBKAECAf8BIAEjAQAB/wEf
+        ASEBAAH/ARwBHgEAAf8BEgETAQAB/yAAA4IB/wMsAf8DLAH/AysB/wMqAf8DKQH/AyYB/wMgAf8DGQH/
+        AygB/xgAAaIBgQFUAf8BhwE1ASMB/wGIATUBIgH/AYYBNAEhAf8BhAEyASAB/wGCATABHgH/AYEBLQEb
+        Af8BUAEjARUB/wE4ARUBCQH/ASgBHAEXAf8YAAFAAVwBQAH/AQsBNQELAf8BCgE1AQoB/wEKATQBCgH/
+        AQkBMwEJAf8BCAEyAQgB/wEGAS4BBgH/AQIBJAECAf8BAAEWAQAB/wEPARgBDwH/GAABhQGHAUQB/wFG
+        AUoBDwH/AUcBSgEOAf8BRgFJAQ4B/wFEAUgBDQH/AUIBRgEMAf8BPgFCAQoB/wEyATUBBQH/ASABIwEA
+        Af8BHQEeAREB/xQAA4gB/wM+Af8DRAH/A0kB/wNIAf8DRgH/A0YB/wNDAf8DPQH/AywB/wMcAf8DKAH/
+        EAABsAGBAVMB/wGwAUABIwH/AcIBQAEdAf8BzQFBARsB/wHKAUEBHAH/AckBQAEbAf8ByQFAARsB/wHB
+        AT8BHAH/AbEBPgEhAf8BhwE0ASIB/wFCARsBDgH/AScBGgEWAf8QAAFAAYEBQAH/AQwBTQEMAf8BCAFY
+        AQgB/wEGAV8BBgH/AQcBXQEHAf8BBwFcAQcB/wEHAVwBBwH/AQgBVgEIAf8BCgFNAQoB/wEKATUBCgH/
+        AQABGwEAAf8BDgEYAQ4B/xAAAY8BkgFDAf8BgQGEAQ4B/wGLAZIBCQH/AZQBnAEFAf8BkgGZAQYB/wGR
+        AZgBBwH/AZEBmAEHAf8BigGQAQgB/wGBAYQBDAH/AUYBSgEOAf8BKAEqAQEB/wIdARAB/xAAA0AB/wNJ
+        Af8DUgH/A1IB/wNSAf8DUgH/A0oB/wNMAf8DQwH/AycB/wMpAf8DGwH/EAABtQFAASIB/wHLAUEBHAH/
+        AdQBSAEiAf8B1AFIASIB/wHUAUgBIgH/AdQBSAEiAf8BzwFCARwB/wHSAUMBHQH/Ab4BQAEfAf8BgQEu
+        AR0B/wGBATABHgH/AUABGgENAf8QAAELAVABCwH/AQYBXgEGAf8BBQGDAQUB/wEFAYMBBQH/AQUBgwEF
+        Af8BBQGDAQUB/wEFAYEBBQH/AQQBgQEEAf8BCQFVAQkB/wEIAS4BCAH/AQgBMQEIAf8BAAEbAQAB/xAA
+        AYIBiAENAf8BkwGbAQYB/wGgAagBAwH/AaABqAEDAf8BoAGoAQMB/wGgAagBAwH/AZcBnwEEAf8BmwGj
+        AQMB/wGIAY4BCgH/AT4BQQELAf8BQgFFAQwB/wEmASkBAAH/DAADSQH/A08B/wNSAf8DUgH/A1IB/wNQ
+        Af8DSwH/AzEB/wMaAf8DCQH/AwAB/wMpAf8DJgH/AxgB/wgAAckBRAEgAf8BzwFIASQB/wHXAUYBHwH/
+        AdQBSAEiAf8B1AFIASIB/wHTAUgBIgH/AcoBRgEiAf8BjgE8ASoB/wE5ARkBDgH/AQECAAH/AwAB/wGB
+        ATABHwH/AYEBLQEbAf8BMAEUAQsB/wgAAQgBXgEIAf8BBwGBAQcB/wECAYUBAgH/AQUBgwEFAf8BBQGD
+        AQUB/wEFAYIBBQH/AQkBXwEJAf8BDwE5AQ8B/wEAARYBAAH/AwAB/wMAAf8BCAExAQgB/wEGAS4BBgH/
+        AQABEQEAAf8IAAGTAZoBCAH/AZsBowEGAf8BowGrAQAB/wGgAagBAwH/AaABqAEDAf8BnwGnAQMB/wGU
+        AZsBCQH/AUsBTwEUAf8BIQEjAQEB/wMAAf8DAAH/AUEBRAENAf8BPgFCAQoB/wEbAR0BAAH/CAADUwH/
+        A4AB/wNTAf8DUgH/AzYB/wMdAf8DDgH/AwAB/wMAAf8DAAH/AwQB/wNBAf8DMgH/Ax4B/wgAAdgBSAEh
+        Af8B2wFVATEB/wHUAUsBJQH/AdQBSAEiAf8BnAE/ASkB/wFFASABFAH/AQwCAAH/AwAB/wMAAf8DAAH/
+        AwAB/wG7AUABIAH/AZUBOwElAf8BSQEgARIB/wgAAQMBhwEDAf8BBQGQAQUB/wEFAYUBBQH/AQUBgwEF
+        Af8BDwFBAQ8B/wECAR4BAgH/AwAB/wMAAf8DAAH/AwAB/wMAAf8BCgFTAQoB/wENAT0BDQH/AQABIAEA
+        Af8IAAGkAa0BAAH/AbABugECAf8BogGqAQMB/wGgAagBAwH/AVUBWQETAf8BKgEsAQUB/wEBAQIBAAH/
+        AwAB/wMAAf8DAAH/AwAB/wGGAYwBCwH/AVABVAERAf8BLAEvAQQB/wgAA10B/wOHAf8DVwH/A1IB/wMk
+        Af8DFgH/AwAB/wMAAf8DAAH/AwAB/wMbAf8DTgH/AzwB/wMiAf8IAAHaAVIBLQH/Ad0BXgE9Af8B1QFP
+        ASsB/wHUAUgBIgH/AVgBLAEdAf8BLAERAQgB/wMAAf8DAAH/AwAB/wMAAf8BPAEbARAB/wHUAUQBHQH/
+        Aa8BPgEhAf8BVgEmARYB/wgAAQQBjgEEAf8BBgGXAQYB/wEHAYcBBwH/AQUBgwEFAf8BBwEoAQcB/wEA
+        AQ8BAAH/AwAB/wMAAf8DAAH/AwAB/wEAARkBAAH/AQQBgQEEAf8BCgFMAQoB/wEDAScBAwH/CAABrgG3
+        AQEB/wG5AcIBAwH/AaUBrQEFAf8BoAGoAQMB/wE3AToBCwH/ARgBGgEAAf8DAAH/AwAB/wMAAf8DAAH/
+        ASQBJgEDAf8BngGmAQEB/wGBAYMBDAH/ATYBOQEHAf8IAAOBAf8DjAH/A1cB/wNSAf8DUAH/A1AB/wMS
+        Af8DAAH/AwAB/wMAAf8DNQH/A0gB/wNCAf8DIwH/CAAB3AFYATQB/wHfAYEBQwH/AdQBTwEsAf8B1AFI
+        ASIB/wHTAUgBIgH/AdIBSAEjAf8BGQEFAQAB/wMAAf8DAAH/AwAB/wGZAT8BKQH/AcoBQQEcAf8BvQE/
+        AR4B/wFaASgBGAH/CAABBQGSAQUB/wEHAZsBBwH/AQcBhgEHAf8BBQGDAQUB/wEFAYIBBQH/AQYBgQEG
+        Af8BAAEDAQAB/wMAAf8DAAH/AwAB/wEPAT8BDwH/AQcBXQEHAf8BCQFUAQkB/wEEASoBBAH/CAABswG8
+        AQIB/wG9AccBBAH/AaQBrAEGAf8BoAGoAQMB/wGfAacBAwH/AZ4BpgEEAf8BCgELAQAB/wMAAf8DAAH/
+        AwAB/wFTAVcBFAH/AZIBmQEGAf8BiAGOAQoB/wE5ATwBCAH/CAADgQH/A5YB/wOBAf8DTgH/A0oB/wMV
+        Af8DAAH/AxsB/wMAAf8DEgH/A08B/wNSAf8DPwH/AyMB/wgAAdwBVwEzAf8B4QGGAUwB/wHaAVYBMgH/
+        AcwBRwEkAf8ByQFFASIB/wEkAQwBBAH/AwAB/wE8ARoBDwH/AwAB/wEZAQUBAAH/AdEBSAEjAf8B1AFI
+        ASIB/wG1AT8BIQH/AVgBKQEZAf8IAAEFAZIBBQH/AQgBoAEIAf8BBgGQAQYB/wEIAYEBCAH/AQkBXQEJ
+        Af8BAAEKAQAB/wMAAf8BAAEYAQAB/wMAAf8BAAEDAQAB/wEGAYEBBgH/AQUBgwEFAf8BCgFQAQoB/wEF
+        ASkBBQH/CAABsgG7AQIB/wHEAc4BBQH/AbABuQEDAf8BlwGeAQgB/wGTAZoBCQH/ARIBFAEAAf8DAAH/
+        ASMBJQECAf8DAAH/AQoBCwEAAf8BnQGkAQUB/wGgAagBAwH/AYIBhwEMAf8BOAE7AQgB/wgAA1wB/wOb
+        Af8DkAH/A1MB/wMVAf8DAAH/AyMB/wNUAf8DEQH/AyQB/wNTAf8DUgH/Az4B/wMmAf8IAAHaAVABKwH/
+        AeIBigFSAf8B3wGBAUcB/wHIAVABMQH/ASQBDAEEAf8DAAH/AVQBKgEbAf8B2AFKASMB/wEWAQMBAAH/
+        AVgBLAEdAf8B1wFJASMB/wHUAUgBIgH/AbEBPwEiAf8BXgEvASAB/wgAAQQBjQEEAf8BCQGkAQkB/wEI
+        AZ0BCAH/AQ4BgQEOAf8BAAEKAQAB/wMAAf8BBgEmAQYB/wEDAYgBAwH/AQABAgEAAf8BBwEoAQcB/wED
+        AYcBAwH/AQUBgwEFAf8BCwFNAQsB/wEJASwBCQH/CAABrAG1AQEB/wHIAdIBBQH/AcABygEEAf8BmAGe
+        AQ8B/wESARQBAAH/AwAB/wE1ATcBCgH/AaYBrwEAAf8BCAEJAQAB/wE3AToBCwH/AaUBrQEBAf8BoAGo
+        AQMB/wGBAYQBDQH/ATwBPgEOAf8MAAOeAf8DogH/AzEB/wMAAf8DJAH/A1MB/wNPAf8DMAH/A0MB/wNS
+        Af8DUgH/A0AB/xAAAeIBiwFTAf8B4wGPAVcB/wGEAUABMgH/AwAB/wFXASsBHQH/AdYBSQEjAf8B0QFI
+        ASMB/wGLATsBKQH/AboBQgEkAf8B1AFIASIB/wHUAUgBIgH/AbkBQAEhAf8QAAEJAaQBCQH/AQoBpwEK
+        Af8BFAEzARQB/wMAAf8BBwEoAQcB/wEEAYUBBAH/AQYBgQEGAf8BDwE3AQ8B/wEMAVIBDAH/AQUBgwEF
+        Af8BBQGDAQUB/wEKAVIBCgH/EAAByAHTAQYB/wHMAdYBBgH/AUQBRgEbAf8DAAH/ATcBOQELAf8BowGr
+        AQEB/wGdAaQBBQH/AUkBTAEUAf8BhQGLAQ4B/wGgAagBAwH/AaABqAEDAf8BhAGKAQwB/xAAA7cB/wOo
+        Af8DVwH/AzsB/wOBAf8DVwH/A1YB/wNSAf8DUgH/A1IB/wNSAf8DiwH/EAAB6AGgAYcB/wHkAZQBXgH/
+        Ab0BWwFDAf8BmAFHATUB/wHXAVcBNQH/AdABUQEvAf8B0QFOASsB/wHUAUgBIgH/AdQBSAEiAf8B1AFI
+        ASIB/wHUAUgBIgH/AcABgQFMAf8QAAFFAbUBRQH/AQsBqwELAf8BGAFcARgB/wEWAT8BFgH/AQgBjgEI
+        Af8BCgGDAQoB/wEIAYQBCAH/AQUBgwEFAf8BBQGDAQUB/wEFAYMBBQH/AQUBgwEFAf8BOwGIATsB/xAA
+        Ac0B1AFCAf8B0QHcAQcB/wGQAZYBHQH/AVIBVgEdAf8BrQG2AQYB/wGhAagBCQH/AaEBqQEHAf8BoAGo
+        AQMB/wGgAagBAwH/AaABqAEDAf8BoAGoAQMB/wGaAZ4BPAH/FAADvgH/A6IB/wObAf8DkgH/A4MB/wNa
+        Af8DUwH/A04B/wNMAf8DjwH/GAAB6QGlAY8B/wHjAY8BWAH/AeIBiwFSAf8B4AGEAUoB/wHdAVwBOgH/
+        AdgBUAEsAf8B1AFLASYB/wHQAUYBIQH/AdMBQwEcAf8BygGBAUoB/xgAAUYBugFGAf8BCgGnAQoB/wEJ
+        AaQBCQH/AQgBnwEIAf8BBgGWAQYB/wEFAYsBBQH/AQYBhAEGAf8BBgGBAQYB/wEEAYEBBAH/ATsBkAE7
+        Af8YAAHTAdoBQwH/AcwB1wEGAf8ByAHSAQYB/wHCAcwBBQH/AbcBwAEDAf8BqgGzAQMB/wGhAaoBBAH/
+        AZsBowEEAf8BnAGkAQIB/wGiAacBOwH/IAADggH/A4cB/wOMAf8DgwH/A1wB/wNMAf8oAAHdAVsBOQH/
+        Ad4BgAE/Af8B3wGBAUUB/wHdAVwBOgH/AdoBUAErAf8B0gFDAR0B/ygAAQYBlQEGAf8BBwGZAQcB/wEH
+        AZwBBwH/AQYBlgEGAf8BBAGNAQQB/wEEAYEBBAH/KAABtgG/AQIB/wG6AcQBAwH/Ab4ByAEEAf8BtwHA
+        AQMB/wGsAbUBAQH/AZsBowEDAf//ABUAAUIBTQE+BwABPgMAASgDAAFAAwABYAMAAQEBAAEBBgABAxYA
+        A/+BAAj/AfgBHwH4AR8B+AEfAfgBHwHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAcABAwHA
         AQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
         AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHA
         AQMBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwH4AR8B+AEfAfgBHwH4AR8Q/wH4AR8B+AEf
         AfgBHwH4AR8B4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBgAEB
         AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
-        AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAED
-        AcABAwHgAQcB4AEHAeABBwHgAQcB+AEfAfgBHwH4AR8B+AEfEP8B+AEfAfgBHwH4AR8B+AEfAeABBwHg
+        AYABAQGAAQEBgAEBAaABAQGAAQEBgAEBAYABAQGwAQEBwAEDAcABAwHAAQMB8AEDAcABAwHAAQMBwAED
+        AdABAwHgAQcB4AEHAeABBwH+AQcB+AEfAfgBHwH4AR8B+AEfEP8B+AEfAfgBHwH4AR8B+AEfAeABBwHg
         AQcB4AEHAeABBwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAQGA
         AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
         AQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHg
-        AQcB4AEHAfgBHwH4AR8B+AEfAfgBHwj/Cw==
+        AQcB4AEHAfgBHwH4AR8B+AEfAfgBHxD/AfgBHwH4AR8B+AEfAfgBHwHgAQcB4AEHAeABBwHgAQcBwAED
+        AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
+        AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
+        AYABAQHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwH4AR8B+AEf
+        AfgBHwH4AR8Q/wH4AR8B+AEfAfgBHwH4AR8B4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwHA
+        AQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
+        AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHA
+        AQMBwAEDAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcB+AEfAfgBHwH4AR8B+AEfCP8L
 </value>
   </data>
   <metadata name="updatetimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
diff --git a/Source/Core/General/General.cs b/Source/Core/General/General.cs
index 6e41aca79..e9cb7622a 100644
--- a/Source/Core/General/General.cs
+++ b/Source/Core/General/General.cs
@@ -2091,15 +2091,6 @@ namespace CodeImp.DoomBuilder
 
 		#endregion
 
-		/*
-		[BeginAction("testaction")]
-		internal static void TestAction()
-		{
-			ScriptEditorForm t = new ScriptEditorForm();
-			t.ShowDialog(mainwindow);
-			t.Dispose();
-		}
-		*/
 	}
 }
 
diff --git a/Source/Core/Windows/LinedefEditForm.Designer.cs b/Source/Core/Windows/LinedefEditForm.Designer.cs
index be8971ba5..c5d0e3d57 100644
--- a/Source/Core/Windows/LinedefEditForm.Designer.cs
+++ b/Source/Core/Windows/LinedefEditForm.Designer.cs
@@ -63,19 +63,20 @@ namespace CodeImp.DoomBuilder.Windows
 			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
 			this.frontside = new System.Windows.Forms.CheckBox();
 			this.frontgroup = new System.Windows.Forms.GroupBox();
-			this.frontTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
 			this.frontsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.frontlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.frontmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.fronthigh = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
+			this.frontTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
 			this.backside = new System.Windows.Forms.CheckBox();
 			this.backgroup = new System.Windows.Forms.GroupBox();
-			this.backTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
 			this.backsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.backlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backhigh = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
+			this.backTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
 			this.panel1 = new System.Windows.Forms.Panel();
+			this.actionhelp = new CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton();
 			label2 = new System.Windows.Forms.Label();
 			label3 = new System.Windows.Forms.Label();
 			label4 = new System.Windows.Forms.Label();
@@ -213,6 +214,7 @@ namespace CodeImp.DoomBuilder.Windows
 			// 
 			this.actiongroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
 						| System.Windows.Forms.AnchorStyles.Right)));
+			this.actiongroup.Controls.Add(this.actionhelp);
 			this.actiongroup.Controls.Add(this.argspanel);
 			this.actiongroup.Controls.Add(this.hexenpanel);
 			this.actiongroup.Controls.Add(label2);
@@ -373,7 +375,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.action.GeneralizedOptions = null;
 			this.action.Location = new System.Drawing.Point(62, 27);
 			this.action.Name = "action";
-			this.action.Size = new System.Drawing.Size(428, 21);
+			this.action.Size = new System.Drawing.Size(402, 21);
 			this.action.TabIndex = 0;
 			this.action.Value = 402;
 			this.action.ValueChanges += new System.EventHandler(this.action_ValueChanges);
@@ -381,7 +383,7 @@ namespace CodeImp.DoomBuilder.Windows
 			// browseaction
 			// 
 			this.browseaction.Image = global::CodeImp.DoomBuilder.Properties.Resources.List;
-			this.browseaction.Location = new System.Drawing.Point(496, 25);
+			this.browseaction.Location = new System.Drawing.Point(467, 25);
 			this.browseaction.Name = "browseaction";
 			this.browseaction.Size = new System.Drawing.Size(28, 25);
 			this.browseaction.TabIndex = 1;
@@ -468,17 +470,6 @@ namespace CodeImp.DoomBuilder.Windows
 			this.frontgroup.TabStop = false;
 			this.frontgroup.Text = "     ";
 			// 
-			// frontTextureOffset
-			// 
-			this.frontTextureOffset.ButtonStep = 16;
-			this.frontTextureOffset.DefaultValue = 0;
-			this.frontTextureOffset.Label = "Texture Offset:";
-			this.frontTextureOffset.Location = new System.Drawing.Point(3, 65);
-			this.frontTextureOffset.Name = "frontTextureOffset";
-			this.frontTextureOffset.Size = new System.Drawing.Size(268, 26);
-			this.frontTextureOffset.TabIndex = 41;
-			this.frontTextureOffset.OnValuesChanged += new System.EventHandler(this.frontTextureOffset_OnValuesChanged);
-			// 
 			// frontsector
 			// 
 			this.frontsector.AllowDecimal = false;
@@ -502,6 +493,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.frontlow.Size = new System.Drawing.Size(83, 112);
 			this.frontlow.TabIndex = 6;
 			this.frontlow.TextureName = "";
+			this.frontlow.UsePreviews = true;
 			this.frontlow.OnValueChanged += new System.EventHandler(this.frontlow_OnValueChanged);
 			// 
 			// frontmid
@@ -513,6 +505,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.frontmid.Size = new System.Drawing.Size(83, 112);
 			this.frontmid.TabIndex = 5;
 			this.frontmid.TextureName = "";
+			this.frontmid.UsePreviews = true;
 			this.frontmid.OnValueChanged += new System.EventHandler(this.frontmid_OnValueChanged);
 			// 
 			// fronthigh
@@ -524,8 +517,20 @@ namespace CodeImp.DoomBuilder.Windows
 			this.fronthigh.Size = new System.Drawing.Size(83, 112);
 			this.fronthigh.TabIndex = 4;
 			this.fronthigh.TextureName = "";
+			this.fronthigh.UsePreviews = true;
 			this.fronthigh.OnValueChanged += new System.EventHandler(this.fronthigh_OnValueChanged);
 			// 
+			// frontTextureOffset
+			// 
+			this.frontTextureOffset.ButtonStep = 16;
+			this.frontTextureOffset.DefaultValue = 0;
+			this.frontTextureOffset.Label = "Texture Offset:";
+			this.frontTextureOffset.Location = new System.Drawing.Point(3, 65);
+			this.frontTextureOffset.Name = "frontTextureOffset";
+			this.frontTextureOffset.Size = new System.Drawing.Size(268, 26);
+			this.frontTextureOffset.TabIndex = 41;
+			this.frontTextureOffset.OnValuesChanged += new System.EventHandler(this.frontTextureOffset_OnValuesChanged);
+			// 
 			// backside
 			// 
 			this.backside.AutoSize = true;
@@ -559,17 +564,6 @@ namespace CodeImp.DoomBuilder.Windows
 			this.backgroup.TabStop = false;
 			this.backgroup.Text = "     ";
 			// 
-			// backTextureOffset
-			// 
-			this.backTextureOffset.ButtonStep = 16;
-			this.backTextureOffset.DefaultValue = 0;
-			this.backTextureOffset.Label = "Texture Offset:";
-			this.backTextureOffset.Location = new System.Drawing.Point(3, 65);
-			this.backTextureOffset.Name = "backTextureOffset";
-			this.backTextureOffset.Size = new System.Drawing.Size(268, 28);
-			this.backTextureOffset.TabIndex = 42;
-			this.backTextureOffset.OnValuesChanged += new System.EventHandler(this.backTextureOffset_OnValuesChanged);
-			// 
 			// backsector
 			// 
 			this.backsector.AllowDecimal = false;
@@ -593,6 +587,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.backlow.Size = new System.Drawing.Size(83, 112);
 			this.backlow.TabIndex = 6;
 			this.backlow.TextureName = "";
+			this.backlow.UsePreviews = true;
 			this.backlow.OnValueChanged += new System.EventHandler(this.backlow_OnValueChanged);
 			// 
 			// backmid
@@ -604,6 +599,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.backmid.Size = new System.Drawing.Size(83, 112);
 			this.backmid.TabIndex = 5;
 			this.backmid.TextureName = "";
+			this.backmid.UsePreviews = true;
 			this.backmid.OnValueChanged += new System.EventHandler(this.backmid_OnValueChanged);
 			// 
 			// backhigh
@@ -615,8 +611,20 @@ namespace CodeImp.DoomBuilder.Windows
 			this.backhigh.Size = new System.Drawing.Size(83, 112);
 			this.backhigh.TabIndex = 4;
 			this.backhigh.TextureName = "";
+			this.backhigh.UsePreviews = true;
 			this.backhigh.OnValueChanged += new System.EventHandler(this.backhigh_OnValueChanged);
 			// 
+			// backTextureOffset
+			// 
+			this.backTextureOffset.ButtonStep = 16;
+			this.backTextureOffset.DefaultValue = 0;
+			this.backTextureOffset.Label = "Texture Offset:";
+			this.backTextureOffset.Location = new System.Drawing.Point(3, 65);
+			this.backTextureOffset.Name = "backTextureOffset";
+			this.backTextureOffset.Size = new System.Drawing.Size(268, 28);
+			this.backTextureOffset.TabIndex = 42;
+			this.backTextureOffset.OnValuesChanged += new System.EventHandler(this.backTextureOffset_OnValuesChanged);
+			// 
 			// panel1
 			// 
 			this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -633,6 +641,13 @@ namespace CodeImp.DoomBuilder.Windows
 			this.panel1.Size = new System.Drawing.Size(553, 746);
 			this.panel1.TabIndex = 5;
 			// 
+			// actionhelp
+			// 
+			this.actionhelp.Location = new System.Drawing.Point(497, 25);
+			this.actionhelp.Name = "actionhelp";
+			this.actionhelp.Size = new System.Drawing.Size(28, 25);
+			this.actionhelp.TabIndex = 11;
+			// 
 			// LinedefEditForm
 			// 
 			this.AcceptButton = this.apply;
@@ -710,5 +725,6 @@ namespace CodeImp.DoomBuilder.Windows
 		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl backTextureOffset;
 		private System.Windows.Forms.ComboBox scriptNumbers;
 		private System.Windows.Forms.Panel panel1;
+		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
 	}
 }
\ No newline at end of file
diff --git a/Source/Core/Windows/LinedefEditForm.cs b/Source/Core/Windows/LinedefEditForm.cs
index 77461318d..570fff159 100644
--- a/Source/Core/Windows/LinedefEditForm.cs
+++ b/Source/Core/Windows/LinedefEditForm.cs
@@ -362,6 +362,7 @@ namespace CodeImp.DoomBuilder.Windows
 			preventchanges = false;
 
 			UpdateScriptControls(); //mxd
+			actionhelp.UpdateAction(action.GetValue()); //mxd
 
 			//mxd. Set intial script-related values, if required
 			if(Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1) 
@@ -614,7 +615,11 @@ namespace CodeImp.DoomBuilder.Windows
 				}
 			} 
 
-			if(!preventchanges) UpdateScriptControls(); //mxd
+			if(!preventchanges)
+			{
+				UpdateScriptControls(); //mxd
+				actionhelp.UpdateAction(showaction); //mxd
+			}
 		}
 
 		// Browse Action clicked
diff --git a/Source/Core/Windows/LinedefEditForm.resx b/Source/Core/Windows/LinedefEditForm.resx
index 6741326a2..33bb48b1b 100644
--- a/Source/Core/Windows/LinedefEditForm.resx
+++ b/Source/Core/Windows/LinedefEditForm.resx
@@ -183,6 +183,24 @@
   <metadata name="fronthigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="frontlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="frontmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="fronthigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="backlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="backmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="backhigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="backlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
diff --git a/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs b/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
index 9c7041f99..8853fa924 100644
--- a/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
@@ -118,6 +118,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.fieldslist = new CodeImp.DoomBuilder.Controls.FieldsEditorControl();
 			this.imagelist = new System.Windows.Forms.ImageList(this.components);
 			this.tooltip = new System.Windows.Forms.ToolTip(this.components);
+			this.actionhelp = new CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton();
 			label2 = new System.Windows.Forms.Label();
 			label11 = new System.Windows.Forms.Label();
 			label12 = new System.Windows.Forms.Label();
@@ -237,6 +238,7 @@ namespace CodeImp.DoomBuilder.Windows
 			// 
 			this.actiongroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
 						| System.Windows.Forms.AnchorStyles.Right)));
+			this.actiongroup.Controls.Add(this.actionhelp);
 			this.actiongroup.Controls.Add(this.argspanel);
 			this.actiongroup.Controls.Add(label2);
 			this.actiongroup.Controls.Add(this.action);
@@ -399,7 +401,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.action.GeneralizedOptions = null;
 			this.action.Location = new System.Drawing.Point(62, 27);
 			this.action.Name = "action";
-			this.action.Size = new System.Drawing.Size(428, 21);
+			this.action.Size = new System.Drawing.Size(402, 21);
 			this.action.TabIndex = 0;
 			this.action.Value = 402;
 			this.action.ValueChanges += new System.EventHandler(this.action_ValueChanges);
@@ -407,7 +409,7 @@ namespace CodeImp.DoomBuilder.Windows
 			// browseaction
 			// 
 			this.browseaction.Image = global::CodeImp.DoomBuilder.Properties.Resources.List;
-			this.browseaction.Location = new System.Drawing.Point(496, 25);
+			this.browseaction.Location = new System.Drawing.Point(467, 25);
 			this.browseaction.Name = "browseaction";
 			this.browseaction.Size = new System.Drawing.Size(28, 25);
 			this.browseaction.TabIndex = 1;
@@ -1273,6 +1275,13 @@ namespace CodeImp.DoomBuilder.Windows
 			this.tooltip.UseAnimation = false;
 			this.tooltip.UseFading = false;
 			// 
+			// actionhelp
+			// 
+			this.actionhelp.Location = new System.Drawing.Point(497, 25);
+			this.actionhelp.Name = "actionhelp";
+			this.actionhelp.Size = new System.Drawing.Size(28, 25);
+			this.actionhelp.TabIndex = 10;
+			// 
 			// LinedefEditFormUDMF
 			// 
 			this.AcceptButton = this.apply;
@@ -1288,7 +1297,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.MaximizeBox = false;
 			this.MinimizeBox = false;
 			this.Name = "LinedefEditFormUDMF";
-			this.Opacity = 0;
+			this.Opacity = 1;
 			this.ShowIcon = false;
 			this.ShowInTaskbar = false;
 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
@@ -1413,5 +1422,6 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.ImageList imagelist;
 		private System.Windows.Forms.Label labelrenderstyle;
 		private System.Windows.Forms.Label labellockpick;
+		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
 	}
 }
\ No newline at end of file
diff --git a/Source/Core/Windows/LinedefEditFormUDMF.cs b/Source/Core/Windows/LinedefEditFormUDMF.cs
index dd98b1310..cac20e9c7 100644
--- a/Source/Core/Windows/LinedefEditFormUDMF.cs
+++ b/Source/Core/Windows/LinedefEditFormUDMF.cs
@@ -592,6 +592,7 @@ namespace CodeImp.DoomBuilder.Windows
 
 			UpdateScriptControls(); //mxd
 			CheckActivationFlagsRequired(); //mxd
+			actionhelp.UpdateAction(action.GetValue()); //mxd
 
 			//mxd. Set intial script-related values, if required
 			if(Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1) 
@@ -944,6 +945,7 @@ namespace CodeImp.DoomBuilder.Windows
 			{
 				UpdateScriptControls();
 				CheckActivationFlagsRequired();
+				actionhelp.UpdateAction(showaction);
 			}
 		}
 
diff --git a/Source/Core/Windows/LinedefEditFormUDMF.resx b/Source/Core/Windows/LinedefEditFormUDMF.resx
index b7a08d27b..9dcdc3bc6 100644
--- a/Source/Core/Windows/LinedefEditFormUDMF.resx
+++ b/Source/Core/Windows/LinedefEditFormUDMF.resx
@@ -135,9 +135,6 @@
   <metadata name="argspanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="argspanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
   <metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -152,7 +149,7 @@
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADM
-        CAAAAk1TRnQBSQFMAgEBAgEAATABAAEwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+        CAAAAk1TRnQBSQFMAgEBAgEAAUABAAFAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
         AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
         AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
         AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/Source/Core/Windows/ThingEditForm.Designer.cs b/Source/Core/Windows/ThingEditForm.Designer.cs
index 5d62d81a7..25ee6844a 100644
--- a/Source/Core/Windows/ThingEditForm.Designer.cs
+++ b/Source/Core/Windows/ThingEditForm.Designer.cs
@@ -73,6 +73,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.hint = new System.Windows.Forms.PictureBox();
 			this.hintlabel = new System.Windows.Forms.Label();
 			this.tooltip = new System.Windows.Forms.ToolTip(this.components);
+			this.actionhelp = new CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton();
 			groupBox1 = new System.Windows.Forms.GroupBox();
 			groupBox2 = new System.Windows.Forms.GroupBox();
 			label7 = new System.Windows.Forms.Label();
@@ -361,6 +362,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.actiongroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 						| System.Windows.Forms.AnchorStyles.Left)
 						| System.Windows.Forms.AnchorStyles.Right)));
+			this.actiongroup.Controls.Add(this.actionhelp);
 			this.actiongroup.Controls.Add(this.hexenpanel);
 			this.actiongroup.Controls.Add(label7);
 			this.actiongroup.Controls.Add(this.action);
@@ -504,7 +506,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.action.GeneralizedOptions = null;
 			this.action.Location = new System.Drawing.Point(62, 27);
 			this.action.Name = "action";
-			this.action.Size = new System.Drawing.Size(524, 21);
+			this.action.Size = new System.Drawing.Size(497, 21);
 			this.action.TabIndex = 0;
 			this.action.Value = 402;
 			this.action.ValueChanges += new System.EventHandler(this.action_ValueChanges);
@@ -512,7 +514,7 @@ namespace CodeImp.DoomBuilder.Windows
 			// browseaction
 			// 
 			this.browseaction.Image = global::CodeImp.DoomBuilder.Properties.Resources.List;
-			this.browseaction.Location = new System.Drawing.Point(592, 25);
+			this.browseaction.Location = new System.Drawing.Point(562, 25);
 			this.browseaction.Name = "browseaction";
 			this.browseaction.Size = new System.Drawing.Size(28, 25);
 			this.browseaction.TabIndex = 1;
@@ -598,6 +600,13 @@ namespace CodeImp.DoomBuilder.Windows
 			this.tooltip.UseAnimation = false;
 			this.tooltip.UseFading = false;
 			// 
+			// actionhelp
+			// 
+			this.actionhelp.Location = new System.Drawing.Point(592, 25);
+			this.actionhelp.Name = "actionhelp";
+			this.actionhelp.Size = new System.Drawing.Size(28, 25);
+			this.actionhelp.TabIndex = 14;
+			// 
 			// ThingEditForm
 			// 
 			this.AcceptButton = this.apply;
@@ -615,6 +624,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.MaximizeBox = false;
 			this.MinimizeBox = false;
 			this.Name = "ThingEditForm";
+			this.Opacity = 1;
 			this.ShowIcon = false;
 			this.ShowInTaskbar = false;
 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
@@ -684,5 +694,6 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.PictureBox missingflags;
 		private System.Windows.Forms.ToolTip tooltip;
 		private System.Windows.Forms.GroupBox groupBox4;
+		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
 	}
 }
\ No newline at end of file
diff --git a/Source/Core/Windows/ThingEditForm.cs b/Source/Core/Windows/ThingEditForm.cs
index 0f2fcfa6c..6755186e0 100644
--- a/Source/Core/Windows/ThingEditForm.cs
+++ b/Source/Core/Windows/ThingEditForm.cs
@@ -260,6 +260,7 @@ namespace CodeImp.DoomBuilder.Windows
 			flags_OnValueChanged(flags, EventArgs.Empty);
 
 			UpdateScriptControls(); //mxd
+			actionhelp.UpdateAction(action.GetValue()); //mxd
 
 			//mxd. Set intial script-related values, if required
 			if(Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1) 
@@ -352,7 +353,11 @@ namespace CodeImp.DoomBuilder.Windows
 				arg4.SetDefaultValue();
 			}
 
-			if(!preventchanges) UpdateScriptControls(); //mxd
+			if(!preventchanges)
+			{
+				UpdateScriptControls(); //mxd
+				actionhelp.UpdateAction(showaction); //mxd
+			}
 		}
 
 		// Browse Action clicked
diff --git a/Source/Core/Windows/ThingEditForm.resx b/Source/Core/Windows/ThingEditForm.resx
index f6593f35a..f21be8ea8 100644
--- a/Source/Core/Windows/ThingEditForm.resx
+++ b/Source/Core/Windows/ThingEditForm.resx
@@ -156,6 +156,15 @@
   <metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="arg0label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="arg2label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
diff --git a/Source/Core/Windows/ThingEditFormUDMF.Designer.cs b/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
index fd93a319b..d31e56ef8 100644
--- a/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
@@ -92,7 +92,6 @@
 			this.arg4label = new System.Windows.Forms.Label();
 			this.action = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
 			this.browseaction = new System.Windows.Forms.Button();
-			this.doompanel = new System.Windows.Forms.Panel();
 			this.groupBox3 = new System.Windows.Forms.GroupBox();
 			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
 			this.tabcustom = new System.Windows.Forms.TabPage();
@@ -102,6 +101,7 @@
 			this.hint = new System.Windows.Forms.PictureBox();
 			this.hintlabel = new System.Windows.Forms.Label();
 			this.tooltip = new System.Windows.Forms.ToolTip(this.components);
+			this.actionhelp = new CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton();
 			this.groupBox1.SuspendLayout();
 			this.groupBox2.SuspendLayout();
 			this.tabs.SuspendLayout();
@@ -247,7 +247,7 @@
 			// 
 			// labelGravity
 			// 
-			this.labelGravity.Location = new System.Drawing.Point(42, 21);
+			this.labelGravity.Location = new System.Drawing.Point(52, 28);
 			this.labelGravity.Name = "labelGravity";
 			this.labelGravity.Size = new System.Drawing.Size(50, 14);
 			this.labelGravity.TabIndex = 18;
@@ -526,7 +526,7 @@
 			this.conversationID.ButtonStep = 1;
 			this.conversationID.ButtonStepFloat = 1F;
 			this.conversationID.ButtonStepsWrapAround = false;
-			this.conversationID.Location = new System.Drawing.Point(98, 112);
+			this.conversationID.Location = new System.Drawing.Point(108, 119);
 			this.conversationID.Name = "conversationID";
 			this.conversationID.Size = new System.Drawing.Size(72, 24);
 			this.conversationID.StepValues = null;
@@ -535,7 +535,7 @@
 			// labelID
 			// 
 			this.labelID.AutoSize = true;
-			this.labelID.Location = new System.Drawing.Point(6, 117);
+			this.labelID.Location = new System.Drawing.Point(16, 124);
 			this.labelID.Name = "labelID";
 			this.labelID.Size = new System.Drawing.Size(86, 14);
 			this.labelID.TabIndex = 25;
@@ -549,7 +549,7 @@
 			this.health.ButtonStep = 8;
 			this.health.ButtonStepFloat = 0.1F;
 			this.health.ButtonStepsWrapAround = false;
-			this.health.Location = new System.Drawing.Point(98, 80);
+			this.health.Location = new System.Drawing.Point(108, 87);
 			this.health.Name = "health";
 			this.health.Size = new System.Drawing.Size(72, 24);
 			this.health.StepValues = null;
@@ -557,7 +557,7 @@
 			// 
 			// label10
 			// 
-			this.label10.Location = new System.Drawing.Point(42, 85);
+			this.label10.Location = new System.Drawing.Point(52, 92);
 			this.label10.Name = "label10";
 			this.label10.Size = new System.Drawing.Size(50, 14);
 			this.label10.TabIndex = 22;
@@ -572,7 +572,7 @@
 			this.score.ButtonStep = 8;
 			this.score.ButtonStepFloat = 0.1F;
 			this.score.ButtonStepsWrapAround = false;
-			this.score.Location = new System.Drawing.Point(98, 48);
+			this.score.Location = new System.Drawing.Point(108, 55);
 			this.score.Name = "score";
 			this.score.Size = new System.Drawing.Size(72, 24);
 			this.score.StepValues = null;
@@ -580,7 +580,7 @@
 			// 
 			// label9
 			// 
-			this.label9.Location = new System.Drawing.Point(42, 53);
+			this.label9.Location = new System.Drawing.Point(52, 60);
 			this.label9.Name = "label9";
 			this.label9.Size = new System.Drawing.Size(50, 14);
 			this.label9.TabIndex = 20;
@@ -595,7 +595,7 @@
 			this.gravity.ButtonStep = 8;
 			this.gravity.ButtonStepFloat = 0.1F;
 			this.gravity.ButtonStepsWrapAround = false;
-			this.gravity.Location = new System.Drawing.Point(98, 16);
+			this.gravity.Location = new System.Drawing.Point(108, 23);
 			this.gravity.Name = "gravity";
 			this.gravity.Size = new System.Drawing.Size(72, 24);
 			this.gravity.StepValues = null;
@@ -622,7 +622,7 @@
 			this.scale.DefaultValue = 1F;
 			this.scale.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
 			this.scale.Label = "Scale:";
-			this.scale.Location = new System.Drawing.Point(3, 17);
+			this.scale.Location = new System.Drawing.Point(5, 24);
 			this.scale.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
 			this.scale.Name = "scale";
 			this.scale.Size = new System.Drawing.Size(268, 26);
@@ -634,7 +634,7 @@
 			this.color.DefaultValue = 0;
 			this.color.Field = "fillcolor";
 			this.color.Label = "Color:";
-			this.color.Location = new System.Drawing.Point(42, 108);
+			this.color.Location = new System.Drawing.Point(44, 115);
 			this.color.Name = "color";
 			this.color.Size = new System.Drawing.Size(207, 31);
 			this.color.TabIndex = 30;
@@ -647,7 +647,7 @@
 			this.alpha.ButtonStep = 8;
 			this.alpha.ButtonStepFloat = 0.1F;
 			this.alpha.ButtonStepsWrapAround = false;
-			this.alpha.Location = new System.Drawing.Point(89, 78);
+			this.alpha.Location = new System.Drawing.Point(91, 85);
 			this.alpha.Name = "alpha";
 			this.alpha.Size = new System.Drawing.Size(72, 24);
 			this.alpha.StepValues = null;
@@ -655,7 +655,7 @@
 			// 
 			// label8
 			// 
-			this.label8.Location = new System.Drawing.Point(3, 83);
+			this.label8.Location = new System.Drawing.Point(5, 90);
 			this.label8.Name = "label8";
 			this.label8.Size = new System.Drawing.Size(80, 14);
 			this.label8.TabIndex = 25;
@@ -666,14 +666,14 @@
 			// 
 			this.renderStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 			this.renderStyle.FormattingEnabled = true;
-			this.renderStyle.Location = new System.Drawing.Point(89, 50);
+			this.renderStyle.Location = new System.Drawing.Point(91, 57);
 			this.renderStyle.Name = "renderStyle";
 			this.renderStyle.Size = new System.Drawing.Size(156, 22);
 			this.renderStyle.TabIndex = 24;
 			// 
 			// labelrenderstyle
 			// 
-			this.labelrenderstyle.Location = new System.Drawing.Point(3, 53);
+			this.labelrenderstyle.Location = new System.Drawing.Point(5, 60);
 			this.labelrenderstyle.Name = "labelrenderstyle";
 			this.labelrenderstyle.Size = new System.Drawing.Size(80, 14);
 			this.labelrenderstyle.TabIndex = 23;
@@ -685,11 +685,11 @@
 			this.actiongroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 						| System.Windows.Forms.AnchorStyles.Left)
 						| System.Windows.Forms.AnchorStyles.Right)));
+			this.actiongroup.Controls.Add(this.actionhelp);
 			this.actiongroup.Controls.Add(this.hexenpanel);
 			this.actiongroup.Controls.Add(this.label7);
 			this.actiongroup.Controls.Add(this.action);
 			this.actiongroup.Controls.Add(this.browseaction);
-			this.actiongroup.Controls.Add(this.doompanel);
 			this.actiongroup.Location = new System.Drawing.Point(6, 78);
 			this.actiongroup.Name = "actiongroup";
 			this.actiongroup.Size = new System.Drawing.Size(615, 154);
@@ -851,7 +851,7 @@
 			this.action.GeneralizedOptions = null;
 			this.action.Location = new System.Drawing.Point(62, 27);
 			this.action.Name = "action";
-			this.action.Size = new System.Drawing.Size(513, 21);
+			this.action.Size = new System.Drawing.Size(485, 21);
 			this.action.TabIndex = 0;
 			this.action.Value = 402;
 			this.action.ValueChanges += new System.EventHandler(this.action_ValueChanges);
@@ -859,7 +859,7 @@
 			// browseaction
 			// 
 			this.browseaction.Image = global::CodeImp.DoomBuilder.Properties.Resources.List;
-			this.browseaction.Location = new System.Drawing.Point(581, 24);
+			this.browseaction.Location = new System.Drawing.Point(551, 24);
 			this.browseaction.Name = "browseaction";
 			this.browseaction.Size = new System.Drawing.Size(28, 26);
 			this.browseaction.TabIndex = 1;
@@ -867,16 +867,6 @@
 			this.browseaction.UseVisualStyleBackColor = true;
 			this.browseaction.Click += new System.EventHandler(this.browseaction_Click);
 			// 
-			// doompanel
-			// 
-			this.doompanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-						| System.Windows.Forms.AnchorStyles.Left)
-						| System.Windows.Forms.AnchorStyles.Right)));
-			this.doompanel.Location = new System.Drawing.Point(6, 54);
-			this.doompanel.Name = "doompanel";
-			this.doompanel.Size = new System.Drawing.Size(603, 94);
-			this.doompanel.TabIndex = 12;
-			// 
 			// groupBox3
 			// 
 			this.groupBox3.Controls.Add(this.tagSelector);
@@ -979,6 +969,13 @@
 			this.tooltip.UseAnimation = false;
 			this.tooltip.UseFading = false;
 			// 
+			// actionhelp
+			// 
+			this.actionhelp.Location = new System.Drawing.Point(581, 24);
+			this.actionhelp.Name = "actionhelp";
+			this.actionhelp.Size = new System.Drawing.Size(28, 26);
+			this.actionhelp.TabIndex = 14;
+			// 
 			// ThingEditFormUDMF
 			// 
 			this.AcceptButton = this.apply;
@@ -1047,7 +1044,6 @@
 		private System.Windows.Forms.Label arg4label;
 		private CodeImp.DoomBuilder.Controls.ActionSelectorControl action;
 		private System.Windows.Forms.Button browseaction;
-		private System.Windows.Forms.Panel doompanel;
 		private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist;
 		private CodeImp.DoomBuilder.Controls.ArgumentBox arg2;
 		private CodeImp.DoomBuilder.Controls.ArgumentBox arg1;
@@ -1104,5 +1100,6 @@
         private GZBuilder.Controls.PairedFloatControl scale;
 		private System.Windows.Forms.PictureBox missingflags;
 		private System.Windows.Forms.ToolTip tooltip;
+		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
 	}
 }
\ No newline at end of file
diff --git a/Source/Core/Windows/ThingEditFormUDMF.cs b/Source/Core/Windows/ThingEditFormUDMF.cs
index f451674f3..1895925b3 100644
--- a/Source/Core/Windows/ThingEditFormUDMF.cs
+++ b/Source/Core/Windows/ThingEditFormUDMF.cs
@@ -332,6 +332,7 @@ namespace CodeImp.DoomBuilder.Windows
 			flags_OnValueChanged(flags, EventArgs.Empty);
 
 			UpdateScriptControls(); //mxd
+			actionhelp.UpdateAction(action.GetValue()); //mxd
 
 			//mxd. Set intial script-related values, if required
 			if(Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1) 
@@ -447,7 +448,11 @@ namespace CodeImp.DoomBuilder.Windows
 				arg4.SetDefaultValue();
 			}
 
-			if(!preventchanges) UpdateScriptControls(); //mxd
+			if(!preventchanges)
+			{
+				UpdateScriptControls(); //mxd
+				actionhelp.UpdateAction(showaction); //mxd
+			}
 		}
 
 		// Browse Action clicked
-- 
GitLab