From 830a9c3bb46485f9d961078cff6c7055f4e9d569 Mon Sep 17 00:00:00 2001
From: Tycho <work.tycho+git@gmail.com>
Date: Sat, 22 Mar 2014 08:16:07 -0700
Subject: [PATCH 1/4] FIrst attempt at adding override support to tolua

---
 lib/tolua++/src/bin/lua/container.lua | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/tolua++/src/bin/lua/container.lua b/lib/tolua++/src/bin/lua/container.lua
index 2d11db7df..97e7b58fd 100644
--- a/lib/tolua++/src/bin/lua/container.lua
+++ b/lib/tolua++/src/bin/lua/container.lua
@@ -606,14 +606,15 @@ function classContainer:doparse (s)
  -- try function
  do
   --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
-  local b,e,decl,arg,const,virt = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*(=?%s*0?)%s*;%s*")
+  local b,e,decl,arg,const,virt = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*(=?%s*0?)%s*;%s*")
+  warning("trace" .. b .. "," .. e "," .. decl)
   if not b then
   	-- try function with template
-  	b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w]%b<>)%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
+  	b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w]%b<>)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*=?%s*0?%s*;%s*")
   end
   if not b then
    -- try a single letter function name
-   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*")
+   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*;%s*")
   end
   if not b then
    -- try function pointer
@@ -636,11 +637,11 @@ function classContainer:doparse (s)
 
  -- try inline function
  do
-  local b,e,decl,arg,const = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)[^;{]*%b{}%s*;?%s*")
+  local b,e,decl,arg,const = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?[^;{]*%b{}%s*;?%s*")
   --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w>])%s*(%b())%s*(c?o?n?s?t?)[^;]*%b{}%s*;?%s*")
   if not b then
    -- try a single letter function name
-   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*")
+   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?.-%b{}%s*;?%s*")
   end
   if b then
    _curr_code = strsub(s,b,e)

From 5653997bcc1f04936f07d220999b8339661cbbb7 Mon Sep 17 00:00:00 2001
From: Tycho <work.tycho+git@gmail.com>
Date: Sat, 22 Mar 2014 08:43:54 -0700
Subject: [PATCH 2/4] Added override specifier to functions declared in cWorld

---
 src/World.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/World.h b/src/World.h
index 46aece18f..b85171e4e 100644
--- a/src/World.h
+++ b/src/World.h
@@ -126,15 +126,15 @@ public:
 
 	int GetTicksUntilWeatherChange(void) const { return m_WeatherInterval; }
 	
-	virtual Int64 GetWorldAge (void) const { return m_WorldAge; }   // override, cannot specify due to tolua
-	virtual Int64 GetTimeOfDay(void) const { return m_TimeOfDay; }  // override, cannot specify due to tolua
+	virtual Int64 GetWorldAge (void) const override { return m_WorldAge; }
+	virtual Int64 GetTimeOfDay(void) const override { return m_TimeOfDay; } 
 	
 	void SetTicksUntilWeatherChange(int a_WeatherInterval)
 	{
 		m_WeatherInterval = a_WeatherInterval;
 	}
 
-	virtual void SetTimeOfDay(Int64 a_TimeOfDay)  // override, cannot specify due to tolua
+	virtual void SetTimeOfDay(Int64 a_TimeOfDay) override
 	{
 		m_TimeOfDay = a_TimeOfDay;
 		m_TimeOfDaySecs = (double)a_TimeOfDay / 20.0;
@@ -430,10 +430,10 @@ public:
 	// tolua_begin
 
 	/** Spawns item pickups for each item in the list. May compress pickups if too many entities: */
-	virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_FlyAwaySpeed = 1.0, bool IsPlayerCreated = false);  // override; cannot specify it here due to tolua
+	virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_FlyAwaySpeed = 1.0, bool IsPlayerCreated = false) override;
 	
 	/** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified: */
-	virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_SpeedX, double a_SpeedY, double a_SpeedZ, bool IsPlayerCreated = false);  // override; cannot specify it here due to tolua
+	virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_SpeedX, double a_SpeedY, double a_SpeedZ, bool IsPlayerCreated = false) override;
 	
 	/** Spawns an falling block entity at the given position. It returns the UniqueID of the spawned falling block. */
 	int SpawnFallingBlock(int a_X, int a_Y, int a_Z, BLOCKTYPE BlockType, NIBBLETYPE BlockMeta);
@@ -457,7 +457,7 @@ public:
 	
 	// tolua_begin
 	bool DigBlock   (int a_X, int a_Y, int a_Z);
-	virtual void SendBlockTo(int a_X, int a_Y, int a_Z, cPlayer * a_Player);  // override, cannot specify due to tolua
+	virtual void SendBlockTo(int a_X, int a_Y, int a_Z, cPlayer * a_Player) override;
 
 	double GetSpawnX(void) const { return m_SpawnX; }
 	double GetSpawnY(void) const { return m_SpawnY; }
@@ -508,7 +508,7 @@ public:
 	| esWitherBirth | TBD |
 	| esPlugin | void * |
 	*/
-	virtual void DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData);  // tolua_export  // override, cannot specify due to tolua
+	virtual void DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData) override;  // tolua_export
 
 	/** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, true if found */
 	bool DoWithBlockEntityAt(int a_BlockX, int a_BlockY, int a_BlockZ, cBlockEntityCallback & a_Callback);  // Exported in ManualBindings.cpp
@@ -707,7 +707,7 @@ public:
 	bool IsBlockDirectlyWatered(int a_BlockX, int a_BlockY, int a_BlockZ);  // tolua_export
 	
 	/** Spawns a mob of the specified type. Returns the mob's EntityID if recognized and spawned, <0 otherwise */
-	virtual int SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eType a_MonsterType);  // tolua_export  // override, cannot specify due to tolua
+	virtual int SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eType a_MonsterType) override;  // tolua_export
 	int SpawnMobFinalize(cMonster* a_Monster);
 	
 	/** Creates a projectile of the specified type. Returns the projectile's EntityID if successful, <0 otherwise */

From 298c0b409ac01f17968ed3ff5dd6e2e901627e04 Mon Sep 17 00:00:00 2001
From: Tycho <work.tycho+git@gmail.com>
Date: Wed, 2 Apr 2014 06:04:17 -0700
Subject: [PATCH 3/4] Fixed tolua++ override support

---
 lib/tolua++/CMakeLists.txt            |    7 +-
 lib/tolua++/src/bin/function_lua.h    |  285 +++---
 lib/tolua++/src/bin/lua/container.lua |   21 +-
 lib/tolua++/src/bin/lua/function.lua  |    4 +-
 lib/tolua++/src/bin/toluabind.c       | 1166 +------------------------
 5 files changed, 164 insertions(+), 1319 deletions(-)

diff --git a/lib/tolua++/CMakeLists.txt b/lib/tolua++/CMakeLists.txt
index 75a301a53..4df698e89 100644
--- a/lib/tolua++/CMakeLists.txt
+++ b/lib/tolua++/CMakeLists.txt
@@ -24,8 +24,11 @@ if(UNIX)
 					COMMAND xxd -i lua/declaration.lua | sed 's/unsigned char/static const unsigned char/g' >declaration_lua.h
 					WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/bin/
 					DEPENDS ${PROJECT_SOURCE_DIR}/src/bin/lua/declaration.lua)
-	set_property(SOURCE src/bin/toluabind.c APPEND PROPERTY OBJECT_DEPENDS ${PROJECT_SOURCE_DIR}/src/bin/enumerate_lua.h ${PROJECT_SOURCE_DIR}/src/bin/basic_lua.h ${PROJECT_SOURCE_DIR}/src/bin/function_lua.h ${PROJECT_SOURCE_DIR}/src/bin/declaration_lua.h)
-	message(hello)
+	add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/bin/container_lua.h
+					COMMAND xxd -i lua/container.lua | sed 's/unsigned char/static const unsigned char/g' >container_lua.h
+					WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/bin/
+					DEPENDS ${PROJECT_SOURCE_DIR}/src/bin/lua/container.lua)
+	set_property(SOURCE src/bin/toluabind.c APPEND PROPERTY OBJECT_DEPENDS ${PROJECT_SOURCE_DIR}/src/bin/enumerate_lua.h ${PROJECT_SOURCE_DIR}/src/bin/basic_lua.h ${PROJECT_SOURCE_DIR}/src/bin/function_lua.h ${PROJECT_SOURCE_DIR}/src/bin/declaration_lua.h ${PROJECT_SOURCE_DIR}/src/bin/container_lua.h)
 endif()
 
 
diff --git a/lib/tolua++/src/bin/function_lua.h b/lib/tolua++/src/bin/function_lua.h
index bcb0bfca2..b34f106d2 100644
--- a/lib/tolua++/src/bin/function_lua.h
+++ b/lib/tolua++/src/bin/function_lua.h
@@ -990,14 +990,15 @@ static const unsigned char lua_function_lua[] = {
   0x5f, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x74,
   0x29, 0x0a, 0x20, 0x73, 0x65, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x61,
   0x62, 0x6c, 0x65, 0x28, 0x74, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x46,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x0a, 0x20, 0x69,
-  0x66, 0x20, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7e, 0x3d,
-  0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x20, 0x61, 0x6e, 0x64,
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x69, 0x66,
   0x20, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7e, 0x3d, 0x20,
-  0x27, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x65, 0x72,
-  0x72, 0x6f, 0x72, 0x28, 0x22, 0x23, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
-  0x64, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x20, 0x73, 0x70,
-  0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+  0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20,
+  0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7e, 0x3d, 0x20, 0x27,
+  0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x65, 0x72, 0x72,
+  0x6f, 0x72, 0x28, 0x22, 0x23, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
+  0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x20, 0x73, 0x70, 0x65,
+  0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
+  0x22, 0x20, 0x2e, 0x2e, 0x20, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74,
   0x29, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x61, 0x70, 0x70,
   0x65, 0x6e, 0x64, 0x28, 0x74, 0x29, 0x0a, 0x20, 0x69, 0x66, 0x20, 0x74,
   0x3a, 0x69, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x29, 0x20, 0x74,
@@ -1072,139 +1073,139 @@ static const unsigned char lua_function_lua[] = {
   0x0a, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x20,
   0x3d, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61,
   0x6d, 0x73, 0x28, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2c,
-  0x32, 0x2c, 0x2d, 0x32, 0x29, 0x29, 0x0a, 0x0a, 0x09, 0x69, 0x66, 0x20,
-  0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x5b, 0x27, 0x57,
-  0x27, 0x5d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
-  0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x61, 0x2c, 0x20, 0x22, 0x25,
-  0x2e, 0x25, 0x2e, 0x25, 0x2e, 0x25, 0x73, 0x2a, 0x25, 0x29, 0x22, 0x29,
-  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x61, 0x72,
-  0x6e, 0x69, 0x6e, 0x67, 0x28, 0x22, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
-  0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76, 0x61, 0x72,
-  0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
-  0x6e, 0x74, 0x73, 0x20, 0x28, 0x60, 0x2e, 0x2e, 0x2e, 0x27, 0x29, 0x20,
-  0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70,
-  0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72,
-  0x69, 0x6e, 0x67, 0x20, 0x22, 0x2e, 0x2e, 0x64, 0x2e, 0x2e, 0x61, 0x2e,
-  0x2e, 0x63, 0x29, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
-  0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a,
-  0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x3d, 0x31, 0x0a, 0x20,
-  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x6e,
-  0x3d, 0x30, 0x7d, 0x0a, 0x0a, 0x20, 0x09, 0x61, 0x20, 0x3d, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x61,
-  0x2c, 0x20, 0x22, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x25, 0x28, 0x25, 0x29,
-  0x5d, 0x29, 0x25, 0x73, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x25, 0x31, 0x22,
-  0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x2c, 0x73,
-  0x74, 0x72, 0x69, 0x70, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20,
-  0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x28, 0x73,
-  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2c, 0x32, 0x2c, 0x2d, 0x32,
-  0x29, 0x29, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x70, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x6c,
-  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x62, 0x28, 0x73, 0x74, 0x72,
-  0x73, 0x75, 0x62, 0x28, 0x61, 0x2c, 0x31, 0x2c, 0x2d, 0x32, 0x29, 0x2c,
-  0x20, 0x31, 0x2c, 0x20, 0x2d, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x2e, 0x6c, 0x65, 0x6e, 0x28, 0x6c, 0x61, 0x73, 0x74, 0x29, 0x2b, 0x31,
-  0x29, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e,
-  0x73, 0x20, 0x3d, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x28, 0x74, 0x2c, 0x20,
-  0x22, 0x2c, 0x22, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x6c, 0x61, 0x73, 0x74,
-  0x2d, 0x31, 0x29, 0x0a, 0x0a, 0x09, 0x09, 0x6e, 0x73, 0x20, 0x3d, 0x20,
-  0x22, 0x28, 0x22, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
-  0x67, 0x73, 0x75, 0x62, 0x28, 0x6e, 0x73, 0x2c, 0x20, 0x22, 0x25, 0x73,
-  0x2a, 0x2c, 0x25, 0x73, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29,
-  0x2e, 0x2e, 0x27, 0x29, 0x27, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x6e, 0x73,
-  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66,
-  0x61, 0x75, 0x6c, 0x74, 0x73, 0x28, 0x6e, 0x73, 0x29, 0x0a, 0x0a, 0x09,
-  0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x46,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x64, 0x2c, 0x20, 0x6e,
-  0x73, 0x2c, 0x20, 0x63, 0x29, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20,
-  0x69, 0x3d, 0x31, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x0a,
-  0x09, 0x09, 0x09, 0x74, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74, 0x5b,
-  0x69, 0x5d, 0x2c, 0x20, 0x22, 0x3d, 0x2e, 0x2a, 0x24, 0x22, 0x2c, 0x20,
-  0x22, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65,
-  0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74,
-  0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x2e, 0x6e,
-  0x20, 0x3d, 0x20, 0x6c, 0x2e, 0x6e, 0x2b, 0x31, 0x0a, 0x20, 0x20, 0x6c,
-  0x5b, 0x6c, 0x2e, 0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x44, 0x65, 0x63, 0x6c,
-  0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x74, 0x5b, 0x69, 0x5d,
-  0x2c, 0x27, 0x76, 0x61, 0x72, 0x27, 0x2c, 0x74, 0x72, 0x75, 0x65, 0x29,
-  0x0a, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x2b, 0x31, 0x0a, 0x20,
-  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66,
-  0x20, 0x3d, 0x20, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69,
-  0x6f, 0x6e, 0x28, 0x64, 0x2c, 0x27, 0x66, 0x75, 0x6e, 0x63, 0x27, 0x29,
-  0x0a, 0x20, 0x66, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x6c,
-  0x0a, 0x20, 0x66, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20,
-  0x63, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x46,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x66, 0x29, 0x0a, 0x65,
-  0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-  0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x28, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x70,
-  0x2c, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2c, 0x20, 0x6c, 0x61, 0x73,
-  0x74, 0x29, 0x0a, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x3d,
-  0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x0a,
-  0x09, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x61, 0x73, 0x74,
-  0x20, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x65,
-  0x74, 0x6e, 0x28, 0x74, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
-  0x20, 0x6c, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x22, 0x22, 0x0a, 0x09,
-  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20,
-  0x22, 0x22, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x6f,
-  0x6f, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09,
-  0x66, 0x6f, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x66, 0x69, 0x72, 0x73,
-  0x74, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x0a, 0x0a, 0x09,
-  0x09, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x2e,
-  0x6c, 0x73, 0x65, 0x70, 0x2e, 0x2e, 0x74, 0x5b, 0x69, 0x5d, 0x0a, 0x09,
-  0x09, 0x6c, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x70, 0x0a,
-  0x09, 0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75,
-  0x65, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6e,
-  0x6f, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x20, 0x74, 0x68, 0x65, 0x6e,
-  0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x22, 0x22,
-  0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75,
-  0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
-  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72,
-  0x69, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x28, 0x73, 0x29, 0x0a, 0x0a,
-  0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x73,
-  0x70, 0x6c, 0x69, 0x74, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
-  0x73, 0x28, 0x73, 0x2c, 0x20, 0x27, 0x2c, 0x27, 0x29, 0x0a, 0x09, 0x6c,
-  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x3d,
-  0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61,
-  0x6c, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x0a, 0x0a, 0x09, 0x66, 0x6f, 0x72,
-  0x20, 0x69, 0x3d, 0x74, 0x2e, 0x6e, 0x2c, 0x31, 0x2c, 0x2d, 0x31, 0x20,
-  0x64, 0x6f, 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74,
-  0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70,
-  0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28,
-  0x74, 0x5b, 0x69, 0x5d, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09,
-  0x09, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x69, 0x0a, 0x09,
-  0x09, 0x09, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72,
-  0x75, 0x65, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x2d,
-  0x2d, 0x69, 0x66, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x74, 0x68,
-  0x65, 0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x09, 0x74, 0x5b, 0x69, 0x5d,
-  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73,
-  0x75, 0x62, 0x28, 0x74, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x22, 0x3d, 0x2e,
-  0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x2d,
-  0x2d, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09,
-  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x2c, 0x73, 0x74, 0x72,
-  0x69, 0x70, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x0a, 0x0a, 0x65, 0x6e, 0x64,
-  0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
-  0x73, 0x28, 0x73, 0x29, 0x0a, 0x0a, 0x09, 0x73, 0x20, 0x3d, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73,
-  0x2c, 0x20, 0x22, 0x5e, 0x25, 0x28, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29,
-  0x0a, 0x09, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x25, 0x29,
-  0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x0a, 0x09, 0x6c, 0x6f,
-  0x63, 0x61, 0x6c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x70, 0x6c, 0x69,
-  0x74, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x28, 0x73,
-  0x2c, 0x20, 0x22, 0x2c, 0x22, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61,
-  0x6c, 0x20, 0x73, 0x65, 0x70, 0x2c, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d,
-  0x20, 0x22, 0x22, 0x2c, 0x22, 0x22, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20,
-  0x69, 0x3d, 0x31, 0x2c, 0x74, 0x2e, 0x6e, 0x20, 0x64, 0x6f, 0x0a, 0x09,
-  0x09, 0x74, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74, 0x5b, 0x69, 0x5d,
-  0x2c, 0x20, 0x22, 0x3d, 0x2e, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22,
-  0x29, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x65,
-  0x74, 0x2e, 0x2e, 0x73, 0x65, 0x70, 0x2e, 0x2e, 0x74, 0x5b, 0x69, 0x5d,
-  0x0a, 0x09, 0x09, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x22, 0x2c, 0x22,
-  0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75,
-  0x72, 0x6e, 0x20, 0x22, 0x28, 0x22, 0x2e, 0x2e, 0x72, 0x65, 0x74, 0x2e,
-  0x2e, 0x22, 0x29, 0x22, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a
+  0x32, 0x2c, 0x2d, 0x32, 0x29, 0x29, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6e,
+  0x6f, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x5b, 0x27, 0x57, 0x27,
+  0x5d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x61, 0x2c, 0x20, 0x22, 0x25, 0x2e,
+  0x25, 0x2e, 0x25, 0x2e, 0x25, 0x73, 0x2a, 0x25, 0x29, 0x22, 0x29, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x61, 0x72, 0x6e,
+  0x69, 0x6e, 0x67, 0x28, 0x22, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76, 0x61, 0x72, 0x69,
+  0x61, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
+  0x74, 0x73, 0x20, 0x28, 0x60, 0x2e, 0x2e, 0x2e, 0x27, 0x29, 0x20, 0x61,
+  0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f,
+  0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x69,
+  0x6e, 0x67, 0x20, 0x22, 0x2e, 0x2e, 0x64, 0x2e, 0x2e, 0x61, 0x2e, 0x2e,
+  0x63, 0x29, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+  0x6e, 0x69, 0x6c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a, 0x20,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x3d, 0x31, 0x0a, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x6e, 0x3d,
+  0x30, 0x7d, 0x0a, 0x0a, 0x20, 0x09, 0x61, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2c,
+  0x20, 0x22, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x25, 0x28, 0x25, 0x29, 0x5d,
+  0x29, 0x25, 0x73, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x25, 0x31, 0x22, 0x29,
+  0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x2c, 0x73, 0x74,
+  0x72, 0x69, 0x70, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x28, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2c, 0x32, 0x2c, 0x2d, 0x32, 0x29,
+  0x29, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x62, 0x28, 0x73, 0x74, 0x72, 0x73,
+  0x75, 0x62, 0x28, 0x61, 0x2c, 0x31, 0x2c, 0x2d, 0x32, 0x29, 0x2c, 0x20,
+  0x31, 0x2c, 0x20, 0x2d, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
+  0x6c, 0x65, 0x6e, 0x28, 0x6c, 0x61, 0x73, 0x74, 0x29, 0x2b, 0x31, 0x29,
+  0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x73,
+  0x20, 0x3d, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x28, 0x74, 0x2c, 0x20, 0x22,
+  0x2c, 0x22, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x2d,
+  0x31, 0x29, 0x0a, 0x0a, 0x09, 0x09, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x22,
+  0x28, 0x22, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67,
+  0x73, 0x75, 0x62, 0x28, 0x6e, 0x73, 0x2c, 0x20, 0x22, 0x25, 0x73, 0x2a,
+  0x2c, 0x25, 0x73, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x2e,
+  0x2e, 0x27, 0x29, 0x27, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x6e, 0x73, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61,
+  0x75, 0x6c, 0x74, 0x73, 0x28, 0x6e, 0x73, 0x29, 0x0a, 0x0a, 0x09, 0x09,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x46, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x64, 0x2c, 0x20, 0x6e, 0x73,
+  0x2c, 0x20, 0x63, 0x29, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69,
+  0x3d, 0x31, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x0a, 0x09,
+  0x09, 0x09, 0x74, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74, 0x5b, 0x69,
+  0x5d, 0x2c, 0x20, 0x22, 0x3d, 0x2e, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22,
+  0x22, 0x29, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x5b,
+  0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x2e, 0x6e, 0x20,
+  0x3d, 0x20, 0x6c, 0x2e, 0x6e, 0x2b, 0x31, 0x0a, 0x20, 0x20, 0x6c, 0x5b,
+  0x6c, 0x2e, 0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x44, 0x65, 0x63, 0x6c, 0x61,
+  0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x74, 0x5b, 0x69, 0x5d, 0x2c,
+  0x27, 0x76, 0x61, 0x72, 0x27, 0x2c, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a,
+  0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x2b, 0x31, 0x0a, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20,
+  0x3d, 0x20, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f,
+  0x6e, 0x28, 0x64, 0x2c, 0x27, 0x66, 0x75, 0x6e, 0x63, 0x27, 0x29, 0x0a,
+  0x20, 0x66, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x0a,
+  0x20, 0x66, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x63,
+  0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x46, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x66, 0x29, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x6a, 0x6f, 0x69, 0x6e, 0x28, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x70, 0x2c,
+  0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2c, 0x20, 0x6c, 0x61, 0x73, 0x74,
+  0x29, 0x0a, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x3d, 0x20,
+  0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x0a, 0x09,
+  0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20,
+  0x6f, 0x72, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x74,
+  0x6e, 0x28, 0x74, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x6c, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x22, 0x22, 0x0a, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x22,
+  0x22, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x6f, 0x6f,
+  0x70, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x66,
+  0x6f, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74,
+  0x2c, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x0a, 0x0a, 0x09, 0x09,
+  0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x2e, 0x6c,
+  0x73, 0x65, 0x70, 0x2e, 0x2e, 0x74, 0x5b, 0x69, 0x5d, 0x0a, 0x09, 0x09,
+  0x6c, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x70, 0x0a, 0x09,
+  0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65,
+  0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f,
+  0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x22, 0x22, 0x0a,
+  0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x72, 0x65, 0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66,
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x70, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x28, 0x73, 0x29, 0x0a, 0x0a, 0x09,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x70,
+  0x6c, 0x69, 0x74, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
+  0x28, 0x73, 0x2c, 0x20, 0x27, 0x2c, 0x27, 0x29, 0x0a, 0x09, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x3d, 0x20,
+  0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x6c, 0x61, 0x73, 0x74, 0x0a, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20,
+  0x69, 0x3d, 0x74, 0x2e, 0x6e, 0x2c, 0x31, 0x2c, 0x2d, 0x31, 0x20, 0x64,
+  0x6f, 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61,
+  0x72, 0x61, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x74,
+  0x5b, 0x69, 0x5d, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09,
+  0x09, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x69, 0x0a, 0x09, 0x09,
+  0x09, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75,
+  0x65, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x2d, 0x2d,
+  0x69, 0x66, 0x20, 0x73, 0x74, 0x72, 0x69, 0x70, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x09, 0x74, 0x5b, 0x69, 0x5d, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75,
+  0x62, 0x28, 0x74, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x22, 0x3d, 0x2e, 0x2a,
+  0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x2d, 0x2d,
+  0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x2c, 0x73, 0x74, 0x72, 0x69,
+  0x70, 0x2c, 0x6c, 0x61, 0x73, 0x74, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73,
+  0x28, 0x73, 0x29, 0x0a, 0x0a, 0x09, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c,
+  0x20, 0x22, 0x5e, 0x25, 0x28, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a,
+  0x09, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
+  0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x25, 0x29, 0x24,
+  0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x0a, 0x09, 0x6c, 0x6f, 0x63,
+  0x61, 0x6c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x74,
+  0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x28, 0x73, 0x2c,
+  0x20, 0x22, 0x2c, 0x22, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x73, 0x65, 0x70, 0x2c, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20,
+  0x22, 0x22, 0x2c, 0x22, 0x22, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69,
+  0x3d, 0x31, 0x2c, 0x74, 0x2e, 0x6e, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09,
+  0x74, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74, 0x5b, 0x69, 0x5d, 0x2c,
+  0x20, 0x22, 0x3d, 0x2e, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29,
+  0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x74,
+  0x2e, 0x2e, 0x73, 0x65, 0x70, 0x2e, 0x2e, 0x74, 0x5b, 0x69, 0x5d, 0x0a,
+  0x09, 0x09, 0x73, 0x65, 0x70, 0x20, 0x3d, 0x20, 0x22, 0x2c, 0x22, 0x0a,
+  0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x22, 0x28, 0x22, 0x2e, 0x2e, 0x72, 0x65, 0x74, 0x2e, 0x2e,
+  0x22, 0x29, 0x22, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a
 };
-unsigned int lua_function_lua_len = 14483;
+unsigned int lua_function_lua_len = 14494;
diff --git a/lib/tolua++/src/bin/lua/container.lua b/lib/tolua++/src/bin/lua/container.lua
index 97e7b58fd..99488479e 100644
--- a/lib/tolua++/src/bin/lua/container.lua
+++ b/lib/tolua++/src/bin/lua/container.lua
@@ -58,7 +58,7 @@ function classContainer:hasvar ()
  while self[i] do
   if self[i]:isvariable() then
 		 return 1
-		end
+	end
   i = i+1
  end
 	return 0
@@ -568,7 +568,7 @@ function classContainer:doparse (s)
 --   Enumerate(name,body)
 --  return strsub(s,e+1)
 --  end
--- end
+-- end 
 
  do
   local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*")
@@ -606,15 +606,14 @@ function classContainer:doparse (s)
  -- try function
  do
   --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
-  local b,e,decl,arg,const,virt = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*(=?%s*0?)%s*;%s*")
-  warning("trace" .. b .. "," .. e "," .. decl)
+  local b,e,decl,arg,const,virt = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)v?e?r?r?i?d?e?%s*o?v?e?r?r?i?d?e?%s*(=?%s*0?)%s*;%s*")
   if not b then
   	-- try function with template
-  	b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w]%b<>)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*=?%s*0?%s*;%s*")
+  	b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w]%b<>)%s*(%b())%s*(c?o?n?s?t?)v?e?r?r?i?d?e?%s*o?v?e?r?r?i?d?e?%s*=?%s*0?%s*;%s*")
   end
   if not b then
    -- try a single letter function name
-   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?%s*;%s*")
+   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)v?e?r?r?i?d?e?%s*o?v?e?r?r?i?d?e?%s*;%s*")
   end
   if not b then
    -- try function pointer
@@ -630,6 +629,9 @@ function classContainer:doparse (s)
   		end
   	end
    _curr_code = strsub(s,b,e)
+   if const == 'o' then
+     const = ''
+   end
    Function(decl,arg,const)
    return strsub(s,e+1)
   end
@@ -637,14 +639,17 @@ function classContainer:doparse (s)
 
  -- try inline function
  do
-  local b,e,decl,arg,const = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?[^;{]*%b{}%s*;?%s*")
+  local b,e,decl,arg,const = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)v?e?r?r?i?d?e?%s*o?v?e?r?r?i?d?e?[^;{]*%b{}%s*;?%s*")
   --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w>])%s*(%b())%s*(c?o?n?s?t?)[^;]*%b{}%s*;?%s*")
   if not b then
    -- try a single letter function name
-   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*o?v?e?r?i?d?e?.-%b{}%s*;?%s*")
+   b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)v?e?r?r?i?d?e?%s*o?v?e?r?r?i?d?e?.-%b{}%s*;?%s*")
   end
   if b then
    _curr_code = strsub(s,b,e)
+   if const == 'o' then
+     const = ''
+   end
    Function(decl,arg,const)
    return strsub(s,e+1)
   end
diff --git a/lib/tolua++/src/bin/lua/function.lua b/lib/tolua++/src/bin/lua/function.lua
index 3b6b53c5e..9338e0fbc 100644
--- a/lib/tolua++/src/bin/lua/function.lua
+++ b/lib/tolua++/src/bin/lua/function.lua
@@ -458,9 +458,8 @@ end
 -- Internal constructor
 function _Function (t)
  setmetatable(t,classFunction)
-
  if t.const ~= 'const' and t.const ~= '' then
-  error("#invalid 'const' specification")
+  error("#invalid 'const' specification: " .. t.const)
  end
 
  append(t)
@@ -489,7 +488,6 @@ end
 function Function (d,a,c)
  --local t = split(strsub(a,2,-2),',') -- eliminate braces
  --local t = split_params(strsub(a,2,-2))
-
 	if not flags['W'] and string.find(a, "%.%.%.%s*%)") then
 
 		warning("Functions with variable arguments (`...') are not supported. Ignoring "..d..a..c)
diff --git a/lib/tolua++/src/bin/toluabind.c b/lib/tolua++/src/bin/toluabind.c
index 06b371f70..e72b4b13c 100644
--- a/lib/tolua++/src/bin/toluabind.c
+++ b/lib/tolua++/src/bin/toluabind.c
@@ -1013,1170 +1013,8 @@ TOLUA_API int tolua_tolua_open (lua_State* tolua_S)
 
 	{ /* begin embedded lua code */
 		int top = lua_gettop(tolua_S);
-		static unsigned char B[] = {
-			45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,110,116, 97,
-			105,110,101,114, 32, 97, 98,115,116,114, 97, 99,116, 32, 99,
-			108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110,
-			32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,
-			108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47,
-			80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32,
-			49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
-			10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,
-			115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,101,
-			59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,
-			116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,
-			111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45,
-			45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,
-			112,114,111,118,105,100,101,100, 32,104,101,114,101,117,110,
-			100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,
-			115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,
-			100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114,
-			32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,
-			105,111,110, 32,116,111, 32,112,114,111,118,105,100,101, 32,
-			109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,
-			112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115, 44,
-			10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,
-			115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,
-			105,111,110,115, 46, 10, 10, 45, 45, 32,116, 97, 98,108,101,
-			32,116,111, 32,115,116,111,114,101, 32,110, 97,109,101,115,
-			112, 97, 99,101,100, 32,116,121,112,101,100,101,102,115, 47,
-			101,110,117,109,115, 32,105,110, 32,103,108,111, 98, 97,108,
-			32,115, 99,111,112,101, 10,103,108,111, 98, 97,108, 95,116,
-			121,112,101,100,101,102,115, 32, 61, 32,123,125, 10,103,108,
-			111, 98, 97,108, 95,101,110,117,109,115, 32, 61, 32,123,125,
-			10, 10, 45, 45, 32, 67,111,110,116, 97,105,110,101,114, 32,
-			99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
-			101,110,116,115, 32, 97, 32, 99,111,110,116, 97,105,110,101,
-			114, 32,111,102, 32,102,101, 97,116,117,114,101,115, 32,116,
-			111, 32, 98,101, 32, 98,111,117,110,100, 10, 45, 45, 32,116,
-			111, 32,108,117, 97, 46, 10, 99,108, 97,115,115, 67,111,110,
-			116, 97,105,110,101,114, 32, 61, 10,123, 10, 32, 99,117,114,
-			114, 32, 61, 32,110,105,108, 44, 10,125, 10, 99,108, 97,115,
-			115, 67,111,110,116, 97,105,110,101,114, 46, 95, 95,105,110,
-			100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
-			97,105,110,101,114, 10,115,101,116,109,101,116, 97,116, 97,
-			98,108,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,
-			110,101,114, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,
-			101, 41, 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,
-			97,103,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
-			97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100,101,
-			99,108,116,121,112,101, 32, 40, 41, 10, 32,112,117,115,104,
-			40,115,101,108,102, 41, 10, 32,108,111, 99, 97,108, 32,105,
-			61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
-			105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105, 93,
-			58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,105,
-			32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,111,
-			112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32,119,114,
-			105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,100,
-			101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
-			115, 67,111,110,116, 97,105,110,101,114, 58,115,117,112, 99,
-			111,100,101, 32, 40, 41, 10, 10,  9,105,102, 32,110,111,116,
-			32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
-			108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,
-			101,110, 10,  9,  9,114,101,116,117,114,110, 10,  9,101,110,
-			100, 10, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10,
-			32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
-			108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32,
-			32,105,102, 32,115,101,108,102, 91,105, 93, 58, 99,104,101,
-			99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
-			115, 40, 41, 32,116,104,101,110, 10, 32, 32,  9,115,101,108,
-			102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,
-			32, 32,101,110,100, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
-			10, 32,101,110,100, 10, 32,112,111,112, 40, 41, 10,101,110,
-			100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
-			115,115, 67,111,110,116, 97,105,110,101,114, 58,104, 97,115,
-			118, 97,114, 32, 40, 41, 10, 32,108,111, 99, 97,108, 32,105,
-			61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
-			105, 93, 32,100,111, 10, 32, 32,105,102, 32,115,101,108,102,
-			91,105, 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40,
-			41, 32,116,104,101,110, 10,  9,  9, 32,114,101,116,117,114,
-			110, 32, 49, 10,  9,  9,101,110,100, 10, 32, 32,105, 32, 61,
-			32,105, 43, 49, 10, 32,101,110,100, 10,  9,114,101,116,117,
-			114,110, 32, 48, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,
-			116,101,114,110, 97,108, 32, 99,111,110,116, 97,105,110,101,
-			114, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,
-			117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,105,
-			110,101,114, 32, 40,115,101,108,102, 41, 10, 32,115,101,116,
-			109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44,
-			99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41,
-			10, 32,115,101,108,102, 46,110, 32, 61, 32, 48, 10, 32,115,
-			101,108,102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,
-			123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,115,101,
-			108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,
-			123,125, 10, 32,115,101,108,102, 46,101,110,117,109,115, 32,
-			61, 32,123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,
-			115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,
-			125, 10, 32,114,101,116,117,114,110, 32,115,101,108,102, 10,
-			101,110,100, 10, 10, 45, 45, 32,112,117,115,104, 32, 99,111,
-			110,116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,
-			110, 32,112,117,115,104, 32, 40,116, 41, 10,  9,116, 46,112,
-			114,111,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
-			97,105,110,101,114, 46, 99,117,114,114, 10, 32, 99,108, 97,
-			115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
-			114, 32, 61, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,112,
-			111,112, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
-			110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 45,
-			45,112,114,105,110,116, 40, 34,110, 97,109,101, 34, 44, 99,
-			108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,
-			117,114,114, 46,110, 97,109,101, 41, 10, 45, 45,102,111,114,
-			101, 97, 99,104, 40, 99,108, 97,115,115, 67,111,110,116, 97,
-			105,110,101,114, 46, 99,117,114,114, 46,117,115,101,114,116,
-			121,112,101,115, 44,112,114,105,110,116, 41, 10, 45, 45,112,
-			114,105,110,116, 40, 34, 95, 95, 95, 95, 95, 95, 95, 95, 95,
-			95, 95, 95, 95, 95, 34, 41, 10, 32, 99,108, 97,115,115, 67,
-			111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61,
-			32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
-			46, 99,117,114,114, 46,112,114,111,120, 10,101,110,100, 10,
-			10, 45, 45, 32,103,101,116, 32, 99,117,114,114,101,110,116,
-			32,110, 97,109,101,115,112, 97, 99,101, 10,102,117,110, 99,
-			116,105,111,110, 32,103,101,116, 99,117,114,114,110, 97,109,
-			101,115,112, 97, 99,101, 32, 40, 41, 10,  9,114,101,116,117,
-			114,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101,
-			40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
-			46, 99,117,114,114, 41, 10,101,110,100, 10, 10, 45, 45, 32,
-			97,112,112,101,110,100, 32,116,111, 32, 99,117,114,114,101,
-			110,116, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
-			110, 99,116,105,111,110, 32, 97,112,112,101,110,100, 32, 40,
-			116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,
-			115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
-			58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100, 10,
-			10, 45, 45, 32, 97,112,112,101,110,100, 32,116,121,112,101,
-			100,101,102, 32,116,111, 32, 99,117,114,114,101,110,116, 32,
-			99,111,110,116, 97,105,110,101,114, 10,102,117,110, 99,116,
-			105,111,110, 32, 97,112,112,101,110,100,116,121,112,101,100,
-			101,102, 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,
-			99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
-			99,117,114,114, 58, 97,112,112,101,110,100,116,121,112,101,
-			100,101,102, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32,
-			97,112,112,101,110,100, 32,117,115,101,114,116,121,112,101,
-			32,116,111, 32, 99,117,114,114,101,110,116, 32, 99,111,110,
-			116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,110,
-			32, 97,112,112,101,110,100,117,115,101,114,116,121,112,101,
-			32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108,
-			97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,
-			114,114, 58, 97,112,112,101,110,100,117,115,101,114,116,121,
-			112,101, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32, 97,
-			112,112,101,110,100, 32,101,110,117,109, 32,116,111, 32, 99,
-			117,114,114,101,110,116, 32, 99,111,110,116, 97,105,110,101,
-			114, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,
-			110,100,101,110,117,109, 32, 40,116, 41, 10, 32,114,101,116,
-			117,114,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,
-			110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,
-			101,110,117,109, 40,116, 41, 10,101,110,100, 10, 10, 45, 45,
-			32,115,117, 98,115,116,105,116,117,116,101, 32,116,121,112,
-			101,100,101,102, 10,102,117,110, 99,116,105,111,110, 32, 97,
-			112,112,108,121,116,121,112,101,100,101,102, 32, 40,109,111,
-			100, 44,116,121,112,101, 41, 10, 32,114,101,116,117,114,110,
-			32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
-			46, 99,117,114,114, 58, 97,112,112,108,121,116,121,112,101,
-			100,101,102, 40,109,111,100, 44,116,121,112,101, 41, 10,101,
-			110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
-			32,105,115, 32,116,121,112,101, 10,102,117,110, 99,116,105,
-			111,110, 32,102,105,110,100,116,121,112,101, 32, 40,116,121,
-			112,101, 41, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
-			99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
-			99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,116,
-			121,112,101, 41, 10,  9,114,101,116,117,114,110, 32,116, 10,
-			101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,
-			102, 32,105,115, 32,116,121,112,101,100,101,102, 10,102,117,
-			110, 99,116,105,111,110, 32,105,115,116,121,112,101,100,101,
-			102, 32, 40,116,121,112,101, 41, 10, 32,114,101,116,117,114,
-			110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
-			114, 46, 99,117,114,114, 58,105,115,116,121,112,101,100,101,
-			102, 40,116,121,112,101, 41, 10,101,110,100, 10, 10, 45, 45,
-			32,103,101,116, 32,102,117,108,108,116,121,112,101, 32, 40,
-			119,105,116,104, 32,110, 97,109,101,115,112, 97, 99,101, 41,
-			10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,
-			121,112,101, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
-			99,117,114,114, 32, 61, 32, 32, 99,108, 97,115,115, 67,111,
-			110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,  9,119,
-			104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,  9, 32,
-			105,102, 32, 99,117,114,114, 32,116,104,101,110, 10,  9,  9,
-			32,105,102, 32, 99,117,114,114, 46,116,121,112,101,100,101,
-			102,115, 32, 97,110,100, 32, 99,117,114,114, 46,116,121,112,
-			101,100,101,102,115, 91,116, 93, 32,116,104,101,110, 10,  9,
-			9, 32, 32,114,101,116,117,114,110, 32, 99,117,114,114, 46,
-			116,121,112,101,100,101,102,115, 91,116, 93, 10,  9,  9, 32,
-			101,108,115,101,105,102, 32, 99,117,114,114, 46,117,115,101,
-			114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,114,
-			46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
-			104,101,110, 10,  9,  9, 32, 32,114,101,116,117,114,110, 32,
-			99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,
-			116, 93, 10,  9,  9,  9,101,110,100, 10,  9,  9,101,110,100,
-			10,  9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
-			112,114,111,120, 10,  9,101,110,100, 10,  9,114,101,116,117,
-			114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
-			101, 99,107,115, 32,105,102, 32,105,116, 32,114,101,113,117,
-			105,114,101,115, 32, 99,111,108,108,101, 99,116,105,111,110,
-			10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
-			67,111,110,116, 97,105,110,101,114, 58,114,101,113,117,105,
-			114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116,
-			41, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
-			108,111, 99, 97,108, 32,105, 61, 49, 10,  9,108,111, 99, 97,
-			108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,119,104,
-			105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
-			32, 32,114, 32, 61, 32,115,101,108,102, 91,105, 93, 58,114,
-			101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
-			110, 40,116, 41, 32,111,114, 32,114, 10, 32, 32,105, 32, 61,
-			32,105, 43, 49, 10, 32,101,110,100, 10,  9,112,111,112, 40,
-			41, 10,  9,114,101,116,117,114,110, 32,114, 10,101,110,100,
-			10, 10, 10, 45, 45, 32,103,101,116, 32,110, 97,109,101,115,
-			97,112, 99,101, 10,102,117,110, 99,116,105,111,110, 32,103,
-			101,116,110, 97,109,101,115,112, 97, 99,101, 32, 40, 99,117,
-			114,114, 41, 10,  9,108,111, 99, 97,108, 32,110, 97,109,101,
-			115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,  9,119,104,105,
-			108,101, 32, 99,117,114,114, 32,100,111, 10,  9, 32,105,102,
-			32, 99,117,114,114, 32, 97,110,100, 10,  9,  9, 32, 32, 32,
-			40, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,
-			101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,114,
-			32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,101,
-			32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39,
-			41, 10,  9,  9,116,104,101,110, 10,  9,  9, 32,110, 97,109,
-			101,115,112, 97, 99,101, 32, 61, 32, 40, 99,117,114,114, 46,
-			111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,
-			114, 32, 99,117,114,114, 46,110, 97,109,101, 41, 32, 46, 46,
-			32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112,
-			97, 99,101, 10,  9,  9, 32, 45, 45,110, 97,109,101,115,112,
-			97, 99,101, 32, 61, 32, 99,117,114,114, 46,110, 97,109,101,
-			32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,
-			101,115,112, 97, 99,101, 10,  9,  9,101,110,100, 10,  9, 32,
-			99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,
-			120, 10,  9,101,110,100, 10,  9,114,101,116,117,114,110, 32,
-			110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 10,
-			45, 45, 32,103,101,116, 32,110, 97,109,101,115,112, 97, 99,
-			101, 32, 40,111,110,108,121, 32,110, 97,109,101,115,112, 97,
-			99,101, 41, 10,102,117,110, 99,116,105,111,110, 32,103,101,
-			116,111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32,
-			40, 41, 10, 32,108,111, 99, 97,108, 32, 99,117,114,114, 32,
-			61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
-			114, 46, 99,117,114,114, 10,  9,108,111, 99, 97,108, 32,110,
-			97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,  9,
-			119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,  9,
-			9,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
-			121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,
-			116,104,101,110, 10,  9,  9, 32,114,101,116,117,114,110, 32,
-			110, 97,109,101,115,112, 97, 99,101, 10,  9,  9,101,108,115,
-			101,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
-			121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97,
-			99,101, 39, 32,116,104,101,110, 10,  9,  9, 32,110, 97,109,
-			101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110,
-			97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,
-			110, 97,109,101,115,112, 97, 99,101, 10,  9,  9,101,110,100,
-			10,  9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
-			112,114,111,120, 10,  9,101,110,100, 10,  9,114,101,116,117,
-			114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,
-			100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
-			105,115, 32,101,110,117,109, 10,102,117,110, 99,116,105,111,
-			110, 32,105,115,101,110,117,109, 32, 40,116,121,112,101, 41,
-			10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,
-			111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,105,
-			115,101,110,117,109, 40,116,121,112,101, 41, 10,101,110,100,
-			10, 10, 45, 45, 32, 97,112,112,101,110,100, 32,102,101, 97,
-			116,117,114,101, 32,116,111, 32, 99,111,110,116, 97,105,110,
-			101,114, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
-			115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,
-			101,110,100, 32, 40,116, 41, 10, 32,115,101,108,102, 46,110,
-			32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10, 32,
-			115,101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,
-			116, 10, 32,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,
-			101,108,102, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
-			101,110,100, 32,116,121,112,101,100,101,102, 10,102,117,110,
-			99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116,
-			97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,112,
-			101,100,101,102, 32, 40,116, 41, 10, 32,108,111, 99, 97,108,
-			32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,
-			116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,
-			115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
-			41, 10, 32,115,101,108,102, 46,116,121,112,101,100,101,102,
-			115, 46,116,111,108,117, 97, 95,110, 32, 61, 32,115,101,108,
-			102, 46,116,121,112,101,100,101,102,115, 46,116,111,108,117,
-			97, 95,110, 32, 43, 32, 49, 10, 32,115,101,108,102, 46,116,
-			121,112,101,100,101,102,115, 91,115,101,108,102, 46,116,121,
-			112,101,100,101,102,115, 46,116,111,108,117, 97, 95,110, 93,
-			32, 61, 32,116, 10,  9,115,101,108,102, 46,116,121,112,101,
-			100,101,102,115, 91,116, 46,117,116,121,112,101, 93, 32, 61,
-			32,110, 97,109,101,115,112, 97, 99,101, 32, 46, 46, 32,116,
-			46,117,116,121,112,101, 10,  9,103,108,111, 98, 97,108, 95,
-			116,121,112,101,100,101,102,115, 91,110, 97,109,101,115,112,
-			97, 99,101, 46, 46,116, 46,117,116,121,112,101, 93, 32, 61,
-			32,116, 10,  9,116, 46,102,116,121,112,101, 32, 61, 32,102,
-			105,110,100,116,121,112,101, 40,116, 46,116,121,112,101, 41,
-			32,111,114, 32,116, 46,116,121,112,101, 10,  9, 45, 45,112,
-			114,105,110,116, 40, 34, 97,112,112,101,110,100,105,110,103,
-			32,116,121,112,101,100,101,102, 32, 34, 46, 46,116, 46,117,
-			116,121,112,101, 46, 46, 34, 32, 97,115, 32, 34, 46, 46,110,
-			97,109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,
-			112,101, 46, 46, 34, 32,119,105,116,104, 32,102,116,121,112,
-			101, 32, 34, 46, 46,116, 46,102,116,121,112,101, 41, 10,  9,
-			97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,
-			121,112,101, 40,110, 97,109,101,115,112, 97, 99,101, 46, 46,
-			116, 46,117,116,121,112,101, 41, 10,  9,105,102, 32,116, 46,
-			102,116,121,112,101, 32, 97,110,100, 32,105,115,101,110,117,
-			109, 40,116, 46,102,116,121,112,101, 41, 32,116,104,101,110,
-			10, 10,  9,  9,103,108,111, 98, 97,108, 95,101,110,117,109,
-			115, 91,110, 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,
-			117,116,121,112,101, 93, 32, 61, 32,116,114,117,101, 10,  9,
-			101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
-			101,110,100, 32,117,115,101,114,116,121,112,101, 58, 32,114,
-			101,116,117,114,110, 32,102,117,108,108, 32,116,121,112,101,
-			10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
-			67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101,110,
-			100,117,115,101,114,116,121,112,101, 32, 40,116, 41, 10,  9,
-			108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114,
-			10,  9,105,102, 32,116, 32, 61, 61, 32, 40,115,101,108,102,
-			46,111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,
-			111,114, 32,115,101,108,102, 46,110, 97,109,101, 41, 32,116,
-			104,101,110, 10,  9,  9, 99,111,110,116, 97,105,110,101,114,
-			32, 61, 32,115,101,108,102, 46,112,114,111,120, 10,  9,101,
-			108,115,101, 10,  9,  9, 99,111,110,116, 97,105,110,101,114,
-			32, 61, 32,115,101,108,102, 10,  9,101,110,100, 10,  9,108,
-			111, 99, 97,108, 32,102,116, 32, 61, 32,103,101,116,110, 97,
-			109,101,115,112, 97, 99,101, 40, 99,111,110,116, 97,105,110,
-			101,114, 41, 32, 46, 46, 32,116, 10,  9, 99,111,110,116, 97,
-			105,110,101,114, 46,117,115,101,114,116,121,112,101,115, 91,
-			116, 93, 32, 61, 32,102,116, 10,  9, 95,117,115,101,114,116,
-			121,112,101, 91,102,116, 93, 32, 61, 32,102,116, 10,  9,114,
-			101,116,117,114,110, 32,102,116, 10,101,110,100, 10, 10, 45,
-			45, 32, 97,112,112,101,110,100, 32,101,110,117,109, 10,102,
-			117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
-			110,116, 97,105,110,101,114, 58, 97,112,112,101,110,100,101,
-			110,117,109, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
-			110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,116,
-			110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115,
-			67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 41,
-			10, 32,115,101,108,102, 46,101,110,117,109,115, 46,116,111,
-			108,117, 97, 95,110, 32, 61, 32,115,101,108,102, 46,101,110,
-			117,109,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49,
-			10, 32,115,101,108,102, 46,101,110,117,109,115, 91,115,101,
-			108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97, 95,
-			110, 93, 32, 61, 32,116, 10,  9,103,108,111, 98, 97,108, 95,
-			101,110,117,109,115, 91,110, 97,109,101,115,112, 97, 99,101,
-			46, 46,116, 46,110, 97,109,101, 93, 32, 61, 32,116, 10,101,
-			110,100, 10, 10, 45, 45, 32,100,101,116,101,114,109,105,110,
-			101, 32,108,117, 97, 32,102,117,110, 99,116,105,111,110, 32,
-			110, 97,109,101, 32,111,118,101,114,108,111, 97,100, 10,102,
-			117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
-			110,116, 97,105,110,101,114, 58,111,118,101,114,108,111, 97,
-			100, 32, 40,108,110, 97,109,101, 41, 10, 32,105,102, 32,110,
-			111,116, 32,115,101,108,102, 46,108,110, 97,109,101,115, 91,
-			108,110, 97,109,101, 93, 32,116,104,101,110, 10, 32, 32,115,
-			101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,
-			101, 93, 32, 61, 32, 48, 10, 32,101,108,115,101, 10, 32, 32,
-			115,101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,
-			109,101, 93, 32, 61, 32,115,101,108,102, 46,108,110, 97,109,
-			101,115, 91,108,110, 97,109,101, 93, 32, 43, 32, 49, 10, 32,
-			101,110,100, 10, 32,114,101,116,117,114,110, 32,102,111,114,
-			109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,108,102,
-			46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 41,
-			10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,108,105,101,
-			115, 32,116,121,112,101,100,101,102, 58, 32,114,101,116,117,
-			114,110,115, 32,116,104,101, 32, 39,116,104,101, 32,102, 97,
-			99,116,111, 39, 32,109,111,100,105,102,105,101,114, 32, 97,
-			110,100, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,
-			110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
-			114, 58, 97,112,112,108,121,116,121,112,101,100,101,102, 32,
-			40,109,111,100, 44,116,121,112,101, 41, 10,  9,105,102, 32,
-			103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
-			91,116,121,112,101, 93, 32,116,104,101,110, 10,  9,  9, 45,
-			45,112,114,105,110,116, 40, 34,102,111,117,110,100, 32,116,
-			121,112,101,100,101,102, 32, 34, 46, 46,103,108,111, 98, 97,
-			108, 95,116,121,112,101,100,101,102,115, 91,116,121,112,101,
-			93, 46,116,121,112,101, 41, 10,  9,  9,108,111, 99, 97,108,
-			32,109,111,100, 49, 44, 32,116,121,112,101, 49, 32, 61, 32,
-			103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
-			91,116,121,112,101, 93, 46,109,111,100, 44, 32,103,108,111,
-			98, 97,108, 95,116,121,112,101,100,101,102,115, 91,116,121,
-			112,101, 93, 46,102,116,121,112,101, 10,  9,  9,108,111, 99,
-			97,108, 32,109,111,100, 50, 44, 32,116,121,112,101, 50, 32,
-			61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,
-			109,111,100, 46, 46, 34, 32, 34, 46, 46,109,111,100, 49, 44,
-			32,116,121,112,101, 49, 41, 10,  9,  9, 45, 45,114,101,116,
-			117,114,110, 32,109,111,100, 50, 32, 46, 46, 32, 39, 32, 39,
-			32, 46, 46, 32,109,111,100, 49, 44, 32,116,121,112,101, 50,
-			10,  9,  9,114,101,116,117,114,110, 32,109,111,100, 50, 44,
-			32,116,121,112,101, 50, 10,  9,101,110,100, 10,  9,100,111,
-			32,114,101,116,117,114,110, 32,109,111,100, 44,116,121,112,
-			101, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,
-			104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
-			32,116,121,112,101,100,101,102, 10,102,117,110, 99,116,105,
-			111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
-			101,114, 58,105,115,116,121,112,101,100,101,102, 32, 40,116,
-			121,112,101, 41, 10, 32,108,111, 99, 97,108, 32,101,110,118,
-			32, 61, 32,115,101,108,102, 10, 32,119,104,105,108,101, 32,
-			101,110,118, 32,100,111, 10, 32, 32,105,102, 32,101,110,118,
-			46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,
-			32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
-			32,119,104,105,108,101, 32,101,110,118, 46,116,121,112,101,
-			100,101,102,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
-			105,102, 32,101,110,118, 46,116,121,112,101,100,101,102,115,
-			91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32,116,121,
-			112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
-			32, 32,114,101,116,117,114,110, 32,116,121,112,101, 10, 32,
-			32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
-			32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
-			101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
-			32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
-			101,110,100, 10, 32,114,101,116,117,114,110, 32,110,105,108,
-			10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
-			102,105,110,100, 95,101,110,117,109, 95,118, 97,114, 40,118,
-			97,114, 41, 10, 10,  9,105,102, 32,116,111,110,117,109, 98,
-			101,114, 40,118, 97,114, 41, 32,116,104,101,110, 32,114,101,
-			116,117,114,110, 32,118, 97,114, 32,101,110,100, 10, 10,  9,
-			108,111, 99, 97,108, 32, 99, 32, 61, 32, 99,108, 97,115,115,
-			67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,
-			9,119,104,105,108,101, 32, 99, 32,100,111, 10,  9,  9,108,
-			111, 99, 97,108, 32,110,115, 32, 61, 32,103,101,116,110, 97,
-			109,101,115,112, 97, 99,101, 40, 99, 41, 10,  9,  9,102,111,
-			114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,
-			95,103,108,111, 98, 97,108, 95,101,110,117,109,115, 41, 32,
-			100,111, 10,  9,  9,  9,105,102, 32,109, 97,116, 99,104, 95,
-			116,121,112,101, 40,118, 97,114, 44, 32,118, 44, 32,110,115,
-			41, 32,116,104,101,110, 10,  9,  9,  9,  9,114,101,116,117,
-			114,110, 32,118, 10,  9,  9,  9,101,110,100, 10,  9,  9,101,
-			110,100, 10,  9,  9,105,102, 32, 99, 46, 98, 97,115,101, 32,
-			97,110,100, 32, 99, 46, 98, 97,115,101, 32,126, 61, 32, 39,
-			39, 32,116,104,101,110, 10,  9,  9,  9, 99, 32, 61, 32, 95,
-			103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
-			99, 58,102,105,110,100,116,121,112,101, 40, 99, 46, 98, 97,
-			115,101, 41, 93, 10,  9,  9,101,108,115,101, 10,  9,  9,  9,
-			99, 32, 61, 32,110,105,108, 10,  9,  9,101,110,100, 10,  9,
-			101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,118, 97,
-			114, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
-			32,105,102, 32,105,115, 32, 97, 32,114,101,103,105,115,116,
-			101,114,101,100, 32,116,121,112,101, 58, 32,114,101,116,117,
-			114,110, 32,102,117,108,108, 32,116,121,112,101, 32,111,114,
-			32,110,105,108, 10,102,117,110, 99,116,105,111,110, 32, 99,
-			108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,102,
-			105,110,100,116,121,112,101, 32, 40,116, 41, 10, 10,  9,116,
-			32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
-			116, 44, 32, 34, 61, 46, 42, 34, 44, 32, 34, 34, 41, 10,  9,
-			105,102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,
-			101,110, 10,  9, 32,114,101,116,117,114,110, 32,116, 10,  9,
-			101,110,100, 10, 10,  9,108,111, 99, 97,108, 32, 95, 44, 95,
-			44,101,109, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
-			110,100, 40,116, 44, 32, 34, 40, 91, 38, 37, 42, 93, 41, 37,
-			115, 42, 36, 34, 41, 10,  9,116, 32, 61, 32,115,116,114,105,
-			110,103, 46,103,115,117, 98, 40,116, 44, 32, 34, 37,115, 42,
-			40, 91, 38, 37, 42, 93, 41, 37,115, 42, 36, 34, 44, 32, 34,
-			34, 41, 10,  9,112, 32, 61, 32,115,101,108,102, 10,  9,119,
-			104,105,108,101, 32,112, 32, 97,110,100, 32,116,121,112,101,
-			40,112, 41, 61, 61, 39,116, 97, 98,108,101, 39, 32,100,111,
-			10,  9,  9,108,111, 99, 97,108, 32,115,116, 32, 61, 32,103,
-			101,116,110, 97,109,101,115,112, 97, 99,101, 40,112, 41, 10,
-			10,  9,  9,102,111,114, 32,105, 61, 95,103,108,111, 98, 97,
-			108, 95,116,121,112,101,115, 46,110, 44, 49, 44, 45, 49, 32,
-			100,111, 32, 45, 45, 32,105,110, 32,114,101,118,101,114,115,
-			101, 32,111,114,100,101,114, 10, 10,  9,  9,  9,105,102, 32,
-			109, 97,116, 99,104, 95,116,121,112,101, 40,116, 44, 32, 95,
-			103,108,111, 98, 97,108, 95,116,121,112,101,115, 91,105, 93,
-			44, 32,115,116, 41, 32,116,104,101,110, 10,  9,  9,  9,  9,
-			114,101,116,117,114,110, 32, 95,103,108,111, 98, 97,108, 95,
-			116,121,112,101,115, 91,105, 93, 46, 46, 40,101,109, 32,111,
-			114, 32, 34, 34, 41, 10,  9,  9,  9,101,110,100, 10,  9,  9,
-			101,110,100, 10,  9,  9,105,102, 32,112, 46, 98, 97,115,101,
-			32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126, 61, 32,
-			39, 39, 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126,
-			61, 32,116, 32,116,104,101,110, 10,  9,  9,  9, 45, 45,112,
-			114,105,110,116, 40, 34,116,121,112,101, 32,105,115, 32, 34,
-			46, 46,116, 46, 46, 34, 44, 32,112, 32,105,115, 32, 34, 46,
-			46,112, 46, 98, 97,115,101, 46, 46, 34, 32,115,101,108,102,
-			46,116,121,112,101, 32,105,115, 32, 34, 46, 46,115,101,108,
-			102, 46,116,121,112,101, 46, 46, 34, 32,115,101,108,102, 46,
-			110, 97,109,101, 32,105,115, 32, 34, 46, 46,115,101,108,102,
-			46,110, 97,109,101, 41, 10,  9,  9,  9,112, 32, 61, 32, 95,
-			103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
-			112, 58,102,105,110,100,116,121,112,101, 40,112, 46, 98, 97,
-			115,101, 41, 93, 10,  9,  9,101,108,115,101, 10,  9,  9,  9,
-			112, 32, 61, 32,110,105,108, 10,  9,  9,101,110,100, 10,  9,
-			101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,110,105,
-			108, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
-			32, 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,
-			116,121,112,101, 40,116, 44, 32, 99,108, 97,115,115, 41, 10,
-			9, 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 46,
-			110, 32, 61, 32, 95,103,108,111, 98, 97,108, 95,116,121,112,
-			101,115, 46,110, 32, 43, 49, 10,  9, 95,103,108,111, 98, 97,
-			108, 95,116,121,112,101,115, 91, 95,103,108,111, 98, 97,108,
-			95,116,121,112,101,115, 46,110, 93, 32, 61, 32,116, 10,  9,
-			95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 95,104,
-			97,115,104, 91,116, 93, 32, 61, 32, 49, 10,  9,105,102, 32,
-			99,108, 97,115,115, 32,116,104,101,110, 32, 97,112,112,101,
-			110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,116,
-			44, 32, 99,108, 97,115,115, 41, 32,101,110,100, 10,101,110,
-			100, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,
-			101,110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,
-			116, 44, 99,108, 97,115,115, 41, 10,  9,105,102, 32, 95,103,
-			108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116,
-			93, 32,116,104,101,110, 10,  9,  9, 99,108, 97,115,115, 46,
-			102,108, 97,103,115, 32, 61, 32, 95,103,108,111, 98, 97,108,
-			95, 99,108, 97,115,115,101,115, 91,116, 93, 46,102,108, 97,
-			103,115, 10,  9,  9, 99,108, 97,115,115, 46,108,110, 97,109,
-			101,115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108,
-			97,115,115,101,115, 91,116, 93, 46,108,110, 97,109,101,115,
-			10,  9,  9,105,102, 32, 95,103,108,111, 98, 97,108, 95, 99,
-			108, 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,
-			97,110,100, 32, 40, 95,103,108,111, 98, 97,108, 95, 99,108,
-			97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,126,
-			61, 32, 39, 39, 41, 32,116,104,101,110, 10,  9,  9,  9, 99,
-			108, 97,115,115, 46, 98, 97,115,101, 32, 61, 32, 95,103,108,
-			111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116, 93,
-			46, 98, 97,115,101, 32,111,114, 32, 99,108, 97,115,115, 46,
-			98, 97,115,101, 10,  9,  9,101,110,100, 10,  9,101,110,100,
-			10,  9, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
-			101,115, 91,116, 93, 32, 61, 32, 99,108, 97,115,115, 10,  9,
-			99,108, 97,115,115, 46,102,108, 97,103,115, 32, 61, 32, 99,
-			108, 97,115,115, 46,102,108, 97,103,115, 32,111,114, 32,123,
-			125, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
-			32,109, 97,116, 99,104, 95,116,121,112,101, 40, 99,104,105,
-			108,100,116,121,112,101, 44, 32,114,101,103,116,121,112,101,
-			44, 32,115,116, 41, 10, 45, 45,112,114,105,110,116, 40, 34,
-			102,105,110,100,116,121,112,101, 32, 34, 46, 46, 99,104,105,
-			108,100,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,114,
-			101,103,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,115,
-			116, 41, 10,  9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61,
-			32,115,116,114,105,110,103, 46,102,105,110,100, 40,114,101,
-			103,116,121,112,101, 44, 32, 99,104,105,108,100,116,121,112,
-			101, 44, 32, 45,115,116,114,105,110,103, 46,108,101,110, 40,
-			99,104,105,108,100,116,121,112,101, 41, 44, 32,116,114,117,
-			101, 41, 10,  9,105,102, 32, 98, 32,116,104,101,110, 10, 10,
-			9,  9,105,102, 32,101, 32, 61, 61, 32,115,116,114,105,110,
-			103, 46,108,101,110, 40,114,101,103,116,121,112,101, 41, 32,
-			97,110,100, 10,  9,  9,  9,  9, 40, 98, 32, 61, 61, 32, 49,
-			32,111,114, 32, 40,115,116,114,105,110,103, 46,115,117, 98,
-			40,114,101,103,116,121,112,101, 44, 32, 98, 45, 49, 44, 32,
-			98, 45, 49, 41, 32, 61, 61, 32, 39, 58, 39, 32, 97,110,100,
-			10,  9,  9,  9,  9,115,116,114,105,110,103, 46,115,117, 98,
-			40,114,101,103,116,121,112,101, 44, 32, 49, 44, 32, 98, 45,
-			49, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,115,117,
-			98, 40,115,116, 44, 32, 49, 44, 32, 98, 45, 49, 41, 41, 41,
-			32,116,104,101,110, 10,  9,  9,  9,114,101,116,117,114,110,
-			32,116,114,117,101, 10,  9,  9,101,110,100, 10,  9,101,110,
-			100, 10, 10,  9,114,101,116,117,114,110, 32,102, 97,108,115,
-			101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
-			32,102,105,110,100,116,121,112,101, 95,111,110, 95, 99,104,
-			105,108,100,115, 40,115,101,108,102, 44, 32,116, 41, 10, 10,
-			9,108,111, 99, 97,108, 32,116, 99,104,105,108,100, 10,  9,
-			105,102, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,
-			112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,
-			114, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,112,
-			101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101,
-			39, 32,116,104,101,110, 10,  9,  9,102,111,114, 32,107, 44,
-			118, 32,105,110, 32,105,112, 97,105,114,115, 40,115,101,108,
-			102, 41, 32,100,111, 10,  9,  9,  9,105,102, 32,118, 46, 99,
-			108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108,
-			97,115,115, 39, 32,111,114, 32,118, 46, 99,108, 97,115,115,
-			116,121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112,
-			97, 99,101, 39, 32,116,104,101,110, 10,  9,  9,  9,  9,105,
-			102, 32,118, 46,116,121,112,101,100,101,102,115, 32, 97,110,
-			100, 32,118, 46,116,121,112,101,100,101,102,115, 91,116, 93,
-			32,116,104,101,110, 10,  9,  9,  9,  9, 32,114,101,116,117,
-			114,110, 32,118, 46,116,121,112,101,100,101,102,115, 91,116,
-			93, 10,  9,  9,  9,  9,101,108,115,101,105,102, 32,118, 46,
-			117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32,118,
-			46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
-			104,101,110, 10,  9,  9,  9,  9, 32,114,101,116,117,114,110,
-			32,118, 46,117,115,101,114,116,121,112,101,115, 91,116, 93,
-			10,  9,  9,  9,  9,101,110,100, 10,  9,  9,  9,  9,116, 99,
-			104,105,108,100, 32, 61, 32,102,105,110,100,116,121,112,101,
-			95,111,110, 95, 99,104,105,108,100,115, 40,118, 44, 32,116,
-			41, 10,  9,  9,  9,  9,105,102, 32,116, 99,104,105,108,100,
-			32,116,104,101,110, 32,114,101,116,117,114,110, 32,116, 99,
-			104,105,108,100, 32,101,110,100, 10,  9,  9,  9,101,110,100,
-			10,  9,  9,101,110,100, 10,  9,101,110,100, 10,  9,114,101,
-			116,117,114,110, 32,110,105,108, 10, 10,101,110,100, 10, 10,
-			102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
-			111,110,116, 97,105,110,101,114, 58,105,115,101,110,117,109,
-			32, 40,116,121,112,101, 41, 10, 32,105,102, 32,103,108,111,
-			98, 97,108, 95,101,110,117,109,115, 91,116,121,112,101, 93,
-			32,116,104,101,110, 10,  9,114,101,116,117,114,110, 32,116,
-			121,112,101, 10, 32,101,108,115,101, 10, 32,  9,114,101,116,
-			117,114,110, 32,102, 97,108,115,101, 10, 32,101,110,100, 10,
-			10, 32,108,111, 99, 97,108, 32, 98, 97,115,101,116,121,112,
-			101, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 34,
-			94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10, 32,108,111, 99,
-			97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10, 32,
-			119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 32, 32,
-			105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104,
-			101,110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49,
-			10, 32, 32, 32,119,104,105,108,101, 32,101,110,118, 46,101,
-			110,117,109,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
-			105,102, 32,101,110,118, 46,101,110,117,109,115, 91,105, 93,
-			46,110, 97,109,101, 32, 61, 61, 32, 98, 97,115,101,116,121,
-			112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
-			32, 32,114,101,116,117,114,110, 32,116,114,117,101, 10, 32,
-			32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
-			32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
-			101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
-			32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
-			101,110,100, 10, 32,114,101,116,117,114,110, 32,102, 97,108,
-			115,101, 10,101,110,100, 10, 10,109,101,116,104,111,100,105,
-			115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
-			101, 32, 45, 45, 32, 97, 32,103,108,111, 98, 97,108, 10, 10,
-			45, 45, 32,112, 97,114,115,101, 32, 99,104,117,110,107, 10,
-			102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
-			111,110,116, 97,105,110,101,114, 58,100,111,112, 97,114,115,
-			101, 32, 40,115, 41, 10, 45, 45,112,114,105,110,116, 32, 40,
-			34,112, 97,114,115,101, 32, 34, 46, 46,115, 41, 10, 10, 32,
-			45, 45, 32,116,114,121, 32,116,104,101, 32,112, 97,114,115,
-			101,114, 32,104,111,111,107, 10, 32,100,111, 10, 32,  9,108,
-			111, 99, 97,108, 32,115,117, 98, 32, 61, 32,112, 97,114,115,
-			101,114, 95,104,111,111,107, 40,115, 41, 10, 32,  9,105,102,
-			32,115,117, 98, 32,116,104,101,110, 10, 32,  9,  9,114,101,
-			116,117,114,110, 32,115,117, 98, 10, 32,  9,101,110,100, 10,
-			32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,116,
-			104,101, 32,110,117,108,108, 32,115,116, 97,116,101,109,101,
-			110,116, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
-			98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
-			110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
-			42, 59, 34, 41, 10, 32,  9,105,102, 32, 98, 32,116,104,101,
-			110, 10, 32,  9,  9,114,101,116,117,114,110, 32,115,116,114,
-			115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,  9,101,110,
-			100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
-			32,101,109,112,116,121, 32,118,101,114, 98, 97,116,105,109,
-			32,108,105,110,101, 10, 32,100,111, 10, 32,  9,108,111, 99,
-			97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,
-			116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
-			94, 37,115, 42, 36, 92,110, 34, 41, 10, 32,  9,105,102, 32,
-			98, 32,116,104,101,110, 10, 32,  9,  9,114,101,116,117,114,
-			110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
-			10, 32,  9,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
-			45, 32,116,114,121, 32, 76,117, 97, 32, 99,111,100,101, 10,
-			32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
-			44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,100,
-			40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 49, 92, 50,
-			41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
-			10, 32, 32, 32, 67,111,100,101, 40,115,116,114,115,117, 98,
-			40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10, 32, 32,
-			32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
-			115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
-			110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 67, 32, 99,
-			111,100,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108,
-			32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,
-			102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98,
-			92, 51, 92, 52, 41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
-			116,104,101,110, 10,  9, 99,111,100,101, 32, 61, 32, 39,123,
-			39, 46, 46,115,116,114,115,117, 98, 40, 99,111,100,101, 44,
-			50, 44, 45, 50, 41, 46, 46, 39, 92,110,125, 92,110, 39, 10,
-			9, 86,101,114, 98, 97,116,105,109, 40, 99,111,100,101, 44,
-			39,114, 39, 41, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,
-			118,101,114, 98, 97,116,105,109, 32, 99,111,100,101, 32,102,
-			111,114, 32, 39,114, 39,101,103,105,115,116,101,114, 32,102,
-			114, 97,103,109,101,110,116, 10,  9,114,101,116,117,114,110,
-			32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,
-			32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
-			32,116,114,121, 32, 67, 32, 99,111,100,101, 32,102,111,114,
-			32,112,114,101, 97,109, 98,108,101, 32,115,101, 99,116,105,
-			111,110, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
-			98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
-			110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
-			42, 40, 37, 98, 92, 53, 92, 54, 41, 34, 41, 10, 32,  9,105,
-			102, 32, 98, 32,116,104,101,110, 10, 32,  9,  9, 99,111,100,
-			101, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
-			99,111,100,101, 44, 32, 50, 44, 32, 45, 50, 41, 46, 46, 34,
-			92,110, 34, 10,  9,  9, 86,101,114, 98, 97,116,105,109, 40,
-			99,111,100,101, 44, 32, 39, 39, 41, 10,  9,  9,114,101,116,
-			117,114,110, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
-			115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,110,100, 10, 32,
-			101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,100,101,
-			102, 97,117,108,116, 95,112,114,111,112,101,114,116,121, 32,
-			100,105,114,101, 99,116,105,118,101, 10, 32,100,111, 10, 32,
-			9,108,111, 99, 97,108, 32, 98, 44,101, 44,112,116,121,112,
-			101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32,
-			34, 94, 37,115, 42, 84, 79, 76, 85, 65, 95, 80, 82, 79, 80,
-			69, 82, 84, 89, 95, 84, 89, 80, 69, 37,115, 42, 37, 40, 43,
-			37,115, 42, 40, 91, 94, 37, 41, 37,115, 93, 42, 41, 37,115,
-			42, 37, 41, 43, 37,115, 42, 59, 63, 34, 41, 10, 32,  9,105,
-			102, 32, 98, 32,116,104,101,110, 10, 32,  9,  9,105,102, 32,
-			110,111,116, 32,112,116,121,112,101, 32,111,114, 32,112,116,
-			121,112,101, 32, 61, 61, 32, 34, 34, 32,116,104,101,110, 10,
-			32,  9,  9,  9,112,116,121,112,101, 32, 61, 32, 34,100,101,
-			102, 97,117,108,116, 34, 10, 32,  9,  9,101,110,100, 10, 32,
-			9,  9,115,101,108,102, 58,115,101,116, 95,112,114,111,112,
-			101,114,116,121, 95,116,121,112,101, 40,112,116,121,112,101,
-			41, 10,  9, 32,  9,114,101,116,117,114,110, 32,115,116,114,
-			115,117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,
-			110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,
-			121, 32,112,114,111,116,101, 99,116,101,100, 95,100,101,115,
-			116,114,117, 99,116,111,114, 32,100,105,114,101, 99,116,105,
-			118,101, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
-			98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
-			110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 84, 79, 76, 85,
-			65, 95, 80, 82, 79, 84, 69, 67, 84, 69, 68, 95, 68, 69, 83,
-			84, 82, 85, 67, 84, 79, 82, 37,115, 42, 59, 63, 34, 41, 10,
-			9,105,102, 32, 98, 32,116,104,101,110, 10,  9,  9,105,102,
-			32,115,101,108,102, 46,115,101,116, 95,112,114,111,116,101,
-			99,116,101,100, 95,100,101,115,116,114,117, 99,116,111,114,
-			32,116,104,101,110, 10,  9, 32,  9,  9,115,101,108,102, 58,
-			115,101,116, 95,112,114,111,116,101, 99,116,101,100, 95,100,
-			101,115,116,114,117, 99,116,111,114, 40,116,114,117,101, 41,
-			10,  9, 32,  9,101,110,100, 10, 32,  9,  9,114,101,116,117,
-			114,110, 32,115,116,114,115,117, 98, 40,115, 44, 32,101, 43,
-			49, 41, 10, 32,  9,101,110,100, 10, 32,101,110,100, 10, 10,
-			32, 45, 45, 32,116,114,121, 32, 39,101,120,116,101,114,110,
-			39, 32,107,101,121,119,111,114,100, 10, 32,100,111, 10, 32,
-			9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61, 32,115,116,
-			114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94,
-			37,115, 42,101,120,116,101,114,110, 37,115, 43, 34, 41, 10,
-			32,  9,105,102, 32, 98, 32,116,104,101,110, 10,  9,  9, 45,
-			45, 32,100,111, 32,110,111,116,104,105,110,103, 10, 32,  9,
-			9,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
-			115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,110,100, 10, 32,
-			101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 39,118,
-			105,114,116,117, 97,108, 39, 32,107,101,121,119,111,114,107,
-			100, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32, 98,
-			44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
-			100, 40,115, 44, 32, 34, 94, 37,115, 42,118,105,114,116,117,
-			97,108, 37,115, 43, 34, 41, 10, 32,  9,105,102, 32, 98, 32,
-			116,104,101,110, 10, 32,  9,  9,109,101,116,104,111,100,105,
-			115,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
-			10, 32,  9,  9,114,101,116,117,114,110, 32,115,116,114,115,
-			117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,110,
-			100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
-			32,108, 97, 98,101,108,115, 32, 40,112,117, 98,108,105, 99,
-			44, 32,112,114,105,118, 97,116,101, 44, 32,101,116, 99, 41,
-			10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32, 98, 44,
-			101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
-			40,115, 44, 32, 34, 94, 37,115, 42, 37,119, 42, 37,115, 42,
-			58, 91, 94, 58, 93, 34, 41, 10, 32,  9,105,102, 32, 98, 32,
-			116,104,101,110, 10, 32,  9,  9,114,101,116,117,114,110, 32,
-			115,116,114,115,117, 98, 40,115, 44, 32,101, 41, 32, 45, 45,
-			32,112,114,101,115,101,114,118,101, 32,116,104,101, 32, 91,
-			94, 58, 93, 10, 32,  9,101,110,100, 10, 32,101,110,100, 10,
-			10, 32, 45, 45, 32,116,114,121, 32,109,111,100,117,108,101,
-			10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,
-			101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,
-			116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,109,
-			111,100,117,108,101, 37,115, 37,115, 42, 40, 91, 95, 37,119,
-			93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,
-			125, 41, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
-			116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,
-			111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,
-			98, 44,101, 41, 10, 32, 32, 32, 77,111,100,117,108,101, 40,
-			110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,
-			101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
-			101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100,
-			10, 10, 32, 45, 45, 32,116,114,121, 32,110, 97,109,101,115,
-			97,112, 99,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
-			108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
-			32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
-			37,115, 42,110, 97,109,101,115,112, 97, 99,101, 37,115, 37,
-			115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41,
-			37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 63, 34,
-			41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
-			32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
-			115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
-			32, 32, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97,109,
-			101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,101,116,117,
-			114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
-			41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32,
-			45, 45, 32,116,114,121, 32,100,101,102,105,110,101, 10, 32,
-			100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
-			110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
-			115, 44, 34, 94, 37,115, 42, 35,100,101,102,105,110,101, 37,
-			115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,
-			110, 93, 42, 92,110, 37,115, 42, 34, 41, 10, 32, 32,105,102,
-			32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,
-			114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98,
-			40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 68,101,102,105,
-			110,101, 40,110, 97,109,101, 41, 10, 32, 32, 32,114,101,116,
-			117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
-			49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
-			32, 45, 45, 32,116,114,121, 32,101,110,117,109,101,114, 97,
-			116,101,115, 10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
-			108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
-			44,118, 97,114,110, 97,109,101, 32, 61, 32,115,116,114,102,
-			105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,117,109,
-			37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,
-			125, 41, 37,115, 42, 40, 91, 94, 37,115, 59, 93, 42, 41, 37,
-			115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,
-			98, 32,116,104,101,110, 10, 32, 32, 32, 45, 45,101,114,114,
-			111,114, 40, 34, 35, 83,111,114,114,121, 44, 32,100,101, 99,
-			108, 97,114, 97,116,105,111,110, 32,111,102, 32,101,110,117,
-			109,115, 32, 97,110,100, 32,118, 97,114,105, 97, 98,108,101,
-			115, 32,111,110, 32,116,104,101, 32,115, 97,109,101, 32,115,
-			116, 97,116,101,109,101,110,116, 32,105,115, 32,110,111,116,
-			32,115,117,112,112,111,114,116,101,100, 46, 92,110, 68,101,
-			99,108, 97,114,101, 32,121,111,117,114, 32,118, 97,114,105,
-			97, 98,108,101, 32,115,101,112, 97,114, 97,116,101,108,121,
-			32, 40,101,120, 97,109,112,108,101, 58, 32, 39, 34, 46, 46,
-			110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,118, 97,114,110,
-			97,109,101, 46, 46, 34, 59, 39, 41, 34, 41, 10, 32, 32, 32,
-			95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,
-			114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32,
-			69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
-			98,111,100,121, 44,118, 97,114,110, 97,109,101, 41, 10, 32,
-			32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
-			40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
-			101,110,100, 10, 10, 45, 45, 32,100,111, 10, 45, 45, 32, 32,
-			108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44,
-			98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,
-			115, 44, 34, 94, 37,115, 42,101,110,117,109, 37,115, 43, 40,
-			37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115,
-			42, 59, 63, 37,115, 42, 34, 41, 10, 45, 45, 32, 32,105,102,
-			32, 98, 32,116,104,101,110, 10, 45, 45, 32, 32, 32, 95, 99,
-			117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,
-			117, 98, 40,115, 44, 98, 44,101, 41, 10, 45, 45, 32, 32, 32,
-			69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
-			98,111,100,121, 41, 10, 45, 45, 32, 32,114,101,116,117,114,
-			110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
-			10, 45, 45, 32, 32,101,110,100, 10, 45, 45, 32,101,110,100,
-			10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98,
-			44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61, 32,
-			115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
-			116,121,112,101,100,101,102, 37,115, 43,101,110,117,109, 91,
-			94,123, 93, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91,
-			37,119, 95, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 59,
-			37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,
-			101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,
-			101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,
-			101, 41, 10, 32, 32, 32, 69,110,117,109,101,114, 97,116,101,
-			40,110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,
-			114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115,
-			44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
-			100, 10, 10, 32, 45, 45, 32,116,114,121, 32,111,112,101,114,
-			97,116,111,114, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
-			108, 32, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
-			44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
-			114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
-			95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 60,
-			62, 44, 93, 45, 37,115, 43,111,112,101,114, 97,116,111,114,
-			41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93,
-			42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40,
-			99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59,
-			37,115, 42, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
-			98, 32,116,104,101,110, 10,  9,  9, 32, 45, 45, 32,116,114,
-			121, 32,105,110,108,105,110,101, 10, 32, 32, 32, 98, 44,101,
-			44,100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44,
-			99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100,
-			40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91,
-			95, 37,119, 37,115, 37, 42, 38, 58, 60, 62, 44, 93, 45, 37,
-			115, 43,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40,
-			91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42,
-			40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
-			63,115, 63,116, 63, 41, 91, 37,115, 92,110, 93, 42, 37, 98,
-			123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,
-			101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
-			116,104,101,110, 10, 32, 32,  9, 45, 45, 32,116,114,121, 32,
-			99, 97,115,116, 32,111,112,101,114, 97,116,111,114, 10, 32,
-			32,  9, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
-			44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
-			114,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40,
-			111,112,101,114, 97,116,111,114, 41, 37,115, 43, 40, 91, 37,
-			119, 95, 58, 37,100, 60, 62, 37, 42, 37, 38, 37,115, 93, 43,
-			41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
-			63,111, 63,110, 63,115, 63,116, 63, 41, 34, 41, 59, 10, 32,
-			32,  9,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32,  9,
-			9,108,111, 99, 97,108, 32, 95, 44,105,101, 32, 61, 32,115,
-			116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
-			94, 37,115, 42, 37, 98,123,125, 34, 44, 32,101, 43, 49, 41,
-			10, 32, 32,  9,  9,105,102, 32,105,101, 32,116,104,101,110,
-			10, 32, 32,  9,  9,  9,101, 32, 61, 32,105,101, 10, 32, 32,
-			9,  9,101,110,100, 10, 32, 32,  9,101,110,100, 10, 32, 32,
-			101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
-			10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
-			61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
-			10, 32, 32, 32, 79,112,101,114, 97,116,111,114, 40,100,101,
-			99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,
-			115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,
-			116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,
-			101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,
-			114,121, 32,102,117,110, 99,116,105,111,110, 10, 32,100,111,
-			10, 32, 32, 45, 45,108,111, 99, 97,108, 32, 98, 44,101, 44,
-			100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
-			61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
-			115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,
-			115, 37, 42, 38, 58, 60, 62, 93, 42, 91, 95, 37,119, 93, 41,
-			37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,
-			111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,
-			115, 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
-			32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
-			44, 97,114,103, 44, 99,111,110,115,116, 44,118,105,114,116,
-			32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
-			37,115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115,
-			42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,
-			110, 63,115, 63,116, 63, 41, 37,115, 42, 40, 61, 63, 37,115,
-			42, 48, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
-			32,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,
-			32, 32,  9, 45, 45, 32,116,114,121, 32,102,117,110, 99,116,
-			105,111,110, 32,119,105,116,104, 32,116,101,109,112,108, 97,
-			116,101, 10, 32, 32,  9, 98, 44,101, 44,100,101, 99,108, 44,
-			97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,
-			102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126,
-			95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58,
-			60, 62, 93, 42, 91, 95, 37,119, 93, 37, 98, 60, 62, 41, 37,
-			115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111,
-			63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115,
-			42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32, 32,
-			101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
-			116,104,101,110, 10, 32, 32, 32, 45, 45, 32,116,114,121, 32,
-			97, 32,115,105,110,103,108,101, 32,108,101,116,116,101,114,
-			32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 10,
-			32, 32, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103,
-			44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,
-			100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93,
-			41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
-			63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,
-			115, 42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102,
-			32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
-			45, 45, 32,116,114,121, 32,102,117,110, 99,116,105,111,110,
-			32,112,111,105,110,116,101,114, 10, 32, 32, 32, 98, 44,101,
-			44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116,
-			32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
-			37,115, 42, 40, 91, 94, 37, 40, 59, 92,110, 93, 43, 37, 98,
-			40, 41, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42,
-			59, 37,115, 42, 34, 41, 10, 32, 32, 32,105,102, 32, 98, 32,
-			116,104,101,110, 10, 32, 32, 32, 32,100,101, 99,108, 32, 61,
-			32,115,116,114,105,110,103, 46,103,115,117, 98, 40,100,101,
-			99,108, 44, 32, 34, 37, 40, 37,115, 42, 37, 42, 40, 91, 94,
-			37, 41, 93, 42, 41, 37,115, 42, 37, 41, 34, 44, 32, 34, 32,
-			37, 49, 32, 34, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,
-			101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
-			10, 32, 32,  9,105,102, 32,118,105,114,116, 32, 97,110,100,
-			32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,105,
-			114,116, 44, 32, 34, 91, 61, 48, 93, 34, 41, 32,116,104,101,
-			110, 10, 32, 32,  9,  9,105,102, 32,115,101,108,102, 46,102,
-			108, 97,103,115, 32,116,104,101,110, 10, 32, 32,  9,  9,  9,
-			115,101,108,102, 46,102,108, 97,103,115, 46,112,117,114,101,
-			95,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
-			10, 32, 32,  9,  9,101,110,100, 10, 32, 32,  9,101,110,100,
-			10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
-			61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
-			10, 32, 32, 32, 70,117,110, 99,116,105,111,110, 40,100,101,
-			99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10, 32,
-			32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
-			40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
-			101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,105,110,
-			108,105,110,101, 32,102,117,110, 99,116,105,111,110, 10, 32,
-			100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
-			100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
-			61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
-			115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115, 42,
-			40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
-			63,115, 63,116, 63, 41, 91, 94, 59,123, 93, 42, 37, 98,123,
-			125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32, 45,
-			45,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
-			44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
-			114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
-			126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38,
-			58, 60, 62, 93, 42, 91, 95, 37,119, 62, 93, 41, 37,115, 42,
-			40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
-			63,115, 63,116, 63, 41, 91, 94, 59, 93, 42, 37, 98,123,125,
-			37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102,
-			32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
-			45, 45, 32,116,114,121, 32, 97, 32,115,105,110,103,108,101,
-			32,108,101,116,116,101,114, 32,102,117,110, 99,116,105,111,
-			110, 32,110, 97,109,101, 10, 32, 32, 32, 98, 44,101, 44,100,
-			101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61,
-			32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
-			42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40,
-			41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116,
-			63, 41, 46, 45, 37, 98,123,125, 37,115, 42, 59, 63, 37,115,
-			42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102, 32,
-			98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114,
-			95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,
-			115, 44, 98, 44,101, 41, 10, 32, 32, 32, 70,117,110, 99,116,
-			105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,
-			110,115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
-			115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
-			32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
-			116,114,121, 32, 99,108, 97,115,115, 10, 32,100,111, 10,  9,
-			32,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101,
-			44, 98, 97,115,101, 44, 98,111,100,121, 10,  9,  9, 98, 97,
-			115,101, 32, 61, 32, 39, 39, 32, 98,111,100,121, 32, 61, 32,
-			39, 39, 10,  9,  9, 98, 44,101, 44,110, 97,109,101, 32, 61,
-			32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
-			42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,119, 93,
-			91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 32,
-			32, 45, 45, 32,100,117,109,109,121, 32, 99,108, 97,115,115,
-			10,  9,  9,108,111, 99, 97,108, 32,100,117,109,109,121, 32,
-			61, 32,102, 97,108,115,101, 10,  9,  9,105,102, 32,110,111,
-			116, 32, 98, 32,116,104,101,110, 10,  9,  9,  9, 98, 44,101,
-			44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100,
-			40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,116, 37,
-			115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
-			41, 37,115, 42, 59, 34, 41, 32, 32, 32, 32, 45, 45, 32,100,
-			117,109,109,121, 32,115,116,114,117, 99,116, 10,  9,  9,  9,
-			105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,  9,
-			9,  9,  9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,
-			101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,
-			100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37,
-			115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
-			41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115, 42, 40,
-			37, 98,123,125, 41, 37,115, 42, 34, 41, 10,  9,  9,  9,  9,
-			105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,  9,
-			9,  9,  9,  9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,
-			115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,
-			110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,
-			116, 37,115, 43, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64,
-			93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115,
-			42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10,  9,  9,
-			9,  9,  9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,
-			110, 10,  9,  9,  9,  9,  9,  9, 98, 44,101, 44,110, 97,109,
-			101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,
-			116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,117,
-			110,105,111,110, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95,
-			37,119, 64, 93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45,
-			41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41,
-			10,  9,  9,  9,  9,  9,  9,105,102, 32,110,111,116, 32, 98,
-			32,116,104,101,110, 10,  9,  9,  9,  9,  9,  9,  9, 98, 97,
-			115,101, 32, 61, 32, 39, 39, 10,  9,  9,  9,  9,  9,  9,  9,
-			98, 44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61,
-			32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
-			42,116,121,112,101,100,101,102, 37,115, 37,115, 42,115,116,
-			114,117, 99,116, 37,115, 37,115, 42, 91, 95, 37,119, 93, 42,
-			37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95,
-			37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59,
-			34, 41, 10,  9,  9,  9,  9,  9,  9,101,110,100, 10,  9,  9,
-			9,  9,  9,101,110,100, 10,  9,  9,  9,  9,101,110,100, 10,
-			9,  9,  9,101,108,115,101, 32,100,117,109,109,121, 32, 61,
-			32, 49, 32,101,110,100, 10,  9,  9,101,108,115,101, 32,100,
-			117,109,109,121, 32, 61, 32, 49, 32,101,110,100, 10,  9,  9,
-			105,102, 32, 98, 32,116,104,101,110, 10,  9,  9,  9,105,102,
-			32, 98, 97,115,101, 32,126, 61, 32, 39, 39, 32,116,104,101,
-			110, 10,  9,  9,  9,  9, 98, 97,115,101, 32, 61, 32,115,116,
-			114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
-			32, 34, 94, 37,115, 42, 58, 37,115, 42, 34, 44, 32, 34, 34,
-			41, 10,  9,  9,  9,  9, 98, 97,115,101, 32, 61, 32,115,116,
-			114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
-			32, 34, 37,115, 42,112,117, 98,108,105, 99, 37,115, 42, 34,
-			44, 32, 34, 34, 41, 10,  9,  9,  9,  9, 98, 97,115,101, 32,
-			61, 32,115,112,108,105,116, 40, 98, 97,115,101, 44, 32, 34,
-			44, 34, 41, 10,  9,  9,  9,  9, 45, 45,108,111, 99, 97,108,
-			32, 98, 44,101, 10,  9,  9,  9,  9, 45, 45, 98, 44,101, 44,
-			98, 97,115,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
-			98, 97,115,101, 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91,
-			95, 37,119, 60, 62, 44, 58, 93, 42, 41, 36, 34, 41, 10,  9,
-			9,  9,101,108,115,101, 10,  9,  9,  9,  9, 98, 97,115,101,
-			32, 61, 32,123,125, 10,  9,  9,  9,101,110,100, 10,  9,  9,
-			9, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,
-			116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10,  9,  9,
-			9, 67,108, 97,115,115, 40,110, 97,109,101, 44, 98, 97,115,
-			101, 44, 98,111,100,121, 41, 10,  9,  9,  9,105,102, 32,110,
-			111,116, 32,100,117,109,109,121, 32,116,104,101,110, 10,  9,
-			9,  9,  9,118, 97,114, 98, 44,118, 97,114,101, 44,118, 97,
-			114,110, 97,109,101, 32, 61, 32,115,116,114,105,110,103, 46,
-			102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40, 91,
-			95, 37,119, 93, 43, 41, 37,115, 42, 59, 34, 44, 32,101, 43,
-			49, 41, 10,  9,  9,  9,  9,105,102, 32,118, 97,114, 98, 32,
-			116,104,101,110, 10,  9,  9,  9,  9,  9, 86, 97,114,105, 97,
-			98,108,101, 40,110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,
-			118, 97,114,110, 97,109,101, 41, 10,  9,  9,  9,  9,  9,101,
-			32, 61, 32,118, 97,114,101, 10,  9,  9,  9,  9,101,110,100,
-			10,  9,  9,  9,101,110,100, 10,  9,  9,  9,114,101,116,117,
-			114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
-			41, 10,  9,  9,101,110,100, 10,  9,101,110,100, 10, 10, 32,
-			45, 45, 32,116,114,121, 32,116,121,112,101,100,101,102, 10,
-			32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
-			44,116,121,112,101,115, 32, 61, 32,115,116,114,102,105,110,
-			100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,
-			102, 37,115, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37,
-			115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,
-			110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101,
-			32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101,
-			41, 10, 32, 32, 32, 84,121,112,101,100,101,102, 40,116,121,
-			112,101,115, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
-			115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
-			32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
-			116,114,121, 32,118, 97,114,105, 97, 98,108,101, 10, 32,100,
-			111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,
-			101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
-			44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 64,
-			37,115, 37,119, 37,100, 37, 42, 38, 58, 60, 62, 44, 93, 42,
-			91, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42,
-			34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10,
-			32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61,
-			32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10,
-			10,  9,108,111, 99, 97,108, 32,108,105,115,116, 32, 61, 32,
-			115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,
-			100,101, 99,108, 44, 32, 34, 44, 34, 41, 10,  9, 86, 97,114,
-			105, 97, 98,108,101, 40,108,105,115,116, 91, 49, 93, 41, 10,
-			9,105,102, 32,108,105,115,116, 46,110, 32, 62, 32, 49, 32,
-			116,104,101,110, 10,  9,  9,108,111, 99, 97,108, 32, 95, 44,
-			95, 44,116,121,112,101, 32, 61, 32,115,116,114,102,105,110,
-			100, 40,108,105,115,116, 91, 49, 93, 44, 32, 34, 40, 46, 45,
-			41, 37,115, 43, 40, 91, 94, 37,115, 93, 42, 41, 36, 34, 41,
-			59, 10, 10,  9,  9,108,111, 99, 97,108, 32,105, 32, 61, 50,
-			59, 10,  9,  9,119,104,105,108,101, 32,108,105,115,116, 91,
-			105, 93, 32,100,111, 10,  9,  9,  9, 86, 97,114,105, 97, 98,
-			108,101, 40,116,121,112,101, 46, 46, 34, 32, 34, 46, 46,108,
-			105,115,116, 91,105, 93, 41, 10,  9,  9,  9,105, 61,105, 43,
-			49, 10,  9,  9,101,110,100, 10,  9,101,110,100, 10, 32, 32,
-			32, 45, 45, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,
-			108, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,
-			114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,
-			110,100, 10, 32,101,110,100, 10, 10,  9, 45, 45, 32,116,114,
-			121, 32,115,116,114,105,110,103, 10, 32,100,111, 10, 32, 32,
-			108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32,
-			61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
-			115, 42, 40, 91, 95, 37,119, 93, 63, 91, 95, 37,115, 37,119,
-			37,100, 93, 45, 99,104, 97,114, 37,115, 43, 91, 95, 64, 37,
-			119, 37,100, 93, 42, 37,115, 42, 37, 91, 37,115, 42, 37, 83,
-			43, 37,115, 42, 37, 93, 41, 37,115, 42, 59, 37,115, 42, 34,
-			41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
-			32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
-			115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
-			32, 32, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108,
-			41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,114,
-			115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,
-			100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
-			32, 97,114,114, 97,121, 10, 32,100,111, 10, 32, 32,108,111,
-			99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,
-			115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
-			40, 91, 95, 37,119, 93, 91, 93, 91, 95, 64, 37,115, 37,119,
-			37,100, 37, 42, 38, 58, 60, 62, 93, 42, 91, 93, 95, 37,119,
-			37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
-			32,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95,
-			99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,
-			115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 65,
-			114,114, 97,121, 40,100,101, 99,108, 41, 10, 32, 32, 32,114,
-			101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
-			101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100,
-			10, 10, 32, 45, 45, 32,110,111, 32,109, 97,116, 99,104,105,
-			110,103, 10, 32,105,102, 32,103,115,117, 98, 40,115, 44, 34,
-			37,115, 37,115, 42, 34, 44, 34, 34, 41, 32,126, 61, 32, 34,
-			34, 32,116,104,101,110, 10, 32, 32, 95, 99,117,114,114, 95,
-			99,111,100,101, 32, 61, 32,115, 10, 32, 32,101,114,114,111,
-			114, 40, 34, 35,112, 97,114,115,101, 32,101,114,114,111,114,
-			34, 41, 10, 32,101,108,115,101, 10, 32, 32,114,101,116,117,
-			114,110, 32, 34, 34, 10, 32,101,110,100, 10, 10,101,110,100,
-			10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
-			115, 67,111,110,116, 97,105,110,101,114, 58,112, 97,114,115,
-			101, 32, 40,115, 41, 10, 10,  9, 45, 45,115,101,108,102, 46,
-			99,117,114,114, 95,109,101,109, 98,101,114, 95, 97, 99, 99,
-			101,115,115, 32, 61, 32,110,105,108, 10, 10, 32,119,104,105,
-			108,101, 32,115, 32,126, 61, 32, 39, 39, 32,100,111, 10, 32,
-			32,115, 32, 61, 32,115,101,108,102, 58,100,111,112, 97,114,
-			115,101, 40,115, 41, 10, 32, 32,109,101,116,104,111,100,105,
-			115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
-			101, 10, 32,101,110,100, 10,101,110,100, 10, 10, 10, 45, 45,
-			32,112,114,111,112,101,114,116,121, 32,116,121,112,101,115,
-			10, 10,102,117,110, 99,116,105,111,110, 32,103,101,116, 95,
-			112,114,111,112,101,114,116,121, 95,116,121,112,101, 40, 41,
-			10, 10,  9,114,101,116,117,114,110, 32, 99,108, 97,115,115,
-			67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,
-			103,101,116, 95,112,114,111,112,101,114,116,121, 95,116,121,
-			112,101, 40, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,
-			105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,
-			110,101,114, 58,115,101,116, 95,112,114,111,112,101,114,116,
-			121, 95,116,121,112,101, 40,112,116,121,112,101, 41, 10,  9,
-			112,116,121,112,101, 32, 61, 32,115,116,114,105,110,103, 46,
-			103,115,117, 98, 40,112,116,121,112,101, 44, 32, 34, 94, 37,
-			115, 42, 34, 44, 32, 34, 34, 41, 10,  9,112,116,121,112,101,
-			32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
-			112,116,121,112,101, 44, 32, 34, 37,115, 42, 36, 34, 44, 32,
-			34, 34, 41, 10, 10,  9,115,101,108,102, 46,112,114,111,112,
-			101,114,116,121, 95,116,121,112,101, 32, 61, 32,112,116,121,
-			112,101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
-			110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
-			114, 58,103,101,116, 95,112,114,111,112,101,114,116,121, 95,
-			116,121,112,101, 40, 41, 10,  9,114,101,116,117,114,110, 32,
-			115,101,108,102, 46,112,114,111,112,101,114,116,121, 95,116,
-			121,112,101, 32,111,114, 32, 40,115,101,108,102, 46,112, 97,
-			114,101,110,116, 32, 97,110,100, 32,115,101,108,102, 46,112,
-			97,114,101,110,116, 58,103,101,116, 95,112,114,111,112,101,
-			114,116,121, 95,116,121,112,101, 40, 41, 41, 32,111,114, 32,
-			34,100,101,102, 97,117,108,116, 34, 10,101,110,100,32
-		};
-		tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/container.lua");
+		#include "container_lua.h"
+		tolua_dobuffer(tolua_S,(char*)lua_container_lua,sizeof(lua_container_lua),"tolua embedded: src/bin/lua/container.lua");
 		lua_settop(tolua_S, top);
 	} /* end of embedded lua code */
 

From c89f7902dff3addc36135907d1b502f98d3120f3 Mon Sep 17 00:00:00 2001
From: Tycho <work.tycho+git@gmail.com>
Date: Sun, 6 Apr 2014 05:56:43 -0700
Subject: [PATCH 4/4] Added forgoten lua file

---
 lib/tolua++/src/bin/container_lua.h | 1476 +++++++++++++++++++++++++++
 1 file changed, 1476 insertions(+)
 create mode 100644 lib/tolua++/src/bin/container_lua.h

diff --git a/lib/tolua++/src/bin/container_lua.h b/lib/tolua++/src/bin/container_lua.h
new file mode 100644
index 000000000..4c7cf6a67
--- /dev/null
+++ b/lib/tolua++/src/bin/container_lua.h
@@ -0,0 +1,1476 @@
+static const unsigned char lua_container_lua[] = {
+  0x2d, 0x2d, 0x20, 0x74, 0x6f, 0x6c, 0x75, 0x61, 0x3a, 0x20, 0x63, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x62, 0x73, 0x74,
+  0x72, 0x61, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x0a, 0x2d,
+  0x2d, 0x20, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x62, 0x79,
+  0x20, 0x57, 0x61, 0x6c, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x20, 0x43, 0x65,
+  0x6c, 0x65, 0x73, 0x0a, 0x2d, 0x2d, 0x20, 0x54, 0x65, 0x43, 0x47, 0x72,
+  0x61, 0x66, 0x2f, 0x50, 0x55, 0x43, 0x2d, 0x52, 0x69, 0x6f, 0x0a, 0x2d,
+  0x2d, 0x20, 0x4a, 0x75, 0x6c, 0x20, 0x31, 0x39, 0x39, 0x38, 0x0a, 0x2d,
+  0x2d, 0x20, 0x24, 0x49, 0x64, 0x3a, 0x20, 0x24, 0x0a, 0x0a, 0x2d, 0x2d,
+  0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x69,
+  0x73, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77,
+  0x61, 0x72, 0x65, 0x3b, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e,
+  0x20, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+  0x65, 0x20, 0x69, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20,
+  0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x20, 0x69, 0x74, 0x2e, 0x0a, 0x2d,
+  0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61,
+  0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20,
+  0x68, 0x65, 0x72, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x69, 0x73,
+  0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x22, 0x61, 0x73, 0x20, 0x69,
+  0x73, 0x22, 0x20, 0x62, 0x61, 0x73, 0x69, 0x73, 0x2c, 0x20, 0x61, 0x6e,
+  0x64, 0x0a, 0x2d, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74,
+  0x68, 0x6f, 0x72, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f,
+  0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f,
+  0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69,
+  0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x73, 0x75,
+  0x70, 0x70, 0x6f, 0x72, 0x74, 0x2c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74,
+  0x65, 0x73, 0x2c, 0x0a, 0x2d, 0x2d, 0x20, 0x65, 0x6e, 0x68, 0x61, 0x6e,
+  0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20,
+  0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+  0x73, 0x2e, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65,
+  0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x6e, 0x61,
+  0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70,
+  0x65, 0x64, 0x65, 0x66, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x20,
+  0x69, 0x6e, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x63,
+  0x6f, 0x70, 0x65, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74,
+  0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x7d,
+  0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+  0x73, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x43,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x0a, 0x2d, 0x2d, 0x20, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73,
+  0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x65, 0x61, 0x74,
+  0x75, 0x72, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x62,
+  0x6f, 0x75, 0x6e, 0x64, 0x0a, 0x2d, 0x2d, 0x20, 0x74, 0x6f, 0x20, 0x6c,
+  0x75, 0x61, 0x2e, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e,
+  0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x3d, 0x0a, 0x7b, 0x0a, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x0a,
+  0x7d, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x2e, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+  0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x0a, 0x73, 0x65, 0x74, 0x6d, 0x65, 0x74,
+  0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2c, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x29, 0x0a,
+  0x0a, 0x2d, 0x2d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74,
+  0x61, 0x67, 0x73, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
+  0x6e, 0x65, 0x72, 0x3a, 0x64, 0x65, 0x63, 0x6c, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x28, 0x29, 0x0a, 0x20, 0x70, 0x75, 0x73, 0x68, 0x28, 0x73, 0x65,
+  0x6c, 0x66, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69,
+  0x3d, 0x31, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x73, 0x65,
+  0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x73,
+  0x65, 0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x3a, 0x64, 0x65, 0x63, 0x6c, 0x74,
+  0x79, 0x70, 0x65, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20,
+  0x69, 0x2b, 0x31, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x70, 0x6f,
+  0x70, 0x28, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a, 0x2d, 0x2d,
+  0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f,
+  0x72, 0x74, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, 0x66, 0x75, 0x6e, 0x63,
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x73, 0x75, 0x70, 0x63,
+  0x6f, 0x64, 0x65, 0x20, 0x28, 0x29, 0x0a, 0x0a, 0x09, 0x69, 0x66, 0x20,
+  0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x63, 0x68, 0x65,
+  0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63,
+  0x63, 0x65, 0x73, 0x73, 0x28, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x09, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x20, 0x70, 0x75, 0x73, 0x68, 0x28, 0x73, 0x65, 0x6c,
+  0x66, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x3d,
+  0x31, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x6c,
+  0x66, 0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x69, 0x66,
+  0x20, 0x73, 0x65, 0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x3a, 0x63, 0x68, 0x65,
+  0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63,
+  0x63, 0x65, 0x73, 0x73, 0x28, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x20, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x3a, 0x73,
+  0x75, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x2b, 0x31,
+  0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x70, 0x6f, 0x70, 0x28, 0x29,
+  0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x68, 0x61, 0x73, 0x76, 0x61, 0x72,
+  0x20, 0x28, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69,
+  0x3d, 0x31, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x73, 0x65,
+  0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x69,
+  0x66, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x3a, 0x69, 0x73,
+  0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x31, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69,
+  0x20, 0x3d, 0x20, 0x69, 0x2b, 0x31, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+  0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x30, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+  0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5f, 0x43,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x28, 0x73, 0x65,
+  0x6c, 0x66, 0x29, 0x0a, 0x20, 0x73, 0x65, 0x74, 0x6d, 0x65, 0x74, 0x61,
+  0x74, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+  0x72, 0x29, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6e, 0x20, 0x3d,
+  0x20, 0x30, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79, 0x70,
+  0x65, 0x64, 0x65, 0x66, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x74, 0x6f, 0x6c,
+  0x75, 0x61, 0x5f, 0x6e, 0x3d, 0x30, 0x7d, 0x0a, 0x20, 0x73, 0x65, 0x6c,
+  0x66, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20,
+  0x3d, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x65,
+  0x6e, 0x75, 0x6d, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x74, 0x6f, 0x6c, 0x75,
+  0x61, 0x5f, 0x6e, 0x3d, 0x30, 0x7d, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x7d,
+  0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c,
+  0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x70, 0x75,
+  0x73, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75,
+  0x73, 0x68, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x09, 0x74, 0x2e, 0x70, 0x72,
+  0x6f, 0x78, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72, 0x72,
+  0x0a, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20,
+  0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x70, 0x6f,
+  0x70, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x0a,
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x6f, 0x70,
+  0x20, 0x28, 0x29, 0x0a, 0x2d, 0x2d, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x28,
+  0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75,
+  0x72, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x2d, 0x2d, 0x66,
+  0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75,
+  0x72, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73,
+  0x2c, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x2d, 0x2d, 0x70, 0x72,
+  0x69, 0x6e, 0x74, 0x28, 0x22, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
+  0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x22, 0x29, 0x0a, 0x20, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+  0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
+  0x63, 0x75, 0x72, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x20, 0x63, 0x75,
+  0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+  0x61, 0x63, 0x65, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x20, 0x67, 0x65, 0x74, 0x63, 0x75, 0x72, 0x72, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x28, 0x29, 0x0a, 0x09, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72,
+  0x72, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61,
+  0x70, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+  0x65, 0x72, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75,
+  0x72, 0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x28, 0x74, 0x29,
+  0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x70,
+  0x65, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20,
+  0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x63,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x0a, 0x66, 0x75, 0x6e,
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x28, 0x74, 0x29, 0x0a,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73,
+  0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63,
+  0x75, 0x72, 0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x28, 0x74, 0x29, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x20,
+  0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x20, 0x74, 0x6f, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x75, 0x73, 0x65,
+  0x72, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x20, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72,
+  0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x72,
+  0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x65,
+  0x6e, 0x75, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65,
+  0x6e, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x70,
+  0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x28, 0x74, 0x29,
+  0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
+  0x63, 0x75, 0x72, 0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x65,
+  0x6e, 0x75, 0x6d, 0x28, 0x74, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x2d, 0x2d, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74,
+  0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x0a, 0x66, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x28, 0x6d, 0x6f, 0x64,
+  0x2c, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75,
+  0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x3a, 0x61,
+  0x70, 0x70, 0x6c, 0x79, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x28,
+  0x6d, 0x6f, 0x64, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20,
+  0x69, 0x66, 0x20, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x66,
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6e, 0x64,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a,
+  0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+  0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x3a, 0x66, 0x69, 0x6e, 0x64, 0x74,
+  0x79, 0x70, 0x65, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x69, 0x66,
+  0x20, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x0a,
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x74,
+  0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65,
+  0x29, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x2e, 0x63, 0x75, 0x72, 0x72, 0x3a, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65,
+  0x64, 0x65, 0x66, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x20, 0x66, 0x75,
+  0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x77, 0x69, 0x74, 0x68,
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x29, 0x0a,
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x75, 0x6c,
+  0x6c, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20,
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
+  0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x0a, 0x09, 0x77, 0x68,
+  0x69, 0x6c, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x64, 0x6f, 0x0a,
+  0x09, 0x20, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x09, 0x09, 0x20, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x20, 0x61,
+  0x6e, 0x64, 0x20, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65,
+  0x64, 0x65, 0x66, 0x73, 0x5b, 0x74, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x09, 0x09, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66,
+  0x73, 0x5b, 0x74, 0x5d, 0x0a, 0x09, 0x09, 0x20, 0x65, 0x6c, 0x73, 0x65,
+  0x69, 0x66, 0x20, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72,
+  0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x75,
+  0x72, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73,
+  0x5b, 0x74, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x20,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x75, 0x72, 0x72,
+  0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5b, 0x74,
+  0x5d, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x09, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x0a, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74,
+  0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x68, 0x65,
+  0x63, 0x6b, 0x73, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x72, 0x65,
+  0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
+  0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x28, 0x74, 0x29, 0x0a, 0x20, 0x70, 0x75, 0x73, 0x68, 0x28, 0x73, 0x65,
+  0x6c, 0x66, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69,
+  0x3d, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x20,
+  0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x77, 0x68, 0x69,
+  0x6c, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x5b, 0x69, 0x5d, 0x20, 0x64,
+  0x6f, 0x0a, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x5b, 0x69, 0x5d, 0x3a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x63,
+  0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x74, 0x29,
+  0x20, 0x6f, 0x72, 0x20, 0x72, 0x0a, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20,
+  0x69, 0x2b, 0x31, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x70, 0x6f,
+  0x70, 0x28, 0x29, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+  0x72, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x67,
+  0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x61, 0x70, 0x63, 0x65,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x67, 0x65,
+  0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x28,
+  0x63, 0x75, 0x72, 0x72, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x3d,
+  0x20, 0x27, 0x27, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x63,
+  0x75, 0x72, 0x72, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x20, 0x69, 0x66, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x20,
+  0x20, 0x20, 0x28, 0x20, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20,
+  0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
+  0x65, 0x27, 0x29, 0x0a, 0x09, 0x09, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09,
+  0x09, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20,
+  0x3d, 0x20, 0x28, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67,
+  0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72,
+  0x20, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20,
+  0x2e, 0x2e, 0x20, 0x27, 0x3a, 0x3a, 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x0a, 0x09, 0x09, 0x20,
+  0x2d, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20,
+  0x3d, 0x20, 0x63, 0x75, 0x72, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x20,
+  0x2e, 0x2e, 0x20, 0x27, 0x3a, 0x3a, 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x0a, 0x09, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x09, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x0a, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x67, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d,
+  0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x28, 0x6f, 0x6e, 0x6c, 0x79,
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x29, 0x0a,
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x67, 0x65, 0x74,
+  0x6f, 0x6e, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
+  0x65, 0x20, 0x28, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75,
+  0x72, 0x72, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x61,
+  0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x27,
+  0x0a, 0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72,
+  0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20,
+  0x3d, 0x3d, 0x20, 0x27, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x27, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x0a,
+  0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20,
+  0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
+  0x65, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x63,
+  0x75, 0x72, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x20,
+  0x27, 0x3a, 0x3a, 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x70, 0x61, 0x63, 0x65, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
+  0x09, 0x20, 0x63, 0x75, 0x72, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x75, 0x72,
+  0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a,
+  0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x70, 0x61, 0x63, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d,
+  0x2d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x69, 0x66, 0x20, 0x69,
+  0x73, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74,
+  0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x28,
+  0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x3a, 0x69, 0x73,
+  0x65, 0x6e, 0x75, 0x6d, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x65,
+  0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e,
+  0x64, 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f,
+  0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x0a, 0x66,
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73,
+  0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x61,
+  0x70, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x20, 0x73,
+  0x65, 0x6c, 0x66, 0x2e, 0x6e, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x2e, 0x6e, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x5b, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x74,
+  0x0a, 0x20, 0x74, 0x2e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x3d,
+  0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d,
+  0x2d, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70,
+  0x65, 0x64, 0x65, 0x66, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x74,
+  0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x20,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+  0x61, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x6e, 0x61, 0x6d,
+  0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63, 0x75,
+  0x72, 0x72, 0x29, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x2e, 0x74, 0x6f, 0x6c, 0x75, 0x61,
+  0x5f, 0x6e, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x2e, 0x74, 0x6f, 0x6c, 0x75, 0x61,
+  0x5f, 0x6e, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x73, 0x65,
+  0x6c, 0x66, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x2e,
+  0x74, 0x6f, 0x6c, 0x75, 0x61, 0x5f, 0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x74,
+  0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64,
+  0x65, 0x66, 0x73, 0x5b, 0x74, 0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x5d,
+  0x20, 0x3d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
+  0x20, 0x2e, 0x2e, 0x20, 0x74, 0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x0a,
+  0x09, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65,
+  0x64, 0x65, 0x66, 0x73, 0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+  0x63, 0x65, 0x2e, 0x2e, 0x74, 0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x5d,
+  0x20, 0x3d, 0x20, 0x74, 0x0a, 0x09, 0x74, 0x2e, 0x66, 0x74, 0x79, 0x70,
+  0x65, 0x20, 0x3d, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x74, 0x79, 0x70, 0x65,
+  0x28, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x6f, 0x72, 0x20,
+  0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x09, 0x2d, 0x2d, 0x70, 0x72,
+  0x69, 0x6e, 0x74, 0x28, 0x22, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x69,
+  0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x22,
+  0x2e, 0x2e, 0x74, 0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x2e, 0x22,
+  0x20, 0x61, 0x73, 0x20, 0x22, 0x2e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73,
+  0x70, 0x61, 0x63, 0x65, 0x2e, 0x2e, 0x74, 0x2e, 0x75, 0x74, 0x79, 0x70,
+  0x65, 0x2e, 0x2e, 0x22, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x74,
+  0x79, 0x70, 0x65, 0x20, 0x22, 0x2e, 0x2e, 0x74, 0x2e, 0x66, 0x74, 0x79,
+  0x70, 0x65, 0x29, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f,
+  0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28,
+  0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x2e, 0x74,
+  0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x09, 0x69, 0x66, 0x20,
+  0x74, 0x2e, 0x66, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20,
+  0x69, 0x73, 0x65, 0x6e, 0x75, 0x6d, 0x28, 0x74, 0x2e, 0x66, 0x74, 0x79,
+  0x70, 0x65, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x09, 0x09,
+  0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73,
+  0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x2e,
+  0x74, 0x2e, 0x75, 0x74, 0x79, 0x70, 0x65, 0x5d, 0x20, 0x3d, 0x20, 0x74,
+  0x72, 0x75, 0x65, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x20,
+  0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x74, 0x79,
+  0x70, 0x65, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+  0x65, 0x72, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x75, 0x73, 0x65,
+  0x72, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x74, 0x29, 0x0a, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+  0x65, 0x72, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x74, 0x20, 0x3d, 0x3d, 0x20,
+  0x28, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
+  0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x73,
+  0x65, 0x6c, 0x66, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+  0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x72,
+  0x6f, 0x78, 0x0a, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x09, 0x63,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73,
+  0x65, 0x6c, 0x66, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x66, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74,
+  0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x29, 0x20, 0x2e, 0x2e, 0x20,
+  0x74, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5b, 0x74,
+  0x5d, 0x20, 0x3d, 0x20, 0x66, 0x74, 0x0a, 0x09, 0x5f, 0x75, 0x73, 0x65,
+  0x72, 0x74, 0x79, 0x70, 0x65, 0x5b, 0x66, 0x74, 0x5d, 0x20, 0x3d, 0x20,
+  0x66, 0x74, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,
+  0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x61, 0x70,
+  0x70, 0x65, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x0a, 0x66, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x61, 0x70,
+  0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x28, 0x74, 0x29,
+  0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
+  0x63, 0x75, 0x72, 0x72, 0x29, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e,
+  0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x74, 0x6f, 0x6c, 0x75, 0x61, 0x5f,
+  0x6e, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x65, 0x6e, 0x75,
+  0x6d, 0x73, 0x2e, 0x74, 0x6f, 0x6c, 0x75, 0x61, 0x5f, 0x6e, 0x20, 0x2b,
+  0x20, 0x31, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x65, 0x6e, 0x75,
+  0x6d, 0x73, 0x5b, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x65, 0x6e, 0x75, 0x6d,
+  0x73, 0x2e, 0x74, 0x6f, 0x6c, 0x75, 0x61, 0x5f, 0x6e, 0x5d, 0x20, 0x3d,
+  0x20, 0x74, 0x0a, 0x09, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x65,
+  0x6e, 0x75, 0x6d, 0x73, 0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+  0x63, 0x65, 0x2e, 0x2e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x5d, 0x20,
+  0x3d, 0x20, 0x74, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20,
+  0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x75,
+  0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x3a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x28, 0x6c,
+  0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f,
+  0x74, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x5b, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x5d, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6c, 0x6e, 0x61,
+  0x6d, 0x65, 0x73, 0x5b, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x5d, 0x20, 0x3d,
+  0x20, 0x30, 0x0a, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x73,
+  0x65, 0x6c, 0x66, 0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5b, 0x6c,
+  0x6e, 0x61, 0x6d, 0x65, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66,
+  0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5b, 0x6c, 0x6e, 0x61, 0x6d,
+  0x65, 0x5d, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x6d,
+  0x61, 0x74, 0x28, 0x22, 0x25, 0x30, 0x32, 0x64, 0x22, 0x2c, 0x73, 0x65,
+  0x6c, 0x66, 0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5b, 0x6c, 0x6e,
+  0x61, 0x6d, 0x65, 0x5d, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d,
+  0x2d, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x3a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x27, 0x74, 0x68, 0x65, 0x20,
+  0x66, 0x61, 0x63, 0x74, 0x6f, 0x27, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+  0x69, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x3a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65,
+  0x66, 0x20, 0x28, 0x6d, 0x6f, 0x64, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x29,
+  0x0a, 0x09, 0x69, 0x66, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x74, 0x79, 0x70,
+  0x65, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d,
+  0x70, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x22, 0x66, 0x6f, 0x75, 0x6e, 0x64,
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x22, 0x2e, 0x2e,
+  0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64,
+  0x65, 0x66, 0x73, 0x5b, 0x74, 0x79, 0x70, 0x65, 0x5d, 0x2e, 0x74, 0x79,
+  0x70, 0x65, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x6d, 0x6f, 0x64, 0x31, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x31, 0x20,
+  0x3d, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70,
+  0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x74, 0x79, 0x70, 0x65, 0x5d, 0x2e,
+  0x6d, 0x6f, 0x64, 0x2c, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x74, 0x79, 0x70,
+  0x65, 0x5d, 0x2e, 0x66, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x09, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x64, 0x32, 0x2c, 0x20, 0x74,
+  0x79, 0x70, 0x65, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x28, 0x6d, 0x6f, 0x64, 0x2e,
+  0x2e, 0x22, 0x20, 0x22, 0x2e, 0x2e, 0x6d, 0x6f, 0x64, 0x31, 0x2c, 0x20,
+  0x74, 0x79, 0x70, 0x65, 0x31, 0x29, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x32, 0x20, 0x2e,
+  0x2e, 0x20, 0x27, 0x20, 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x6d, 0x6f, 0x64,
+  0x31, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x32, 0x0a, 0x09, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x32, 0x2c, 0x20,
+  0x74, 0x79, 0x70, 0x65, 0x32, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09,
+  0x64, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x6f,
+  0x64, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65,
+  0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b,
+  0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x0a, 0x66, 0x75, 0x6e, 0x63,
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x69, 0x73, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29,
+  0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x6e, 0x76, 0x20,
+  0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c,
+  0x65, 0x20, 0x65, 0x6e, 0x76, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x69,
+  0x66, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65,
+  0x66, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x3d, 0x31, 0x0a, 0x20, 0x20, 0x20,
+  0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x74, 0x79,
+  0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x6e, 0x76, 0x2e,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x69, 0x5d, 0x2e,
+  0x75, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x74, 0x79, 0x70,
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74,
+  0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x20, 0x3d, 0x20, 0x69, 0x2b, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x76, 0x20, 0x3d, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x70, 0x61, 0x72,
+  0x65, 0x6e, 0x74, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,
+  0x69, 0x6e, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x72,
+  0x28, 0x76, 0x61, 0x72, 0x29, 0x0a, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x74,
+  0x6f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x28, 0x76, 0x61, 0x72, 0x29,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+  0x20, 0x76, 0x61, 0x72, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
+  0x63, 0x75, 0x72, 0x72, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20,
+  0x63, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x6e, 0x61, 0x6d,
+  0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x63, 0x29, 0x0a, 0x09, 0x09,
+  0x66, 0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x76, 0x20, 0x69, 0x6e, 0x20, 0x70,
+  0x61, 0x69, 0x72, 0x73, 0x28, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
+  0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x29, 0x20, 0x64, 0x6f, 0x0a, 0x09,
+  0x09, 0x09, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74,
+  0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x2c, 0x20,
+  0x6e, 0x73, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x0a, 0x09, 0x09,
+  0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09,
+  0x09, 0x69, 0x66, 0x20, 0x63, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x61,
+  0x6e, 0x64, 0x20, 0x63, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x7e, 0x3d,
+  0x20, 0x27, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09,
+  0x63, 0x20, 0x3d, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b, 0x63, 0x3a, 0x66, 0x69,
+  0x6e, 0x64, 0x74, 0x79, 0x70, 0x65, 0x28, 0x63, 0x2e, 0x62, 0x61, 0x73,
+  0x65, 0x29, 0x5d, 0x0a, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09,
+  0x09, 0x09, 0x63, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x09, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x72, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20,
+  0x69, 0x66, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x67, 0x69,
+  0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6c, 0x6c,
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x69, 0x6c,
+  0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
+  0x3a, 0x66, 0x69, 0x6e, 0x64, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x74,
+  0x29, 0x0a, 0x0a, 0x09, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74, 0x2c, 0x20, 0x22,
+  0x3d, 0x2e, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x09, 0x69,
+  0x66, 0x20, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5b, 0x74, 0x5d, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x74, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x5f, 0x2c, 0x5f, 0x2c, 0x65, 0x6d, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e,
+  0x64, 0x28, 0x74, 0x2c, 0x20, 0x22, 0x28, 0x5b, 0x26, 0x25, 0x2a, 0x5d,
+  0x29, 0x25, 0x73, 0x2a, 0x24, 0x22, 0x29, 0x0a, 0x09, 0x74, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62,
+  0x28, 0x74, 0x2c, 0x20, 0x22, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x26, 0x25,
+  0x2a, 0x5d, 0x29, 0x25, 0x73, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22,
+  0x29, 0x0a, 0x09, 0x70, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a,
+  0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x70, 0x20, 0x61, 0x6e, 0x64,
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x70, 0x29, 0x3d, 0x3d, 0x27, 0x74,
+  0x61, 0x62, 0x6c, 0x65, 0x27, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65,
+  0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x70,
+  0x29, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x3d, 0x5f,
+  0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73,
+  0x2e, 0x6e, 0x2c, 0x31, 0x2c, 0x2d, 0x31, 0x20, 0x64, 0x6f, 0x20, 0x2d,
+  0x2d, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
+  0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x69,
+  0x66, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65,
+  0x28, 0x74, 0x2c, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x73, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x73, 0x74,
+  0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+  0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5b, 0x69, 0x5d, 0x2e, 0x2e,
+  0x28, 0x65, 0x6d, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x09,
+  0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
+  0x09, 0x09, 0x69, 0x66, 0x20, 0x70, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x70, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x7e,
+  0x3d, 0x20, 0x27, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x2e, 0x62,
+  0x61, 0x73, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x74, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x70, 0x72, 0x69, 0x6e, 0x74,
+  0x28, 0x22, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x22, 0x2e,
+  0x2e, 0x74, 0x2e, 0x2e, 0x22, 0x2c, 0x20, 0x70, 0x20, 0x69, 0x73, 0x20,
+  0x22, 0x2e, 0x2e, 0x70, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x2e, 0x22,
+  0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69,
+  0x73, 0x20, 0x22, 0x2e, 0x2e, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x74, 0x79,
+  0x70, 0x65, 0x2e, 0x2e, 0x22, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x6e,
+  0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x22, 0x2e, 0x2e, 0x73, 0x65,
+  0x6c, 0x66, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x09, 0x09, 0x09,
+  0x70, 0x20, 0x3d, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b, 0x70, 0x3a, 0x66, 0x69,
+  0x6e, 0x64, 0x74, 0x79, 0x70, 0x65, 0x28, 0x70, 0x2e, 0x62, 0x61, 0x73,
+  0x65, 0x29, 0x5d, 0x0a, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09,
+  0x09, 0x09, 0x70, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x09, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+  0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x2c, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x29, 0x0a, 0x09, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+  0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x6e, 0x20, 0x3d, 0x20,
+  0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65,
+  0x73, 0x2e, 0x6e, 0x20, 0x2b, 0x31, 0x0a, 0x09, 0x5f, 0x67, 0x6c, 0x6f,
+  0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5b, 0x5f, 0x67,
+  0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
+  0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x0a, 0x09, 0x5f, 0x67, 0x6c, 0x6f,
+  0x62, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x68, 0x61,
+  0x73, 0x68, 0x5b, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x09, 0x69,
+  0x66, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x20, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x73,
+  0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x2c, 0x20, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61,
+  0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x29, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+  0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b, 0x74, 0x5d,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x63, 0x6c, 0x61, 0x73,
+  0x73, 0x2e, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x5f, 0x67,
+  0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65,
+  0x73, 0x5b, 0x74, 0x5d, 0x2e, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x0a, 0x09,
+  0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x6c, 0x6e, 0x61, 0x6d, 0x65,
+  0x73, 0x20, 0x3d, 0x20, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b, 0x74, 0x5d, 0x2e, 0x6c,
+  0x6e, 0x61, 0x6d, 0x65, 0x73, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x5f,
+  0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x65, 0x73, 0x5b, 0x74, 0x5d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x61,
+  0x6e, 0x64, 0x20, 0x28, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b, 0x74, 0x5d, 0x2e, 0x62,
+  0x61, 0x73, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x27, 0x29, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x5f, 0x67, 0x6c, 0x6f,
+  0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5b,
+  0x74, 0x5d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x0a, 0x09, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x5f, 0x67,
+  0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65,
+  0x73, 0x5b, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,
+  0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x66, 0x6c, 0x61, 0x67,
+  0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x66, 0x6c,
+  0x61, 0x67, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x7b, 0x7d, 0x0a, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x63,
+  0x68, 0x69, 0x6c, 0x64, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x72, 0x65,
+  0x67, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x29, 0x0a, 0x2d,
+  0x2d, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x22, 0x66, 0x69, 0x6e, 0x64,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x22, 0x2e, 0x2e, 0x63, 0x68, 0x69, 0x6c,
+  0x64, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x2e, 0x22, 0x2c, 0x20, 0x22, 0x2e,
+  0x2e, 0x72, 0x65, 0x67, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x2e, 0x22, 0x2c,
+  0x20, 0x22, 0x2e, 0x2e, 0x73, 0x74, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63,
+  0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x72, 0x65, 0x67,
+  0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x74,
+  0x79, 0x70, 0x65, 0x2c, 0x20, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x2e, 0x6c, 0x65, 0x6e, 0x28, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x74, 0x79,
+  0x70, 0x65, 0x29, 0x2c, 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x09,
+  0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x09,
+  0x09, 0x69, 0x66, 0x20, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x28, 0x72, 0x65, 0x67, 0x74,
+  0x79, 0x70, 0x65, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x28, 0x62, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20,
+  0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x62, 0x28,
+  0x72, 0x65, 0x67, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x62, 0x2d, 0x31,
+  0x2c, 0x20, 0x62, 0x2d, 0x31, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x3a,
+  0x27, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x62, 0x28, 0x72, 0x65, 0x67,
+  0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x62, 0x2d, 0x31,
+  0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
+  0x73, 0x75, 0x62, 0x28, 0x73, 0x74, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x62,
+  0x2d, 0x31, 0x29, 0x29, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09,
+  0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75,
+  0x65, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61,
+  0x6c, 0x73, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e,
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x74, 0x79,
+  0x70, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x73,
+  0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x0a, 0x09,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x63, 0x68, 0x69, 0x6c, 0x64,
+  0x0a, 0x09, 0x69, 0x66, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x27,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65,
+  0x6c, 0x66, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+  0x63, 0x65, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x66,
+  0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x76, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x70,
+  0x61, 0x69, 0x72, 0x73, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x20, 0x64,
+  0x6f, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x76, 0x2e, 0x63, 0x6c,
+  0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x27,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x2e,
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d,
+  0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x27,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66,
+  0x20, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65,
+  0x66, 0x73, 0x5b, 0x74, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09,
+  0x09, 0x09, 0x09, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76,
+  0x2e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x5b, 0x74, 0x5d,
+  0x0a, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20,
+  0x76, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x76, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79,
+  0x70, 0x65, 0x73, 0x5b, 0x74, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x09, 0x09, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+  0x76, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5b,
+  0x74, 0x5d, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09,
+  0x09, 0x09, 0x09, 0x74, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x3d, 0x20,
+  0x66, 0x69, 0x6e, 0x64, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x6e, 0x5f,
+  0x63, 0x68, 0x69, 0x6c, 0x64, 0x73, 0x28, 0x76, 0x2c, 0x20, 0x74, 0x29,
+  0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x74, 0x63, 0x68, 0x69,
+  0x6c, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75,
+  0x72, 0x6e, 0x20, 0x74, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x65, 0x6e,
+  0x64, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x72, 0x65, 0x74,
+  0x75, 0x72, 0x6e, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+  0x72, 0x3a, 0x69, 0x73, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x28, 0x74, 0x79,
+  0x70, 0x65, 0x29, 0x0a, 0x20, 0x69, 0x66, 0x20, 0x67, 0x6c, 0x6f, 0x62,
+  0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5b, 0x74, 0x79, 0x70,
+  0x65, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x72, 0x65, 0x74,
+  0x75, 0x72, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x20, 0x65, 0x6c,
+  0x73, 0x65, 0x0a, 0x20, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+  0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x61, 0x73, 0x65, 0x74,
+  0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x74,
+  0x79, 0x70, 0x65, 0x2c, 0x22, 0x5e, 0x2e, 0x2a, 0x3a, 0x3a, 0x22, 0x2c,
+  0x22, 0x22, 0x29, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65,
+  0x6e, 0x76, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x77,
+  0x68, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x6e, 0x76, 0x20, 0x64, 0x6f, 0x0a,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x65, 0x6e, 0x75,
+  0x6d, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x3d, 0x31, 0x0a, 0x20, 0x20, 0x20,
+  0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x65, 0x6e,
+  0x75, 0x6d, 0x73, 0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x65, 0x6e, 0x75,
+  0x6d, 0x73, 0x5b, 0x69, 0x5d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d,
+  0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d,
+  0x20, 0x69, 0x2b, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+  0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x76, 0x20,
+  0x3d, 0x20, 0x65, 0x6e, 0x76, 0x2e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+  0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x69, 0x73, 0x76, 0x69, 0x72,
+  0x74, 0x75, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65,
+  0x20, 0x2d, 0x2d, 0x20, 0x61, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
+  0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x70, 0x61, 0x72, 0x73, 0x65, 0x20, 0x63,
+  0x68, 0x75, 0x6e, 0x6b, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x3a, 0x64, 0x6f, 0x70, 0x61, 0x72, 0x73, 0x65,
+  0x20, 0x28, 0x73, 0x29, 0x0a, 0x2d, 0x2d, 0x70, 0x72, 0x69, 0x6e, 0x74,
+  0x20, 0x28, 0x22, 0x70, 0x61, 0x72, 0x73, 0x65, 0x20, 0x22, 0x2e, 0x2e,
+  0x73, 0x29, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x20, 0x68,
+  0x6f, 0x6f, 0x6b, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x70, 0x61,
+  0x72, 0x73, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x28, 0x73, 0x29,
+  0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x73, 0x75, 0x62, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+  0x20, 0x73, 0x75, 0x62, 0x0a, 0x20, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x73, 0x74,
+  0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x64, 0x6f, 0x0a,
+  0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c,
+  0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x3b, 0x22, 0x29, 0x0a, 0x20, 0x09, 0x69, 0x66, 0x20,
+  0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28,
+  0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x09, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74,
+  0x72, 0x79, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72,
+  0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x20,
+  0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62,
+  0x2c, 0x65, 0x2c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c,
+  0x20, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x24, 0x5c, 0x6e, 0x22, 0x29, 0x0a,
+  0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a,
+  0x20, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x4c, 0x75, 0x61, 0x20,
+  0x63, 0x6f, 0x64, 0x65, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x63, 0x6f, 0x64,
+  0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28,
+  0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x5c, 0x31,
+  0x5c, 0x32, 0x29, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x64,
+  0x65, 0x28, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x63, 0x6f, 0x64,
+  0x65, 0x2c, 0x32, 0x2c, 0x2d, 0x32, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d,
+  0x20, 0x74, 0x72, 0x79, 0x20, 0x43, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a,
+  0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x62, 0x2c, 0x65, 0x2c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25,
+  0x73, 0x2a, 0x28, 0x25, 0x62, 0x5c, 0x33, 0x5c, 0x34, 0x29, 0x22, 0x29,
+  0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x7b, 0x27,
+  0x2e, 0x2e, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x63, 0x6f, 0x64,
+  0x65, 0x2c, 0x32, 0x2c, 0x2d, 0x32, 0x29, 0x2e, 0x2e, 0x27, 0x5c, 0x6e,
+  0x7d, 0x5c, 0x6e, 0x27, 0x0a, 0x09, 0x56, 0x65, 0x72, 0x62, 0x61, 0x74,
+  0x69, 0x6d, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x27, 0x72, 0x27, 0x29,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x76,
+  0x65, 0x72, 0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x63, 0x6f, 0x64, 0x65,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x72, 0x27, 0x65, 0x67, 0x69, 0x73,
+  0x74, 0x65, 0x72, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
+  0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72,
+  0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20,
+  0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20,
+  0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x43, 0x20, 0x63, 0x6f, 0x64,
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x72, 0x65, 0x61, 0x6d, 0x62,
+  0x6c, 0x65, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20,
+  0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62,
+  0x2c, 0x65, 0x2c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c,
+  0x20, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x5c, 0x35, 0x5c,
+  0x36, 0x29, 0x22, 0x29, 0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x63, 0x6f, 0x64, 0x65,
+  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75,
+  0x62, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x2d,
+  0x32, 0x29, 0x2e, 0x2e, 0x22, 0x5c, 0x6e, 0x22, 0x0a, 0x09, 0x09, 0x56,
+  0x65, 0x72, 0x62, 0x61, 0x74, 0x69, 0x6d, 0x28, 0x63, 0x6f, 0x64, 0x65,
+  0x2c, 0x20, 0x27, 0x27, 0x29, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75,
+  0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x20, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d,
+  0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+  0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x64,
+  0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x0a, 0x20, 0x64, 0x6f,
+  0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65,
+  0x2c, 0x70, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73,
+  0x2a, 0x54, 0x4f, 0x4c, 0x55, 0x41, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45,
+  0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x25, 0x73, 0x2a, 0x25,
+  0x28, 0x2b, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x29, 0x25, 0x73,
+  0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x25, 0x29, 0x2b, 0x25, 0x73, 0x2a,
+  0x3b, 0x3f, 0x22, 0x29, 0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e,
+  0x6f, 0x74, 0x20, 0x70, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x72, 0x20,
+  0x70, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x22, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x09, 0x70, 0x74, 0x79,
+  0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+  0x74, 0x22, 0x0a, 0x20, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x09,
+  0x09, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72,
+  0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28,
+  0x70, 0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x09, 0x20, 0x09, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28,
+  0x73, 0x2c, 0x20, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x09, 0x65, 0x6e,
+  0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20,
+  0x74, 0x72, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65,
+  0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72,
+  0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x0a, 0x20,
+  0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62,
+  0x2c, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
+  0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73,
+  0x2a, 0x54, 0x4f, 0x4c, 0x55, 0x41, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45,
+  0x43, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x55, 0x43,
+  0x54, 0x4f, 0x52, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x22, 0x29, 0x0a, 0x09,
+  0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09,
+  0x69, 0x66, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x73, 0x65, 0x74, 0x5f,
+  0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x09, 0x20, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x73,
+  0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64,
+  0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x28,
+  0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x09, 0x20, 0x09, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x20, 0x65, 0x2b, 0x31,
+  0x29, 0x0a, 0x20, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64,
+  0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x27, 0x65,
+  0x78, 0x74, 0x65, 0x72, 0x6e, 0x27, 0x20, 0x6b, 0x65, 0x79, 0x77, 0x6f,
+  0x72, 0x64, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63,
+  0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20,
+  0x22, 0x5e, 0x25, 0x73, 0x2a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x25,
+  0x73, 0x2b, 0x22, 0x29, 0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x64, 0x6f,
+  0x20, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x09, 0x09,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x20, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d,
+  0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x27, 0x76, 0x69, 0x72, 0x74, 0x75,
+  0x61, 0x6c, 0x27, 0x20, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x6b, 0x64,
+  0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x62, 0x2c, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x25, 0x73,
+  0x2b, 0x22, 0x29, 0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x20, 0x09, 0x09, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+  0x64, 0x69, 0x73, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x3d,
+  0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x09, 0x09, 0x72, 0x65, 0x74,
+  0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73,
+  0x2c, 0x20, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x09, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74,
+  0x72, 0x79, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x28, 0x70,
+  0x75, 0x62, 0x6c, 0x69, 0x63, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x76, 0x61,
+  0x74, 0x65, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x29, 0x0a, 0x20, 0x64, 0x6f,
+  0x0a, 0x20, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65,
+  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69,
+  0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x25,
+  0x77, 0x2a, 0x25, 0x73, 0x2a, 0x3a, 0x5b, 0x5e, 0x3a, 0x5d, 0x22, 0x29,
+  0x0a, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x20, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x20, 0x65, 0x29, 0x20,
+  0x2d, 0x2d, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x5b, 0x5e, 0x3a, 0x5d, 0x0a, 0x20, 0x09, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d,
+  0x20, 0x74, 0x72, 0x79, 0x20, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x0a,
+  0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64,
+  0x79, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28,
+  0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
+  0x65, 0x25, 0x73, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d,
+  0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25,
+  0x62, 0x7b, 0x7d, 0x29, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
+  0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62,
+  0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x6f, 0x64, 0x75, 0x6c,
+  0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29,
+  0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x6e, 0x61, 0x6d,
+  0x65, 0x73, 0x61, 0x70, 0x63, 0x65, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20,
+  0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x6e,
+  0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25,
+  0x73, 0x2a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x25,
+  0x73, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f,
+  0x25, 0x77, 0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b,
+  0x7d, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x22, 0x29, 0x0a, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
+  0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62,
+  0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x73,
+  0x70, 0x61, 0x63, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f,
+  0x64, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65,
+  0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20,
+  0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20,
+  0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x6e,
+  0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e,
+  0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x23, 0x64, 0x65,
+  0x66, 0x69, 0x6e, 0x65, 0x25, 0x73, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e,
+  0x25, 0x73, 0x5d, 0x2a, 0x29, 0x5b, 0x5e, 0x5c, 0x6e, 0x5d, 0x2a, 0x5c,
+  0x6e, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63,
+  0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x28, 0x6e,
+  0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
+  0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c,
+  0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79,
+  0x20, 0x65, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x0a,
+  0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f,
+  0x64, 0x79, 0x2c, 0x76, 0x61, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22,
+  0x5e, 0x25, 0x73, 0x2a, 0x65, 0x6e, 0x75, 0x6d, 0x25, 0x73, 0x2b, 0x28,
+  0x25, 0x53, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x73, 0x3b, 0x5d, 0x2a,
+  0x29, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x20, 0x20, 0x2d, 0x2d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22,
+  0x23, 0x53, 0x6f, 0x72, 0x72, 0x79, 0x2c, 0x20, 0x64, 0x65, 0x63, 0x6c,
+  0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x65,
+  0x6e, 0x75, 0x6d, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x72,
+  0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65,
+  0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+  0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x5c, 0x6e,
+  0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x72,
+  0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x73, 0x65,
+  0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x28, 0x65, 0x78,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x27, 0x22, 0x2e, 0x2e, 0x6e,
+  0x61, 0x6d, 0x65, 0x2e, 0x2e, 0x22, 0x20, 0x22, 0x2e, 0x2e, 0x76, 0x61,
+  0x72, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x2e, 0x22, 0x3b, 0x27, 0x29, 0x22,
+  0x29, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63,
+  0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62,
+  0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x45,
+  0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x28, 0x6e, 0x61, 0x6d,
+  0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x76, 0x61, 0x72, 0x6e, 0x61,
+  0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+  0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65,
+  0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x64, 0x6f, 0x0a, 0x2d, 0x2d,
+  0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c,
+  0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x65, 0x6e, 0x75, 0x6d, 0x25, 0x73, 0x2b, 0x28, 0x25,
+  0x53, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d, 0x29,
+  0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x2d,
+  0x2d, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x2d, 0x2d, 0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f,
+  0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x2d, 0x2d, 0x20,
+  0x20, 0x20, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x28,
+  0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x29, 0x0a, 0x2d,
+  0x2d, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a,
+  0x2d, 0x2d, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x2d, 0x2d, 0x20, 0x65,
+  0x6e, 0x64, 0x20, 0x0a, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x62, 0x6f, 0x64,
+  0x79, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a,
+  0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x25, 0x73, 0x2b, 0x65, 0x6e,
+  0x75, 0x6d, 0x5b, 0x5e, 0x7b, 0x5d, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x25, 0x77, 0x5f, 0x5d, 0x5b, 0x5e,
+  0x25, 0x73, 0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a,
+  0x22, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f,
+  0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x28, 0x6e, 0x61,
+  0x6d, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d,
+  0x20, 0x74, 0x72, 0x79, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
+  0x72, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61,
+  0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x6b,
+  0x69, 0x6e, 0x64, 0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73,
+  0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28,
+  0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77,
+  0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x25, 0x73, 0x25, 0x2a, 0x26, 0x3a, 0x3c,
+  0x3e, 0x2c, 0x5d, 0x2d, 0x25, 0x73, 0x2b, 0x6f, 0x70, 0x65, 0x72, 0x61,
+  0x74, 0x6f, 0x72, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x73,
+  0x5d, 0x5b, 0x5e, 0x25, 0x73, 0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28,
+  0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x63, 0x3f, 0x6f,
+  0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x25, 0x73, 0x2a, 0x3b,
+  0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e,
+  0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09,
+  0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x6c, 0x69,
+  0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65,
+  0x63, 0x6c, 0x2c, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x61, 0x72, 0x67, 0x2c,
+  0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66,
+  0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28,
+  0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x25, 0x73, 0x25,
+  0x2a, 0x26, 0x3a, 0x3c, 0x3e, 0x2c, 0x5d, 0x2d, 0x25, 0x73, 0x2b, 0x6f,
+  0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x29, 0x25, 0x73, 0x2a, 0x28,
+  0x5b, 0x5e, 0x25, 0x73, 0x5d, 0x5b, 0x5e, 0x25, 0x73, 0x5d, 0x2a, 0x29,
+  0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a,
+  0x28, 0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29,
+  0x5b, 0x25, 0x73, 0x5c, 0x6e, 0x5d, 0x2a, 0x25, 0x62, 0x7b, 0x7d, 0x25,
+  0x73, 0x2a, 0x3b, 0x3f, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74,
+  0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x09, 0x2d,
+  0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x63, 0x61, 0x73, 0x74, 0x20, 0x6f,
+  0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x0a, 0x20, 0x20, 0x09, 0x62,
+  0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x6b, 0x69, 0x6e, 0x64,
+  0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x20,
+  0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
+  0x6f, 0x72, 0x29, 0x25, 0x73, 0x2b, 0x28, 0x5b, 0x25, 0x77, 0x5f, 0x3a,
+  0x25, 0x64, 0x3c, 0x3e, 0x25, 0x2a, 0x25, 0x26, 0x25, 0x73, 0x5d, 0x2b,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73,
+  0x2a, 0x28, 0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f,
+  0x29, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x62,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x09, 0x09, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x5f, 0x2c, 0x69, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73,
+  0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x25, 0x62, 0x7b, 0x7d, 0x22,
+  0x2c, 0x20, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x09, 0x09, 0x69,
+  0x66, 0x20, 0x69, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
+  0x09, 0x09, 0x09, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x65, 0x0a, 0x20, 0x20,
+  0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x09, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63,
+  0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
+  0x28, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x61,
+  0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x29, 0x0a, 0x20, 0x20,
+  0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73,
+  0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d,
+  0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x2d, 0x2d, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63,
+  0x6c, 0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c,
+  0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x7e, 0x5f, 0x25, 0x77, 0x5d,
+  0x5b, 0x5f, 0x40, 0x25, 0x77, 0x25, 0x73, 0x25, 0x2a, 0x26, 0x3a, 0x3c,
+  0x3e, 0x5d, 0x2a, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x29, 0x25, 0x73, 0x2a,
+  0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x63, 0x3f,
+  0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x25, 0x73, 0x2a,
+  0x3d, 0x3f, 0x25, 0x73, 0x2a, 0x30, 0x3f, 0x25, 0x73, 0x2a, 0x3b, 0x25,
+  0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x61, 0x72,
+  0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2c, 0x76, 0x69, 0x72, 0x74,
+  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73,
+  0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x28, 0x5c,
+  0x6e, 0x5d, 0x2b, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73,
+  0x3f, 0x74, 0x3f, 0x29, 0x76, 0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f,
+  0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f, 0x25, 0x73, 0x2a, 0x6f, 0x3f, 0x76,
+  0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65,
+  0x3f, 0x25, 0x73, 0x2a, 0x28, 0x3d, 0x3f, 0x25, 0x73, 0x2a, 0x30, 0x3f,
+  0x29, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20,
+  0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x20, 0x20, 0x09, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79,
+  0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69,
+  0x74, 0x68, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x0a,
+  0x20, 0x20, 0x09, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c,
+  0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x28, 0x5b, 0x7e, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f,
+  0x40, 0x25, 0x77, 0x25, 0x73, 0x25, 0x2a, 0x26, 0x3a, 0x3c, 0x3e, 0x5d,
+  0x2a, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x25, 0x62, 0x3c, 0x3e, 0x29, 0x25,
+  0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28,
+  0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x76,
+  0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65,
+  0x3f, 0x25, 0x73, 0x2a, 0x6f, 0x3f, 0x76, 0x3f, 0x65, 0x3f, 0x72, 0x3f,
+  0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f, 0x25, 0x73, 0x2a, 0x3d,
+  0x3f, 0x25, 0x73, 0x2a, 0x30, 0x3f, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73,
+  0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20,
+  0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x6c, 0x65, 0x74,
+  0x74, 0x65, 0x72, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x2c, 0x65,
+  0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f,
+  0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e,
+  0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f,
+  0x25, 0x77, 0x5d, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73,
+  0x3f, 0x74, 0x3f, 0x29, 0x76, 0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f,
+  0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f, 0x25, 0x73, 0x2a, 0x6f, 0x3f, 0x76,
+  0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65,
+  0x3f, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20,
+  0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f,
+  0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20,
+  0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
+  0x69, 0x6f, 0x6e, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x0a,
+  0x20, 0x20, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c,
+  0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x28, 0x3b, 0x5c, 0x6e, 0x5d,
+  0x2b, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x62,
+  0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62,
+  0x28, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x20, 0x22, 0x25, 0x28, 0x25, 0x73,
+  0x2a, 0x25, 0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x29, 0x5d, 0x2a, 0x29, 0x25,
+  0x73, 0x2a, 0x25, 0x29, 0x22, 0x2c, 0x20, 0x22, 0x20, 0x25, 0x31, 0x20,
+  0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74,
+  0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x76, 0x69,
+  0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x76, 0x69, 0x72, 0x74, 0x2c,
+  0x20, 0x22, 0x5b, 0x3d, 0x30, 0x5d, 0x22, 0x29, 0x20, 0x74, 0x68, 0x65,
+  0x6e, 0x0a, 0x20, 0x20, 0x09, 0x09, 0x69, 0x66, 0x20, 0x73, 0x65, 0x6c,
+  0x66, 0x2e, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x20, 0x20, 0x09, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x66,
+  0x6c, 0x61, 0x67, 0x73, 0x2e, 0x70, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69,
+  0x72, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65,
+  0x0a, 0x20, 0x20, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x09,
+  0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72,
+  0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73,
+  0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20,
+  0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x3d,
+  0x20, 0x27, 0x6f, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x27,
+  0x27, 0x0a, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20,
+  0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x64, 0x65, 0x63,
+  0x6c, 0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73,
+  0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29,
+  0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+  0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x6c,
+  0x69, 0x6e, 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c, 0x61, 0x72,
+  0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73,
+  0x2a, 0x28, 0x5b, 0x5e, 0x25, 0x28, 0x5c, 0x6e, 0x5d, 0x2b, 0x29, 0x25,
+  0x73, 0x2a, 0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28,
+  0x63, 0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x76,
+  0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65,
+  0x3f, 0x25, 0x73, 0x2a, 0x6f, 0x3f, 0x76, 0x3f, 0x65, 0x3f, 0x72, 0x3f,
+  0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f, 0x5b, 0x5e, 0x3b, 0x7b,
+  0x5d, 0x2a, 0x25, 0x62, 0x7b, 0x7d, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x25,
+  0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
+  0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c,
+  0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x28, 0x5b, 0x7e, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f,
+  0x40, 0x25, 0x77, 0x25, 0x73, 0x25, 0x2a, 0x26, 0x3a, 0x3c, 0x3e, 0x5d,
+  0x2a, 0x5b, 0x5f, 0x25, 0x77, 0x3e, 0x5d, 0x29, 0x25, 0x73, 0x2a, 0x28,
+  0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x63, 0x3f, 0x6f,
+  0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x5b, 0x5e, 0x3b, 0x5d,
+  0x2a, 0x25, 0x62, 0x7b, 0x7d, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x25, 0x73,
+  0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74,
+  0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2d,
+  0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67,
+  0x6c, 0x65, 0x20, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x66, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a,
+  0x20, 0x20, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x2c,
+  0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x29, 0x25, 0x73,
+  0x2a, 0x28, 0x25, 0x62, 0x28, 0x29, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x63,
+  0x3f, 0x6f, 0x3f, 0x6e, 0x3f, 0x73, 0x3f, 0x74, 0x3f, 0x29, 0x76, 0x3f,
+  0x65, 0x3f, 0x72, 0x3f, 0x72, 0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f,
+  0x25, 0x73, 0x2a, 0x6f, 0x3f, 0x76, 0x3f, 0x65, 0x3f, 0x72, 0x3f, 0x72,
+  0x3f, 0x69, 0x3f, 0x64, 0x3f, 0x65, 0x3f, 0x2e, 0x2d, 0x25, 0x62, 0x7b,
+  0x7d, 0x25, 0x73, 0x2a, 0x3b, 0x3f, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a,
+  0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x62,
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x5f, 0x63, 0x75,
+  0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a,
+  0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20,
+  0x3d, 0x3d, 0x20, 0x27, 0x6f, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d,
+  0x20, 0x27, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20,
+  0x20, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x64,
+  0x65, 0x63, 0x6c, 0x2c, 0x61, 0x72, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x73,
+  0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+  0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b,
+  0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e,
+  0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x63,
+  0x6c, 0x61, 0x73, 0x73, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x20, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d,
+  0x65, 0x2c, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x0a,
+  0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x20,
+  0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x0a, 0x09, 0x09,
+  0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25,
+  0x73, 0x2a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x25, 0x73, 0x2a, 0x28, 0x5b,
+  0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x40, 0x5d, 0x2a, 0x29,
+  0x25, 0x73, 0x2a, 0x3b, 0x22, 0x29, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x64,
+  0x75, 0x6d, 0x6d, 0x79, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x0a, 0x09,
+  0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79,
+  0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x09, 0x69,
+  0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e,
+  0x0a, 0x09, 0x09, 0x09, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65,
+  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73,
+  0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+  0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25,
+  0x77, 0x40, 0x5d, 0x2a, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x22, 0x29, 0x20,
+  0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66,
+  0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x09, 0x09, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65,
+  0x2c, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22,
+  0x5e, 0x25, 0x73, 0x2a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x25, 0x73, 0x2a,
+  0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x40, 0x5d,
+  0x2a, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x7b, 0x5d, 0x2d, 0x29,
+  0x25, 0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d, 0x29, 0x25, 0x73, 0x2a,
+  0x22, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f,
+  0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x09, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62,
+  0x61, 0x73, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25,
+  0x73, 0x2a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x25, 0x73, 0x2b, 0x28,
+  0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x40, 0x5d, 0x2a,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x7b, 0x5d, 0x2d, 0x29, 0x25,
+  0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d, 0x29, 0x25, 0x73, 0x2a, 0x22,
+  0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f,
+  0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x09, 0x09, 0x62, 0x2c, 0x65, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
+  0x62, 0x61, 0x73, 0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x25, 0x73, 0x2a, 0x28,
+  0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x40, 0x5d, 0x2a,
+  0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5e, 0x7b, 0x5d, 0x2d, 0x29, 0x25,
+  0x73, 0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d, 0x29, 0x25, 0x73, 0x2a, 0x22,
+  0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e,
+  0x6f, 0x74, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09,
+  0x09, 0x09, 0x09, 0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20,
+  0x27, 0x27, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x62, 0x2c,
+  0x65, 0x2c, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c,
+  0x22, 0x5e, 0x25, 0x73, 0x2a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66,
+  0x25, 0x73, 0x25, 0x73, 0x2a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x25,
+  0x73, 0x25, 0x73, 0x2a, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x2a, 0x25, 0x73,
+  0x2a, 0x28, 0x25, 0x62, 0x7b, 0x7d, 0x29, 0x25, 0x73, 0x2a, 0x28, 0x5b,
+  0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f, 0x25, 0x77, 0x40, 0x5d, 0x2a, 0x29,
+  0x25, 0x73, 0x2a, 0x3b, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09,
+  0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e,
+  0x64, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09,
+  0x09, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20,
+  0x3d, 0x20, 0x31, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6c,
+  0x73, 0x65, 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20, 0x3d, 0x20, 0x31,
+  0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x62, 0x20,
+  0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x62,
+  0x61, 0x73, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x74, 0x68,
+  0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75,
+  0x62, 0x28, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73,
+  0x2a, 0x3a, 0x25, 0x73, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a,
+  0x09, 0x09, 0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x62,
+  0x61, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x25, 0x73, 0x2a, 0x70, 0x75, 0x62,
+  0x6c, 0x69, 0x63, 0x25, 0x73, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29,
+  0x0a, 0x09, 0x09, 0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20,
+  0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x20,
+  0x22, 0x2c, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x6c,
+  0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x2d, 0x2d, 0x62, 0x2c, 0x65, 0x2c, 0x62, 0x61, 0x73, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x62, 0x61,
+  0x73, 0x65, 0x2c, 0x22, 0x2e, 0x2d, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d,
+  0x5b, 0x5f, 0x25, 0x77, 0x3c, 0x3e, 0x2c, 0x3a, 0x5d, 0x2a, 0x29, 0x24,
+  0x22, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09,
+  0x09, 0x09, 0x09, 0x62, 0x61, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x7d,
+  0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x5f,
+  0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c, 0x65,
+  0x29, 0x0a, 0x09, 0x09, 0x09, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x6e,
+  0x61, 0x6d, 0x65, 0x2c, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x62, 0x6f, 0x64,
+  0x79, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74,
+  0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x09, 0x09, 0x76, 0x61, 0x72, 0x62, 0x2c, 0x76, 0x61, 0x72,
+  0x65, 0x2c, 0x76, 0x61, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x64, 0x28,
+  0x73, 0x2c, 0x20, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25,
+  0x77, 0x5d, 0x2b, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x22, 0x2c, 0x20, 0x65,
+  0x2b, 0x31, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x76,
+  0x61, 0x72, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x09, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x6e,
+  0x61, 0x6d, 0x65, 0x2e, 0x2e, 0x22, 0x20, 0x22, 0x2e, 0x2e, 0x76, 0x61,
+  0x72, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09,
+  0x65, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x72, 0x65, 0x0a, 0x09, 0x09, 0x09,
+  0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
+  0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a,
+  0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x74, 0x79, 0x70, 0x65,
+  0x64, 0x65, 0x66, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f,
+  0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x74, 0x79, 0x70, 0x65,
+  0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28,
+  0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a, 0x74, 0x79, 0x70, 0x65, 0x64,
+  0x65, 0x66, 0x25, 0x73, 0x25, 0x73, 0x2a, 0x28, 0x2e, 0x2d, 0x29, 0x25,
+  0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x69,
+  0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20,
+  0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62, 0x2c,
+  0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x64, 0x65,
+  0x66, 0x28, 0x74, 0x79, 0x70, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d,
+  0x20, 0x74, 0x72, 0x79, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
+  0x65, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61,
+  0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22,
+  0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5f,
+  0x40, 0x25, 0x73, 0x25, 0x77, 0x25, 0x64, 0x25, 0x2a, 0x26, 0x3a, 0x3c,
+  0x3e, 0x2c, 0x5d, 0x2a, 0x5b, 0x5f, 0x25, 0x77, 0x25, 0x64, 0x5d, 0x29,
+  0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
+  0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x62,
+  0x2c, 0x65, 0x29, 0x0a, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x6c, 0x69, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x74,
+  0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x28, 0x64, 0x65,
+  0x63, 0x6c, 0x2c, 0x20, 0x22, 0x2c, 0x22, 0x29, 0x0a, 0x09, 0x56, 0x61,
+  0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x6c, 0x69, 0x73, 0x74, 0x5b,
+  0x31, 0x5d, 0x29, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x69, 0x73, 0x74,
+  0x2e, 0x6e, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x5f, 0x2c, 0x5f, 0x2c,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x66, 0x69,
+  0x6e, 0x64, 0x28, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20,
+  0x22, 0x28, 0x2e, 0x2d, 0x29, 0x25, 0x73, 0x2b, 0x28, 0x5b, 0x5e, 0x25,
+  0x73, 0x5d, 0x2a, 0x29, 0x24, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09,
+  0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x20, 0x3d, 0x32, 0x3b, 0x0a,
+  0x09, 0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74,
+  0x5b, 0x69, 0x5d, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09, 0x09, 0x56, 0x61,
+  0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x74, 0x79, 0x70, 0x65, 0x2e,
+  0x2e, 0x22, 0x20, 0x22, 0x2e, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x69,
+  0x5d, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x3d, 0x69, 0x2b, 0x31, 0x0a,
+  0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x20,
+  0x20, 0x20, 0x2d, 0x2d, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+  0x28, 0x64, 0x65, 0x63, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28,
+  0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64,
+  0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x74,
+  0x72, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x64,
+  0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x2c,
+  0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72,
+  0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22, 0x5e, 0x25, 0x73, 0x2a,
+  0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x3f, 0x5b, 0x5f, 0x25, 0x73, 0x25,
+  0x77, 0x25, 0x64, 0x5d, 0x2d, 0x63, 0x68, 0x61, 0x72, 0x25, 0x73, 0x2b,
+  0x5b, 0x5f, 0x40, 0x25, 0x77, 0x25, 0x64, 0x5d, 0x2a, 0x25, 0x73, 0x2a,
+  0x25, 0x5b, 0x25, 0x73, 0x2a, 0x25, 0x53, 0x2b, 0x25, 0x73, 0x2a, 0x25,
+  0x5d, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64,
+  0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73,
+  0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x56, 0x61, 0x72,
+  0x69, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x64, 0x65, 0x63, 0x6c, 0x29, 0x0a,
+  0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74,
+  0x72, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a,
+  0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x20, 0x2d, 0x2d, 0x20, 0x74, 0x72, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61,
+  0x79, 0x0a, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61,
+  0x6c, 0x20, 0x62, 0x2c, 0x65, 0x2c, 0x64, 0x65, 0x63, 0x6c, 0x20, 0x3d,
+  0x20, 0x73, 0x74, 0x72, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x73, 0x2c, 0x22,
+  0x5e, 0x25, 0x73, 0x2a, 0x28, 0x5b, 0x5f, 0x25, 0x77, 0x5d, 0x5b, 0x5d,
+  0x5b, 0x5f, 0x40, 0x25, 0x73, 0x25, 0x77, 0x25, 0x64, 0x25, 0x2a, 0x26,
+  0x3a, 0x3c, 0x3e, 0x5d, 0x2a, 0x5b, 0x5d, 0x5f, 0x25, 0x77, 0x25, 0x64,
+  0x5d, 0x29, 0x25, 0x73, 0x2a, 0x3b, 0x25, 0x73, 0x2a, 0x22, 0x29, 0x0a,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+  0x20, 0x20, 0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64,
+  0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75, 0x62, 0x28, 0x73,
+  0x2c, 0x62, 0x2c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x41, 0x72, 0x72,
+  0x61, 0x79, 0x28, 0x64, 0x65, 0x63, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x73, 0x75,
+  0x62, 0x28, 0x73, 0x2c, 0x65, 0x2b, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x2d, 0x2d,
+  0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
+  0x0a, 0x20, 0x69, 0x66, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x2c,
+  0x22, 0x25, 0x73, 0x25, 0x73, 0x2a, 0x22, 0x2c, 0x22, 0x22, 0x29, 0x20,
+  0x7e, 0x3d, 0x20, 0x22, 0x22, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20,
+  0x20, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x20,
+  0x3d, 0x20, 0x73, 0x0a, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28,
+  0x22, 0x23, 0x70, 0x61, 0x72, 0x73, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f,
+  0x72, 0x22, 0x29, 0x0a, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20,
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x65,
+  0x6e, 0x64, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e,
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43,
+  0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x70, 0x61, 0x72,
+  0x73, 0x65, 0x20, 0x28, 0x73, 0x29, 0x0a, 0x0a, 0x09, 0x2d, 0x2d, 0x73,
+  0x65, 0x6c, 0x66, 0x2e, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x6d,
+  0x62, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x3d,
+  0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65,
+  0x20, 0x73, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x64, 0x6f, 0x0a,
+  0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x64,
+  0x6f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x28, 0x73, 0x29, 0x0a, 0x20, 0x20,
+  0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x69, 0x73, 0x76, 0x69, 0x72, 0x74,
+  0x75, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a,
+  0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x0a, 0x2d,
+  0x2d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x74,
+  0x79, 0x70, 0x65, 0x73, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65,
+  0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x29, 0x0a, 0x0a,
+  0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73,
+  0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x63,
+  0x75, 0x72, 0x72, 0x3a, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70,
+  0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x29, 0x0a,
+  0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x65, 0x72, 0x3a, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f,
+  0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x70,
+  0x74, 0x79, 0x70, 0x65, 0x29, 0x0a, 0x09, 0x70, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73,
+  0x75, 0x62, 0x28, 0x70, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x22, 0x5e,
+  0x25, 0x73, 0x2a, 0x22, 0x2c, 0x20, 0x22, 0x22, 0x29, 0x0a, 0x09, 0x70,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x28, 0x70, 0x74, 0x79, 0x70, 0x65,
+  0x2c, 0x20, 0x22, 0x25, 0x73, 0x2a, 0x24, 0x22, 0x2c, 0x20, 0x22, 0x22,
+  0x29, 0x0a, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x72, 0x6f,
+  0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d,
+  0x20, 0x70, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61,
+  0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a,
+  0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
+  0x5f, 0x74, 0x79, 0x70, 0x65, 0x28, 0x29, 0x0a, 0x09, 0x72, 0x65, 0x74,
+  0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x72, 0x6f,
+  0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f,
+  0x72, 0x20, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x61, 0x72, 0x65,
+  0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e,
+  0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3a, 0x67, 0x65, 0x74, 0x5f, 0x70,
+  0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
+  0x28, 0x29, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x64, 0x65, 0x66, 0x61,
+  0x75, 0x6c, 0x74, 0x22, 0x0a, 0x65, 0x6e, 0x64, 0x0a
+};
+unsigned int lua_container_lua_len = 17673;