Allow selection of modules

--HG--
branch : minor
This commit is contained in:
Bart van Strien
2011-03-06 15:11:47 +01:00
parent b22e07048f
commit 22e75f72f1
3 changed files with 153 additions and 111 deletions
+122 -99
View File
@@ -174,106 +174,129 @@ const unsigned char boot_lua[] =
0x74,0x69,0x6F,0x6E,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x62,0x6F,0x6F,0x74,0x28,
0x29,0x20,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x28,0x22,0x6C,0x6F,0x76,0x65,
0x22,0x29,0x20,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x28,0x22,0x6C,0x6F,0x76,
0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x22,0x29,0x20,
0x6C,0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,0x2E,0x70,0x61,0x72,0x73,0x65,0x5F,
0x6F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x28,0x29,0x20,0x6C,0x6F,0x63,0x61,0x6C,
0x20,0x6F,0x20,0x3D,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,0x2E,0x6F,
0x70,0x74,0x69,0x6F,0x6E,0x73,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x61,0x72,
0x67,0x30,0x20,0x3D,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,0x2E,0x67,
0x65,0x74,0x4C,0x6F,0x77,0x28,0x61,0x72,0x67,0x29,0x20,0x6C,0x6F,0x76,0x65,
0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x69,0x6E,0x69,
0x74,0x28,0x61,0x72,0x67,0x30,0x29,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x63,
0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,0x65,0x20,0x3D,0x20,0x70,
0x63,0x61,0x6C,0x6C,0x28,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,
0x79,0x73,0x74,0x65,0x6D,0x2E,0x73,0x65,0x74,0x53,0x6F,0x75,0x72,0x63,0x65,
0x2C,0x20,0x61,0x72,0x67,0x30,0x29,0x20,0x69,0x66,0x20,0x6E,0x6F,0x74,0x20,
0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,0x65,0x20,0x61,0x6E,
0x64,0x20,0x6F,0x2E,0x67,0x61,0x6D,0x65,0x2E,0x73,0x65,0x74,0x20,0x61,0x6E,
0x64,0x20,0x6F,0x2E,0x67,0x61,0x6D,0x65,0x2E,0x61,0x72,0x67,0x5B,0x31,0x5D,
0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x66,0x75,0x6C,
0x6C,0x5F,0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x3D,0x20,0x6C,0x6F,0x76,0x65,
0x2E,0x70,0x61,0x74,0x68,0x2E,0x67,0x65,0x74,0x66,0x75,0x6C,0x6C,0x28,0x6F,
0x2E,0x67,0x61,0x6D,0x65,0x2E,0x61,0x72,0x67,0x5B,0x31,0x5D,0x29,0x20,0x6C,
0x6F,0x63,0x61,0x6C,0x20,0x6C,0x65,0x61,0x66,0x20,0x3D,0x20,0x6C,0x6F,0x76,
0x65,0x2E,0x70,0x61,0x74,0x68,0x2E,0x6C,0x65,0x61,0x66,0x28,0x66,0x75,0x6C,
0x6C,0x5F,0x73,0x6F,0x75,0x72,0x63,0x65,0x29,0x20,0x6C,0x6F,0x76,0x65,0x2E,
0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x73,0x65,0x74,0x49,
0x64,0x65,0x6E,0x74,0x69,0x74,0x79,0x28,0x6C,0x65,0x61,0x66,0x29,0x20,0x63,
0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,0x65,0x20,0x3D,0x20,0x70,
0x63,0x61,0x6C,0x6C,0x28,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,
0x79,0x73,0x74,0x65,0x6D,0x2E,0x73,0x65,0x74,0x53,0x6F,0x75,0x72,0x63,0x65,
0x2C,0x20,0x66,0x75,0x6C,0x6C,0x5F,0x73,0x6F,0x75,0x72,0x63,0x65,0x29,0x20,
0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,
0x67,0x61,0x6D,0x65,0x20,0x61,0x6E,0x64,0x20,0x6E,0x6F,0x74,0x20,0x28,0x6C,
0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x70,0x68,
0x79,0x73,0x66,0x73,0x22,0x29,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,
0x2E,0x70,0x61,0x72,0x73,0x65,0x5F,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x28,
0x29,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,0x20,0x3D,0x20,0x6C,0x6F,0x76,
0x65,0x2E,0x61,0x72,0x67,0x2E,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x20,0x6C,
0x6F,0x63,0x61,0x6C,0x20,0x61,0x72,0x67,0x30,0x20,0x3D,0x20,0x6C,0x6F,0x76,
0x65,0x2E,0x61,0x72,0x67,0x2E,0x67,0x65,0x74,0x4C,0x6F,0x77,0x28,0x61,0x72,
0x67,0x29,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,
0x74,0x65,0x6D,0x2E,0x69,0x6E,0x69,0x74,0x28,0x61,0x72,0x67,0x30,0x29,0x20,
0x6C,0x6F,0x63,0x61,0x6C,0x20,0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,
0x61,0x6D,0x65,0x20,0x3D,0x20,0x70,0x63,0x61,0x6C,0x6C,0x28,0x6C,0x6F,0x76,
0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x73,0x65,
0x74,0x53,0x6F,0x75,0x72,0x63,0x65,0x2C,0x20,0x61,0x72,0x67,0x30,0x29,0x20,
0x69,0x66,0x20,0x6E,0x6F,0x74,0x20,0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,
0x67,0x61,0x6D,0x65,0x20,0x61,0x6E,0x64,0x20,0x6F,0x2E,0x67,0x61,0x6D,0x65,
0x2E,0x73,0x65,0x74,0x20,0x61,0x6E,0x64,0x20,0x6F,0x2E,0x67,0x61,0x6D,0x65,
0x2E,0x61,0x72,0x67,0x5B,0x31,0x5D,0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,0x6F,
0x63,0x61,0x6C,0x20,0x66,0x75,0x6C,0x6C,0x5F,0x73,0x6F,0x75,0x72,0x63,0x65,
0x20,0x3D,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x70,0x61,0x74,0x68,0x2E,0x67,0x65,
0x74,0x66,0x75,0x6C,0x6C,0x28,0x6F,0x2E,0x67,0x61,0x6D,0x65,0x2E,0x61,0x72,
0x67,0x5B,0x31,0x5D,0x29,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6C,0x65,0x61,
0x66,0x20,0x3D,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x70,0x61,0x74,0x68,0x2E,0x6C,
0x65,0x61,0x66,0x28,0x66,0x75,0x6C,0x6C,0x5F,0x73,0x6F,0x75,0x72,0x63,0x65,
0x29,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,
0x65,0x6D,0x2E,0x73,0x65,0x74,0x49,0x64,0x65,0x6E,0x74,0x69,0x74,0x79,0x28,
0x6C,0x65,0x61,0x66,0x29,0x20,0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,
0x61,0x6D,0x65,0x20,0x3D,0x20,0x70,0x63,0x61,0x6C,0x6C,0x28,0x6C,0x6F,0x76,
0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x73,0x65,
0x74,0x53,0x6F,0x75,0x72,0x63,0x65,0x2C,0x20,0x66,0x75,0x6C,0x6C,0x5F,0x73,
0x6F,0x75,0x72,0x63,0x65,0x29,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x63,
0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,0x65,0x20,0x61,0x6E,0x64,
0x20,0x6E,0x6F,0x74,0x20,0x28,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,
0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x65,0x78,0x69,0x73,0x74,0x73,0x28,0x22,
0x6D,0x61,0x69,0x6E,0x2E,0x6C,0x75,0x61,0x22,0x29,0x20,0x6F,0x72,0x20,0x6C,
0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,
0x65,0x78,0x69,0x73,0x74,0x73,0x28,0x22,0x6D,0x61,0x69,0x6E,0x2E,0x6C,0x75,
0x61,0x22,0x29,0x20,0x6F,0x72,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,
0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x65,0x78,0x69,0x73,0x74,0x73,0x28,
0x22,0x63,0x6F,0x6E,0x66,0x2E,0x6C,0x75,0x61,0x22,0x29,0x29,0x20,0x74,0x68,
0x65,0x6E,0x20,0x6E,0x6F,0x5F,0x67,0x61,0x6D,0x65,0x5F,0x63,0x6F,0x64,0x65,
0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,0x20,
0x6E,0x6F,0x74,0x20,0x63,0x61,0x6E,0x5F,0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,
0x65,0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x6E,0x6F,0x67,
0x61,0x6D,0x65,0x28,0x29,0x20,0x65,0x6E,0x64,0x20,0x65,0x6E,0x64,0x20,0x66,
0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x69,0x6E,
0x69,0x74,0x28,0x29,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x63,0x20,0x3D,0x20,
0x7B,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,0x3D,0x20,0x22,0x55,0x6E,0x74,0x69,
0x74,0x6C,0x65,0x64,0x22,0x2C,0x20,0x61,0x75,0x74,0x68,0x6F,0x72,0x20,0x3D,
0x20,0x22,0x55,0x6E,0x6E,0x61,0x6D,0x65,0x64,0x22,0x2C,0x20,0x76,0x65,0x72,
0x73,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x30,0x2C,0x20,0x73,0x63,0x72,0x65,0x65,
0x6E,0x20,0x3D,0x20,0x7B,0x20,0x77,0x69,0x64,0x74,0x68,0x20,0x3D,0x20,0x38,
0x30,0x30,0x2C,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x20,0x3D,0x20,0x36,0x30,
0x30,0x2C,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x3D,
0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,0x76,0x73,0x79,0x6E,0x63,0x20,0x3D,
0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x66,0x73,0x61,0x61,0x20,0x3D,0x20,0x30,
0x2C,0x20,0x7D,0x2C,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x20,0x3D,0x20,
0x7B,0x20,0x65,0x76,0x65,0x6E,0x74,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,
0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x3D,0x20,0x74,0x72,0x75,
0x65,0x2C,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,
0x2C,0x20,0x74,0x69,0x6D,0x65,0x72,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,
0x20,0x6A,0x6F,0x79,0x73,0x74,0x69,0x63,0x6B,0x20,0x3D,0x20,0x74,0x72,0x75,
0x65,0x2C,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,
0x2C,0x20,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x73,0x20,0x3D,0x20,0x74,0x72,
0x75,0x65,0x2C,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x3D,0x20,0x74,0x72,0x75,
0x65,0x2C,0x20,0x70,0x68,0x79,0x73,0x69,0x63,0x73,0x20,0x3D,0x20,0x74,0x72,
0x75,0x65,0x2C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x3D,0x20,0x74,0x72,0x75,
0x65,0x2C,0x20,0x66,0x6F,0x6E,0x74,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,
0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,
0x20,0x7D,0x2C,0x20,0x63,0x6F,0x6E,0x73,0x6F,0x6C,0x65,0x20,0x3D,0x20,0x66,
0x61,0x6C,0x73,0x65,0x2C,0x20,0x69,0x64,0x65,0x6E,0x74,0x69,0x74,0x79,0x20,
0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,0x72,0x65,0x6C,0x65,0x61,0x73,
0x65,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,0x7D,0x20,0x69,0x66,
0x20,0x6E,0x6F,0x74,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x63,0x6F,0x6E,0x66,0x20,
0x61,0x6E,0x64,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,
0x73,0x74,0x65,0x6D,0x20,0x61,0x6E,0x64,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,
0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x65,0x78,0x69,0x73,0x74,
0x73,0x28,0x22,0x63,0x6F,0x6E,0x66,0x2E,0x6C,0x75,0x61,0x22,0x29,0x20,0x74,
0x68,0x65,0x6E,0x20,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x28,0x22,0x63,0x6F,
0x6E,0x66,0x2E,0x6C,0x75,0x61,0x22,0x29,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,
0x20,0x6C,0x6F,0x76,0x65,0x2E,0x63,0x6F,0x6E,0x66,0x20,0x74,0x68,0x65,0x6E,
0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,0x6B,0x2C,0x20,0x65,0x72,0x72,0x20,
0x3D,0x20,0x70,0x63,0x61,0x6C,0x6C,0x28,0x6C,0x6F,0x76,0x65,0x2E,0x63,0x6F,
0x6E,0x66,0x2C,0x20,0x63,0x29,0x20,0x69,0x66,0x20,0x6E,0x6F,0x74,0x20,0x6F,
0x6B,0x20,0x74,0x68,0x65,0x6E,0x20,0x70,0x72,0x69,0x6E,0x74,0x28,0x65,0x72,
0x72,0x29,0x20,0x65,0x6E,0x64,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x63,
0x2E,0x72,0x65,0x6C,0x65,0x61,0x73,0x65,0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,
0x6F,0x76,0x65,0x2E,0x5F,0x72,0x65,0x6C,0x65,0x61,0x73,0x65,0x20,0x3D,0x20,
0x7B,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,0x3D,0x20,0x63,0x2E,0x74,0x69,0x74,
0x6C,0x65,0x20,0x7E,0x3D,0x20,0x22,0x55,0x6E,0x74,0x69,0x74,0x6C,0x65,0x64,
0x22,0x20,0x61,0x6E,0x64,0x20,0x63,0x2E,0x74,0x69,0x74,0x6C,0x65,0x20,0x6F,
0x72,0x20,0x6E,0x69,0x6C,0x2C,0x20,0x61,0x75,0x74,0x68,0x6F,0x72,0x20,0x3D,
0x20,0x63,0x2E,0x61,0x75,0x74,0x68,0x6F,0x72,0x20,0x7E,0x3D,0x20,0x22,0x55,
0x6E,0x6E,0x61,0x6D,0x65,0x64,0x22,0x20,0x61,0x6E,0x64,0x20,0x63,0x2E,0x61,
0x75,0x74,0x68,0x6F,0x72,0x20,0x6F,0x72,0x20,0x6E,0x69,0x6C,0x20,0x7D,0x20,
0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,
0x2E,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x63,0x6F,0x6E,0x73,0x6F,0x6C,
0x65,0x2E,0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x6E,0x20,0x63,0x2E,0x63,0x6F,
0x6E,0x73,0x6F,0x6C,0x65,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x20,0x65,0x6E,
0x64,0x20,0x66,0x6F,0x72,0x20,0x6B,0x2C,0x76,0x20,0x69,0x6E,0x20,0x70,0x61,
0x69,0x72,0x73,0x28,0x63,0x2E,0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x29,0x20,
0x64,0x6F,0x20,0x69,0x66,0x20,0x76,0x20,0x74,0x68,0x65,0x6E,0x20,0x72,0x65,
0x71,0x75,0x69,0x72,0x65,0x28,0x22,0x6C,0x6F,0x76,0x65,0x2E,0x22,0x20,0x2E,
0x2E,0x20,0x6B,0x29,0x20,0x65,0x6E,0x64,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,
0x65,0x78,0x69,0x73,0x74,0x73,0x28,0x22,0x63,0x6F,0x6E,0x66,0x2E,0x6C,0x75,
0x61,0x22,0x29,0x29,0x20,0x74,0x68,0x65,0x6E,0x20,0x6E,0x6F,0x5F,0x67,0x61,
0x6D,0x65,0x5F,0x63,0x6F,0x64,0x65,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x20,
0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x6E,0x6F,0x74,0x20,0x63,0x61,0x6E,0x5F,
0x68,0x61,0x73,0x5F,0x67,0x61,0x6D,0x65,0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,
0x6F,0x76,0x65,0x2E,0x6E,0x6F,0x67,0x61,0x6D,0x65,0x28,0x29,0x20,0x65,0x6E,
0x64,0x20,0x65,0x6E,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,
0x6C,0x6F,0x76,0x65,0x2E,0x69,0x6E,0x69,0x74,0x28,0x29,0x20,0x6C,0x6F,0x63,
0x61,0x6C,0x20,0x63,0x20,0x3D,0x20,0x7B,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,
0x3D,0x20,0x22,0x55,0x6E,0x74,0x69,0x74,0x6C,0x65,0x64,0x22,0x2C,0x20,0x61,
0x75,0x74,0x68,0x6F,0x72,0x20,0x3D,0x20,0x22,0x55,0x6E,0x6E,0x61,0x6D,0x65,
0x64,0x22,0x2C,0x20,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x30,
0x2C,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x3D,0x20,0x7B,0x20,0x77,0x69,
0x64,0x74,0x68,0x20,0x3D,0x20,0x38,0x30,0x30,0x2C,0x20,0x68,0x65,0x69,0x67,
0x68,0x74,0x20,0x3D,0x20,0x36,0x30,0x30,0x2C,0x20,0x66,0x75,0x6C,0x6C,0x73,
0x63,0x72,0x65,0x65,0x6E,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,
0x76,0x73,0x79,0x6E,0x63,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x66,
0x73,0x61,0x61,0x20,0x3D,0x20,0x30,0x2C,0x20,0x7D,0x2C,0x20,0x6D,0x6F,0x64,
0x75,0x6C,0x65,0x73,0x20,0x3D,0x20,0x7B,0x20,0x65,0x76,0x65,0x6E,0x74,0x20,
0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,
0x64,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x6D,0x6F,0x75,0x73,0x65,
0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x74,0x69,0x6D,0x65,0x72,0x20,
0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x6A,0x6F,0x79,0x73,0x74,0x69,0x63,
0x6B,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x69,0x6D,0x61,0x67,0x65,
0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x67,0x72,0x61,0x70,0x68,0x69,
0x63,0x73,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x61,0x75,0x64,0x69,
0x6F,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x70,0x68,0x79,0x73,0x69,
0x63,0x73,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x73,0x6F,0x75,0x6E,
0x64,0x20,0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x66,0x6F,0x6E,0x74,0x20,
0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,
0x3D,0x20,0x74,0x72,0x75,0x65,0x2C,0x20,0x7D,0x2C,0x20,0x63,0x6F,0x6E,0x73,
0x6F,0x6C,0x65,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,0x69,0x64,
0x65,0x6E,0x74,0x69,0x74,0x79,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,0x2C,
0x20,0x72,0x65,0x6C,0x65,0x61,0x73,0x65,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,
0x65,0x2C,0x20,0x7D,0x20,0x69,0x66,0x20,0x6E,0x6F,0x74,0x20,0x6C,0x6F,0x76,
0x65,0x2E,0x63,0x6F,0x6E,0x66,0x20,0x61,0x6E,0x64,0x20,0x6C,0x6F,0x76,0x65,
0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x20,0x61,0x6E,0x64,
0x20,0x6C,0x6F,0x76,0x65,0x2E,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,
0x6D,0x2E,0x65,0x78,0x69,0x73,0x74,0x73,0x28,0x22,0x63,0x6F,0x6E,0x66,0x2E,
0x6C,0x75,0x61,0x22,0x29,0x20,0x74,0x68,0x65,0x6E,0x20,0x72,0x65,0x71,0x75,
0x69,0x72,0x65,0x28,0x22,0x63,0x6F,0x6E,0x66,0x2E,0x6C,0x75,0x61,0x22,0x29,
0x20,0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x63,0x6F,
0x6E,0x66,0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,
0x6B,0x2C,0x20,0x65,0x72,0x72,0x20,0x3D,0x20,0x70,0x63,0x61,0x6C,0x6C,0x28,
0x6C,0x6F,0x76,0x65,0x2E,0x63,0x6F,0x6E,0x66,0x2C,0x20,0x63,0x29,0x20,0x69,
0x66,0x20,0x6E,0x6F,0x74,0x20,0x6F,0x6B,0x20,0x74,0x68,0x65,0x6E,0x20,0x70,
0x72,0x69,0x6E,0x74,0x28,0x65,0x72,0x72,0x29,0x20,0x65,0x6E,0x64,0x20,0x65,
0x6E,0x64,0x20,0x69,0x66,0x20,0x63,0x2E,0x72,0x65,0x6C,0x65,0x61,0x73,0x65,
0x20,0x74,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x5F,0x72,0x65,0x6C,
0x65,0x61,0x73,0x65,0x20,0x3D,0x20,0x7B,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,
0x3D,0x20,0x63,0x2E,0x74,0x69,0x74,0x6C,0x65,0x20,0x7E,0x3D,0x20,0x22,0x55,
0x6E,0x74,0x69,0x74,0x6C,0x65,0x64,0x22,0x20,0x61,0x6E,0x64,0x20,0x63,0x2E,
0x74,0x69,0x74,0x6C,0x65,0x20,0x6F,0x72,0x20,0x6E,0x69,0x6C,0x2C,0x20,0x61,
0x75,0x74,0x68,0x6F,0x72,0x20,0x3D,0x20,0x63,0x2E,0x61,0x75,0x74,0x68,0x6F,
0x72,0x20,0x7E,0x3D,0x20,0x22,0x55,0x6E,0x6E,0x61,0x6D,0x65,0x64,0x22,0x20,
0x61,0x6E,0x64,0x20,0x63,0x2E,0x61,0x75,0x74,0x68,0x6F,0x72,0x20,0x6F,0x72,
0x20,0x6E,0x69,0x6C,0x20,0x7D,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,0x20,0x6C,
0x6F,0x76,0x65,0x2E,0x61,0x72,0x67,0x2E,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x73,
0x2E,0x63,0x6F,0x6E,0x73,0x6F,0x6C,0x65,0x2E,0x73,0x65,0x74,0x20,0x74,0x68,
0x65,0x6E,0x20,0x63,0x2E,0x63,0x6F,0x6E,0x73,0x6F,0x6C,0x65,0x20,0x3D,0x20,
0x74,0x72,0x75,0x65,0x20,0x65,0x6E,0x64,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,
0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x20,
0x3D,0x20,0x7B,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x3D,0x20,0x66,0x61,0x6C,
0x73,0x65,0x2C,0x20,0x65,0x76,0x65,0x6E,0x74,0x20,0x3D,0x20,0x22,0x73,0x64,
0x6C,0x22,0x2C,0x20,0x66,0x69,0x6C,0x65,0x73,0x79,0x73,0x74,0x65,0x6D,0x20,
0x3D,0x20,0x22,0x70,0x68,0x79,0x73,0x66,0x73,0x22,0x2C,0x20,0x66,0x6F,0x6E,
0x74,0x20,0x3D,0x20,0x22,0x66,0x72,0x65,0x65,0x74,0x79,0x70,0x65,0x22,0x2C,
0x20,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x73,0x20,0x3D,0x20,0x22,0x6F,0x70,
0x65,0x6E,0x67,0x6C,0x22,0x2C,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,
0x66,0x61,0x6C,0x73,0x65,0x2C,0x20,0x6A,0x6F,0x79,0x73,0x74,0x69,0x63,0x6B,
0x20,0x3D,0x20,0x22,0x73,0x64,0x6C,0x22,0x2C,0x20,0x6B,0x65,0x79,0x62,0x6F,
0x61,0x72,0x64,0x20,0x3D,0x20,0x22,0x73,0x64,0x6C,0x22,0x2C,0x20,0x6D,0x6F,
0x75,0x73,0x65,0x20,0x3D,0x20,0x22,0x73,0x64,0x6C,0x22,0x2C,0x20,0x70,0x68,
0x79,0x73,0x69,0x63,0x73,0x20,0x3D,0x20,0x22,0x62,0x6F,0x78,0x32,0x64,0x22,
0x2C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x3D,0x20,0x66,0x61,0x6C,0x73,0x65,
0x2C,0x20,0x74,0x69,0x6D,0x65,0x72,0x20,0x3D,0x20,0x22,0x73,0x64,0x6C,0x22,
0x2C,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x22,0x73,0x64,0x6C,
0x22,0x20,0x7D,0x20,0x66,0x6F,0x72,0x20,0x6B,0x2C,0x76,0x20,0x69,0x6E,0x20,
0x70,0x61,0x69,0x72,0x73,0x28,0x63,0x2E,0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,
0x29,0x20,0x64,0x6F,0x20,0x69,0x66,0x20,0x76,0x20,0x74,0x68,0x65,0x6E,0x20,
0x69,0x66,0x20,0x74,0x79,0x70,0x65,0x28,0x76,0x29,0x20,0x7E,0x3D,0x20,0x22,
0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x20,0x74,0x68,0x65,0x6E,0x20,0x76,0x20,
0x3D,0x20,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x6D,0x6F,0x64,0x75,0x6C,0x65,
0x73,0x5B,0x6B,0x5D,0x20,0x65,0x6E,0x64,0x20,0x72,0x65,0x71,0x75,0x69,0x72,
0x65,0x28,0x28,0x76,0x20,0x61,0x6E,0x64,0x20,0x22,0x6C,0x6F,0x76,0x65,0x2E,
0x25,0x73,0x2E,0x25,0x73,0x22,0x20,0x6F,0x72,0x20,0x22,0x6C,0x6F,0x76,0x65,
0x2E,0x25,0x73,0x22,0x29,0x3A,0x66,0x6F,0x72,0x6D,0x61,0x74,0x28,0x6B,0x2C,
0x20,0x76,0x29,0x29,0x20,0x65,0x6E,0x64,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,
0x20,0x6C,0x6F,0x76,0x65,0x2E,0x65,0x76,0x65,0x6E,0x74,0x20,0x74,0x68,0x65,
0x6E,0x20,0x6C,0x6F,0x76,0x65,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x68,0x61,
0x6E,0x64,0x6C,0x65,0x72,0x73,0x28,0x29,0x20,0x65,0x6E,0x64,0x20,0x69,0x66,