Browse Source

apply lightning also to non block shaped blocks

Kolja Strohm 2 years ago
parent
commit
a3679b2f4e

+ 14 - 3
FactoryCraft/Block.cpp

@@ -48,9 +48,11 @@ void Block::beforeRender(
     }
     else if (cApi)
     {
-        int count = 0;
+        int count = 1;
         zVertexShader->füllConstBuffer(
             (char*)&count, cApi->getVertexShaderLightBufferIndex(), 4);
+        zVertexShader->füllConstBuffer(
+            lightBuffer, cApi->getVertexShaderLightBufferIndex() + 1, 4);
     }
 }
 
@@ -58,7 +60,7 @@ void Block::afterRender(
     GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader)
 {
     CustomDX11API* cApi = dynamic_cast<CustomDX11API*>(api);
-    if (cApi && model->getVertexAnzahl() == 24)
+    if (cApi)
     {
         int count = 0;
         zVertexShader->füllConstBuffer(
@@ -80,9 +82,9 @@ void Block::api(char* message)
 void Block::setLightData(Direction dir, unsigned char* data)
 {
     memcpy(lightData + getDirectionIndex(dir) * 6, data, 6);
+    float dayLightFactor = 1.0; // TODO: day (1.f) - night (0.1f) adjustment
     if (model->getVertexAnzahl() == 24)
     {
-        float dayLightFactor = 1.0; // TODO: day (1.f) - night (0.1f) adjustment
         const Vertex3D* verticies = model->zVertexBuffer();
         for (int i = 0; i < 24; i++)
         { // TODO: calculate rotations
@@ -111,6 +113,15 @@ void Block::setLightData(Direction dir, unsigned char* data)
             *(int*)(lightBuffer + i * 4) = l;
         }
     }
+    else
+    {
+        Vec3<unsigned char> light = Vec3<unsigned char>(
+            max((unsigned char)((float)data[0] * dayLightFactor), data[3]),
+            max((unsigned char)((float)data[1] * dayLightFactor), data[4]),
+            max((unsigned char)((float)data[2] * dayLightFactor), data[5]));
+        int l = ((((light.x << 8) | light.y) << 8) | light.z) << 8;
+        *(int*)lightBuffer = l;
+    }
     if (data[0] | data[1] | data[2] | data[3] | data[4] | data[5])
         sideVisible[getDirectionIndex(dir)] = 1;
     else

+ 22 - 22
FactoryCraft/CustomUIDX11PixelShader.h

@@ -257,10 +257,10 @@ ret
 
 const BYTE CustomUIDX11PixelShader[] =
 {
-     68,  88,  66,  67, 193, 171, 
-      8,  50,  20, 161,  51,  19, 
-     73, 219, 180,  95,  42,  67, 
-    170, 229,   1,   0,   0,   0, 
+     68,  88,  66,  67,  54, 175, 
+    114,  18,  77,  44,  32,  72, 
+    178, 200, 125, 172, 156,  75, 
+    223, 226,   1,   0,   0,   0, 
     164, 118,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
     252,   4,   0,   0, 164,   5, 
@@ -1394,11 +1394,11 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0, 148,  46, 
-     49,   1, 222,  26,  15,  99, 
-      1,   0,   0,   0, 193, 133, 
-    173, 159, 157,  15,  63,  64, 
-    158, 102,  61, 183, 199, 238, 
-    223,  97,   0,   0,   0,   0, 
+     49,   1, 182, 167,  15,  99, 
+      1,   0,   0,   0, 212, 103, 
+     92, 156,  47, 113, 124,  74, 
+    177, 236,  28, 149, 211,  36, 
+    118, 153,   0,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1569,10 +1569,10 @@ const BYTE CustomUIDX11PixelShader[] =
       3,   0, 194,  82,   1,   0, 
      43, 236,   3,   0,  28,  19, 
       2,   0,  65,  36,   1,   0, 
-    236, 179,   1,   0,  81,  37, 
-      2,   0, 125,  10,   2,   0, 
-    125, 181,   2,   0,  88,   7, 
-      0,   0, 193,  33,   3,   0, 
+    236, 179,   1,   0, 184, 110, 
+      0,   0, 125,  10,   2,   0, 
+    125, 181,   2,   0, 190, 221, 
+      1,   0, 193,  33,   3,   0, 
      65, 185,   2,   0, 146, 230, 
       3,   0,  53, 174,   3,   0, 
     118,  19,   1,   0,  98, 163, 
@@ -2589,8 +2589,8 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  27, 226,  48,   1, 
-    128,   0,   0,   0, 185, 255, 
-     99,  42,  19, 189, 216,   1, 
+    128,   0,   0,   0,  62,  68, 
+    234,  29, 103, 189, 216,   1, 
       1,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3579,14 +3579,14 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,  23,   0,   1,   0, 
       5,  16,   0,   0,  14,   0, 
      23,  21,   0,  16,   0,   0, 
-      3,   2,   0,  56,   0,   0, 
+      3,   2,  96, 181,   0,   0, 
     242, 241,  10,   0,  24,  21, 
       8,  16,   0,   0,   1,   0, 
       1,   0,  10,   0,  24,  21, 
       9,  16,   0,   0,   1,   0, 
       0,   2,  14,   0,  23,  21, 
       0,   0,   0,   0,  10,   2, 
-      0,  56,   0,   0, 242, 241, 
+     96, 181,   0,   0, 242, 241, 
      10,   0,  24,  21,  11,  16, 
       0,   0,   1,   0,   1,   0, 
      10,   0,  24,  21,  12,  16, 
@@ -4807,11 +4807,11 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 222,  26, 
+    148,  46,  49,   1, 182, 167, 
      15,  99,   1,   0,   0,   0, 
-    193, 133, 173, 159, 157,  15, 
-     63,  64, 158, 102,  61, 183, 
-    199, 238, 223,  97, 174,   0, 
+    212, 103,  92, 156,  47, 113, 
+    124,  74, 177, 236,  28, 149, 
+    211,  36, 118, 153, 174,   0, 
       0,   0,  47,  76, 105, 110, 
     107,  73, 110, 102, 111,   0, 
      47, 110,  97, 109, 101, 115, 
@@ -4911,7 +4911,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   2,   0,   9,   0, 
      76,   7,   0,   0,   0,   0, 
       0,   0, 100,   9,   0,   0, 
-      1,   0, 242, 145,   0,   0, 
+      1,   0, 249, 164,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,  84, 101, 
     120, 116, 117, 114, 101,  80, 

+ 2185 - 2073
FactoryCraft/CustomUIDX11VertexShader.h

@@ -110,13 +110,13 @@ dp3 r0.x, r1.xyzx, r1.xyzx
 rsq r0.x, r0.x
 mul r0.xyz, r0.xxxx, r1.xyzx  // r0.x <- output.normal.x; r0.y <- output.normal.y; r0.z <- output.normal.z
 
-#line 57
+#line 58
 mov r1.w, l(1.000000)  // r1.w <- input.position.w
 
-#line 60
+#line 61
 mov r2.xy, v1.xyxx  // r2.x <- output.tex.x; r2.y <- output.tex.y
 
-#line 63
+#line 65
 imul null, r0.w, v3.x, l(4)
 mov r1.xyz, v0.xyzx
 dp4 r3.x, r1.xyzw, cb0[r0.w + 0].xyzw  // r3.x <- output.worldPos.x
@@ -124,95 +124,128 @@ dp4 r3.y, r1.xyzw, cb0[r0.w + 1].xyzw  // r3.y <- output.worldPos.y
 dp4 r3.z, r1.xyzw, cb0[r0.w + 2].xyzw  // r3.z <- output.worldPos.z
 dp4 r3.w, r1.xyzw, cb0[r0.w + 3].xyzw  // r3.w <- output.worldPos.w
 
-#line 64
+#line 66
 dp4 r1.x, r3.xyzw, cb1[0].xyzw  // r1.x <- output.position.x
 dp4 r1.y, r3.xyzw, cb1[1].xyzw  // r1.y <- output.position.y
 dp4 r1.z, r3.xyzw, cb1[2].xyzw  // r1.z <- output.position.z
 dp4 r1.w, r3.xyzw, cb1[3].xyzw  // r1.w <- output.position.w
 
-#line 65
+#line 67
 dp4 r4.x, r1.xyzw, cb1[4].xyzw  // r4.x <- output.position.x
 dp4 r4.y, r1.xyzw, cb1[5].xyzw  // r4.y <- output.position.y
 dp4 r4.z, r1.xyzw, cb1[6].xyzw  // r4.z <- output.position.z
 dp4 r4.w, r1.xyzw, cb1[7].xyzw  // r4.w <- output.position.w
 
-#line 66
+#line 68
 mov r1.xyzw, l(1.000000,1.000000,1.000000,0)  // r1.x <- output.light.x; r1.y <- output.light.y; r1.z <- output.light.z; r1.w <- output.light.w
 
-#line 67
-ult r0.w, v4.x, cb2[0].x
+#line 69
+mov r0.w, l(1)
+ieq r0.w, r0.w, cb2[0].x
 if_nz r0.w
-  mov r0.w, v4.x  // r0.w <- input.id
 
-#line 69
-  mov r2.z, l(4)
-  udiv null, r2.z, r0.w, r2.z
-  mov r2.w, l(4)
-  udiv r2.w, null, r0.w, r2.w
-  and r5.xyzw, cb3[r2.w + 0].xyzw, icb[r2.z + 0].xyzw
-  or r2.zw, r5.yyyw, r5.xxxz
-  or r2.z, r2.w, r2.z
-  mov r2.w, l(24)
-  ushr r2.z, r2.z, r2.w
-  and r2.z, r2.z, l(255)
-  utof r2.z, r2.z
-  div r1.x, r2.z, l(255.000000)
+#line 71
+  mov r0.w, l(24)
+  ushr r0.w, cb3[0].x, r0.w
+  and r0.w, r0.w, l(255)
+  utof r0.w, r0.w
+  div r1.x, r0.w, l(255.000000)
 
-#line 70
-  mov r2.z, l(4)
-  udiv null, r2.z, r0.w, r2.z
-  mov r2.w, l(4)
-  udiv r2.w, null, r0.w, r2.w
-  and r5.xyzw, cb3[r2.w + 0].xyzw, icb[r2.z + 0].xyzw
-  or r2.zw, r5.yyyw, r5.xxxz
-  or r2.z, r2.w, r2.z
-  mov r2.w, l(16)
-  ushr r2.z, r2.z, r2.w
-  and r2.z, r2.z, l(255)
-  utof r2.z, r2.z
-  div r1.y, r2.z, l(255.000000)
+#line 72
+  mov r0.w, l(16)
+  ushr r0.w, cb3[0].x, r0.w
+  and r0.w, r0.w, l(255)
+  utof r0.w, r0.w
+  div r1.y, r0.w, l(255.000000)
 
-#line 71
-  mov r2.z, l(4)
-  udiv null, r2.z, r0.w, r2.z
-  mov r2.w, l(4)
-  udiv r0.w, null, r0.w, r2.w
-  and r5.xyzw, cb3[r0.w + 0].xyzw, icb[r2.z + 0].xyzw
-  or r2.zw, r5.yyyw, r5.xxxz
-  or r0.w, r2.w, r2.z
-  mov r2.z, l(8)
-  ushr r0.w, r0.w, r2.z
+#line 73
+  mov r0.w, l(8)
+  ushr r0.w, cb3[0].x, r0.w
   and r0.w, r0.w, l(255)
   utof r0.w, r0.w
   div r1.z, r0.w, l(255.000000)
 
-#line 72
+#line 74
   mov r1.w, l(1.000000)
 
-#line 73
+#line 75
+else 
+
+#line 76
+  ult r0.w, v4.x, cb2[0].x
+  if_nz r0.w
+    mov r0.w, v4.x  // r0.w <- input.id
+
+#line 78
+    mov r2.z, l(4)
+    udiv null, r2.z, r0.w, r2.z
+    mov r2.w, l(4)
+    udiv r2.w, null, r0.w, r2.w
+    and r5.xyzw, cb3[r2.w + 0].xyzw, icb[r2.z + 0].xyzw
+    or r2.zw, r5.yyyw, r5.xxxz
+    or r2.z, r2.w, r2.z
+    mov r2.w, l(24)
+    ushr r2.z, r2.z, r2.w
+    and r2.z, r2.z, l(255)
+    utof r2.z, r2.z
+    div r1.x, r2.z, l(255.000000)
+
+#line 81
+    mov r2.z, l(4)
+    udiv null, r2.z, r0.w, r2.z
+    mov r2.w, l(4)
+    udiv r2.w, null, r0.w, r2.w
+    and r5.xyzw, cb3[r2.w + 0].xyzw, icb[r2.z + 0].xyzw
+    or r2.zw, r5.yyyw, r5.xxxz
+    or r2.z, r2.w, r2.z
+    mov r2.w, l(16)
+    ushr r2.z, r2.z, r2.w
+    and r2.z, r2.z, l(255)
+    utof r2.z, r2.z
+    div r1.y, r2.z, l(255.000000)
+
+#line 84
+    mov r2.z, l(4)
+    udiv null, r2.z, r0.w, r2.z
+    mov r2.w, l(4)
+    udiv r0.w, null, r0.w, r2.w
+    and r5.xyzw, cb3[r0.w + 0].xyzw, icb[r2.z + 0].xyzw
+    or r2.zw, r5.yyyw, r5.xxxz
+    or r0.w, r2.w, r2.z
+    mov r2.z, l(8)
+    ushr r0.w, r0.w, r2.z
+    and r0.w, r0.w, l(255)
+    utof r0.w, r0.w
+    div r1.z, r0.w, l(255.000000)
+
+#line 87
+    mov r1.w, l(1.000000)
+
+#line 88
+  endif 
 endif 
 
-#line 75
+#line 90
 mov o0.xyzw, r3.xyzw
 mov o1.xyzw, r4.xyzw
 mov o4.xyzw, r1.xyzw
 mov o3.xyz, r0.xyzx
 mov o2.xy, r2.xyxx
 ret 
-// Approximately 71 instruction slots used
+// Approximately 92 instruction slots used
 #endif
 
 const BYTE CustomUIDX11VertexShader[] =
 {
-     68,  88,  66,  67,  26, 198, 
-     97,  67, 248,  83,  94,  20, 
-    200, 192, 156, 106,  85,  41, 
-    149, 146,   1,   0,   0,   0, 
-    252,  91,   0,   0,   6,   0, 
+     68,  88,  66,  67,  82,  83, 
+    117,  73, 125,  21, 217, 225, 
+     63,  21, 207, 146, 190,  94, 
+    235, 123,   1,   0,   0,   0, 
+    216,  93,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
      84,   3,   0,   0,  12,   4, 
       0,   0, 180,   4,   0,   0, 
-     88,  13,   0,   0, 244,  13, 
+     52,  15,   0,   0, 208,  15, 
       0,   0,  82,  68,  69,  70, 
      20,   3,   0,   0,   4,   0, 
       0,   0, 232,   0,   0,   0, 
@@ -405,8 +438,8 @@ const BYTE CustomUIDX11VertexShader[] =
      84,  73,  79,  78,   0,  84, 
      69,  88,  67,  79,  79,  82, 
      68,   0, 171, 171,  83,  72, 
-     69,  88, 156,   8,   0,   0, 
-     80,   0,   1,   0,  39,   2, 
+     69,  88, 120,  10,   0,   0, 
+     80,   0,   1,   0, 158,   2, 
       0,   0, 106, 136,   0,   1, 
      53,  24,   0,   0,  18,   0, 
       0,   0, 255, 255, 255, 255, 
@@ -579,217 +612,296 @@ const BYTE CustomUIDX11VertexShader[] =
       2,  64,   0,   0,   0,   0, 
     128,  63,   0,   0, 128,  63, 
       0,   0, 128,  63,   0,   0, 
-      0,   0,  79,   0,   0,   8, 
+      0,   0,  54,   0,   0,   5, 
     130,   0,  16,   0,   0,   0, 
-      0,   0,  10,  16,  16,   0, 
-      4,   0,   0,   0,  10, 128, 
-     32,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,  31,   0, 
-      4,   3,  58,   0,  16,   0, 
-      0,   0,   0,   0,  54,   0, 
+      0,   0,   1,  64,   0,   0, 
+      1,   0,   0,   0,  32,   0, 
+      0,   8, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10, 128,  32,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   4,   3,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,  24,   0, 
+      0,   0,  85,   0,   0,   8, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  10, 128,  32,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   7, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0, 255,   0, 
+      0,   0,  86,   0,   0,   5, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  14,   0, 
+      0,   7,  18,   0,  16,   0, 
+      1,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    127,  67,  54,   0,   0,   5, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+     16,   0,   0,   0,  85,   0, 
+      0,   8, 130,   0,  16,   0, 
+      0,   0,   0,   0,  10, 128, 
+     32,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,   0,   0,   7, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    255,   0,   0,   0,  86,   0, 
       0,   5, 130,   0,  16,   0, 
-      0,   0,   0,   0,  10,  16, 
-     16,   0,   4,   0,   0,   0, 
-     54,   0,   0,   5,  66,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   4,   0, 
-      0,   0,  78,   0,   0,   8, 
-      0, 208,   0,   0,  66,   0, 
-     16,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     14,   0,   0,   7,  34,   0, 
+     16,   0,   1,   0,   0,   0, 
      58,   0,  16,   0,   0,   0, 
-      0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,  54,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 127,  67,  54,   0, 
       0,   5, 130,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0,   8,   0,   0,   0, 
+     85,   0,   0,   8, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10, 128,  32,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,   1,   0,   0,   7, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0, 255,   0,   0,   0, 
+     86,   0,   0,   5, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  14,   0,   0,   7, 
+     66,   0,  16,   0,   1,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 127,  67, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  18,   0,   0,   1, 
+     79,   0,   0,   8, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,  16,  16,   0,   4,   0, 
+      0,   0,  10, 128,  32,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   4,   3, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  10,  16,  16,   0, 
+      4,   0,   0,   0,  54,   0, 
+      0,   5,  66,   0,  16,   0, 
       2,   0,   0,   0,   1,  64, 
       0,   0,   4,   0,   0,   0, 
-     78,   0,   0,   8, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-      0, 208,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,  10, 
-    242,   0,  16,   0,   5,   0, 
-      0,   0,  70, 142,  32,   4, 
-      3,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70, 158, 144,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-     60,   0,   0,   7, 194,   0, 
-     16,   0,   2,   0,   0,   0, 
-     86,  13,  16,   0,   5,   0, 
-      0,   0,   6,   8,  16,   0, 
-      5,   0,   0,   0,  60,   0, 
-      0,   7,  66,   0,  16,   0, 
+     78,   0,   0,   8,   0, 208, 
+      0,   0,  66,   0,  16,   0, 
       2,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
      42,   0,  16,   0,   2,   0, 
       0,   0,  54,   0,   0,   5, 
     130,   0,  16,   0,   2,   0, 
       0,   0,   1,  64,   0,   0, 
-     24,   0,   0,   0,  85,   0, 
-      0,   7,  66,   0,  16,   0, 
+      4,   0,   0,   0,  78,   0, 
+      0,   8, 130,   0,  16,   0, 
+      2,   0,   0,   0,   0, 208, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,   0,   0,  10, 242,   0, 
+     16,   0,   5,   0,   0,   0, 
+     70, 142,  32,   4,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  70, 158, 
+    144,   0,  42,   0,  16,   0, 
+      2,   0,   0,   0,  60,   0, 
+      0,   7, 194,   0,  16,   0, 
+      2,   0,   0,   0,  86,  13, 
+     16,   0,   5,   0,   0,   0, 
+      6,   8,  16,   0,   5,   0, 
+      0,   0,  60,   0,   0,   7, 
+     66,   0,  16,   0,   2,   0, 
+      0,   0,  58,   0,  16,   0, 
       2,   0,   0,   0,  42,   0, 
      16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,   7, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,  24,   0, 
+      0,   0,  85,   0,   0,   7, 
      66,   0,  16,   0,   2,   0, 
       0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 255,   0,   0,   0, 
-     86,   0,   0,   5,  66,   0, 
+      2,   0,   0,   0,  58,   0, 
      16,   0,   2,   0,   0,   0, 
-     42,   0,  16,   0,   2,   0, 
-      0,   0,  14,   0,   0,   7, 
-     18,   0,  16,   0,   1,   0, 
-      0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 127,  67, 
-     54,   0,   0,   5,  66,   0, 
+      1,   0,   0,   7,  66,   0, 
      16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   4,   0, 
-      0,   0,  78,   0,   0,   8, 
-      0, 208,   0,   0,  66,   0, 
+     42,   0,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+    255,   0,   0,   0,  86,   0, 
+      0,   5,  66,   0,  16,   0, 
+      2,   0,   0,   0,  42,   0, 
      16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
-      0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
+     14,   0,   0,   7,  18,   0, 
+     16,   0,   1,   0,   0,   0, 
+     42,   0,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 127,  67,  54,   0, 
+      0,   5,  66,   0,  16,   0, 
       2,   0,   0,   0,   1,  64, 
       0,   0,   4,   0,   0,   0, 
-     78,   0,   0,   8, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-      0, 208,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,  10, 
-    242,   0,  16,   0,   5,   0, 
-      0,   0,  70, 142,  32,   4, 
-      3,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70, 158, 144,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-     60,   0,   0,   7, 194,   0, 
-     16,   0,   2,   0,   0,   0, 
-     86,  13,  16,   0,   5,   0, 
-      0,   0,   6,   8,  16,   0, 
-      5,   0,   0,   0,  60,   0, 
-      0,   7,  66,   0,  16,   0, 
+     78,   0,   0,   8,   0, 208, 
+      0,   0,  66,   0,  16,   0, 
       2,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
      42,   0,  16,   0,   2,   0, 
       0,   0,  54,   0,   0,   5, 
     130,   0,  16,   0,   2,   0, 
       0,   0,   1,  64,   0,   0, 
-     16,   0,   0,   0,  85,   0, 
-      0,   7,  66,   0,  16,   0, 
+      4,   0,   0,   0,  78,   0, 
+      0,   8, 130,   0,  16,   0, 
+      2,   0,   0,   0,   0, 208, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,   0,   0,  10, 242,   0, 
+     16,   0,   5,   0,   0,   0, 
+     70, 142,  32,   4,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  70, 158, 
+    144,   0,  42,   0,  16,   0, 
+      2,   0,   0,   0,  60,   0, 
+      0,   7, 194,   0,  16,   0, 
+      2,   0,   0,   0,  86,  13, 
+     16,   0,   5,   0,   0,   0, 
+      6,   8,  16,   0,   5,   0, 
+      0,   0,  60,   0,   0,   7, 
+     66,   0,  16,   0,   2,   0, 
+      0,   0,  58,   0,  16,   0, 
       2,   0,   0,   0,  42,   0, 
      16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,   7, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,  16,   0, 
+      0,   0,  85,   0,   0,   7, 
      66,   0,  16,   0,   2,   0, 
       0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 255,   0,   0,   0, 
-     86,   0,   0,   5,  66,   0, 
+      2,   0,   0,   0,  58,   0, 
      16,   0,   2,   0,   0,   0, 
-     42,   0,  16,   0,   2,   0, 
-      0,   0,  14,   0,   0,   7, 
-     34,   0,  16,   0,   1,   0, 
-      0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 127,  67, 
-     54,   0,   0,   5,  66,   0, 
+      1,   0,   0,   7,  66,   0, 
      16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   4,   0, 
-      0,   0,  78,   0,   0,   8, 
-      0, 208,   0,   0,  66,   0, 
+     42,   0,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+    255,   0,   0,   0,  86,   0, 
+      0,   5,  66,   0,  16,   0, 
+      2,   0,   0,   0,  42,   0, 
      16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
-      0,   0,  42,   0,  16,   0, 
-      2,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
+     14,   0,   0,   7,  34,   0, 
+     16,   0,   1,   0,   0,   0, 
+     42,   0,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 127,  67,  54,   0, 
+      0,   5,  66,   0,  16,   0, 
       2,   0,   0,   0,   1,  64, 
       0,   0,   4,   0,   0,   0, 
-     78,   0,   0,   8, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0, 208,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,  10, 
-    242,   0,  16,   0,   5,   0, 
-      0,   0,  70, 142,  32,   4, 
-      3,   0,   0,   0,  58,   0, 
+     78,   0,   0,   8,   0, 208, 
+      0,   0,  66,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     70, 158, 144,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-     60,   0,   0,   7, 194,   0, 
-     16,   0,   2,   0,   0,   0, 
-     86,  13,  16,   0,   5,   0, 
-      0,   0,   6,   8,  16,   0, 
-      5,   0,   0,   0,  60,   0, 
-      0,   7, 130,   0,  16,   0, 
-      0,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
      42,   0,  16,   0,   2,   0, 
       0,   0,  54,   0,   0,   5, 
-     66,   0,  16,   0,   2,   0, 
+    130,   0,  16,   0,   2,   0, 
       0,   0,   1,  64,   0,   0, 
-      8,   0,   0,   0,  85,   0, 
-      0,   7, 130,   0,  16,   0, 
+      4,   0,   0,   0,  78,   0, 
+      0,   8, 130,   0,  16,   0, 
+      0,   0,   0,   0,   0, 208, 
+      0,   0,  58,   0,  16,   0, 
       0,   0,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     42,   0,  16,   0,   2,   0, 
-      0,   0,   1,   0,   0,   7, 
+     16,   0,   2,   0,   0,   0, 
+      1,   0,   0,  10, 242,   0, 
+     16,   0,   5,   0,   0,   0, 
+     70, 142,  32,   4,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  70, 158, 
+    144,   0,  42,   0,  16,   0, 
+      2,   0,   0,   0,  60,   0, 
+      0,   7, 194,   0,  16,   0, 
+      2,   0,   0,   0,  86,  13, 
+     16,   0,   5,   0,   0,   0, 
+      6,   8,  16,   0,   5,   0, 
+      0,   0,  60,   0,   0,   7, 
     130,   0,  16,   0,   0,   0, 
       0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0, 255,   0,   0,   0, 
-     86,   0,   0,   5, 130,   0, 
+      2,   0,   0,   0,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+     54,   0,   0,   5,  66,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,   8,   0, 
+      0,   0,  85,   0,   0,   7, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,   0,   0,   7, 130,   0, 
      16,   0,   0,   0,   0,   0, 
      58,   0,  16,   0,   0,   0, 
-      0,   0,  14,   0,   0,   7, 
-     66,   0,  16,   0,   1,   0, 
-      0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 127,  67, 
-     54,   0,   0,   5, 130,   0, 
-     16,   0,   1,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  21,   0,   0,   1, 
-     54,   0,   0,   5, 242,  32, 
+      0,   0,   1,  64,   0,   0, 
+    255,   0,   0,   0,  86,   0, 
+      0,   5, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   3,   0, 
-      0,   0,  54,   0,   0,   5, 
-    242,  32,  16,   0,   1,   0, 
+     14,   0,   0,   7,  66,   0, 
+     16,   0,   1,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 127,  67,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     21,   0,   0,   1,  21,   0, 
+      0,   1,  54,   0,   0,   5, 
+    242,  32,  16,   0,   0,   0, 
       0,   0,  70,  14,  16,   0, 
-      4,   0,   0,   0,  54,   0, 
+      3,   0,   0,   0,  54,   0, 
       0,   5, 242,  32,  16,   0, 
-      4,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-     54,   0,   0,   5, 114,  32, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   4,   0,   0,   0, 
+     54,   0,   0,   5, 242,  32, 
+     16,   0,   4,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
       0,   0,  54,   0,   0,   5, 
-     50,  32,  16,   0,   2,   0, 
-      0,   0,  70,   0,  16,   0, 
-      2,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    148,   0,   0,   0,  71,   0, 
-      0,   0,   6,   0,   0,   0, 
-      4,   0,   0,   0,  10,   0, 
-      0,   0,  21,   0,   0,   0, 
-      2,   0,   0,   0,  22,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
+    114,  32,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  50,  32,  16,   0, 
+      2,   0,   0,   0,  70,   0, 
+     16,   0,   2,   0,   0,   0, 
+     62,   0,   0,   1,  83,  84, 
+     65,  84, 148,   0,   0,   0, 
+     92,   0,   0,   0,   6,   0, 
+      0,   0,   4,   0,   0,   0, 
+     10,   0,   0,   0,  24,   0, 
+      0,   0,   3,   0,   0,   0, 
+     28,   0,   0,   0,   2,   0, 
+      0,   0,   2,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  20,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,  25,   0, 
       0,   0,   0,   0,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -799,17 +911,17 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  83,  80,  68,  66, 
-      0,  78,   0,   0,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  67,  47,  67,  43, 
-     43,  32,  77,  83,  70,  32, 
-     55,  46,  48,  48,  13,  10, 
-     26,  68,  83,   0,   0,   0, 
-      0,   2,   0,   0,   2,   0, 
-      0,   0,  39,   0,   0,   0, 
-    192,   0,   0,   0,   0,   0, 
-      0,   0,  37,   0,   0,   0, 
+      0,   0,   0,   0,  83,  80, 
+     68,  66,   0,  78,   0,   0, 
+     77, 105,  99, 114, 111, 115, 
+    111, 102, 116,  32,  67,  47, 
+     67,  43,  43,  32,  77,  83, 
+     70,  32,  55,  46,  48,  48, 
+     13,  10,  26,  68,  83,   0, 
+      0,   0,   0,   2,   0,   0, 
+      2,   0,   0,   0,  39,   0, 
+      0,   0, 196,   0,   0,   0, 
+      0,   0,   0,   0,  38,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -886,7 +998,7 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    192, 255, 255, 255, 255, 255, 
+      0,   0, 192, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
@@ -971,8 +1083,8 @@ const BYTE CustomUIDX11VertexShader[] =
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
-    255, 255,  56,   0,   0,   0, 
-    192, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255,  56,   0, 
+      0,   0, 128, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
@@ -1056,13 +1168,12 @@ const BYTE CustomUIDX11VertexShader[] =
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
-    255, 255, 255, 255,   5,   0, 
-      0,   0,  32,   0,   0,   0, 
-     60,   0,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0,   6,   0, 
-      0,   0,   5,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255, 255, 255, 
+      5,   0,   0,   0,  32,   0, 
+      0,   0,  60,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      6,   0,   0,   0,   5,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1142,8 +1253,8 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1227,18 +1338,18 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 148,  46,  49,   1, 
-     44, 192,   0,  99,   1,   0, 
-      0,   0, 148,   5, 102, 242, 
-    112,  37, 224,  78, 133,  78, 
-     18, 120, 158, 179, 239,  74, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 183, 167,  15,  99, 
+      1,   0,   0,   0, 103,  80, 
+    122,  39,  98, 228, 138,  75, 
+    175, 159, 160, 135, 184, 174, 
+    180, 147,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 220,  81, 
-     51,   1,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+    220,  81,  51,   1,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1312,107 +1423,108 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  76, 105, 
-    103, 104, 116,  67, 111, 110, 
-    116, 114, 111, 108, 108, 101, 
-    114,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40,  98,  50,  41,  13,  10, 
-    123,  13,  10,   9, 117, 105, 
-    110, 116,  32, 108, 105, 103, 
-    104, 116,  76, 101, 110, 103, 
-    116, 104,  59,  13,  10, 125, 
-     13,  10,  13,  10,  99,  98, 
-    117, 102, 102, 101, 114,  32, 
-     76, 105, 103, 104, 116,  32, 
-     58,  32, 114, 101, 103, 105, 
-    115, 116, 101, 114,  40,  98, 
-     51,  41,  13,  10, 123,  13, 
-     10,   9, 117, 105, 110, 116, 
-     52,  32, 108, 105, 103, 104, 
-    116,  91,  54,  93,  59,  13, 
-     10, 125,  13,  10,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-     47,  47,  32,  84,  89,  80, 
-     69,  68,  69,  70,  83,  32, 
-     47,  47,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     10,  99,  98, 117, 102, 102, 
+    101, 114,  32,  76, 105, 103, 
+    104, 116,  67, 111, 110, 116, 
+    114, 111, 108, 108, 101, 114, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     98,  50,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    117, 105, 110, 116,  32, 108, 
+    105, 103, 104, 116,  76, 101, 
+    110, 103, 116, 104,  59,  13, 
+     10, 125,  13,  10,  13,  10, 
+     99,  98, 117, 102, 102, 101, 
+    114,  32,  76, 105, 103, 104, 
+    116,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  98,  51,  41,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 117, 105, 110, 116,  52, 
+     32, 108, 105, 103, 104, 116, 
+     91,  54,  93,  59,  13,  10, 
+    125,  13,  10,  13,  10,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-    115, 116, 114, 117,  99, 116, 
-     32,  86, 101, 114, 116, 101, 
-    120,  73, 110, 112, 117, 116, 
-     84, 121, 112, 101,  13,  10, 
-    123,  13,  10,   9, 102, 108, 
-    111,  97, 116,  52,  32, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  58,  32,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-     59,  13,  10,   9, 102, 108, 
-    111,  97, 116,  50,  32, 116, 
-    101, 120,  32,  58,  32,  84, 
-     69,  88,  67,  79,  79,  82, 
-     68,  48,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  51, 
-     32, 110, 111, 114, 109,  97, 
-    108,  32,  58,  32,  78,  79, 
-     82,  77,  65,  76,  59,  13, 
-     10,   9, 117, 105, 110, 116, 
-     32, 107, 110, 111,  99, 104, 
-    101, 110,  32,  58,  32,  75, 
-    198,  90,   0,   0, 117, 131, 
-      1,   0,  76, 232,   3,   0, 
-     81, 207,   1,   0, 146, 183, 
-      2,   0,  28,  19,   2,   0, 
-    194,  82,   1,   0,  43, 236, 
-      3,   0, 217,  42,   2,   0, 
-     38, 107,   0,   0, 103, 159, 
-      1,   0,  73,  20,   1,   0, 
-     19,  54,   2,   0,  65, 185, 
-      2,   0, 153, 189,   3,   0, 
-    214,   6,   3,   0, 125, 218, 
-      1,   0, 169, 232,   3,   0, 
-    184, 232,   1,   0,  42, 187, 
-      0,   0, 220, 192,   1,   0, 
-      0,  16,   0,   0,   0,   0, 
+     47,  13,  10,  47,  47,  32, 
+     84,  89,  80,  69,  68,  69, 
+     70,  83,  32,  47,  47,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  13,  10, 115, 
+    116, 114, 117,  99, 116,  32, 
+     86, 101, 114, 116, 101, 120, 
+     73, 110, 112, 117, 116,  84, 
+    121, 112, 101,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  58,  32, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  50,  32, 116, 101, 
+    120,  32,  58,  32,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+     48,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32, 110, 111, 114, 
+    109,  97, 108,  32,  58,  32, 
+     78,  79,  82,  77,  65,  76, 
+     59,  13,  10,  32,  32,  32, 
+     32, 117, 105, 110, 116,  32, 
+    107, 110, 111,  99, 104, 101, 
+    110,  32,  58,  32,  75,  78, 
+     79,  67,  72,  69,  78,  95, 
+     73,  68,  48,  59,  13,  10, 
+     32,  32,  32,  32, 117, 105, 
+    110, 116,  32, 105, 100,  32, 
+     58,  32,  86,  69,  82,  84, 
+     69,  88,  95,  73,  68,  48, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     32,  58,  32,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  58,  32, 
+     83,  86,  95,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  50, 
+     32, 116, 101, 120,  32,  58, 
+     32,  84,  69,  88,  67,  79, 
+     79,  82,  68,  48,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    110, 111, 114, 109,  97, 108, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79, 198,  90,   0,   0, 
+    117, 131,   1,   0,  76, 232, 
+      3,   0,  81, 207,   1,   0, 
+    146, 183,   2,   0,  28,  19, 
+      2,   0, 194,  82,   1,   0, 
+     43, 236,   3,   0, 217,  42, 
+      2,   0,  38, 107,   0,   0, 
+    103, 159,   1,   0,  73,  20, 
+      1,   0,  19,  54,   2,   0, 
+     65, 185,   2,   0, 153, 189, 
+      3,   0, 214,   6,   3,   0, 
+    125, 218,   1,   0, 169, 232, 
+      3,   0, 184, 232,   1,   0, 
+     42, 187,   0,   0, 220, 192, 
+      1,   0,   0,  16,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1483,169 +1595,139 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  47,  47,  47,  47, 
+      0,   0,   0,   0,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  13,  10,  47, 
-     47,  32,  71,  76,  79,  66, 
-     65,  76,  83,  32,  47,  47, 
-     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  13, 
+     10,  47,  47,  32,  71,  76, 
+     79,  66,  65,  76,  83,  32, 
+     47,  47,  13,  10,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  13,  10,  99, 
-     98, 117, 102, 102, 101, 114, 
-     32,  77,  97, 116, 114, 105, 
-    120,  66, 117, 102, 102, 101, 
-    114,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40,  98,  48,  41,  13,  10, 
-    123,  13,  10,   9, 109,  97, 
-    116, 114, 105, 120,  32, 107, 
-    110, 111,  99, 104, 101, 110, 
-     77,  97, 116, 114, 105, 120, 
-     91,  49,  50,  56,  93,  59, 
-     13,  10, 125,  59,  13,  10, 
-     13,  10,  47,  47,  32,  84, 
-    104, 101,  32, 112, 114, 111, 
-    106, 101,  99, 116, 105, 111, 
-    110,  32,  97, 110, 100,  32, 
-    118, 105, 101, 119,  32, 109, 
-     97, 116, 114, 105, 120,  13, 
+     47,  47,  47,  47,  47,  13, 
      10,  99,  98, 117, 102, 102, 
-    101, 114,  32,  75,  97, 109, 
-    101, 114,  97,  32,  58,  32, 
-    114, 101, 103, 105, 115, 116, 
-    101, 114,  40,  98,  49,  41, 
-     13,  10, 123,  13,  10,   9, 
-    109,  97, 116, 114, 105, 120, 
-     32, 118, 105, 101, 119,  59, 
-     13,  10,   9, 109,  97, 116, 
-    114, 105, 120,  32, 112, 114, 
-    111, 106, 101,  99, 116, 105, 
-    111, 110,  59,  13,  10, 125, 
-     13,  10,  13,  10,  99,  98, 
-    117, 102, 102, 101, 114,  32, 
-     76, 105, 103, 104, 116,  67, 
-    111, 110, 116, 114, 111, 108, 
-    108, 101, 114,  32,  58,  32, 
+    101, 114,  32,  77,  97, 116, 
+    114, 105, 120,  66, 117, 102, 
+    102, 101, 114,  32,  58,  32, 
     114, 101, 103, 105, 115, 116, 
-    101, 114,  40,  98,  50,  41, 
-     13,  10, 123,  13,  10,   9, 
-    117, 105, 110, 116,  32, 108, 
-    105, 103, 104, 116,  76, 101, 
-    110, 103, 116, 104,  59,  13, 
-     10, 125,  13,  10,  13,  10, 
+    101, 114,  40,  98,  48,  41, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 109,  97, 116, 
+    114, 105, 120,  32, 107, 110, 
+    111,  99, 104, 101, 110,  77, 
+     97, 116, 114, 105, 120,  91, 
+     49,  50,  56,  93,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 114, 111, 106, 
+    101,  99, 116, 105, 111, 110, 
+     32,  97, 110, 100,  32, 118, 
+    105, 101, 119,  32, 109,  97, 
+    116, 114, 105, 120,  13,  10, 
      99,  98, 117, 102, 102, 101, 
-    114,  32,  76, 105, 103, 104, 
-    116,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40,  98,  51,  41,  13,  10, 
-    123,  13,  10,   9, 117, 105, 
-    110, 116,  52,  32, 108, 105, 
-    103, 104, 116,  91,  54,  93, 
+    114,  32,  75,  97, 109, 101, 
+    114,  97,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  98,  49,  41,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 109,  97, 116, 114, 
+    105, 120,  32, 118, 105, 101, 
+    119,  59,  13,  10,  32,  32, 
+     32,  32, 109,  97, 116, 114, 
+    105, 120,  32, 112, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,  59,  13,  10, 125,  13, 
+     10,  13,  10,  99,  98, 117, 
+    102, 102, 101, 114,  32,  76, 
+    105, 103, 104, 116,  67, 111, 
+    110, 116, 114, 111, 108, 108, 
+    101, 114,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  98,  50,  41,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 117, 105, 110, 116, 
+     32, 108, 105, 103, 104, 116, 
+     76, 101, 110, 103, 116, 104, 
      59,  13,  10, 125,  13,  10, 
-     13,  10,  47,  47,  47,  47, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  76, 105, 
+    103, 104, 116,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  98,  51,  41, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 117, 105, 110, 
+    116,  52,  32, 108, 105, 103, 
+    104, 116,  91,  54,  93,  59, 
+     13,  10, 125,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  32,  84, 
-     89,  80,  69,  68,  69,  70, 
-     83,  32,  47,  47,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  13,  10,  47, 
+     47,  32,  84,  89,  80,  69, 
+     68,  69,  70,  83,  32,  47, 
+     47,  13,  10,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10, 115, 116, 114, 117, 
-     99, 116,  32,  86, 101, 114, 
-    116, 101, 120,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     13,  10, 123,  13,  10,   9, 
-    102, 108, 111,  97, 116,  52, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32,  58,  32, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  50, 
-     32, 116, 101, 120,  32,  58, 
-     32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  48,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 110, 111, 114, 
-    109,  97, 108,  32,  58,  32, 
-     78,  79,  82,  77,  65,  76, 
-     59,  13,  10,   9, 117, 105, 
-    110, 116,  32, 107, 110, 111, 
-     99, 104, 101, 110,  32,  58, 
-     32,  75,  78,  79,  67,  72, 
-     69,  78,  95,  73,  68,  48, 
-     59,  13,  10,   9, 117, 105, 
-    110, 116,  32, 105, 100,  32, 
-     58,  32,  86,  69,  82,  84, 
-     69,  88,  95,  73,  68,  48, 
-     59,  13,  10, 125,  59,  13, 
-     10,  13,  10, 115, 116, 114, 
-    117,  99, 116,  32,  80, 105, 
-    120, 101, 108,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     13,  10, 123,  13,  10,   9, 
-    102, 108, 111,  97, 116,  52, 
-     32, 119, 111, 114, 108, 100, 
-     80, 111, 115,  32,  58,  32, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  52, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32,  58,  32, 
-     83,  86,  95,  80,  79,  83, 
-     73,  84,  73,  79,  78,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  50,  32, 116, 101, 
-    120,  32,  58,  32,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-     48,  59,  13,  10,   9, 102, 
-    108, 111,  97, 116,  51,  32, 
-    110, 111, 114, 109,  97, 108, 
+     47,  47,  47,  47,  47,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  86, 101, 114, 116, 
+    101, 120,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     58,  32,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  50,  32, 
+    116, 101, 120,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  48,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32, 110, 
+    111, 114, 109,  97, 108,  32, 
+     58,  32,  78,  79,  82,  77, 
+     65,  76,  59,  13,  10,  32, 
+     32,  32,  32, 117, 105, 110, 
+    116,  32, 107, 110, 111,  99, 
+    104, 101, 110,  32,  58,  32, 
+     75,  78,  79,  67,  72,  69, 
+     78,  95,  73,  68,  48,  59, 
+     13,  10,  32,  32,  32,  32, 
+    117, 105, 110, 116,  32, 105, 
+    100,  32,  58,  32,  86,  69, 
+     82,  84,  69,  88,  95,  73, 
+     68,  48,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10, 115, 
+    116, 114, 117,  99, 116,  32, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  32,  58,  32,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     58,  32,  83,  86,  95,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  50,  32, 116, 101, 120, 
      32,  58,  32,  84,  69,  88, 
-     67,  79,  79,  82,  68,  49, 
-     59,  13,  10,   9, 102, 108, 
-    111,  97, 116,  52,  32, 108, 
-    105, 103, 104, 116,  32,  58, 
-     32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  50,  59,  13, 
-     10, 125,  59,  13,  10,  13, 
-     10,  47,  47,  47,  47,  47, 
+     67,  79,  79,  82,  68,  48, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 110, 111, 114, 109, 
+     97, 108,  32,  58,  32,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,  49,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 108, 105, 
+    103, 104, 116,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  50,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -1658,22 +1740,11 @@ const BYTE CustomUIDX11VertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  13,  10,  47, 
-     47,  32,  86, 101, 114, 116, 
-    101, 120,  32,  83, 104,  97, 
-    100, 101, 114,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  13,  10,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
+     47,  47,  13,  10,  47,  47, 
+     32,  86, 101, 114, 116, 101, 
+    120,  32,  83, 104,  97, 100, 
+    101, 114,  13,  10,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -1685,181 +1756,197 @@ const BYTE CustomUIDX11VertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  13, 
-     10,  80, 105, 120, 101, 108, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  32,  84, 101, 
-    120, 116, 117, 114, 101,  86, 
-    101, 114, 116, 101, 120,  83, 
-    104,  97, 100, 101, 114,  40, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     13,  10,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32,  84, 
+    101, 120, 116, 117, 114, 101, 
      86, 101, 114, 116, 101, 120, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  32, 105, 110, 
-    112, 117, 116,  41,  13,  10, 
-    123,  13,  10,   9,  47,  47, 
-    114, 101, 116, 117, 114, 110, 
+     83, 104,  97, 100, 101, 114, 
+     40,  86, 101, 114, 116, 101, 
+    120,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  41,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32,  47,  47,  32, 114, 
+    101, 116, 117, 114, 110,  32, 
+    105, 110, 112, 117, 116,  59, 
+     13,  10,  32,  32,  32,  32, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  32, 111, 117, 116, 
+    112, 117, 116,  59,  13,  10, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 110, 
+    111, 114, 109,  97, 108,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  61,  32, 110, 
+    111, 114, 109,  97, 108, 105, 
+    122, 101,  40, 109, 117, 108, 
+     40, 105, 110, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  44,  32,  40, 102, 108, 
+    111,  97, 116,  51, 120,  51, 
+     41, 107, 110, 111,  99, 104, 
+    101, 110,  77,  97, 116, 114, 
+    105, 120,  91, 105, 110, 112, 
+    117, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  93,  41, 
+     41,  59,  13,  10,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+     32,  67, 104,  97, 110, 103, 
+    101,  32, 116, 104, 101,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32, 118, 101,  99, 
+    116, 111, 114,  32, 116, 111, 
+     32,  98, 101,  32,  52,  32, 
+    117, 110, 105, 116, 115,  32, 
+    102, 111, 114,  32, 112, 114, 
+    111, 112, 101, 114,  32, 109, 
+     97, 116, 114, 105, 120,  32, 
+     99,  97, 108,  99, 117, 108, 
+     97, 116, 105, 111, 110, 115, 
+     46,  13,  10,  32,  32,  32, 
      32, 105, 110, 112, 117, 116, 
-     59,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  46, 119,  32, 
+     61,  32,  49,  46,  48, 102, 
+     59,  13,  10,  13,  10,  32, 
+     32,  32,  32,  47,  47,  32, 
+     83, 116, 111, 114, 101,  32, 
+    116, 104, 101,  32, 116, 101, 
+    120, 116, 117, 114, 101,  32, 
+     99, 111, 111, 114, 100, 105, 
+    110,  97, 116, 101, 115,  32, 
+    102, 111, 114,  32, 116, 104, 
+    101,  32, 112, 105, 120, 101, 
+    108,  32, 115, 104,  97, 100, 
+    101, 114,  46,  13,  10,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 116, 101, 
+    120,  32,  61,  32, 105, 110, 
+    112, 117, 116,  46, 116, 101, 
+    120,  59,  13,  10,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+     32,  67,  97, 108,  99, 117, 
+    108,  97, 116, 101,  32, 116, 
+    104, 101,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+    111, 102,  32, 116, 104, 101, 
+     32, 118, 101, 114, 116, 101, 
+    120,  32,  97, 103,  97, 105, 
+    110, 115, 116,  32, 116, 104, 
+    101,  32, 119, 111, 114, 108, 
+    100,  44,  32, 118, 105, 101, 
+    119,  44,  32,  97, 110, 100, 
+     13,  10,  32,  32,  32,  32, 
+     47,  47,  32, 112, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,  32, 109,  97, 116, 114, 
+    105,  99, 101, 115,  46,  13, 
+     10,  32,  32,  32,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  32,  61,  32, 109, 
+    117, 108,  40, 105, 110, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  44, 
+     32, 107, 110, 111,  99, 104, 
+    101, 110,  77,  97, 116, 114, 
+    105, 120,  91, 105, 110, 112, 
+    117, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  93,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  61, 
+     32, 109, 117, 108,  40, 111, 
+    117, 116, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  44,  32, 118, 105, 
+    101, 119,  41,  59,  13,  10, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  61,  32, 109, 117, 
+    108,  40, 111, 117, 116, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  44, 
+     32, 112, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  32,  61,  32, 102, 108, 
+    111,  97, 116,  52,  40,  49, 
+     46,  48, 102,  44,  32,  49, 
+     46,  48, 102,  44,  32,  49, 
+     46,  48, 102,  44,  32,  48, 
+     46, 102,  41,  59,  13,  10, 
+     32,  32,  32,  32, 105, 102, 
+     32,  40, 108, 105, 103, 104, 
+    116,  76, 101, 110, 103, 116, 
+    104,  32,  61,  61,  32,  49, 
+     41,  13,  10,  32,  32,  32, 
+     32, 123,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-      9,  80, 105, 120, 101, 108, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  32, 111, 117, 
-    116, 112, 117, 116,  59,  13, 
-     10,   9, 111, 117, 116, 112, 
-    117, 116,  46, 110, 111, 114, 
-    109,  97, 108,  32,  61,  32, 
-    110, 111, 114, 109,  97, 108, 
-    105, 122, 101,  40, 109, 117, 
-    108,  40, 105, 110, 112, 117, 
-    116,  46, 110, 111, 114, 109, 
-     97, 108,  44,  32,  40, 102, 
-    108, 111,  97, 116,  51, 120, 
-     51,  41, 107, 110, 111,  99, 
-    104, 101, 110,  77,  97, 116, 
-    114, 105, 120,  91, 105, 110, 
-    112, 117, 116,  46, 107, 110, 
-    111,  99, 104, 101, 110,  93, 
-     41,  41,  59,  13,  10,  13, 
-     10,   9,  47,  47,  32,  67, 
-    104,  97, 110, 103, 101,  32, 
-    116, 104, 101,  32, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     32, 118, 101,  99, 116, 111, 
-    114,  32, 116, 111,  32,  98, 
-    101,  32,  52,  32, 117, 110, 
-    105, 116, 115,  32, 102, 111, 
-    114,  32, 112, 114, 111, 112, 
-    101, 114,  32, 109,  97, 116, 
-    114, 105, 120,  32,  99,  97, 
-    108,  99, 117, 108,  97, 116, 
-    105, 111, 110, 115,  46,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,   9, 105, 
-    110, 112, 117, 116,  46, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  46, 119,  32,  61,  32, 
-     49,  46,  48, 102,  59,  13, 
-     10,  13,  10,   9,  47,  47, 
-     32,  83, 116, 111, 114, 101, 
-     32, 116, 104, 101,  32, 116, 
-    101, 120, 116, 117, 114, 101, 
-     32,  99, 111, 111, 114, 100, 
-    105, 110,  97, 116, 101, 115, 
-     32, 102, 111, 114,  32, 116, 
-    104, 101,  32, 112, 105, 120, 
-    101, 108,  32, 115, 104,  97, 
-    100, 101, 114,  46,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-      9, 111, 117, 116, 112, 117, 
-    116,  46, 116, 101, 120,  32, 
-     61,  32, 105, 110, 112, 117, 
-    116,  46, 116, 101, 120,  59, 
-     13,  10,  13,  10,   9,  47, 
-     47,  32,  67,  97, 108,  99, 
-    117, 108,  97, 116, 101,  32, 
-    116, 104, 101,  32, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     32, 111, 102,  32, 116, 104, 
-    101,  32, 118, 101, 114, 116, 
-    101, 120,  32,  97, 103,  97, 
-    105, 110, 115, 116,  32, 116, 
-    104, 101,  32, 119, 111, 114, 
-    108, 100,  44,  32, 118, 105, 
-    101, 119,  44,  32,  97, 110, 
-    100,  32, 112, 114, 111, 106, 
-    101,  99, 116, 105, 111, 110, 
-     32, 109,  97, 116, 114, 105, 
-     99, 101, 115,  46,  32,  13, 
-     10,   9, 111, 117, 116, 112, 
-    117, 116,  46, 119, 111, 114, 
-    108, 100,  80, 111, 115,  32, 
-     61,  32, 109, 117, 108,  40, 
-    105, 110, 112, 117, 116,  46, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,  44,  32, 107, 110, 
-    111,  99, 104, 101, 110,  77, 
-     97, 116, 114, 105, 120,  91, 
-    105, 110, 112, 117, 116,  46, 
-    107, 110, 111,  99, 104, 101, 
-    110,  93,  41,  59,  13,  10, 
-      9, 111, 117, 116, 112, 117, 
-    116,  46, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32,  61, 
-     32, 109, 117, 108,  40, 111, 
-    117, 116, 112, 117, 116,  46, 
-    119, 111, 114, 108, 100,  80, 
-    111, 115,  44,  32, 118, 105, 
-    101, 119,  41,  59,  13,  10, 
-      9, 111, 117, 116, 112, 117, 
-    116,  46, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32,  61, 
-     32, 109, 117, 108,  40, 111, 
-    117, 116, 112, 117, 116,  46, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,  44,  32, 112, 114, 
-    111, 106, 101,  99, 116, 105, 
-    111, 110,  41,  59,  13,  10, 
-      9, 111, 117, 116, 112, 117, 
-    116,  46, 108, 105, 103, 104, 
-    116,  32,  61,  32, 102, 108, 
-    111,  97, 116,  52,  40,  49, 
-     46,  48, 102,  44,  32,  49, 
-     46,  48, 102,  44,  32,  49, 
-     46,  48, 102,  44,  32,  48, 
-     46, 102,  41,  59,  13,  10, 
-      9, 105, 102,  32,  40, 105, 
-    110, 112, 117, 116,  46, 105, 
-    100,  32,  60,  32, 108, 105, 
-    103, 104, 116,  76, 101, 110, 
-    103, 116, 104,  41,  13,  10, 
-      9, 123,  13,  10,   9,   9, 
     111, 117, 116, 112, 117, 116, 
      46, 108, 105, 103, 104, 116, 
      46, 120,  32,  61,  32,  40, 
      40,  40,  40, 117, 105, 110, 
     116,  91,  52,  93,  41, 108, 
-    105, 103, 104, 116,  91, 105, 
-    110, 112, 117, 116,  46, 105, 
-    100,  32,  47,  32,  52,  93, 
-     41,  91, 105, 110, 112, 117, 
-    116,  46, 105, 100,  32,  37, 
-     32,  52,  93,  32,  62,  62, 
-     32,  50,  52,  41,  32,  38, 
-     32,  48, 120,  70,  70,  41, 
-     32,  47,  32,  50,  53,  53, 
-     46, 102,  59,  13,  10,   9, 
-      9, 111, 117, 116, 112, 117, 
-    116,  46, 108, 105, 103, 104, 
-    116,  46, 121,  32,  61,  32, 
-     40,  40,  40,  40, 117, 105, 
-    110, 116,  91,  52,  93,  41, 
-    108, 105, 103, 104, 116,  91, 
-    105, 110, 112, 117, 116,  46, 
-    105, 100,  32,  47,  32,  52, 
-     93,  41,  91, 105, 110, 112, 
-    117, 116,  46, 105, 100,  32, 
-     37,  32,  52,  93,  32,  62, 
-     62,  32,  49,  54,  41,  32, 
+    105, 103, 104, 116,  91,  48, 
+     93,  41,  91,  48,  93,  32, 
+     62,  62,  32,  50,  52,  41, 
+     32,  38,  32,  48, 120,  70, 
+     70,  41,  32,  47,  32,  50, 
+     53,  53,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  46, 121,  32, 
+     61,  32,  40,  40,  40,  40, 
+    117, 105, 110, 116,  91,  52, 
+     93,  41, 108, 105, 103, 104, 
+    116,  91,  48,  93,  41,  91, 
+     48,  93,  32,  62,  62,  32, 
+     49,  54,  41,  32,  38,  32, 
+     48, 120,  70,  70,  41,  32, 
+     47,  32,  50,  53,  53,  46, 
+    102,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 108, 105, 103, 104, 116, 
+     46, 122,  32,  61,  32,  40, 
+     40,  40,  40, 117, 105, 110, 
+    116,  91,  52,  93,  41, 108, 
+    105, 103, 104, 116,  91,  48, 
+     93,  41,  91,  48,  93,  32, 
+     62,  62,  32,  56,  41,  32, 
      38,  32,  48, 120,  70,  70, 
      41,  32,  47,  32,  50,  53, 
      53,  46, 102,  59,  13,  10, 
-      9,   9, 111, 117, 116, 112, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
     117, 116,  46, 108, 105, 103, 
-    104, 116,  46, 122,  32,  61, 
+    104, 116,  46, 119,  32,  61, 
+     32,  49,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32, 125, 
+     13,  10,  32,  32,  32,  32, 
+    101, 108, 115, 101,  32, 105, 
+    102,  32,  40, 105, 110, 112, 
+    117, 116,  46, 105, 100,  32, 
+     60,  32, 108, 105, 103, 104, 
+    116,  76, 101, 110, 103, 116, 
+    104,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  46, 120,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  61, 
      32,  40,  40,  40,  40, 117, 
     105, 110, 116,  91,  52,  93, 
      41, 108, 105, 103, 104, 116, 
@@ -1868,836 +1955,162 @@ const BYTE CustomUIDX11VertexShader[] =
      52,  93,  41,  91, 105, 110, 
     112, 117, 116,  46, 105, 100, 
      32,  37,  32,  52,  93,  32, 
-     62,  62,  32,  56,  41,  32, 
-     38,  32,  48, 120,  70,  70, 
-     41,  32,  47,  32,  50,  53, 
-     53,  46, 102,  59,  13,  10, 
-      9,   9, 111, 117, 116, 112, 
-    117, 116,  46, 108, 105, 103, 
-    104, 116,  46, 119,  32,  61, 
-     32,  49,  46, 102,  59,  13, 
-     10,   9, 125,  13,  10,  13, 
-     10,   9, 114, 101, 116, 117, 
-    114, 110,  32, 111, 117, 116, 
-    112, 117, 116,  59,  13,  10, 
-    125,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    254, 239, 254, 239,   1,   0, 
-      0,   0,  84,  10,   0,   0, 
-      0,  67,  58,  92,  85, 115, 
-    101, 114, 115,  92, 107, 111, 
-    108, 106,  97,  92,  68, 101, 
-    115, 107, 116, 111, 112,  92, 
-     75, 111, 108, 106,  97,  45, 
-     83, 116, 114, 111, 104, 109, 
-     45,  71,  97, 109, 101, 115, 
-     92,  83, 112, 105, 101, 108, 
-    101,  32,  80, 108,  97, 116, 
-    102, 111, 114, 109,  92,  83, 
-    116,  97, 110, 100,  97, 108, 
-    111, 119, 110,  92,  75, 108, 
-    105, 101, 110, 116,  92,  70, 
-     97,  99, 116, 111, 114, 121, 
-     67, 114,  97, 102, 116,  92, 
-     70,  97,  99, 116, 111, 114, 
-    121,  67, 114,  97, 102, 116, 
-     92,  68,  88,  49,  49,  67, 
-    117, 115, 116, 111, 109,  86, 
-    101, 114, 116, 101, 120,  83, 
-    104,  97, 100, 101, 114,  46, 
-    104, 108, 115, 108,   0,   0, 
-     99,  58,  92, 117, 115, 101, 
-    114, 115,  92, 107, 111, 108, 
-    106,  97,  92, 100, 101, 115, 
-    107, 116, 111, 112,  92, 107, 
-    111, 108, 106,  97,  45, 115, 
-    116, 114, 111, 104, 109,  45, 
-    103,  97, 109, 101, 115,  92, 
-    115, 112, 105, 101, 108, 101, 
-     32, 112, 108,  97, 116, 102, 
-    111, 114, 109,  92, 115, 116, 
-     97, 110, 100,  97, 108, 111, 
-    119, 110,  92, 107, 108, 105, 
-    101, 110, 116,  92, 102,  97, 
-     99, 116, 111, 114, 121,  99, 
-    114,  97, 102, 116,  92, 102, 
-     97,  99, 116, 111, 114, 121, 
-     99, 114,  97, 102, 116,  92, 
-    100, 120,  49,  49,  99, 117, 
-    115, 116, 111, 109, 118, 101, 
-    114, 116, 101, 120, 115, 104, 
-     97, 100, 101, 114,  46, 104, 
-    108, 115, 108,   0,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  13, 
-     10,  47,  47,  32,  71,  76, 
-     79,  66,  65,  76,  83,  32, 
-     47,  47,  13,  10,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  13, 
-     10,  99,  98, 117, 102, 102, 
-    101, 114,  32,  77,  97, 116, 
-    114, 105, 120,  66, 117, 102, 
-    102, 101, 114,  32,  58,  32, 
-    114, 101, 103, 105, 115, 116, 
-    101, 114,  40,  98,  48,  41, 
-     13,  10, 123,  13,  10,   9, 
-    109,  97, 116, 114, 105, 120, 
-     32, 107, 110, 111,  99, 104, 
-    101, 110,  77,  97, 116, 114, 
-    105, 120,  91,  49,  50,  56, 
-     93,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  47,  47, 
-     32,  84, 104, 101,  32, 112, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,  32,  97, 110, 
-    100,  32, 118, 105, 101, 119, 
-     32, 109,  97, 116, 114, 105, 
-    120,  13,  10,  99,  98, 117, 
-    102, 102, 101, 114,  32,  75, 
-     97, 109, 101, 114,  97,  32, 
-     58,  32, 114, 101, 103, 105, 
-    115, 116, 101, 114,  40,  98, 
-     49,  41,  13,  10, 123,  13, 
-     10,   9, 109,  97, 116, 114, 
-    105, 120,  32, 118, 105, 101, 
-    119,  59,  13,  10,   9, 109, 
-     97, 116, 114, 105, 120,  32, 
-    112, 114, 111, 106, 101,  99, 
-    116, 105, 111, 110,  59,  13, 
-     10, 125,  13,  10,  13,  10, 
-     99,  98, 117, 102, 102, 101, 
-    114,  32,  27, 226,  48,   1, 
-    128,   0,   0,   0, 154, 135, 
-    183, 224, 132, 180, 216,   1, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   2,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 132,   0,   0,   0, 
-     40,   0,   0,   0,  27, 226, 
-     48,   1,  23, 200, 156, 199, 
-     77,   9,   0,   0,   1,   0, 
-      0,   0, 131,   0,   0,   0, 
-    132,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   4,   0, 
-      0,   0,  66,   0,  60,  17, 
-     16,   1,   0,   0,   0,   1, 
-     10,   0,   1,   0, 173,   2, 
-     97,  74,  10,   0,   1,   0, 
-    173,   2,  97,  74,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  40,  82,  41,  32, 
-     72,  76,  83,  76,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
-     67, 111, 109, 112, 105, 108, 
-    101, 114,  32,  49,  48,  46, 
-     49,   0,   0,   0,  66,   0, 
-     61,  17,   1, 104, 108, 115, 
-    108,  70, 108,  97, 103, 115, 
-      0,  48, 120,  53,   0, 104, 
-    108, 115, 108,  84,  97, 114, 
-    103, 101, 116,   0, 118, 115, 
-     95,  53,  95,  48,   0, 104, 
-    108, 115, 108,  69, 110, 116, 
-    114, 121,   0,  84, 101, 120, 
-    116, 117, 114, 101,  86, 101, 
-    114, 116, 101, 120,  83, 104, 
-     97, 100, 101, 114,   0,   0, 
-     58,   0,  16,  17,   0,   0, 
-      0,   0,  60,   6,   0,   0, 
-      0,   0,   0,   0, 132,   7, 
-      0,   0,   0,   0,   0,   0, 
-    132,   7,   0,   0,   9,  16, 
-      0,   0,  24,   1,   0,   0, 
-      1,   0, 160,  84, 101, 120, 
-    116, 117, 114, 101,  86, 101, 
-    114, 116, 101, 120,  83, 104, 
-     97, 100, 101, 114,   0,   0, 
-     46,   0,  62,  17,   4,  16, 
-      0,   0,   9,   0, 105, 110, 
-    112, 117, 116,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,   0,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,   0,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,   4,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,   4,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,   8,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,   8,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  12,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  12,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  16,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  16,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  20,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  20,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  24,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  32,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  28,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  36,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  32,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  40,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  36,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  48,   0,   0,   0, 
-     22,   0,  80,  17,   1,   0, 
-      5,   0,  40,   0,   4,   0, 
-     24,   1,   0,   0,   1,   0, 
-    132,   7,  64,   0,   0,   0, 
-     22,   0,  80,  17,   0,   0, 
-      5,   0,  12,   0,   4,   0, 
-     12,   2,   0,   0,   1,   0, 
-    100,   1,  28,   0,   0,   0, 
-     22,   0,  80,  17,   0,   0, 
-      5,   0,  40,   0,   4,   0, 
-     80,   4,   0,   0,   1,   0, 
-    240,   2,  12,   0,   0,   0, 
-     74,   0,  62,  17,   8,  16, 
-      0,   0, 136,   0,  60,  84, 
-    101, 120, 116, 117, 114, 101, 
-     86, 101, 114, 116, 101, 120, 
-     83, 104,  97, 100, 101, 114, 
-     32, 114, 101, 116, 117, 114, 
-    110,  32, 118,  97, 108, 117, 
-    101,  62,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     52,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     64,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     56,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     68,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     60,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     72,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     64,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     76,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     40,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     48,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     44,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     52,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     48,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     56,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     32,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     32,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     36,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     36,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     16,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     16,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     20,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     20,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     24,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     24,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     28,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     28,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-      0,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-      0,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-      4,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-      4,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-      8,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-      8,   0,   0,   0,  22,   0, 
-     80,  17,   2,   0,   5,   0, 
-     12,   0,   4,   0,  24,   1, 
-      0,   0,   1,   0, 132,   7, 
-     12,   0,   0,   0,  46,   0, 
-     62,  17,   7,  16,   0,   0, 
-      8,   0, 111, 117, 116, 112, 
-    117, 116,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     40,   0,   4,   0, 248,   1, 
-      0,   0,   1,   0, 164,   6, 
-      0,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     44,   0,   4,   0, 248,   1, 
-      0,   0,   1,   0, 164,   6, 
-      4,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     48,   0,   4,   0, 248,   1, 
-      0,   0,   1,   0, 164,   6, 
-      8,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     32,   0,   4,   0,  32,   2, 
-      0,   0,   1,   0, 124,   6, 
-     32,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     36,   0,   4,   0,  32,   2, 
-      0,   0,   1,   0, 124,   6, 
-     36,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-      0,   0,   4,   0, 120,   2, 
-      0,   0,   1,   0,  36,   6, 
-     48,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-      4,   0,   4,   0, 160,   2, 
-      0,   0,   1,   0, 252,   5, 
-     52,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-      8,   0,   4,   0, 200,   2, 
-      0,   0,   1,   0, 212,   5, 
-     56,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     12,   0,   4,   0, 240,   2, 
-      0,   0,   1,   0, 172,   5, 
-     60,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     16,   0,   4,   0,  16,   3, 
-      0,   0,   1,   0, 128,   0, 
-     16,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     20,   0,   4,   0,  48,   3, 
-      0,   0,   1,   0, 128,   0, 
-     20,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     24,   0,   4,   0,  80,   3, 
-      0,   0,   1,   0, 128,   0, 
-     24,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     28,   0,   4,   0, 112,   3, 
-      0,   0,   1,   0, 128,   0, 
-     28,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     16,   0,   4,   0, 144,   3, 
-      0,   0,   1,   0,  12,   5, 
-     64,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     20,   0,   4,   0, 176,   3, 
-      0,   0,   1,   0, 236,   4, 
-     68,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     24,   0,   4,   0, 208,   3, 
-      0,   0,   1,   0, 204,   4, 
-     72,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     28,   0,   4,   0, 240,   3, 
-      0,   0,   1,   0, 172,   4, 
-     76,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     52,   0,   4,   0,  16,   4, 
-      0,   0,   1,   0, 140,   4, 
-     16,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     56,   0,   4,   0,  16,   4, 
-      0,   0,   1,   0, 140,   4, 
-     20,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     60,   0,   4,   0,  16,   4, 
-      0,   0,   1,   0, 140,   4, 
-     24,   0,   0,   0,  22,   0, 
-     80,  17,   0,   0,   5,   0, 
-     64,   0,   4,   0,  16,   4, 
-      0,   0,   1,   0, 140,   4, 
-     28,   0,   0,   0,   2,   0, 
-      6,   0, 244,   0,   0,   0, 
-     24,   0,   0,   0,   1,   0, 
-      0,   0,  16,   1, 231, 166, 
-      9, 195, 147, 174, 144,  84, 
-    167,  23, 216, 209,  47,  23, 
-    211,  45,   0,   0, 242,   0, 
-      0,   0, 192,   6,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      1,   0, 156,   8,   0,   0, 
-      0,   0,   0,   0, 142,   0, 
-      0,   0, 180,   6,   0,   0, 
-     24,   1,   0,   0,  54,   0, 
-      0, 128,  24,   1,   0,   0, 
-     54,   0,   0,   0,  56,   1, 
-      0,   0,  54,   0,   0, 128, 
-     56,   1,   0,   0,  54,   0, 
-      0,   0,  92,   1,   0,   0, 
-     54,   0,   0, 128,  92,   1, 
-      0,   0,  54,   0,   0,   0, 
-    132,   1,   0,   0,  54,   0, 
-      0, 128, 132,   1,   0,   0, 
-     54,   0,   0,   0, 172,   1, 
-      0,   0,  54,   0,   0, 128, 
-    172,   1,   0,   0,  54,   0, 
-      0,   0, 200,   1,   0,   0, 
-     54,   0,   0, 128, 200,   1, 
-      0,   0,  54,   0,   0,   0, 
-    220,   1,   0,   0,  54,   0, 
-      0, 128, 220,   1,   0,   0, 
-     54,   0,   0,   0, 248,   1, 
-      0,   0,  57,   0,   0, 128, 
-    248,   1,   0,   0,  57,   0, 
-      0,   0,  12,   2,   0,   0, 
-     60,   0,   0, 128,  12,   2, 
-      0,   0,  60,   0,   0,   0, 
-     32,   2,   0,   0,  63,   0, 
-      0, 128,  32,   2,   0,   0, 
-     63,   0,   0,   0,  64,   2, 
-      0,   0,  63,   0,   0, 128, 
-     64,   2,   0,   0,  63,   0, 
-      0,   0,  84,   2,   0,   0, 
-     63,   0,   0, 128,  84,   2, 
-      0,   0,  63,   0,   0,   0, 
-    120,   2,   0,   0,  63,   0, 
-      0, 128, 120,   2,   0,   0, 
-     63,   0,   0,   0, 160,   2, 
-      0,   0,  63,   0,   0, 128, 
-    160,   2,   0,   0,  63,   0, 
-      0,   0, 200,   2,   0,   0, 
-     63,   0,   0, 128, 200,   2, 
-      0,   0,  63,   0,   0,   0, 
-    240,   2,   0,   0,  64,   0, 
-      0, 128, 240,   2,   0,   0, 
-     64,   0,   0,   0,  16,   3, 
-      0,   0,  64,   0,   0, 128, 
-     16,   3,   0,   0,  64,   0, 
-      0,   0,  48,   3,   0,   0, 
-     64,   0,   0, 128,  48,   3, 
-      0,   0,  64,   0,   0,   0, 
-     80,   3,   0,   0,  64,   0, 
-      0, 128,  80,   3,   0,   0, 
-     64,   0,   0,   0, 112,   3, 
-      0,   0,  65,   0,   0, 128, 
-    112,   3,   0,   0,  65,   0, 
-      0,   0, 144,   3,   0,   0, 
-     65,   0,   0, 128, 144,   3, 
-      0,   0,  65,   0,   0,   0, 
-    176,   3,   0,   0,  65,   0, 
-      0, 128, 176,   3,   0,   0, 
-     65,   0,   0,   0, 208,   3, 
-      0,   0,  65,   0,   0, 128, 
-    208,   3,   0,   0,  65,   0, 
-      0,   0, 240,   3,   0,   0, 
-     66,   0,   0, 128, 240,   3, 
-      0,   0,  66,   0,   0,   0, 
-     16,   4,   0,   0,  67,   0, 
-      0, 128,  16,   4,   0,   0, 
-     67,   0,   0,   0,  48,   4, 
-      0,   0,  67,   0,   0, 128, 
-     48,   4,   0,   0,  67,   0, 
-      0,   0,  60,   4,   0,   0, 
-     67,   0,   0, 128,  60,   4, 
-      0,   0,  67,   0,   0,   0, 
-     80,   4,   0,   0,  69,   0, 
-      0, 128,  80,   4,   0,   0, 
-     69,   0,   0,   0, 100,   4, 
-      0,   0,  69,   0,   0, 128, 
-    100,   4,   0,   0,  69,   0, 
-      0,   0, 132,   4,   0,   0, 
-     69,   0,   0, 128, 132,   4, 
-      0,   0,  69,   0,   0,   0, 
-    152,   4,   0,   0,  69,   0, 
-      0, 128, 152,   4,   0,   0, 
-     69,   0,   0,   0, 184,   4, 
-      0,   0,  69,   0,   0, 128, 
-    184,   4,   0,   0,  69,   0, 
-      0,   0, 224,   4,   0,   0, 
-     69,   0,   0, 128, 224,   4, 
-      0,   0,  69,   0,   0,   0, 
-    252,   4,   0,   0,  69,   0, 
-      0, 128, 252,   4,   0,   0, 
-     69,   0,   0,   0,  24,   5, 
-      0,   0,  69,   0,   0, 128, 
-     24,   5,   0,   0,  69,   0, 
-      0,   0,  44,   5,   0,   0, 
-     69,   0,   0, 128,  44,   5, 
-      0,   0,  69,   0,   0,   0, 
-     72,   5,   0,   0,  69,   0, 
-      0, 128,  72,   5,   0,   0, 
-     69,   0,   0,   0, 100,   5, 
-      0,   0,  69,   0,   0, 128, 
-    100,   5,   0,   0,  69,   0, 
-      0,   0, 120,   5,   0,   0, 
-     69,   0,   0, 128, 120,   5, 
-      0,   0,  69,   0,   0,   0, 
-    148,   5,   0,   0,  70,   0, 
-      0, 128, 148,   5,   0,   0, 
-     70,   0,   0,   0, 168,   5, 
-      0,   0,  70,   0,   0, 128, 
-    168,   5,   0,   0,  70,   0, 
-      0,   0, 200,   5,   0,   0, 
-     70,   0,   0, 128, 200,   5, 
-      0,   0,  70,   0,   0,   0, 
-    220,   5,   0,   0,  70,   0, 
-      0, 128, 220,   5,   0,   0, 
-     70,   0,   0,   0, 252,   5, 
-      0,   0,  70,   0,   0, 128, 
-    252,   5,   0,   0,  70,   0, 
-      0,   0,  36,   6,   0,   0, 
-     70,   0,   0, 128,  36,   6, 
-      0,   0,  70,   0,   0,   0, 
-     64,   6,   0,   0,  70,   0, 
-      0, 128,  64,   6,   0,   0, 
-     70,   0,   0,   0,  92,   6, 
-      0,   0,  70,   0,   0, 128, 
-     92,   6,   0,   0,  70,   0, 
-      0,   0, 112,   6,   0,   0, 
-     70,   0,   0, 128, 112,   6, 
-      0,   0,  70,   0,   0,   0, 
-    140,   6,   0,   0,  70,   0, 
-      0, 128, 140,   6,   0,   0, 
-     70,   0,   0,   0, 168,   6, 
-      0,   0,  70,   0,   0, 128, 
-    168,   6,   0,   0,  70,   0, 
-      0,   0, 188,   6,   0,   0, 
-     70,   0,   0, 128, 188,   6, 
-      0,   0,  70,   0,   0,   0, 
-    216,   6,   0,   0,  71,   0, 
-      0, 128, 216,   6,   0,   0, 
-     71,   0,   0,   0, 236,   6, 
-      0,   0,  71,   0,   0, 128, 
-    236,   6,   0,   0,  71,   0, 
-      0,   0,  12,   7,   0,   0, 
-     71,   0,   0, 128,  12,   7, 
-      0,   0,  71,   0,   0,   0, 
-     32,   7,   0,   0,  71,   0, 
-      0, 128,  32,   7,   0,   0, 
-     71,   0,   0,   0,  64,   7, 
-      0,   0,  71,   0,   0, 128, 
-     64,   7,   0,   0,  71,   0, 
-      0,   0, 104,   7,   0,   0, 
-     71,   0,   0, 128, 104,   7, 
-      0,   0,  71,   0,   0,   0, 
-    132,   7,   0,   0,  71,   0, 
-      0, 128, 132,   7,   0,   0, 
-     71,   0,   0,   0, 160,   7, 
-      0,   0,  71,   0,   0, 128, 
-    160,   7,   0,   0,  71,   0, 
-      0,   0, 180,   7,   0,   0, 
-     71,   0,   0, 128, 180,   7, 
-      0,   0,  71,   0,   0,   0, 
-    208,   7,   0,   0,  71,   0, 
-      0, 128, 208,   7,   0,   0, 
-     71,   0,   0,   0, 236,   7, 
-      0,   0,  71,   0,   0, 128, 
-    236,   7,   0,   0,  71,   0, 
-      0,   0,   0,   8,   0,   0, 
-     71,   0,   0, 128,   0,   8, 
-      0,   0,  71,   0,   0,   0, 
-     28,   8,   0,   0,  72,   0, 
-      0, 128,  28,   8,   0,   0, 
-     72,   0,   0,   0,  48,   8, 
-      0,   0,  73,   0,   0, 128, 
-     48,   8,   0,   0,  73,   0, 
-      0,   0,  52,   8,   0,   0, 
-     75,   0,   0, 128,  52,   8, 
-      0,   0,  75,   0,   0,   0, 
-     72,   8,   0,   0,  75,   0, 
-      0, 128,  72,   8,   0,   0, 
-     75,   0,   0,   0,  92,   8, 
-      0,   0,  75,   0,   0, 128, 
-     92,   8,   0,   0,  75,   0, 
-      0,   0, 112,   8,   0,   0, 
-     75,   0,   0, 128, 112,   8, 
-      0,   0,  75,   0,   0,   0, 
-    132,   8,   0,   0,  75,   0, 
-      0, 128, 132,   8,   0,   0, 
-     75,   0,   0,   0, 152,   8, 
-      0,   0,  75,   0,   0, 128, 
-    152,   8,   0,   0,  75,   0, 
-      0,   0,   2,   0,  86,   0, 
-     56,   0,  83,   0,   2,   0, 
-     86,   0,  28,   0,  84,   0, 
-      2,   0,  86,   0,  28,   0, 
-     84,   0,   2,   0,  86,   0, 
-     28,   0,  84,   0,   2,   0, 
-     86,   0,  18,   0,  85,   0, 
-      2,   0,  86,   0,  18,   0, 
-     85,   0,   2,   0,  86,   0, 
-     18,   0,  85,   0,   2,   0, 
-     25,   0,   2,   0,  24,   0, 
-      2,   0,  24,   0,   2,   0, 
-     23,   0,   2,   0,  69,   0, 
-     40,   0,  67,   0,   2,   0, 
-     69,   0,  20,   0,  68,   0, 
-      2,   0,  69,   0,  20,   0, 
-     68,   0,   2,   0,  69,   0, 
-     20,   0,  68,   0,   2,   0, 
-     69,   0,  20,   0,  68,   0, 
-      2,   0,  69,   0,  20,   0, 
-     68,   0,   2,   0,  46,   0, 
-     20,   0,  45,   0,   2,   0, 
-     46,   0,  20,   0,  45,   0, 
-      2,   0,  46,   0,  20,   0, 
-     45,   0,   2,   0,  46,   0, 
-     20,   0,  45,   0,   2,   0, 
-     52,   0,  20,   0,  51,   0, 
-      2,   0,  52,   0,  20,   0, 
-     51,   0,   2,   0,  52,   0, 
-     20,   0,  51,   0,   2,   0, 
-     52,   0,  20,   0,  51,   0, 
-      2,   0,  46,   0,   2,   0, 
-     45,   0,   2,   0,  28,   0, 
-      6,   0,  27,   0,   2,   0, 
-     28,   0,   2,   0,  28,   0, 
-      2,   0,  28,   0,   2,   0, 
-     28,   0,   3,   0,  89,   0, 
-     53,   0,  64,   0,   3,   0, 
-     89,   0,  53,   0,  64,   0, 
-      3,   0,  89,   0,  38,   0, 
-     49,   0,   3,   0,  89,   0, 
-     38,   0,  49,   0,   3,   0, 
-     89,   0,  22,   0,  65,   0, 
-      3,   0,  89,   0,  22,   0, 
-     65,   0,   3,   0,  89,   0, 
-     22,   0,  65,   0,   3,   0, 
-     89,   0,  22,   0,  71,   0, 
-      3,   0,  89,   0,  22,   0, 
-     71,   0,   3,   0,  89,   0, 
-     21,   0,  79,   0,   3,   0, 
-     89,   0,  20,   0,  88,   0, 
-      3,   0,  89,   0,  20,   0, 
-     88,   0,   3,   0,  89,   0, 
-     53,   0,  64,   0,   3,   0, 
-     89,   0,  53,   0,  64,   0, 
-      3,   0,  89,   0,  38,   0, 
-     49,   0,   3,   0,  89,   0, 
-     38,   0,  49,   0,   3,   0, 
-     89,   0,  22,   0,  65,   0, 
-      3,   0,  89,   0,  22,   0, 
-     65,   0,   3,   0,  89,   0, 
-     22,   0,  65,   0,   3,   0, 
-     89,   0,  22,   0,  71,   0, 
-      3,   0,  89,   0,  22,   0, 
-     71,   0,   3,   0,  89,   0, 
-     21,   0,  79,   0,   3,   0, 
-     89,   0,  20,   0,  88,   0, 
-      3,   0,  89,   0,  20,   0, 
-     88,   0,   3,   0,  88,   0, 
-     53,   0,  64,   0,   3,   0, 
-     88,   0,  53,   0,  64,   0, 
-      3,   0,  88,   0,  38,   0, 
-     49,   0,   3,   0,  88,   0, 
-     38,   0,  49,   0,   3,   0, 
-     88,   0,  22,   0,  65,   0, 
-      3,   0,  88,   0,  22,   0, 
-     65,   0,   3,   0,  88,   0, 
-     22,   0,  65,   0,   3,   0, 
-     88,   0,  22,   0,  70,   0, 
-      3,   0,  88,   0,  22,   0, 
-     70,   0,   3,   0,  88,   0, 
-     21,   0,  78,   0,   3,   0, 
-     88,   0,  20,   0,  87,   0, 
-      3,   0,  88,   0,  20,   0, 
-     87,   0,   3,   0,  23,   0, 
-      3,   0,  22,   0,   2,   0, 
-      2,   0,   2,   0,   2,   0, 
-      2,   0,  15,   0,   2,   0, 
-     15,   0,   2,   0,  15,   0, 
-      2,   0,  15,   0,   2,   0, 
-     15,   0,   2,   0,  15,   0, 
-      2,   0,  15,   0,   2,   0, 
-     15,   0,   2,   0,  15,   0, 
-      2,   0,  15,   0,   2,   0, 
-     15,   0,   2,   0,  15,   0, 
-    246,   0,   0,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-     24,   0,   0,   0,   0,   0, 
-      0,   0,  36,   0,   0,   0, 
-     72,   0,   0,   0, 100,   0, 
-      0,   0, 132,   0,   0,   0, 
-    164,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   2,  10,   0, 
-     24,  21,  11,  16,   0,   0, 
-      1,   0,   0,   2,  10,   0, 
-     24,  21, 117,   0,   0,   0, 
-      1,   0,   1,   0,  10,   0, 
-     24,  21,  15,  16,   0,   0, 
-      1,   0,   0,   2,  18,   0, 
-     27,  21, 117,   0,   0,   0, 
-      4,   0,   0,   0,  16,   0, 
-    117, 105, 110, 116,  52,   0, 
-     10,   0,  24,  21,  17,  16, 
-      0,   0,   1,   0,   1,   0, 
-     18,   0,  22,  21,  18,  16, 
-      0,   0,  34,   0,   0,   0, 
-     16,   0,   0,   0,  96,   0, 
-      0, 241,  10,   0,  24,  21, 
-     19,  16,   0,   0,   1,   0, 
-      0,   2,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+     62,  62,  32,  50,  52,  41, 
+     32,  38,  32,  48, 120,  70, 
+     70,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  47,  32, 
+     50,  53,  53,  46, 102,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 108, 
+    105, 103, 104, 116,  46, 121, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  61,  32,  40,  40, 
+     40,  40, 117, 105, 110, 116, 
+     91,  52,  93,  41, 108, 105, 
+    103, 104, 116,  91, 105, 110, 
+    112, 117, 116,  46, 105, 100, 
+     32,  47,  32,  52,  93,  41, 
+     91, 105, 110, 112, 117, 116, 
+     46, 105, 100,  32,  37,  32, 
+     52,  93,  32,  62,  62,  32, 
+     49,  54,  41,  32,  38,  32, 
+     48, 120,  70,  70,  41,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  47,  32,  50,  53,  53, 
+     46, 102,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  46, 122,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  61, 
+     32,  40,  40,  40,  40, 117, 
+    105, 110, 116,  91,  52,  93, 
+     41, 108, 105, 103, 104, 116, 
+     91, 105, 110, 112, 117, 116, 
+     46, 105, 100,  32,  47,  32, 
+     52,  93,  41,  91, 105, 110, 
+    112, 117, 116,  46, 105, 100, 
+     32,  37,  32,  52,  93,  32, 
+     62,  62,  32,  56,  41,  32, 
+     38,  32,  48, 120,  70,  70, 
+     41,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  47,  32,  50, 
+     53,  53,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  46, 119,  32, 
+     61,  32,  49,  46, 102,  59, 
+     13,  10,  32,  32,  32,  32, 
+    125,  13,  10,  13,  10,  32, 
+     32,  32,  32, 114, 101, 116, 
+    117, 114, 110,  32, 111, 117, 
+    116, 112, 117, 116,  59,  13, 
+     10, 125,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 254, 239, 254, 239, 
+      1,   0,   0,   0, 203,  10, 
+      0,   0,   0,  67,  58,  92, 
+     85, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+     68, 101, 115, 107, 116, 111, 
+    112,  92,  75, 111, 108, 106, 
+     97,  45,  83, 116, 114, 111, 
+    104, 109,  45,  71,  97, 109, 
+    101, 115,  92,  83, 112, 105, 
+    101, 108, 101,  32,  80, 108, 
+     97, 116, 102, 111, 114, 109, 
+     92,  83, 116,  97, 110, 100, 
+     97, 108, 111, 119, 110,  92, 
+     75, 108, 105, 101, 110, 116, 
+     92,  70,  97,  99, 116, 111, 
+    114, 121,  67, 114,  97, 102, 
+    116,  92,  70,  97,  99, 116, 
+    111, 114, 121,  67, 114,  97, 
+    102, 116,  92,  68,  88,  49, 
+     49,  67, 117, 115, 116, 111, 
+    109,  86, 101, 114, 116, 101, 
+    120,  83, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   0,  99,  58,  92, 117, 
+    115, 101, 114, 115,  92, 107, 
+    111, 108, 106,  97,  92, 100, 
+    101, 115, 107, 116, 111, 112, 
+     92, 107, 111, 108, 106,  97, 
+     45, 115, 116, 114, 111, 104, 
+    109,  45, 103,  97, 109, 101, 
+    115,  92, 115, 112, 105, 101, 
+    108, 101,  32, 112, 108,  97, 
+    116, 102, 111, 114, 109,  92, 
+    115, 116,  97, 110, 100,  97, 
+    108, 111, 119, 110,  92, 107, 
+    108, 105, 101, 110, 116,  92, 
+    102,  97,  99, 116, 111, 114, 
+    121,  99, 114,  97, 102, 116, 
+     92, 102,  97,  99, 116, 111, 
+    114, 121,  99, 114,  97, 102, 
+    116,  92, 100, 120,  49,  49, 
+     99, 117, 115, 116, 111, 109, 
+    118, 101, 114, 116, 101, 120, 
+    115, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  13,  10,  47,  47,  32, 
+     71,  76,  79,  66,  65,  76, 
+     83,  32,  47,  47,  13,  10, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  13,  10,  99,  98, 117, 
+    102, 102, 101, 114,  32,  77, 
+     97, 116, 114, 105, 120,  66, 
+    117, 102, 102, 101, 114,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  98, 
+     48,  41,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 109, 
+     97, 116, 114, 105, 120,  32, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,  91,  49,  50,  56,  93, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10,  47,  47,  32, 
+     84, 104, 101,  32, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,  32,  97, 110, 100, 
+     32, 118, 105, 101, 119,  32, 
+    109,  97, 116, 114, 105, 120, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  75,  97, 
+    109, 101, 114,  97,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  98,  49, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 109,  97, 
+    116, 114, 105, 120,  32, 118, 
+    105, 101, 119,  59,  13,  10, 
+     32,  32,  32,  32, 109,  97, 
+    116, 114, 105, 120,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  59,  13,  10, 
+    125,  13,  10,  13,  27, 226, 
+     48,   1, 128,   0,   0,   0, 
+     40, 218,  33,  30, 103, 189, 
+    216,   1,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2705,6 +2118,15 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      2,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 132,   0, 
+      0,   0,  40,   0,   0,   0, 
+     27, 226,  48,   1, 105, 172, 
+    121,  61, 196,   9,   0,   0, 
+      1,   0,   0,   0, 131,   0, 
+      0,   0, 132,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2763,111 +2185,666 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  11, 202,  49,   1, 
-     56,   0,   0,   0,   0,  16, 
-      0,   0,  21,  16,   0,   0, 
-     48,   2,   0,   0,  10,   0, 
-    255, 255,   4,   0,   0,   0, 
-    255, 255,   3,   0,   0,   0, 
-      0,   0,  84,   0,   0,   0, 
-     84,   0,   0,   0,   8,   0, 
-      0,   0,  92,   0,   0,   0, 
-      0,   0,   0,   0,  22,   0, 
-     27,  21,  64,   0,   0,   0, 
-      4,   0,   0,   0,  16,   0, 
-    102, 108, 111,  97, 116,  52, 
-      0, 243, 242, 241,  22,   0, 
-     27,  21,  64,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-    102, 108, 111,  97, 116,  50, 
-      0, 243, 242, 241,  22,   0, 
-     27,  21,  64,   0,   0,   0, 
-      3,   0,   0,   0,  12,   0, 
-    102, 108, 111,  97, 116,  51, 
-      0, 243, 242, 241,  94,   0, 
-      3,  18,  13,  21,   3,   0, 
-      0,  16,   0,   0,   0,   0, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,   0, 241,  13,  21, 
-      3,   0,   1,  16,   0,   0, 
-     16,   0, 116, 101, 120,   0, 
-    242, 241,  13,  21,   3,   0, 
-      2,  16,   0,   0,  24,   0, 
-    110, 111, 114, 109,  97, 108, 
-      0, 243, 242, 241,  13,  21, 
-      3,   0, 117,   0,   0,   0, 
-     36,   0, 107, 110, 111,  99, 
-    104, 101, 110,   0, 242, 241, 
-     13,  21,   3,   0, 117,   0, 
-      0,   0,  40,   0, 105, 100, 
-      0, 243, 242, 241,  38,   0, 
-      5,  21,   5,   0,   0,   0, 
-      3,  16,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     44,   0,  86, 101, 114, 116, 
-    101, 120,  73, 110, 112, 117, 
-    116,  84, 121, 112, 101,   0, 
-    242, 241,  10,   0,   1,  18, 
-      1,   0,   0,   0,   4,  16, 
-      0,   0,  94,   0,   3,  18, 
-     13,  21,   3,   0,   0,  16, 
-      0,   0,   0,   0, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-      0, 241,  13,  21,   3,   0, 
-      0,  16,   0,   0,  16,   0, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,   0, 241,  13,  21, 
-      3,   0,   1,  16,   0,   0, 
-     32,   0, 116, 101, 120,   0, 
-    242, 241,  13,  21,   3,   0, 
-      2,  16,   0,   0,  40,   0, 
-    110, 111, 114, 109,  97, 108, 
-      0, 243, 242, 241,  13,  21, 
-      3,   0,   0,  16,   0,   0, 
-     52,   0, 108, 105, 103, 104, 
-    116,   0,  38,   0,   5,  21, 
-      5,   0,   0,   0,   6,  16, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  68,   0, 
-     80, 105, 120, 101, 108,  73, 
-    110, 112, 117, 116,  84, 121, 
-    112, 101,   0, 243, 242, 241, 
-     10,   0,  24,  21,   7,  16, 
-      0,   0,   1,   0,   1,   0, 
-     14,   0,   8,  16,   8,  16, 
-      0,   0,  23,   0,   1,   0, 
-      5,  16,   0,   0,  30,   0, 
-     28,  21,  64,   0,   0,   0, 
-      4,   0,   0,   0,   4,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,  64,   0, 102, 108, 111, 
-     97, 116,  52, 120,  52,   0, 
-     10,   0,  24,  21,  10,  16, 
-      0,   0,   1,   0,   1,   0, 
-     18,   0,  22,  21,  11,  16, 
-      0,   0,  34,   0,   0,   0, 
-     64,   0,   0,   0,   0,  32, 
-      0, 241,  10,   0,  24,  21, 
-     12,  16,   0,   0,  11, 202, 
-     49,   1,  56,   0,   0,   0, 
-      0,  16,   0,   0,   0,  16, 
       0,   0,   0,   0,   0,   0, 
-     11,   0, 255, 255,   4,   0, 
-      0,   0, 255, 255,   3,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,  66,   0, 
+     60,  17,  16,   1,   0,   0, 
+      0,   1,  10,   0,   1,   0, 
+    173,   2,  97,  74,  10,   0, 
+      1,   0, 173,   2,  97,  74, 
+     77, 105,  99, 114, 111, 115, 
+    111, 102, 116,  32,  40,  82, 
+     41,  32,  72,  76,  83,  76, 
+     32,  83, 104,  97, 100, 101, 
+    114,  32,  67, 111, 109, 112, 
+    105, 108, 101, 114,  32,  49, 
+     48,  46,  49,   0,   0,   0, 
+     66,   0,  61,  17,   1, 104, 
+    108, 115, 108,  70, 108,  97, 
+    103, 115,   0,  48, 120,  53, 
+      0, 104, 108, 115, 108,  84, 
+     97, 114, 103, 101, 116,   0, 
+    118, 115,  95,  53,  95,  48, 
+      0, 104, 108, 115, 108,  69, 
+    110, 116, 114, 121,   0,  84, 
+    101, 120, 116, 117, 114, 101, 
+     86, 101, 114, 116, 101, 120, 
+     83, 104,  97, 100, 101, 114, 
+      0,   0,  58,   0,  16,  17, 
+      0,   0,   0,   0,  60,   6, 
       0,   0,   0,   0,   0,   0, 
+     96,   9,   0,   0,   0,   0, 
+      0,   0,  96,   9,   0,   0, 
+      9,  16,   0,   0,  24,   1, 
+      0,   0,   1,   0, 160,  84, 
+    101, 120, 116, 117, 114, 101, 
+     86, 101, 114, 116, 101, 120, 
+     83, 104,  97, 100, 101, 114, 
+      0,   0,  46,   0,  62,  17, 
+      4,  16,   0,   0,   9,   0, 
+    105, 110, 112, 117, 116,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,   0,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,   4,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,   4,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,   8,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,   8,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  12,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  12,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  16,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  16,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  20,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  20,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  24,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  32,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  28,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  36,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  32,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  40,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  36,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  48,   0, 
+      0,   0,  22,   0,  80,  17, 
+      1,   0,   5,   0,  40,   0, 
+      4,   0,  24,   1,   0,   0, 
+      1,   0,  96,   9,  64,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  12,   0, 
+      4,   0,  12,   2,   0,   0, 
+      1,   0, 100,   1,  28,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  40,   0, 
+      4,   0,  40,   6,   0,   0, 
+      1,   0, 240,   2,  12,   0, 
+      0,   0,  74,   0,  62,  17, 
+      8,  16,   0,   0, 136,   0, 
+     60,  84, 101, 120, 116, 117, 
+    114, 101,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,  32, 114, 101, 116, 
+    117, 114, 110,  32, 118,  97, 
+    108, 117, 101,  62,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  52,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  64,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  56,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  68,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  60,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  72,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  64,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  76,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  40,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  48,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  44,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  52,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  48,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  56,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  32,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  32,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  36,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  36,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  16,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  16,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  20,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  20,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  24,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  24,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  28,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  28,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   0,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   4,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,   4,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   8,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,   8,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  12,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     96,   9,  12,   0,   0,   0, 
+     46,   0,  62,  17,   7,  16, 
+      0,   0,   8,   0, 111, 117, 
+    116, 112, 117, 116,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  40,   0,   4,   0, 
+    248,   1,   0,   0,   1,   0, 
+    128,   8,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  44,   0,   4,   0, 
+    248,   1,   0,   0,   1,   0, 
+    128,   8,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  48,   0,   4,   0, 
+    248,   1,   0,   0,   1,   0, 
+    128,   8,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  32,   0,   4,   0, 
+     32,   2,   0,   0,   1,   0, 
+     88,   8,  32,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  36,   0,   4,   0, 
+     32,   2,   0,   0,   1,   0, 
+     88,   8,  36,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+    120,   2,   0,   0,   1,   0, 
+      0,   8,  48,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+    160,   2,   0,   0,   1,   0, 
+    216,   7,  52,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+    200,   2,   0,   0,   1,   0, 
+    176,   7,  56,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  12,   0,   4,   0, 
+    240,   2,   0,   0,   1,   0, 
+    136,   7,  60,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  16,   0,   4,   0, 
+     16,   3,   0,   0,   1,   0, 
+    128,   0,  16,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  20,   0,   4,   0, 
+     48,   3,   0,   0,   1,   0, 
+    128,   0,  20,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  24,   0,   4,   0, 
+     80,   3,   0,   0,   1,   0, 
+    128,   0,  24,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  28,   0,   4,   0, 
+    112,   3,   0,   0,   1,   0, 
+    128,   0,  28,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  16,   0,   4,   0, 
+    144,   3,   0,   0,   1,   0, 
+    232,   6,  64,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  20,   0,   4,   0, 
+    176,   3,   0,   0,   1,   0, 
+    200,   6,  68,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  24,   0,   4,   0, 
+    208,   3,   0,   0,   1,   0, 
+    168,   6,  72,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  28,   0,   4,   0, 
+    240,   3,   0,   0,   1,   0, 
+    136,   6,  76,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  52,   0,   4,   0, 
+     16,   4,   0,   0,   1,   0, 
+    104,   6,  16,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  56,   0,   4,   0, 
+     16,   4,   0,   0,   1,   0, 
+    104,   6,  20,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  60,   0,   4,   0, 
+     16,   4,   0,   0,   1,   0, 
+    104,   6,  24,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  64,   0,   4,   0, 
+     16,   4,   0,   0,   1,   0, 
+    104,   6,  28,   0,   0,   0, 
+      2,   0,   6,   0, 244,   0, 
+      0,   0,  24,   0,   0,   0, 
+      1,   0,   0,   0,  16,   1, 
+     75,  86, 196, 156, 165,  74, 
+    182,   6, 106, 178,  77, 152, 
+     52, 229, 210, 209,   0,   0, 
+    242,   0,   0,   0, 184,   8, 
       0,   0,   0,   0,   0,   0, 
+      1,   0,   1,   0, 120,  10, 
       0,   0,   0,   0,   0,   0, 
+    184,   0,   0,   0, 172,   8, 
+      0,   0,  24,   1,   0,   0, 
+     54,   0,   0, 129,  24,   1, 
+      0,   0,  55,   0,   0,   0, 
+     56,   1,   0,   0,  54,   0, 
+      0, 129,  56,   1,   0,   0, 
+     55,   0,   0,   0,  92,   1, 
+      0,   0,  54,   0,   0, 129, 
+     92,   1,   0,   0,  55,   0, 
+      0,   0, 132,   1,   0,   0, 
+     54,   0,   0, 129, 132,   1, 
+      0,   0,  55,   0,   0,   0, 
+    172,   1,   0,   0,  54,   0, 
+      0, 129, 172,   1,   0,   0, 
+     55,   0,   0,   0, 200,   1, 
+      0,   0,  54,   0,   0, 129, 
+    200,   1,   0,   0,  55,   0, 
+      0,   0, 220,   1,   0,   0, 
+     54,   0,   0, 129, 220,   1, 
+      0,   0,  55,   0,   0,   0, 
+    248,   1,   0,   0,  58,   0, 
+      0, 128, 248,   1,   0,   0, 
+     58,   0,   0,   0,  12,   2, 
+      0,   0,  61,   0,   0, 128, 
+     12,   2,   0,   0,  61,   0, 
+      0,   0,  32,   2,   0,   0, 
+     65,   0,   0, 128,  32,   2, 
+      0,   0,  65,   0,   0,   0, 
+     64,   2,   0,   0,  65,   0, 
+      0, 128,  64,   2,   0,   0, 
+     65,   0,   0,   0,  84,   2, 
+      0,   0,  65,   0,   0, 128, 
+     84,   2,   0,   0,  65,   0, 
+      0,   0, 120,   2,   0,   0, 
+     65,   0,   0, 128, 120,   2, 
+      0,   0,  65,   0,   0,   0, 
+    160,   2,   0,   0,  65,   0, 
+      0, 128, 160,   2,   0,   0, 
+     65,   0,   0,   0, 200,   2, 
+      0,   0,  65,   0,   0, 128, 
+    200,   2,   0,   0,  65,   0, 
+      0,   0, 240,   2,   0,   0, 
+     66,   0,   0, 128, 240,   2, 
+      0,   0,  66,   0,   0,   0, 
+     16,   3,   0,   0,  66,   0, 
+      0, 128,  16,   3,   0,   0, 
+     66,   0,   0,   0,  48,   3, 
+      0,   0,  66,   0,   0, 128, 
+     48,   3,   0,   0,  66,   0, 
+      0,   0,  80,   3,   0,   0, 
+     66,   0,   0, 128,  80,   3, 
+      0,   0,  66,   0,   0,   0, 
+    112,   3,   0,   0,  67,   0, 
+      0, 128, 112,   3,   0,   0, 
+     67,   0,   0,   0, 144,   3, 
+      0,   0,  67,   0,   0, 128, 
+    144,   3,   0,   0,  67,   0, 
+      0,   0, 176,   3,   0,   0, 
+     67,   0,   0, 128, 176,   3, 
+      0,   0,  67,   0,   0,   0, 
+    208,   3,   0,   0,  67,   0, 
+      0, 128, 208,   3,   0,   0, 
+     67,   0,   0,   0, 240,   3, 
+      0,   0,  68,   0,   0, 128, 
+    240,   3,   0,   0,  68,   0, 
+      0,   0,  16,   4,   0,   0, 
+     69,   0,   0, 128,  16,   4, 
+      0,   0,  69,   0,   0,   0, 
+     36,   4,   0,   0,  69,   0, 
+      0, 128,  36,   4,   0,   0, 
+     69,   0,   0,   0,  68,   4, 
+      0,   0,  69,   0,   0, 128, 
+     68,   4,   0,   0,  69,   0, 
+      0,   0,  80,   4,   0,   0, 
+     71,   0,   0, 128,  80,   4, 
+      0,   0,  71,   0,   0,   0, 
+    100,   4,   0,   0,  71,   0, 
+      0, 128, 100,   4,   0,   0, 
+     71,   0,   0,   0, 132,   4, 
+      0,   0,  71,   0,   0, 128, 
+    132,   4,   0,   0,  71,   0, 
+      0,   0, 160,   4,   0,   0, 
+     71,   0,   0, 128, 160,   4, 
+      0,   0,  71,   0,   0,   0, 
+    180,   4,   0,   0,  71,   0, 
+      0, 128, 180,   4,   0,   0, 
+     71,   0,   0,   0, 208,   4, 
+      0,   0,  72,   0,   0, 128, 
+    208,   4,   0,   0,  72,   0, 
+      0,   0, 228,   4,   0,   0, 
+     72,   0,   0, 128, 228,   4, 
+      0,   0,  72,   0,   0,   0, 
+      4,   5,   0,   0,  72,   0, 
+      0, 128,   4,   5,   0,   0, 
+     72,   0,   0,   0,  32,   5, 
+      0,   0,  72,   0,   0, 128, 
+     32,   5,   0,   0,  72,   0, 
+      0,   0,  52,   5,   0,   0, 
+     72,   0,   0, 128,  52,   5, 
+      0,   0,  72,   0,   0,   0, 
+     80,   5,   0,   0,  73,   0, 
+      0, 128,  80,   5,   0,   0, 
+     73,   0,   0,   0, 100,   5, 
+      0,   0,  73,   0,   0, 128, 
+    100,   5,   0,   0,  73,   0, 
+      0,   0, 132,   5,   0,   0, 
+     73,   0,   0, 128, 132,   5, 
+      0,   0,  73,   0,   0,   0, 
+    160,   5,   0,   0,  73,   0, 
+      0, 128, 160,   5,   0,   0, 
+     73,   0,   0,   0, 180,   5, 
+      0,   0,  73,   0,   0, 128, 
+    180,   5,   0,   0,  73,   0, 
+      0,   0, 208,   5,   0,   0, 
+     74,   0,   0, 128, 208,   5, 
+      0,   0,  74,   0,   0,   0, 
+    228,   5,   0,   0,  75,   0, 
+      0, 128, 228,   5,   0,   0, 
+     75,   0,   0,   0, 232,   5, 
+      0,   0,  76,   0,   0, 128, 
+    232,   5,   0,   0,  76,   0, 
+      0,   0,   8,   6,   0,   0, 
+     76,   0,   0, 128,   8,   6, 
+      0,   0,  76,   0,   0,   0, 
+     20,   6,   0,   0,  76,   0, 
+      0, 128,  20,   6,   0,   0, 
+     76,   0,   0,   0,  40,   6, 
+      0,   0,  78,   0,   0, 130, 
+     40,   6,   0,   0,  79,   0, 
+      0,   0,  60,   6,   0,   0, 
+     78,   0,   0, 130,  60,   6, 
+      0,   0,  79,   0,   0,   0, 
+     92,   6,   0,   0,  78,   0, 
+      0, 130,  92,   6,   0,   0, 
+     79,   0,   0,   0, 112,   6, 
+      0,   0,  78,   0,   0, 130, 
+    112,   6,   0,   0,  79,   0, 
+      0,   0, 144,   6,   0,   0, 
+     78,   0,   0, 130, 144,   6, 
+      0,   0,  79,   0,   0,   0, 
+    184,   6,   0,   0,  78,   0, 
+      0, 130, 184,   6,   0,   0, 
+     79,   0,   0,   0, 212,   6, 
+      0,   0,  78,   0,   0, 130, 
+    212,   6,   0,   0,  79,   0, 
+      0,   0, 240,   6,   0,   0, 
+     78,   0,   0, 130, 240,   6, 
+      0,   0,  79,   0,   0,   0, 
+      4,   7,   0,   0,  78,   0, 
+      0, 130,   4,   7,   0,   0, 
+     79,   0,   0,   0,  32,   7, 
+      0,   0,  78,   0,   0, 130, 
+     32,   7,   0,   0,  79,   0, 
+      0,   0,  60,   7,   0,   0, 
+     78,   0,   0, 130,  60,   7, 
+      0,   0,  79,   0,   0,   1, 
+     80,   7,   0,   0,  78,   0, 
+      0, 130,  80,   7,   0,   0, 
+     79,   0,   0,   1, 108,   7, 
+      0,   0,  81,   0,   0, 130, 
+    108,   7,   0,   0,  82,   0, 
+      0,   0, 128,   7,   0,   0, 
+     81,   0,   0, 130, 128,   7, 
+      0,   0,  82,   0,   0,   0, 
+    160,   7,   0,   0,  81,   0, 
+      0, 130, 160,   7,   0,   0, 
+     82,   0,   0,   0, 180,   7, 
+      0,   0,  81,   0,   0, 130, 
+    180,   7,   0,   0,  82,   0, 
+      0,   0, 212,   7,   0,   0, 
+     81,   0,   0, 130, 212,   7, 
+      0,   0,  82,   0,   0,   0, 
+    252,   7,   0,   0,  81,   0, 
+      0, 130, 252,   7,   0,   0, 
+     82,   0,   0,   0,  24,   8, 
+      0,   0,  81,   0,   0, 130, 
+     24,   8,   0,   0,  82,   0, 
+      0,   0,  52,   8,   0,   0, 
+     81,   0,   0, 130,  52,   8, 
+      0,   0,  82,   0,   0,   0, 
+     72,   8,   0,   0,  81,   0, 
+      0, 130,  72,   8,   0,   0, 
+     82,   0,   0,   0, 100,   8, 
+      0,   0,  81,   0,   0, 130, 
+    100,   8,   0,   0,  82,   0, 
+      0,   0, 128,   8,   0,   0, 
+     81,   0,   0, 130, 128,   8, 
+      0,   0,  82,   0,   0,   1, 
+    148,   8,   0,   0,  81,   0, 
+      0, 130, 148,   8,   0,   0, 
+     82,   0,   0,   1, 176,   8, 
+      0,   0,  84,   0,   0, 130, 
+    176,   8,   0,   0,  85,   0, 
+      0,   0, 196,   8,   0,   0, 
+     84,   0,   0, 130, 196,   8, 
+      0,   0,  85,   0,   0,   0, 
+    228,   8,   0,   0,  84,   0, 
+      0, 130, 228,   8,   0,   0, 
+     85,   0,   0,   0, 248,   8, 
+      0,   0,  84,   0,   0, 130, 
+    248,   8,   0,   0,  85,   0, 
+      0,   0,  24,   9,   0,   0, 
+     84,   0,   0, 130,  24,   9, 
+      0,   0,  85,   0,   0,   0, 
+     64,   9,   0,   0,  84,   0, 
+      0, 130,  64,   9,   0,   0, 
+     85,   0,   0,   0,  92,   9, 
+      0,   0,  84,   0,   0, 130, 
+     92,   9,   0,   0,  85,   0, 
+      0,   0, 120,   9,   0,   0, 
+     84,   0,   0, 130, 120,   9, 
+      0,   0,  85,   0,   0,   0, 
+    140,   9,   0,   0,  84,   0, 
+      0, 130, 140,   9,   0,   0, 
+     85,   0,   0,   0, 168,   9, 
+      0,   0,  84,   0,   0, 130, 
+    168,   9,   0,   0,  85,   0, 
+      0,   0, 196,   9,   0,   0, 
+     84,   0,   0, 130, 196,   9, 
+      0,   0,  85,   0,   0,   1, 
+    216,   9,   0,   0,  84,   0, 
+      0, 130, 216,   9,   0,   0, 
+     85,   0,   0,   1, 244,   9, 
+      0,   0,  87,   0,   0, 128, 
+    244,   9,   0,   0,  87,   0, 
+      0,   0,   8,  10,   0,   0, 
+     88,   0,   0, 128,   8,  10, 
+      0,   0,  88,   0,   0,   0, 
+     12,  10,   0,   0,  88,   0, 
+      0, 128,  12,  10,   0,   0, 
+     88,   0,   0,   0,  16,  10, 
+      0,   0,  90,   0,   0, 128, 
+     16,  10,   0,   0,  90,   0, 
+      0,   0,  36,  10,   0,   0, 
+     90,   0,   0, 128,  36,  10, 
+      0,   0,  90,   0,   0,   0, 
+     56,  10,   0,   0,  90,   0, 
+      0, 128,  56,  10,   0,   0, 
+     90,   0,   0,   0,  76,  10, 
+      0,   0,  90,   0,   0, 128, 
+     76,  10,   0,   0,  90,   0, 
+      0,   0,  96,  10,   0,   0, 
+     90,   0,   0, 128,  96,  10, 
+      0,   0,  90,   0,   0,   0, 
+    116,  10,   0,   0,  90,   0, 
+      0, 128, 116,  10,   0,   0, 
+     90,   0,   0,   0,   5,   0, 
+     79,   0,  49,   0,  76,   0, 
+      5,   0,  79,   0,  21,   0, 
+     77,   0,   5,   0,  79,   0, 
+     21,   0,  77,   0,   5,   0, 
+     79,   0,  21,   0,  77,   0, 
+      5,   0,  79,   0,  11,   0, 
+     78,   0,   5,   0,  79,   0, 
+     11,   0,  78,   0,   5,   0, 
+     79,   0,  11,   0,  78,   0, 
+      5,   0,  28,   0,   5,   0, 
+     27,   0,   5,   0,  27,   0, 
+      5,   0,  26,   0,   5,   0, 
+     72,   0,  43,   0,  70,   0, 
+      5,   0,  72,   0,  23,   0, 
+     71,   0,   5,   0,  72,   0, 
+     23,   0,  71,   0,   5,   0, 
+     72,   0,  23,   0,  71,   0, 
+      5,   0,  72,   0,  23,   0, 
+     71,   0,   5,   0,  72,   0, 
+     23,   0,  71,   0,   5,   0, 
+     49,   0,  23,   0,  48,   0, 
+      5,   0,  49,   0,  23,   0, 
+     48,   0,   5,   0,  49,   0, 
+     23,   0,  48,   0,   5,   0, 
+     49,   0,  23,   0,  48,   0, 
+      5,   0,  55,   0,  23,   0, 
+     54,   0,   5,   0,  55,   0, 
+     23,   0,  54,   0,   5,   0, 
+     55,   0,  23,   0,  54,   0, 
+      5,   0,  55,   0,  23,   0, 
+     54,   0,   5,   0,  49,   0, 
+      5,   0,  48,   0,   5,   0, 
+     25,   0,   9,   0,  24,   0, 
+      5,   0,  25,   0,   9,   0, 
+     24,   0,   5,   0,  25,   0, 
+      5,   0,  25,   0,   9,   0, 
+     73,   0,  28,   0,  55,   0, 
+      9,   0,  73,   0,  28,   0, 
+     55,   0,   9,   0,  73,   0, 
+     27,   0,  63,   0,   9,   0, 
+     73,   0,  26,   0,  72,   0, 
+      9,   0,  73,   0,  26,   0, 
+     72,   0,   9,   0,  73,   0, 
+     28,   0,  55,   0,   9,   0, 
+     73,   0,  28,   0,  55,   0, 
+      9,   0,  73,   0,  27,   0, 
+     63,   0,   9,   0,  73,   0, 
+     26,   0,  72,   0,   9,   0, 
+     73,   0,  26,   0,  72,   0, 
+      9,   0,  72,   0,  28,   0, 
+     54,   0,   9,   0,  72,   0, 
+     28,   0,  54,   0,   9,   0, 
+     72,   0,  27,   0,  62,   0, 
+      9,   0,  72,   0,  26,   0, 
+     71,   0,   9,   0,  72,   0, 
+     26,   0,  71,   0,   9,   0, 
+     29,   0,   9,   0,  28,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,  10,   0,  36,   0, 
+     14,   0,  35,   0,  10,   0, 
+     36,   0,  10,   0,  36,   0, 
+     10,   0,  36,   0,  10,   0, 
+     36,   0,   9,   0,  20,   0, 
+     48,   0,  59,   0,   9,   0, 
+     20,   0,  48,   0,  59,   0, 
+      9,   0,  20,   0,  33,   0, 
+     44,   0,   9,   0,  20,   0, 
+     33,   0,  44,   0,   9,   0, 
+     20,   0,  17,   0,  60,   0, 
+      9,   0,  20,   0,  17,   0, 
+     60,   0,   9,   0,  20,   0, 
+     17,   0,  60,   0,   9,   0, 
+     20,   0,  17,   0,  66,   0, 
+      9,   0,  20,   0,  17,   0, 
+     66,   0,   9,   0,  20,   0, 
+     16,   0,  74,   0,   9,   0, 
+     20,   0,  15,   0,  19,   0, 
+      9,   0,  20,   0,  15,   0, 
+     19,   0,   9,   0,  20,   0, 
+     48,   0,  59,   0,   9,   0, 
+     20,   0,  48,   0,  59,   0, 
+      9,   0,  20,   0,  33,   0, 
+     44,   0,   9,   0,  20,   0, 
+     33,   0,  44,   0,   9,   0, 
+     20,   0,  17,   0,  60,   0, 
+      9,   0,  20,   0,  17,   0, 
+     60,   0,   9,   0,  20,   0, 
+     17,   0,  60,   0,   9,   0, 
+     20,   0,  17,   0,  66,   0, 
+      9,   0,  20,   0,  17,   0, 
+     66,   0,   9,   0,  20,   0, 
+     16,   0,  74,   0,   9,   0, 
+     20,   0,  15,   0,  19,   0, 
+      9,   0,  20,   0,  15,   0, 
+     19,   0,   9,   0,  20,   0, 
+     48,   0,  59,   0,   9,   0, 
+     20,   0,  48,   0,  59,   0, 
+      9,   0,  20,   0,  33,   0, 
+     44,   0,   9,   0,  20,   0, 
+     33,   0,  44,   0,   9,   0, 
+     20,   0,  17,   0,  60,   0, 
+      9,   0,  20,   0,  17,   0, 
+     60,   0,   9,   0,  20,   0, 
+     17,   0,  60,   0,   9,   0, 
+     20,   0,  17,   0,  65,   0, 
+      9,   0,  20,   0,  17,   0, 
+     65,   0,   9,   0,  20,   0, 
+     16,   0,  73,   0,   9,   0, 
+     20,   0,  15,   0,  19,   0, 
+      9,   0,  20,   0,  15,   0, 
+     19,   0,   9,   0,  29,   0, 
+      9,   0,  28,   0,   5,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0, 246,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,  24,   0,   0,   0, 
+      0,   0,   0,   0,  36,   0, 
+      0,   0,  72,   0,   0,   0, 
+    100,   0,   0,   0, 132,   0, 
+      0,   0, 164,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2898,6 +2875,27 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   2,  10,   0,  24,  21, 
+     11,  16,   0,   0,   1,   0, 
+      0,   2,  10,   0,  24,  21, 
+    117,   0,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+     15,  16,   0,   0,   1,   0, 
+      0,   2,  18,   0,  27,  21, 
+    117,   0,   0,   0,   4,   0, 
+      0,   0,  16,   0, 117, 105, 
+    110, 116,  52,   0,  10,   0, 
+     24,  21,  17,  16,   0,   0, 
+      1,   0,   1,   0,  18,   0, 
+     22,  21,  18,  16,   0,   0, 
+     34,   0,   0,   0,  16,   0, 
+      0,   0,  96,   0,   0, 241, 
+     10,   0,  24,  21,  19,  16, 
+      0,   0,   1,   0,   0,   2, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2934,284 +2932,7 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     78,  79,  67,  72,  69,  78, 
-     95,  73,  68,  48,  59,  13, 
-     10,   9, 117, 105, 110, 116, 
-     32, 105, 100,  32,  58,  32, 
-     86,  69,  82,  84,  69,  88, 
-     95,  73,  68,  48,  59,  13, 
-     10, 125,  59,  13,  10,  13, 
-     10, 115, 116, 114, 117,  99, 
-    116,  32,  80, 105, 120, 101, 
-    108,  73, 110, 112, 117, 116, 
-     84, 121, 112, 101,  13,  10, 
-    123,  13,  10,   9, 102, 108, 
-    111,  97, 116,  52,  32, 119, 
-    111, 114, 108, 100,  80, 111, 
-    115,  32,  58,  32,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-     59,  13,  10,   9, 102, 108, 
-    111,  97, 116,  52,  32, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  58,  32,  83,  86, 
-     95,  80,  79,  83,  73,  84, 
-     73,  79,  78,  59,  13,  10, 
-      9, 102, 108, 111,  97, 116, 
-     50,  32, 116, 101, 120,  32, 
-     58,  32,  84,  69,  88,  67, 
-     79,  79,  82,  68,  48,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  51,  32, 110, 111, 
-    114, 109,  97, 108,  32,  58, 
-     32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  49,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  52,  32, 108, 105, 103, 
-    104, 116,  32,  58,  32,  84, 
-     69,  88,  67,  79,  79,  82, 
-     68,  50,  59,  13,  10, 125, 
-     59,  13,  10,  13,  10,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  13,  10,  47,  47,  32, 
-     86, 101, 114, 116, 101, 120, 
-     32,  83, 104,  97, 100, 101, 
-    114,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  13, 
-     10,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  13,  10,  80, 
-    105, 120, 101, 108,  73, 110, 
-    112, 117, 116,  84, 121, 112, 
-    101,  32,  84, 101, 120, 116, 
-    117, 114, 101,  86, 101, 114, 
-    116, 101, 120,  83, 104,  97, 
-    100, 101, 114,  40,  86, 101, 
-    114, 116, 101, 120,  73, 110, 
-    112, 117, 116,  84, 121, 112, 
-    101,  32, 105, 110, 112, 117, 
-    116,  41,  13,  10, 123,  13, 
-     10,   9,  47,  47, 114, 101, 
-    116, 117, 114, 110,  32, 105, 
-    110, 112, 117, 116,  59,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,   9,  80, 
-    105, 120, 101, 108,  73, 110, 
-    112, 117, 116,  84, 121, 112, 
-    101,  32, 111, 117, 116, 112, 
-    117, 116,  59,  13,  10,   9, 
-    111, 117, 116, 112, 117, 116, 
-     46, 110, 111, 114, 109,  97, 
-    108,  32,  61,  32, 110, 111, 
-    114, 109,  97, 108, 105, 122, 
-    101,  40, 109, 117, 108,  40, 
-    105, 110, 112, 117, 116,  46, 
-    110, 111, 114, 109,  97, 108, 
-     44,  32,  40, 102, 108, 111, 
-     97, 116,  51, 120,  51,  41, 
-    107, 110, 111,  99, 104, 101, 
-    110,  77,  97, 116, 114, 105, 
-    120,  91, 105, 110, 112, 117, 
-    116,  46, 107, 110, 111,  99, 
-    104, 101, 110,  93,  41,  41, 
-     59,  13,  10,  13,  10,   9, 
-     47,  47,  32,  67, 104,  97, 
-    110, 103, 101,  32, 116, 104, 
-    101,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32, 118, 
-    101,  99, 116, 111, 114,  32, 
-    116, 111,  32,  98, 101,  32, 
-     52,  32, 117, 110, 105, 116, 
-    115,  32, 102, 111, 114,  32, 
-    112, 114, 111, 112, 101, 114, 
-     32, 109,  97, 116, 114, 105, 
-    120,  32,  99,  97, 108,  99, 
-    117, 108,  97, 116, 105, 111, 
-    110, 115,  46,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10,   9, 105, 110, 112, 
-    117, 116,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  46, 
-    119,  32,  61,  32,  49,  46, 
-     48, 102,  59,  13,  10,  13, 
-     10,   9,  47,  47,  32,  83, 
-    116, 111, 114, 101,  32, 116, 
-    104, 101,  32, 116, 101, 120, 
-    116, 117, 114, 101,  32,  99, 
-    111, 111, 114, 100, 105, 110, 
-     97, 116, 101, 115,  32, 102, 
-    111, 114,  32, 116, 104, 101, 
-     32, 112, 105, 120, 101, 108, 
-     32, 115, 104,  97, 100, 101, 
-    114,  46,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    116, 101, 120,  32,  61,  32, 
-    105, 110, 112, 117, 116,  46, 
-    116, 101, 120,  59,  13,  10, 
-     13,  10,   9,  47,  47,  32, 
-     67,  97, 108,  99, 117, 108, 
-     97, 116, 101,  32, 116, 104, 
-    101,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32, 111, 
-    102,  32, 116, 104, 101,  32, 
-    118, 101, 114, 116, 101, 120, 
-     32,  97, 103,  97, 105, 110, 
-    115, 116,  32, 116, 104, 101, 
-     32, 119, 111, 114, 108, 100, 
-     44,  32, 118, 105, 101, 119, 
-     44,  32,  97, 110, 100,  32, 
-    112, 114, 111, 106, 101,  99, 
-    116, 105, 111, 110,  32, 109, 
-     97, 116, 114, 105,  99, 101, 
-    115,  46,  32,  13,  10,   9, 
-    111, 117, 116, 112, 117, 116, 
-     46, 119, 111, 114, 108, 100, 
-     80, 111, 115,  32,  61,  32, 
-    109, 117, 108,  40, 105, 110, 
-    112, 117, 116,  46, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     44,  32, 107, 110, 111,  99, 
-    104, 101, 110,  77,  97, 116, 
-    114, 105, 120,  91, 105, 110, 
-    112, 117, 116,  46, 107, 110, 
-    111,  99, 104, 101, 110,  93, 
-     41,  59,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,  32,  61,  32, 109, 
-    117, 108,  40, 111, 117, 116, 
-    112, 117, 116,  46, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-     44,  32, 118, 105, 101, 119, 
-     41,  59,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,  32,  61,  32, 109, 
-    117, 108,  40, 111, 117, 116, 
-    112, 117, 116,  46, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     44,  32, 112, 114, 111, 106, 
-    101,  99, 116, 105, 111, 110, 
-     41,  59,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    108, 105, 103, 104, 116,  32, 
-     61,  32, 102, 108, 111,  97, 
-    116,  52,  40,  49,  46,  48, 
-    102,  44,  32,  49,  46,  48, 
-    102,  44,  32,  49,  46,  48, 
-    102,  44,  32,  48,  46, 102, 
-     41,  59,  13,  10,   9, 105, 
-    102,  32,  40, 105, 110, 112, 
-    117, 116,  46, 105, 100,  32, 
-     60,  32, 108, 105, 103, 104, 
-    116,  76, 101, 110, 103, 116, 
-    104,  41,  13,  10,   9, 123, 
-     13,  10,   9,   9, 111, 117, 
-    116, 112, 117, 116,  46, 108, 
-    105, 103, 104, 116,  46, 120, 
-     32,  61,  32,  40,  40,  40, 
-     40, 117, 105, 110, 116,  91, 
-     52,  93,  41, 108, 105, 103, 
-    104, 116,  91, 105, 110, 112, 
-    117, 116,  46, 105, 100,  32, 
-     47,  32,  52,  93,  41,  91, 
-    105, 110, 112, 117, 116,  46, 
-    105, 100,  32,  37,  32,  52, 
-     93,  32,  62,  62,  32,  50, 
-     52,  41,  32,  38,  32,  48, 
-    120,  70,  70,  41,  32,  47, 
-     32,  50,  53,  53,  46, 102, 
-     59,  13,  10,   9,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    108, 105, 103, 104, 116,  46, 
-    121,  32,  61,  32,  40,  40, 
-     40,  40, 117, 105, 110, 116, 
-     91,  52,  93,  41, 108, 105, 
-    103, 104, 116,  91, 105, 110, 
-    112, 117, 116,  46, 105, 100, 
-     32,  47,  32,  52,  93,  41, 
-     91, 105, 110, 112, 117, 116, 
-     46, 105, 100,  32,  37,  32, 
-     52,  93,  32,  62,  62,  32, 
-     49,  54,  41,  32,  38,  32, 
-     48, 120,  70,  70,  41,  32, 
-     47,  32,  50,  53,  53,  46, 
-    102,  59,  13,  10,   9,   9, 
-    111, 117, 116, 112, 117, 116, 
-     46, 108, 105, 103, 104, 116, 
-     46, 122,  32,  61,  32,  40, 
-     40,  40,  40, 117, 105, 110, 
-    116,  91,  52,  93,  41, 108, 
-    105, 103, 104, 116,  91, 105, 
-    110, 112, 117, 116,  46, 105, 
-    100,  32,  47,  32,  52,  93, 
-     41,  91, 105, 110, 112, 117, 
-    116,  46, 105, 100,  32,  37, 
-     32,  52,  93,  32,  62,  62, 
-     32,  56,  41,  32,  38,  32, 
-     48, 120,  70,  70,  41,  32, 
-     47,  32,  50,  53,  53,  46, 
-    102,  59,  13,  10,   9,   9, 
-    111, 117, 116, 112, 117, 116, 
-     46, 108, 105, 103, 104, 116, 
-     46, 119,  32,  61,  32,  49, 
-     46, 102,  59,  13,  10,   9, 
-    125,  13,  10,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 111, 117, 116, 112, 117, 
-    116,  59,  13,  10, 125,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0, 131,   0,   0,   0, 
-    132,   0,   0,   0,   6,   1, 
-      0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3240,6 +2961,98 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     11, 202,  49,   1,  56,   0, 
+      0,   0,   0,  16,   0,   0, 
+     21,  16,   0,   0,  48,   2, 
+      0,   0,  10,   0, 255, 255, 
+      4,   0,   0,   0, 255, 255, 
+      3,   0,   0,   0,   0,   0, 
+     84,   0,   0,   0,  84,   0, 
+      0,   0,   8,   0,   0,   0, 
+     92,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  27,  21, 
+     64,   0,   0,   0,   4,   0, 
+      0,   0,  16,   0, 102, 108, 
+    111,  97, 116,  52,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0, 102, 108, 
+    111,  97, 116,  50,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   3,   0, 
+      0,   0,  12,   0, 102, 108, 
+    111,  97, 116,  51,   0, 243, 
+    242, 241,  94,   0,   3,  18, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,   0,   0, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+      0, 241,  13,  21,   3,   0, 
+      1,  16,   0,   0,  16,   0, 
+    116, 101, 120,   0, 242, 241, 
+     13,  21,   3,   0,   2,  16, 
+      0,   0,  24,   0, 110, 111, 
+    114, 109,  97, 108,   0, 243, 
+    242, 241,  13,  21,   3,   0, 
+    117,   0,   0,   0,  36,   0, 
+    107, 110, 111,  99, 104, 101, 
+    110,   0, 242, 241,  13,  21, 
+      3,   0, 117,   0,   0,   0, 
+     40,   0, 105, 100,   0, 243, 
+    242, 241,  38,   0,   5,  21, 
+      5,   0,   0,   0,   3,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  44,   0, 
+     86, 101, 114, 116, 101, 120, 
+     73, 110, 112, 117, 116,  84, 
+    121, 112, 101,   0, 242, 241, 
+     10,   0,   1,  18,   1,   0, 
+      0,   0,   4,  16,   0,   0, 
+     94,   0,   3,  18,  13,  21, 
+      3,   0,   0,  16,   0,   0, 
+      0,   0, 119, 111, 114, 108, 
+    100,  80, 111, 115,   0, 241, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,  16,   0, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+      0, 241,  13,  21,   3,   0, 
+      1,  16,   0,   0,  32,   0, 
+    116, 101, 120,   0, 242, 241, 
+     13,  21,   3,   0,   2,  16, 
+      0,   0,  40,   0, 110, 111, 
+    114, 109,  97, 108,   0, 243, 
+    242, 241,  13,  21,   3,   0, 
+      0,  16,   0,   0,  52,   0, 
+    108, 105, 103, 104, 116,   0, 
+     38,   0,   5,  21,   5,   0, 
+      0,   0,   6,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  68,   0,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+      0, 243, 242, 241,  10,   0, 
+     24,  21,   7,  16,   0,   0, 
+      1,   0,   1,   0,  14,   0, 
+      8,  16,   8,  16,   0,   0, 
+     23,   0,   1,   0,   5,  16, 
+      0,   0,  30,   0,  28,  21, 
+     64,   0,   0,   0,   4,   0, 
+      0,   0,   4,   0,   0,   0, 
+     16,   0,   0,   0,   0,  64, 
+      0, 102, 108, 111,  97, 116, 
+     52, 120,  52,   0,  10,   0, 
+     24,  21,  10,  16,   0,   0, 
+      1,   0,   1,   0,  18,   0, 
+     22,  21,  11,  16,   0,   0, 
+     34,   0,   0,   0,  64,   0, 
+      0,   0,   0,  32,   0, 241, 
+     10,   0,  24,  21,  12,  16, 
+      0,   0,  11, 202,  49,   1, 
+     56,   0,   0,   0,   0,  16, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,  11,   0, 
+    255, 255,   4,   0,   0,   0, 
+    255, 255,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3275,13 +3088,10 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  68,  51,  68,  83, 
-     72,  68,  82,   0, 156,   8, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  32,   0,   0,  96, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3321,6 +3131,307 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  79,  82, 
+     68,  49,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 108, 105, 
+    103, 104, 116,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  50,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  13,  10,  47,  47, 
+     32,  86, 101, 114, 116, 101, 
+    120,  32,  83, 104,  97, 100, 
+    101, 114,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     13,  10,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32,  84, 
+    101, 120, 116, 117, 114, 101, 
+     86, 101, 114, 116, 101, 120, 
+     83, 104,  97, 100, 101, 114, 
+     40,  86, 101, 114, 116, 101, 
+    120,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  41,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32,  47,  47,  32, 114, 
+    101, 116, 117, 114, 110,  32, 
+    105, 110, 112, 117, 116,  59, 
+     13,  10,  32,  32,  32,  32, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  32, 111, 117, 116, 
+    112, 117, 116,  59,  13,  10, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 110, 
+    111, 114, 109,  97, 108,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  61,  32, 110, 
+    111, 114, 109,  97, 108, 105, 
+    122, 101,  40, 109, 117, 108, 
+     40, 105, 110, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  44,  32,  40, 102, 108, 
+    111,  97, 116,  51, 120,  51, 
+     41, 107, 110, 111,  99, 104, 
+    101, 110,  77,  97, 116, 114, 
+    105, 120,  91, 105, 110, 112, 
+    117, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  93,  41, 
+     41,  59,  13,  10,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+     32,  67, 104,  97, 110, 103, 
+    101,  32, 116, 104, 101,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32, 118, 101,  99, 
+    116, 111, 114,  32, 116, 111, 
+     32,  98, 101,  32,  52,  32, 
+    117, 110, 105, 116, 115,  32, 
+    102, 111, 114,  32, 112, 114, 
+    111, 112, 101, 114,  32, 109, 
+     97, 116, 114, 105, 120,  32, 
+     99,  97, 108,  99, 117, 108, 
+     97, 116, 105, 111, 110, 115, 
+     46,  13,  10,  32,  32,  32, 
+     32, 105, 110, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  46, 119,  32, 
+     61,  32,  49,  46,  48, 102, 
+     59,  13,  10,  13,  10,  32, 
+     32,  32,  32,  47,  47,  32, 
+     83, 116, 111, 114, 101,  32, 
+    116, 104, 101,  32, 116, 101, 
+    120, 116, 117, 114, 101,  32, 
+     99, 111, 111, 114, 100, 105, 
+    110,  97, 116, 101, 115,  32, 
+    102, 111, 114,  32, 116, 104, 
+    101,  32, 112, 105, 120, 101, 
+    108,  32, 115, 104,  97, 100, 
+    101, 114,  46,  13,  10,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 116, 101, 
+    120,  32,  61,  32, 105, 110, 
+    112, 117, 116,  46, 116, 101, 
+    120,  59,  13,  10,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+     32,  67,  97, 108,  99, 117, 
+    108,  97, 116, 101,  32, 116, 
+    104, 101,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+    111, 102,  32, 116, 104, 101, 
+     32, 118, 101, 114, 116, 101, 
+    120,  32,  97, 103,  97, 105, 
+    110, 115, 116,  32, 116, 104, 
+    101,  32, 119, 111, 114, 108, 
+    100,  44,  32, 118, 105, 101, 
+    119,  44,  32,  97, 110, 100, 
+     13,  10,  32,  32,  32,  32, 
+     47,  47,  32, 112, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,  32, 109,  97, 116, 114, 
+    105,  99, 101, 115,  46,  13, 
+     10,  32,  32,  32,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  32,  61,  32, 109, 
+    117, 108,  40, 105, 110, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  44, 
+     32, 107, 110, 111,  99, 104, 
+    101, 110,  77,  97, 116, 114, 
+    105, 120,  91, 105, 110, 112, 
+    117, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  93,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  61, 
+     32, 109, 117, 108,  40, 111, 
+    117, 116, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  44,  32, 118, 105, 
+    101, 119,  41,  59,  13,  10, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  61,  32, 109, 117, 
+    108,  40, 111, 117, 116, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  44, 
+     32, 112, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  32,  61,  32, 102, 108, 
+    111,  97, 116,  52,  40,  49, 
+     46,  48, 102,  44,  32,  49, 
+     46,  48, 102,  44,  32,  49, 
+     46,  48, 102,  44,  32,  48, 
+     46, 102,  41,  59,  13,  10, 
+     32,  32,  32,  32, 105, 102, 
+     32,  40, 108, 105, 103, 104, 
+    116,  76, 101, 110, 103, 116, 
+    104,  32,  61,  61,  32,  49, 
+     41,  13,  10,  32,  32,  32, 
+     32, 123,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 108, 105, 103, 104, 116, 
+     46, 120,  32,  61,  32,  40, 
+     40,  40,  40, 117, 105, 110, 
+    116,  91,  52,  93,  41, 108, 
+    105, 103, 104, 116,  91,  48, 
+     93,  41,  91,  48,  93,  32, 
+     62,  62,  32,  50,  52,  41, 
+     32,  38,  32,  48, 120,  70, 
+     70,  41,  32,  47,  32,  50, 
+     53,  53,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  46, 121,  32, 
+     61,  32,  40,  40,  40,  40, 
+    117, 105, 110, 116,  91,  52, 
+     93,  41, 108, 105, 103, 104, 
+    116,  91,  48,  93,  41,  91, 
+     48,  93,  32,  62,  62,  32, 
+     49,  54,  41,  32,  38,  32, 
+     48, 120,  70,  70,  41,  32, 
+     47,  32,  50,  53,  53,  46, 
+    102,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 108, 105, 103, 104, 116, 
+     46, 122,  32,  61,  32,  40, 
+     40,  40,  40, 117, 105, 110, 
+    116,  91,  52,  93,  41, 108, 
+    105, 103, 104, 116,  91,  48, 
+     93,  41,  91,  48,  93,  32, 
+     62,  62,  32,  56,  41,  32, 
+     38,  32,  48, 120,  70,  70, 
+     41,  32,  47,  32,  50,  53, 
+     53,  46, 102,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 108, 105, 103, 
+    104, 116,  46, 119,  32,  61, 
+     32,  49,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32, 125, 
+     13,  10,  32,  32,  32,  32, 
+    101, 108, 115, 101,  32, 105, 
+    102,  32,  40, 105, 110, 112, 
+    117, 116,  46, 105, 100,  32, 
+     60,  32, 108, 105, 103, 104, 
+    116,  76, 101, 110, 103, 116, 
+    104,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  46, 120,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  61, 
+     32,  40,  40,  40,  40, 117, 
+    105, 110, 116,  91,  52,  93, 
+     41, 108, 105, 103, 104, 116, 
+     91, 105, 110, 112, 117, 116, 
+     46, 105, 100,  32,  47,  32, 
+     52,  93,  41,  91, 105, 110, 
+    112, 117, 116,  46, 105, 100, 
+     32,  37,  32,  52,  93,  32, 
+     62,  62,  32,  50,  52,  41, 
+     32,  38,  32,  48, 120,  70, 
+     70,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  47,  32, 
+     50,  53,  53,  46, 102,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 108, 
+    105, 103, 104, 116,  46, 121, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  61,  32,  40,  40, 
+     40,  40, 117, 105, 110, 116, 
+     91,  52,  93,  41, 108, 105, 
+    103, 104, 116,  91, 105, 110, 
+    112, 117, 116,  46, 105, 100, 
+     32,  47,  32,  52,  93,  41, 
+     91, 105, 110, 112, 117, 116, 
+     46, 105, 100,  32,  37,  32, 
+     52,  93,  32,  62,  62,  32, 
+     49,  54,  41,  32,  38,  32, 
+     48, 120,  70,  70,  41,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  47,  32,  50,  53,  53, 
+     46, 102,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 108, 105, 103, 104, 
+    116,  46, 122,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  61, 
+     32,  40,  40,  40,  40, 117, 
+    105, 110, 116,  91,  52,  93, 
+     41, 108, 105, 103, 104, 116, 
+     91, 105, 110, 112, 117, 116, 
+     46, 105, 100,  32,  47,  32, 
+     52,  93,  41,  91, 105, 110, 
+    112, 117, 116,  46, 105, 100, 
+     32,  37,  32,  52,  93,  32, 
+     62,  62,  32,  56,  41,  32, 
+     38,  32,  48, 120,  70,  70, 
+     41,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  47,  32,  50, 
+     53,  53,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  46, 119,  32, 
+     61,  32,  49,  46, 102,  59, 
+     13,  10,  32,  32,  32,  32, 
+    125,  13,  10,  13,  10,  32, 
+     32,  32,  32, 114, 101, 116, 
+    117, 114, 110,  32, 111, 117, 
+    116, 112, 117, 116,  59,  13, 
+     10, 125,   0,   7,   0,   0, 
+      0,   0,   0,   0,   0, 131, 
+      0,   0,   0, 132,   0,   0, 
+      0,   6,   1,   0,   0,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   4, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3360,24 +3471,15 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,  26,   9,  47, 241, 
-     48,   0,   0,   0,  28,   2, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,  73,   0, 
-      0,   0,   1,   0,   0,   0, 
-    133,   0,   0,   0,   1,   0, 
-      0,   0,  37,   0,   0,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   0,   1,   0,   0,   0, 
-    165,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     68,  51,  68,  83,  72,  68, 
+     82,   0, 120,  10,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
+     32,   0,   0,  96,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3385,11 +3487,9 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0, 128,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3404,7 +3504,6 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   4,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3430,7 +3529,6 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   4, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3444,7 +3542,6 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0, 128,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3458,18 +3555,27 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     12,   0,   0,   0,  24,   0, 
-      0,   0,  36,   0,   0,   0, 
-     48,   0,   0,   0,  60,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+     26,   9,  47, 241,  48,   0, 
+      0,   0,  28,   2,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  73,   0,   0,   0, 
+      1,   0,   0,   0, 133,   0, 
+      0,   0,   1,   0,   0,   0, 
+     37,   0,   0,   0,   1,   0, 
+      0,   0, 101,   0,   0,   0, 
+      1,   0,   0,   0, 165,   0, 
+      0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3477,8 +3583,10 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 128, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3493,6 +3601,7 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   4, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3519,6 +3628,7 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   4,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3531,39 +3641,8 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  34,   0,  37,  17, 
-      0,   0,   0,   0, 140,   0, 
-      0,   0,   1,   0,  84, 101, 
-    120, 116, 117, 114, 101,  86, 
-    101, 114, 116, 101, 120,  83, 
-    104,  97, 100, 101, 114,   0, 
-      0,   0,  34,   0,  81,  17, 
-     13,  16,   0,   0,   8,   0, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255, 255, 255, 107, 110, 
-    111,  99, 104, 101, 110,  77, 
-     97, 116, 114, 105, 120,   0, 
-      0,   0,  26,   0,  81,  17, 
-     14,  16,   0,   0,   8,   0, 
-      1,   0,   0,   0, 255, 255, 
-    255, 255, 255, 255, 118, 105, 
-    101, 119,   0,   0,   0,   0, 
-     30,   0,  81,  17,  14,  16, 
-      0,   0,   8,   0,   1,   0, 
-     64,   0, 255, 255, 255, 255, 
-    255, 255, 112, 114, 111, 106, 
-    101,  99, 116, 105, 111, 110, 
-      0,   0,  30,   0,  81,  17, 
-     16,  16,   0,   0,   8,   0, 
-      2,   0,   0,   0, 255, 255, 
-    255, 255, 255, 255, 108, 105, 
-    103, 104, 116,  76, 101, 110, 
-    103, 116, 104,   0,  26,   0, 
-     81,  17,  20,  16,   0,   0, 
-      8,   0,   3,   0,   0,   0, 
-    255, 255, 255, 255, 255, 255, 
-    108, 105, 103, 104, 116,   0, 
       0,   0,   0,   0,   0,   0, 
+      0, 128,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3576,6 +3655,10 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  12,   0, 
+      0,   0,  24,   0,   0,   0, 
+     36,   0,   0,   0,  48,   0, 
+      0,   0,  60,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3616,13 +3699,10 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-     26,   9,  47, 241,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3649,6 +3729,38 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     34,   0,  37,  17,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      1,   0,  84, 101, 120, 116, 
+    117, 114, 101,  86, 101, 114, 
+    116, 101, 120,  83, 104,  97, 
+    100, 101, 114,   0,   0,   0, 
+     34,   0,  81,  17,  13,  16, 
+      0,   0,   8,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+    255, 255, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,   0,   0,   0, 
+     26,   0,  81,  17,  14,  16, 
+      0,   0,   8,   0,   1,   0, 
+      0,   0, 255, 255, 255, 255, 
+    255, 255, 118, 105, 101, 119, 
+      0,   0,   0,   0,  30,   0, 
+     81,  17,  14,  16,   0,   0, 
+      8,   0,   1,   0,  64,   0, 
+    255, 255, 255, 255, 255, 255, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,   0,   0, 
+     30,   0,  81,  17,  16,  16, 
+      0,   0,   8,   0,   2,   0, 
+      0,   0, 255, 255, 255, 255, 
+    255, 255, 108, 105, 103, 104, 
+    116,  76, 101, 110, 103, 116, 
+    104,   0,  26,   0,  81,  17, 
+     20,  16,   0,   0,   8,   0, 
+      3,   0,   0,   0, 255, 255, 
+    255, 255, 255, 255, 108, 105, 
+    103, 104, 116,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3702,55 +3814,13 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1,  44, 192, 
-      0,  99,   1,   0,   0,   0, 
-    148,   5, 102, 242, 112,  37, 
-    224,  78, 133,  78,  18, 120, 
-    158, 179, 239,  74, 175,   0, 
-      0,   0,  47,  76, 105, 110, 
-    107,  73, 110, 102, 111,   0, 
-     47, 110,  97, 109, 101, 115, 
-      0,  47, 115, 114,  99,  47, 
-    104, 101,  97, 100, 101, 114, 
-     98, 108, 111,  99, 107,   0, 
-     47, 115, 114,  99,  47, 102, 
-    105, 108, 101, 115,  47,  99, 
-     58,  92, 117, 115, 101, 114, 
-    115,  92, 107, 111, 108, 106, 
-     97,  92, 100, 101, 115, 107, 
-    116, 111, 112,  92, 107, 111, 
-    108, 106,  97,  45, 115, 116, 
-    114, 111, 104, 109,  45, 103, 
-     97, 109, 101, 115,  92, 115, 
-    112, 105, 101, 108, 101,  32, 
-    112, 108,  97, 116, 102, 111, 
-    114, 109,  92, 115, 116,  97, 
-    110, 100,  97, 108, 111, 119, 
-    110,  92, 107, 108, 105, 101, 
-    110, 116,  92, 102,  97,  99, 
-    116, 111, 114, 121,  99, 114, 
-     97, 102, 116,  92, 102,  97, 
-     99, 116, 111, 114, 121,  99, 
-    114,  97, 102, 116,  92, 100, 
-    120,  49,  49,  99, 117, 115, 
-    116, 111, 109, 118, 101, 114, 
-    116, 101, 120, 115, 104,  97, 
-    100, 101, 114,  46, 104, 108, 
-    115, 108,   0,   4,   0,   0, 
-      0,   6,   0,   0,   0,   1, 
-      0,   0,   0,  30,   0,   0, 
-      0,   0,   0,   0,   0,  17, 
-      0,   0,   0,   7,   0,   0, 
-      0,  34,   0,   0,   0,   8, 
-      0,   0,   0,  10,   0,   0, 
-      0,   6,   0,   0,   0,   0, 
-      0,   0,   0,   5,   0,   0, 
-      0,   0,   0,   0,   0, 220, 
-     81,  51,   1,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3787,77 +3857,13 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-    119,   9,  49,   1,   1,   0, 
-      0,   0,  13,   0,   0, 142, 
-     14,   0,  63,  92,  15,   0, 
-      0,   0,  92,   0,   0,   0, 
-     32,   0,   0,   0,  44,   0, 
-      0,   0, 144,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  22,   0,   0,   0, 
-     25,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
-    156,   8,   0,   0,  32,   0, 
-      0,  96,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   9,   0, 
-     64,   6,   0,   0,   0,   0, 
-      0,   0, 244,   6,   0,   0, 
-      1,   0, 200, 236,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  84, 101, 
-    120, 116, 117, 114, 101,  86, 
-    101, 114, 116, 101, 120,  83, 
-    104,  97, 100, 101, 114,   0, 
-    110, 111, 110, 101,   0,   0, 
-      0,   0,  45, 186,  46, 241, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 156,   8,   0,   0, 
-     32,   0,   0,  96,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      2,   0,   7,   0,   0,   0, 
-      0,   0,   1,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-    156,   8,   0,   0,   8,   2, 
       0,   0,   0,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-      1,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-     67,  58,  92,  85, 115, 101, 
-    114, 115,  92, 107, 111, 108, 
-    106,  97,  92,  68, 101, 115, 
-    107, 116, 111, 112,  92,  75, 
-    111, 108, 106,  97,  45,  83, 
-    116, 114, 111, 104, 109,  45, 
-     71,  97, 109, 101, 115,  92, 
-     83, 112, 105, 101, 108, 101, 
-     32,  80, 108,  97, 116, 102, 
-    111, 114, 109,  92,  83, 116, 
-     97, 110, 100,  97, 108, 111, 
-    119, 110,  92,  75, 108, 105, 
-    101, 110, 116,  92,  70,  97, 
-     99, 116, 111, 114, 121,  67, 
-    114,  97, 102, 116,  92,  70, 
-     97,  99, 116, 111, 114, 121, 
-     67, 114,  97, 102, 116,  92, 
-     68,  88,  49,  49,  67, 117, 
-    115, 116, 111, 109,  86, 101, 
-    114, 116, 101, 120,  83, 104, 
-     97, 100, 101, 114,  46, 104, 
-    108, 115, 108,   0,   0,   0, 
-    254, 239, 254, 239,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   1,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0, 255, 255, 255, 255, 255, 
-    255, 255, 255, 255, 255,  12, 
-      0, 255, 255, 255, 255, 255, 
-    255, 255, 255, 255, 255,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3872,39 +3878,6 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,  32,   0,   0,   0, 
-     11,   1,   0,   0, 104,   2, 
-      0,   0, 167,   1,   0,   0, 
-     56,   0,   0,   0,   0,   0, 
-      0,   0, 132,  10,   0,   0, 
-    128,   0,   0,   0,  77,   9, 
-      0,   0,  80,  13,   0,   0, 
-     92,   0,   0,   0,   0,   0, 
-      0,   0,  40,   0,   0,   0, 
-     92,   2,   0,   0,  44,   0, 
-      0,   0, 192,   0,   0,   0, 
-      3,   0,   0,   0,  34,   0, 
-      0,   0,  23,   0,   0,   0, 
-     22,   0,   0,   0,  35,   0, 
-      0,   0,  24,   0,   0,   0, 
-     13,   0,   0,   0,   6,   0, 
-      0,   0,  25,   0,   0,   0, 
-     26,   0,   0,   0,  27,   0, 
-      0,   0,  28,   0,   0,   0, 
-     14,   0,   0,   0,   8,   0, 
-      0,   0,   9,   0,   0,   0, 
-     10,   0,   0,   0,  11,   0, 
-      0,   0,  12,   0,   0,   0, 
-     15,   0,   0,   0,  16,   0, 
-      0,   0,  17,   0,   0,   0, 
-     18,   0,   0,   0,  19,   0, 
-      0,   0,  20,   0,   0,   0, 
-     21,   0,   0,   0,   7,   0, 
-      0,   0,  29,   0,   0,   0, 
-     30,   0,   0,   0,  31,   0, 
-      0,   0,  33,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3926,7 +3899,52 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 183, 167,  15,  99, 
+      1,   0,   0,   0, 103,  80, 
+    122,  39,  98, 228, 138,  75, 
+    175, 159, 160, 135, 184, 174, 
+    180, 147, 175,   0,   0,   0, 
+     47,  76, 105, 110, 107,  73, 
+    110, 102, 111,   0,  47, 110, 
+     97, 109, 101, 115,   0,  47, 
+    115, 114,  99,  47, 104, 101, 
+     97, 100, 101, 114,  98, 108, 
+    111,  99, 107,   0,  47, 115, 
+    114,  99,  47, 102, 105, 108, 
+    101, 115,  47,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    100, 101, 115, 107, 116, 111, 
+    112,  92, 107, 111, 108, 106, 
+     97,  45, 115, 116, 114, 111, 
+    104, 109,  45, 103,  97, 109, 
+    101, 115,  92, 115, 112, 105, 
+    101, 108, 101,  32, 112, 108, 
+     97, 116, 102, 111, 114, 109, 
+     92, 115, 116,  97, 110, 100, 
+     97, 108, 111, 119, 110,  92, 
+    107, 108, 105, 101, 110, 116, 
+     92, 102,  97,  99, 116, 111, 
+    114, 121,  99, 114,  97, 102, 
+    116,  92, 102,  97,  99, 116, 
+    111, 114, 121,  99, 114,  97, 
+    102, 116,  92, 100, 120,  49, 
+     49,  99, 117, 115, 116, 111, 
+    109, 118, 101, 114, 116, 101, 
+    120, 115, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   4,   0,   0,   0,   6, 
+      0,   0,   0,   1,   0,   0, 
+      0,  30,   0,   0,   0,   0, 
+      0,   0,   0,  17,   0,   0, 
+      0,   7,   0,   0,   0,  34, 
+      0,   0,   0,   8,   0,   0, 
+      0,  10,   0,   0,   0,   6, 
       0,   0,   0,   0,   0,   0, 
+      0,   5,   0,   0,   0,   0, 
+      0,   0,   0, 220,  81,  51, 
+      1,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3958,7 +3976,6 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     36,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3968,16 +3985,77 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255, 119,   9, 
+     49,   1,   1,   0,   0,   0, 
+     13,   0,   0, 142,  14,   0, 
+     63,  92,  15,   0,   0,   0, 
+     92,   0,   0,   0,  32,   0, 
+      0,   0,  44,   0,   0,   0, 
+    144,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     22,   0,   0,   0,  25,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 120,  10, 
+      0,   0,  32,   0,   0,  96, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      2,   0,   9,   0,  64,   6, 
       0,   0,   0,   0,   0,   0, 
+    236,   8,   0,   0,   1,   0, 
+     52, 219,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,  84, 101, 120, 116, 
+    117, 114, 101,  86, 101, 114, 
+    116, 101, 120,  83, 104,  97, 
+    100, 101, 114,   0, 110, 111, 
+    110, 101,   0,   0,   0,   0, 
+     45, 186,  46, 241,   1,   0, 
       0,   0,   0,   0,   0,   0, 
+    120,  10,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   2,   0, 
+      7,   0,   0,   0,   0,   0, 
+      1,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 120,  10, 
+      0,   0,   8,   2,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+    255, 255, 255, 255,   1,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,  67,  58, 
+     92,  85, 115, 101, 114, 115, 
+     92, 107, 111, 108, 106,  97, 
+     92,  68, 101, 115, 107, 116, 
+    111, 112,  92,  75, 111, 108, 
+    106,  97,  45,  83, 116, 114, 
+    111, 104, 109,  45,  71,  97, 
+    109, 101, 115,  92,  83, 112, 
+    105, 101, 108, 101,  32,  80, 
+    108,  97, 116, 102, 111, 114, 
+    109,  92,  83, 116,  97, 110, 
+    100,  97, 108, 111, 119, 110, 
+     92,  75, 108, 105, 101, 110, 
+    116,  92,  70,  97,  99, 116, 
+    111, 114, 121,  67, 114,  97, 
+    102, 116,  92,  70,  97,  99, 
+    116, 111, 114, 121,  67, 114, 
+     97, 102, 116,  92,  68,  88, 
+     49,  49,  67, 117, 115, 116, 
+    111, 109,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,  46, 104, 108, 115, 
+    108,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   1, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,  12,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3992,6 +4070,39 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+     32,   0,   0,   0,  11,   1, 
+      0,   0, 104,   2,   0,   0, 
+    167,   1,   0,   0,  56,   0, 
+      0,   0,   0,   0,   0,   0, 
+    251,  10,   0,   0, 128,   0, 
+      0,   0, 196,   9,   0,   0, 
+     72,  15,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+     40,   0,   0,   0,  92,   2, 
+      0,   0,  44,   0,   0,   0, 
+    192,   0,   0,   0,   3,   0, 
+      0,   0,  35,   0,   0,   0, 
+     24,   0,   0,   0,  23,   0, 
+      0,   0,  36,   0,   0,   0, 
+     25,   0,   0,   0,  13,   0, 
+      0,   0,   6,   0,   0,   0, 
+     26,   0,   0,   0,  27,   0, 
+      0,   0,  28,   0,   0,   0, 
+     29,   0,   0,   0,  14,   0, 
+      0,   0,   8,   0,   0,   0, 
+      9,   0,   0,   0,  10,   0, 
+      0,   0,  11,   0,   0,   0, 
+     12,   0,   0,   0,  15,   0, 
+      0,   0,  16,   0,   0,   0, 
+     17,   0,   0,   0,  18,   0, 
+      0,   0,  19,   0,   0,   0, 
+     20,   0,   0,   0,  21,   0, 
+      0,   0,  22,   0,   0,   0, 
+      7,   0,   0,   0,  30,   0, 
+      0,   0,  31,   0,   0,   0, 
+     32,   0,   0,   0,  34,   0, 
+      0,   0,  33,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4044,6 +4155,7 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  37,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4128,5 +4240,5 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0
+      0,   0,   0,   0,   0,   0
 };

+ 54 - 39
FactoryCraft/DX11CustomVertexShader.hlsl

@@ -3,74 +3,89 @@
 /////////////
 cbuffer MatrixBuffer : register(b0)
 {
-	matrix knochenMatrix[128];
+    matrix knochenMatrix[128];
 };
 
 // The projection and view matrix
 cbuffer Kamera : register(b1)
 {
-	matrix view;
-	matrix projection;
+    matrix view;
+    matrix projection;
 }
 
 cbuffer LightController : register(b2)
 {
-	uint lightLength;
+    uint lightLength;
 }
 
 cbuffer Light : register(b3)
 {
-	uint4 light[6];
+    uint4 light[6];
 }
 
-//////////////                                                                          
-// TYPEDEFS //                                                                          
-//////////////                                                                          
+//////////////
+// TYPEDEFS //
+//////////////
 struct VertexInputType
 {
-	float4 position : POSITION;
-	float2 tex : TEXCOORD0;
-	float3 normal : NORMAL;
-	uint knochen : KNOCHEN_ID0;
-	uint id : VERTEX_ID0;
+    float4 position : POSITION;
+    float2 tex : TEXCOORD0;
+    float3 normal : NORMAL;
+    uint knochen : KNOCHEN_ID0;
+    uint id : VERTEX_ID0;
 };
 
 struct PixelInputType
 {
-	float4 worldPos : POSITION;
-	float4 position : SV_POSITION;
-	float2 tex : TEXCOORD0;
-	float3 normal : TEXCOORD1;
-	float4 light : TEXCOORD2;
+    float4 worldPos : POSITION;
+    float4 position : SV_POSITION;
+    float2 tex : TEXCOORD0;
+    float3 normal : TEXCOORD1;
+    float4 light : TEXCOORD2;
 };
 
 ////////////////////////////////////////////////////////////////////////////////
-// Vertex Shader                                                                
+// Vertex Shader
 ////////////////////////////////////////////////////////////////////////////////
 PixelInputType TextureVertexShader(VertexInputType input)
 {
-	//return input;                                                                     
-	PixelInputType output;
-	output.normal = normalize(mul(input.normal, (float3x3)knochenMatrix[input.knochen]));
+    // return input;
+    PixelInputType output;
+    output.normal
+        = normalize(mul(input.normal, (float3x3)knochenMatrix[input.knochen]));
 
-	// Change the position vector to be 4 units for proper matrix calculations.         
-	input.position.w = 1.0f;
+    // Change the position vector to be 4 units for proper matrix calculations.
+    input.position.w = 1.0f;
 
-	// Store the texture coordinates for the pixel shader.                              
-	output.tex = input.tex;
+    // Store the texture coordinates for the pixel shader.
+    output.tex = input.tex;
 
-	// Calculate the position of the vertex against the world, view, and projection matrices. 
-	output.worldPos = mul(input.position, knochenMatrix[input.knochen]);
-	output.position = mul(output.worldPos, view);
-	output.position = mul(output.position, projection);
-	output.light = float4(1.0f, 1.0f, 1.0f, 0.f);
-	if (input.id < lightLength)
-	{
-		output.light.x = ((((uint[4])light[input.id / 4])[input.id % 4] >> 24) & 0xFF) / 255.f;
-		output.light.y = ((((uint[4])light[input.id / 4])[input.id % 4] >> 16) & 0xFF) / 255.f;
-		output.light.z = ((((uint[4])light[input.id / 4])[input.id % 4] >> 8) & 0xFF) / 255.f;
-		output.light.w = 1.f;
-	}
+    // Calculate the position of the vertex against the world, view, and
+    // projection matrices.
+    output.worldPos = mul(input.position, knochenMatrix[input.knochen]);
+    output.position = mul(output.worldPos, view);
+    output.position = mul(output.position, projection);
+    output.light = float4(1.0f, 1.0f, 1.0f, 0.f);
+    if (lightLength == 1)
+    {
+        output.light.x = ((((uint[4])light[0])[0] >> 24) & 0xFF) / 255.f;
+        output.light.y = ((((uint[4])light[0])[0] >> 16) & 0xFF) / 255.f;
+        output.light.z = ((((uint[4])light[0])[0] >> 8) & 0xFF) / 255.f;
+        output.light.w = 1.f;
+    }
+    else if (input.id < lightLength)
+    {
+        output.light.x
+            = ((((uint[4])light[input.id / 4])[input.id % 4] >> 24) & 0xFF)
+            / 255.f;
+        output.light.y
+            = ((((uint[4])light[input.id / 4])[input.id % 4] >> 16) & 0xFF)
+            / 255.f;
+        output.light.z
+            = ((((uint[4])light[input.id / 4])[input.id % 4] >> 8) & 0xFF)
+            / 255.f;
+        output.light.w = 1.f;
+    }
 
-	return output;
+    return output;
 }

+ 2 - 2
FactoryCraft/Load.cpp

@@ -463,8 +463,8 @@ void createPlayer(Bildschirm* zScreen)
 void createGrass(Bildschirm* zScreen)
 {
     Model3DData* data = zScreen->zGraphicsApi()->createModel("grass");
-    data->setAmbientFactor(1.f);
-    data->setDiffusFactor(0.f);
+    data->setAmbientFactor(0.f);
+    data->setDiffusFactor(1.f);
     data->setSpecularFactor(0.f);
 
     float size = 1;