Bug 1287005 - Normalize line endings for rest of gfx/; r?jrmuizel draft
authorGregory Szorc <gps@mozilla.com>
Thu, 14 Jul 2016 17:30:05 -0700
changeset 387894 873e6092f91a8bc305583248ba0ea05824ae18fd
parent 387893 4c69b036dbf36e17814ec31725e6ad0d6f8e6569
child 387895 5534514f13d1644ce9bd7c059200695b25f661be
push id23096
push userbmo:gps@mozilla.com
push dateFri, 15 Jul 2016 00:33:25 +0000
reviewersjrmuizel
bugs1287005
milestone50.0a1
Bug 1287005 - Normalize line endings for rest of gfx/; r?jrmuizel MozReview-Commit-ID: BgCrYzCU5ZF
gfx/layers/d3d11/CompositorD3D11Shaders.h
gfx/layers/d3d11/CompositorD3D11ShadersVR.h
gfx/layers/d3d9/LayerManagerD3D9Shaders.h
gfx/src/DriverCrashGuard.cpp
gfx/src/DriverCrashGuard.h
gfx/src/gfxTelemetry.cpp
gfx/src/gfxTelemetry.h
gfx/vr/osvr/Util/ClientCallbackTypesC.h
gfx/vr/osvr/Util/PlatformConfig.h
--- a/gfx/layers/d3d11/CompositorD3D11Shaders.h
+++ b/gfx/layers/d3d11/CompositorD3D11Shaders.h
@@ -1,9445 +1,9445 @@
 struct ShaderBytes { const void* mData; size_t mLength; };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
-//   float4x4 mProjection;              // Offset:   64 Size:    64
-//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
-//   float4 vTextureCoords;             // Offset:  144 Size:    16
-//   float4 vLayerQuad;                 // Offset:  160 Size:    16
-//   float4 vMaskQuad;                  // Offset:  176 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64 [unused]
-//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// POSITION                 0   xy          0     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float   xyzw
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
-// c3         cb0             3         8  ( FLT, FLT, FLT, FLT)
-//
-//
-// Runtime generated constant mappings:
-//
-// Target Reg                               Constant Description
-// ---------- --------------------------------------------------
-// c0                              Vertex Shader position offset
-//
-//
-// Level9 shader bytecode:
-//
-    vs_2_x
-    dcl_texcoord v0
-    mad oT0.xy, v0, c9.zwzw, c9
-    mad r0.xy, v0, c10.zwzw, c10
-    mul r1, r0.y, c2
-    mad r0, c1, r0.x, r1
-    add r0, r0, c3
-    rcp r1.x, r0.w
-    mul r0.xyz, r0, r1.x
-    add r0, r0, -c8
-    mul r0.xyz, r0.w, r0
-    mul r1, r0.y, c5
-    mad r1, c4, r0.x, r1
-    mad r1, c6, r0.z, r1
-    mad r0, c7, r0.w, r1
-    mad oPos.xy, r0.w, c0, r0
-    mov oPos.zw, r0
-
-// approximately 15 instruction slots used
-vs_4_0
-dcl_constantbuffer CB0[11], immediateIndexed
-dcl_input v0.xy
-dcl_output_siv o0.xyzw, position
-dcl_output o1.xy
-dcl_temps 2
-mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
-mul r1.xyzw, r0.yyyy, cb0[1].xyzw
-mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
-add r0.xyzw, r0.xyzw, cb0[3].xyzw
-div r0.xyz, r0.xyzx, r0.wwww
-add r0.xyzw, r0.xyzw, -cb0[8].xyzw
-mul r0.xyz, r0.wwww, r0.xyzx
-mul r1.xyzw, r0.yyyy, cb0[5].xyzw
-mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw
-mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw
-mad o0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw
-mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
-ret 
-// Approximately 13 instruction slots used
-#endif
-
-const BYTE LayerQuadVS[] =
-{
-     68,  88,  66,  67, 112,  85, 
-    167,  74,  15, 232,  29,  85, 
-    162,  39, 212, 215,  65, 102, 
-    169, 150,   1,   0,   0,   0, 
-     24,   7,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    152,   1,   0,   0, 160,   3, 
-      0,   0,  28,   4,   0,   0, 
-    140,   6,   0,   0, 192,   6, 
-      0,   0,  65, 111, 110,  57, 
-     88,   1,   0,   0,  88,   1, 
-      0,   0,   0,   2, 254, 255, 
-     24,   1,   0,   0,  64,   0, 
-      0,   0,   2,   0,  36,   0, 
-      0,   0,  60,   0,   0,   0, 
-     60,   0,   0,   0,  36,   0, 
-      1,   0,  60,   0,   0,   0, 
-      0,   0,   2,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   8,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 254, 255, 
-     31,   0,   0,   2,   5,   0, 
-      0, 128,   0,   0,  15, 144, 
-      4,   0,   0,   4,   0,   0, 
-      3, 224,   0,   0, 228, 144, 
-      9,   0, 238, 160,   9,   0, 
-    228, 160,   4,   0,   0,   4, 
-      0,   0,   3, 128,   0,   0, 
-    228, 144,  10,   0, 238, 160, 
-     10,   0, 228, 160,   5,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0,  85, 128,   2,   0, 
-    228, 160,   4,   0,   0,   4, 
-      0,   0,  15, 128,   1,   0, 
-    228, 160,   0,   0,   0, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   3,   0, 
-    228, 160,   6,   0,   0,   2, 
-      1,   0,   1, 128,   0,   0, 
-    255, 128,   5,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    228, 128,   1,   0,   0, 128, 
-      2,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      8,   0, 228, 161,   5,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 255, 128,   0,   0, 
-    228, 128,   5,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-     85, 128,   5,   0, 228, 160, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   4,   0, 228, 160, 
-      0,   0,   0, 128,   1,   0, 
-    228, 128,   4,   0,   0,   4, 
-      1,   0,  15, 128,   6,   0, 
-    228, 160,   0,   0, 170, 128, 
-      1,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,  15, 128, 
-      7,   0, 228, 160,   0,   0, 
-    255, 128,   1,   0, 228, 128, 
-      4,   0,   0,   4,   0,   0, 
-      3, 192,   0,   0, 255, 128, 
-      0,   0, 228, 160,   0,   0, 
-    228, 128,   1,   0,   0,   2, 
-      0,   0,  12, 192,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82,   0,   2, 
-      0,   0,  64,   0,   1,   0, 
-    128,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,  11,   0, 
-      0,   0,  95,   0,   0,   3, 
-     50,  16,  16,   0,   0,   0, 
-      0,   0, 103,   0,   0,   4, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3,  50,  32, 
-     16,   0,   1,   0,   0,   0, 
-    104,   0,   0,   2,   2,   0, 
-      0,   0,  50,   0,   0,  11, 
-     50,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      0,   0,   0,   0, 230, 138, 
-     32,   0,   0,   0,   0,   0, 
-     10,   0,   0,   0,  70, 128, 
-     32,   0,   0,   0,   0,   0, 
-     10,   0,   0,   0,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      1,   0,   0,   0,  86,   5, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     50,   0,   0,  10, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   8, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   9, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  86,   5,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      5,   0,   0,   0,  50,   0, 
-      0,  10, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      4,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,  50,   0,   0,  10, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   6,   0, 
-      0,   0, 166,  10,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-     50,   0,   0,  10, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    246,  15,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     62,   0,   0,   1,  83,  84, 
-     65,  84, 116,   0,   0,   0, 
-     13,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  12,   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,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  82,  68,  69,  70, 
-    104,   2,   0,   0,   1,   0, 
-      0,   0,  72,   0,   0,   0, 
-      1,   0,   0,   0,  28,   0, 
-      0,   0,   0,   4, 254, 255, 
-      0,   1,   0,   0,  52,   2, 
-      0,   0,  60,   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, 
-      0,   0,   0,   0,  36,  71, 
-    108, 111,  98,  97, 108, 115, 
-      0, 171, 171, 171,  60,   0, 
-      0,   0,  10,   0,   0,   0, 
-     96,   0,   0,   0,  48,   1, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  80,   1, 
-      0,   0,   0,   0,   0,   0, 
-     64,   0,   0,   0,   2,   0, 
-      0,   0,  96,   1,   0,   0, 
-      0,   0,   0,   0, 112,   1, 
-      0,   0,  64,   0,   0,   0, 
-     64,   0,   0,   0,   2,   0, 
-      0,   0,  96,   1,   0,   0, 
-      0,   0,   0,   0, 124,   1, 
-      0,   0, 128,   0,   0,   0, 
-     16,   0,   0,   0,   2,   0, 
-      0,   0, 144,   1,   0,   0, 
-      0,   0,   0,   0, 160,   1, 
-      0,   0, 144,   0,   0,   0, 
-     16,   0,   0,   0,   2,   0, 
-      0,   0, 176,   1,   0,   0, 
-      0,   0,   0,   0, 192,   1, 
-      0,   0, 160,   0,   0,   0, 
-     16,   0,   0,   0,   2,   0, 
-      0,   0, 176,   1,   0,   0, 
-      0,   0,   0,   0, 203,   1, 
-      0,   0, 176,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 176,   1,   0,   0, 
-      0,   0,   0,   0, 213,   1, 
-      0,   0, 192,   0,   0,   0, 
-     64,   0,   0,   0,   0,   0, 
-      0,   0,  96,   1,   0,   0, 
-      0,   0,   0,   0, 232,   1, 
-      0,   0,   0,   1,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 144,   1,   0,   0, 
-      0,   0,   0,   0, 244,   1, 
-      0,   0,  16,   1,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   4,   2,   0,   0, 
-      0,   0,   0,   0,  20,   2, 
-      0,   0,  32,   1,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,  36,   2,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  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, 
-     48,  46,  49,  48,  48,  49, 
-     49,  46,  49,  54,  51,  56, 
-     52,   0,  73,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   3,   3,   0,   0, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,   0, 171, 171, 171, 
-     79,  83,  71,  78,  80,   0, 
-      0,   0,   2,   0,   0,   0, 
-      8,   0,   0,   0,  56,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  68,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,  12,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
+//   float4x4 mProjection;              // Offset:   64 Size:    64
+//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
+//   float4 vTextureCoords;             // Offset:  144 Size:    16
+//   float4 vLayerQuad;                 // Offset:  160 Size:    16
+//   float4 vMaskQuad;                  // Offset:  176 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64 [unused]
+//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xy          0     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float   xyzw
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
+// c3         cb0             3         8  ( FLT, FLT, FLT, FLT)
+//
+//
+// Runtime generated constant mappings:
+//
+// Target Reg                               Constant Description
+// ---------- --------------------------------------------------
+// c0                              Vertex Shader position offset
+//
+//
+// Level9 shader bytecode:
+//
+    vs_2_x
+    dcl_texcoord v0
+    mad oT0.xy, v0, c9.zwzw, c9
+    mad r0.xy, v0, c10.zwzw, c10
+    mul r1, r0.y, c2
+    mad r0, c1, r0.x, r1
+    add r0, r0, c3
+    rcp r1.x, r0.w
+    mul r0.xyz, r0, r1.x
+    add r0, r0, -c8
+    mul r0.xyz, r0.w, r0
+    mul r1, r0.y, c5
+    mad r1, c4, r0.x, r1
+    mad r1, c6, r0.z, r1
+    mad r0, c7, r0.w, r1
+    mad oPos.xy, r0.w, c0, r0
+    mov oPos.zw, r0
+
+// approximately 15 instruction slots used
+vs_4_0
+dcl_constantbuffer CB0[11], immediateIndexed
+dcl_input v0.xy
+dcl_output_siv o0.xyzw, position
+dcl_output o1.xy
+dcl_temps 2
+mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
+mul r1.xyzw, r0.yyyy, cb0[1].xyzw
+mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
+add r0.xyzw, r0.xyzw, cb0[3].xyzw
+div r0.xyz, r0.xyzx, r0.wwww
+add r0.xyzw, r0.xyzw, -cb0[8].xyzw
+mul r0.xyz, r0.wwww, r0.xyzx
+mul r1.xyzw, r0.yyyy, cb0[5].xyzw
+mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw
+mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw
+mad o0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw
+mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
+ret 
+// Approximately 13 instruction slots used
+#endif
+
+const BYTE LayerQuadVS[] =
+{
+     68,  88,  66,  67, 112,  85, 
+    167,  74,  15, 232,  29,  85, 
+    162,  39, 212, 215,  65, 102, 
+    169, 150,   1,   0,   0,   0, 
+     24,   7,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    152,   1,   0,   0, 160,   3, 
+      0,   0,  28,   4,   0,   0, 
+    140,   6,   0,   0, 192,   6, 
+      0,   0,  65, 111, 110,  57, 
+     88,   1,   0,   0,  88,   1, 
+      0,   0,   0,   2, 254, 255, 
+     24,   1,   0,   0,  64,   0, 
+      0,   0,   2,   0,  36,   0, 
+      0,   0,  60,   0,   0,   0, 
+     60,   0,   0,   0,  36,   0, 
+      1,   0,  60,   0,   0,   0, 
+      0,   0,   2,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   8,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
+      4,   0,   0,   4,   0,   0, 
+      3, 224,   0,   0, 228, 144, 
+      9,   0, 238, 160,   9,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,   3, 128,   0,   0, 
+    228, 144,  10,   0, 238, 160, 
+     10,   0, 228, 160,   5,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0,  85, 128,   2,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,  15, 128,   1,   0, 
+    228, 160,   0,   0,   0, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   3,   0, 
+    228, 160,   6,   0,   0,   2, 
+      1,   0,   1, 128,   0,   0, 
+    255, 128,   5,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    228, 128,   1,   0,   0, 128, 
+      2,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      8,   0, 228, 161,   5,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 255, 128,   0,   0, 
+    228, 128,   5,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+     85, 128,   5,   0, 228, 160, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   4,   0, 228, 160, 
+      0,   0,   0, 128,   1,   0, 
+    228, 128,   4,   0,   0,   4, 
+      1,   0,  15, 128,   6,   0, 
+    228, 160,   0,   0, 170, 128, 
+      1,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,  15, 128, 
+      7,   0, 228, 160,   0,   0, 
+    255, 128,   1,   0, 228, 128, 
+      4,   0,   0,   4,   0,   0, 
+      3, 192,   0,   0, 255, 128, 
+      0,   0, 228, 160,   0,   0, 
+    228, 128,   1,   0,   0,   2, 
+      0,   0,  12, 192,   0,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82,   0,   2, 
+      0,   0,  64,   0,   1,   0, 
+    128,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,  11,   0, 
+      0,   0,  95,   0,   0,   3, 
+     50,  16,  16,   0,   0,   0, 
+      0,   0, 103,   0,   0,   4, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3,  50,  32, 
+     16,   0,   1,   0,   0,   0, 
+    104,   0,   0,   2,   2,   0, 
+      0,   0,  50,   0,   0,  11, 
+     50,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      0,   0,   0,   0, 230, 138, 
+     32,   0,   0,   0,   0,   0, 
+     10,   0,   0,   0,  70, 128, 
+     32,   0,   0,   0,   0,   0, 
+     10,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      1,   0,   0,   0,  86,   5, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     50,   0,   0,  10, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   8, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0, 246,  15,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   9, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  86,   5,  16,   0, 
+      0,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      5,   0,   0,   0,  50,   0, 
+      0,  10, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  50,   0,   0,  10, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   6,   0, 
+      0,   0, 166,  10,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     50,   0,   0,  10, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+    246,  15,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     62,   0,   0,   1,  83,  84, 
+     65,  84, 116,   0,   0,   0, 
+     13,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  12,   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,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  82,  68,  69,  70, 
+    104,   2,   0,   0,   1,   0, 
+      0,   0,  72,   0,   0,   0, 
+      1,   0,   0,   0,  28,   0, 
+      0,   0,   0,   4, 254, 255, 
+      0,   1,   0,   0,  52,   2, 
+      0,   0,  60,   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, 
+      0,   0,   0,   0,  36,  71, 
+    108, 111,  98,  97, 108, 115, 
+      0, 171, 171, 171,  60,   0, 
+      0,   0,  10,   0,   0,   0, 
+     96,   0,   0,   0,  48,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  80,   1, 
+      0,   0,   0,   0,   0,   0, 
+     64,   0,   0,   0,   2,   0, 
+      0,   0,  96,   1,   0,   0, 
+      0,   0,   0,   0, 112,   1, 
+      0,   0,  64,   0,   0,   0, 
+     64,   0,   0,   0,   2,   0, 
+      0,   0,  96,   1,   0,   0, 
+      0,   0,   0,   0, 124,   1, 
+      0,   0, 128,   0,   0,   0, 
+     16,   0,   0,   0,   2,   0, 
+      0,   0, 144,   1,   0,   0, 
+      0,   0,   0,   0, 160,   1, 
+      0,   0, 144,   0,   0,   0, 
+     16,   0,   0,   0,   2,   0, 
+      0,   0, 176,   1,   0,   0, 
+      0,   0,   0,   0, 192,   1, 
+      0,   0, 160,   0,   0,   0, 
+     16,   0,   0,   0,   2,   0, 
+      0,   0, 176,   1,   0,   0, 
+      0,   0,   0,   0, 203,   1, 
+      0,   0, 176,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 176,   1,   0,   0, 
+      0,   0,   0,   0, 213,   1, 
+      0,   0, 192,   0,   0,   0, 
+     64,   0,   0,   0,   0,   0, 
+      0,   0,  96,   1,   0,   0, 
+      0,   0,   0,   0, 232,   1, 
+      0,   0,   0,   1,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 144,   1,   0,   0, 
+      0,   0,   0,   0, 244,   1, 
+      0,   0,  16,   1,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   4,   2,   0,   0, 
+      0,   0,   0,   0,  20,   2, 
+      0,   0,  32,   1,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,  36,   2,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  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, 
+     48,  46,  49,  48,  48,  49, 
+     49,  46,  49,  54,  51,  56, 
+     52,   0,  73,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   3,   3,   0,   0, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,   0, 171, 171, 171, 
+     79,  83,  71,  78,  80,   0, 
+      0,   0,   2,   0,   0,   0, 
+      8,   0,   0,   0,  56,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  68,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,  12,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171
+};
 ShaderBytes sLayerQuadVS = { LayerQuadVS, sizeof(LayerQuadVS) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16
-//   float fLayerOpacity;               // Offset:   16 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float       
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             0         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    mov oC0, c0
-
-// approximately 1 instruction slot used
-ps_4_0
-dcl_constantbuffer CB0[1], immediateIndexed
-dcl_output o0.xyzw
-mov o0.xyzw, cb0[0].xyzw
-ret 
-// Approximately 2 instruction slots used
-#endif
-
-const BYTE SolidColorShader[] =
-{
-     68,  88,  66,  67, 232, 227, 
-     42, 205, 188, 244, 239,  58, 
-     34,  67,  23,  11,   8, 108, 
-    224,  50,   1,   0,   0,   0, 
-     68,   4,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    132,   0,   0,   0, 204,   0, 
-      0,   0,  72,   1,   0,   0, 
-    184,   3,   0,   0,  16,   4, 
-      0,   0,  65, 111, 110,  57, 
-     68,   0,   0,   0,  68,   0, 
-      0,   0,   0,   2, 255, 255, 
-     20,   0,   0,   0,  48,   0, 
-      0,   0,   1,   0,  36,   0, 
-      0,   0,  48,   0,   0,   0, 
-     48,   0,   0,   0,  36,   0, 
-      0,   0,  48,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   1,   2, 
-    255, 255,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 160, 255, 255,   0,   0, 
-     83,  72,  68,  82,  64,   0, 
-      0,   0,  64,   0,   0,   0, 
-     16,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   6, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,   2,   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, 
-      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,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 104,   2,   0,   0, 
-      1,   0,   0,   0,  72,   0, 
-      0,   0,   1,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
-     36,  71, 108, 111,  98,  97, 
-    108, 115,   0, 171, 171, 171, 
-     60,   0,   0,   0,  10,   0, 
-      0,   0,  96,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     80,   1,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0,  92,   1, 
-      0,   0,   0,   0,   0,   0, 
-    108,   1,   0,   0,  16,   0, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0, 124,   1, 
-      0,   0,   0,   0,   0,   0, 
-    140,   1,   0,   0,  32,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 156,   1, 
-      0,   0,   0,   0,   0,   0, 
-    172,   1,   0,   0,  48,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0, 188,   1, 
-      0,   0,   0,   0,   0,   0, 
-    204,   1,   0,   0, 112,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0, 188,   1, 
-      0,   0,   0,   0,   0,   0, 
-    216,   1,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  92,   1, 
-      0,   0,   0,   0,   0,   0, 
-    236,   1,   0,   0, 192,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 252,   1, 
-      0,   0,   0,   0,   0,   0, 
-     12,   2,   0,   0, 208,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 252,   1, 
-      0,   0,   0,   0,   0,   0, 
-     23,   2,   0,   0, 224,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 252,   1, 
-      0,   0,   0,   0,   0,   0, 
-     33,   2,   0,   0, 240,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0, 188,   1, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    105,  66, 108, 101, 110, 100, 
-     67, 111, 110, 102, 105, 103, 
-      0, 171, 171, 171,   1,   0, 
-     19,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  82, 
-    101, 110, 100, 101, 114,  84, 
-     97, 114, 103, 101, 116,  79, 
-    102, 102, 115, 101, 116,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  80,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  68,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16
+//   float fLayerOpacity;               // Offset:   16 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float       
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             0         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    mov oC0, c0
+
+// approximately 1 instruction slot used
+ps_4_0
+dcl_constantbuffer CB0[1], immediateIndexed
+dcl_output o0.xyzw
+mov o0.xyzw, cb0[0].xyzw
+ret 
+// Approximately 2 instruction slots used
+#endif
+
+const BYTE SolidColorShader[] =
+{
+     68,  88,  66,  67, 232, 227, 
+     42, 205, 188, 244, 239,  58, 
+     34,  67,  23,  11,   8, 108, 
+    224,  50,   1,   0,   0,   0, 
+     68,   4,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    132,   0,   0,   0, 204,   0, 
+      0,   0,  72,   1,   0,   0, 
+    184,   3,   0,   0,  16,   4, 
+      0,   0,  65, 111, 110,  57, 
+     68,   0,   0,   0,  68,   0, 
+      0,   0,   0,   2, 255, 255, 
+     20,   0,   0,   0,  48,   0, 
+      0,   0,   1,   0,  36,   0, 
+      0,   0,  48,   0,   0,   0, 
+     48,   0,   0,   0,  36,   0, 
+      0,   0,  48,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   1,   2, 
+    255, 255,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 160, 255, 255,   0,   0, 
+     83,  72,  68,  82,  64,   0, 
+      0,   0,  64,   0,   0,   0, 
+     16,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   6, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,   2,   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, 
+      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,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  82,  68, 
+     69,  70, 104,   2,   0,   0, 
+      1,   0,   0,   0,  72,   0, 
+      0,   0,   1,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
+     36,  71, 108, 111,  98,  97, 
+    108, 115,   0, 171, 171, 171, 
+     60,   0,   0,   0,  10,   0, 
+      0,   0,  96,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     80,   1,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0,  92,   1, 
+      0,   0,   0,   0,   0,   0, 
+    108,   1,   0,   0,  16,   0, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0, 124,   1, 
+      0,   0,   0,   0,   0,   0, 
+    140,   1,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 156,   1, 
+      0,   0,   0,   0,   0,   0, 
+    172,   1,   0,   0,  48,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0, 188,   1, 
+      0,   0,   0,   0,   0,   0, 
+    204,   1,   0,   0, 112,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0, 188,   1, 
+      0,   0,   0,   0,   0,   0, 
+    216,   1,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  92,   1, 
+      0,   0,   0,   0,   0,   0, 
+    236,   1,   0,   0, 192,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 252,   1, 
+      0,   0,   0,   0,   0,   0, 
+     12,   2,   0,   0, 208,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 252,   1, 
+      0,   0,   0,   0,   0,   0, 
+     23,   2,   0,   0, 224,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 252,   1, 
+      0,   0,   0,   0,   0,   0, 
+     33,   2,   0,   0, 240,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0, 188,   1, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    105,  66, 108, 101, 110, 100, 
+     67, 111, 110, 102, 105, 103, 
+      0, 171, 171, 171,   1,   0, 
+     19,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  82, 
+    101, 110, 100, 101, 114,  84, 
+     97, 114, 103, 101, 116,  79, 
+    102, 102, 115, 101, 116,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  80,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  68,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sSolidColorShader = { SolidColorShader, sizeof(SolidColorShader) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    dcl t0.xy
-    dcl_2d s0
-    texld r0, t0, s0
-    mul r0.xyz, r0, c0.x
-    mov r0.w, c0.x
-    mov oC0, r0
-
-// approximately 4 instruction slots used (1 texture, 3 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_input_ps linear v1.xy
-dcl_output o0.xyzw
-dcl_temps 1
-sample r0.xyzw, v1.xyxx, t0.xyzw, s0
-mul o0.xyz, r0.xyzx, cb0[1].xxxx
-mov o0.w, cb0[1].x
-ret 
-// Approximately 4 instruction slots used
-#endif
-
-const BYTE RGBShader[] =
-{
-     68,  88,  66,  67, 125, 240, 
-    204, 179, 182, 100,  41,   5, 
-      9, 193, 104, 239, 180, 186, 
-    251,   1,   1,   0,   0,   0, 
-     76,   5,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    204,   0,   0,   0, 136,   1, 
-      0,   0,   4,   2,   0,   0, 
-    192,   4,   0,   0,  24,   5, 
-      0,   0,  65, 111, 110,  57, 
-    140,   0,   0,   0, 140,   0, 
-      0,   0,   0,   2, 255, 255, 
-     88,   0,   0,   0,  52,   0, 
-      0,   0,   1,   0,  40,   0, 
-      0,   0,  52,   0,   0,   0, 
-     52,   0,   1,   0,  36,   0, 
-      0,   0,  52,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,   5,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   0,   8, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82, 180,   0, 
-      0,   0,  64,   0,   0,   0, 
-     45,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    104,   0,   0,   2,   1,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    114,  32,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,   6, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  54,   0, 
-      0,   6, 130,  32,  16,   0, 
-      0,   0,   0,   0,  10, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    116,   0,   0,   0,   4,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,   1,   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,   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,   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, 
-     82,  68,  69,  70, 180,   2, 
-      0,   0,   1,   0,   0,   0, 
-    148,   0,   0,   0,   3,   0, 
-      0,   0,  28,   0,   0,   0, 
-      0,   4, 255, 255,   0,   1, 
-      0,   0, 128,   2,   0,   0, 
-    124,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0, 133,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 138,   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,   0,   0,   0,   0, 
-    115,  83,  97, 109, 112, 108, 
-    101, 114,   0, 116,  82,  71, 
-     66,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    138,   0,   0,   0,  10,   0, 
-      0,   0, 172,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    156,   1,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 168,   1, 
-      0,   0,   0,   0,   0,   0, 
-    184,   1,   0,   0,  16,   0, 
-      0,   0,   4,   0,   0,   0, 
-      2,   0,   0,   0, 200,   1, 
-      0,   0,   0,   0,   0,   0, 
-    216,   1,   0,   0,  32,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 232,   1, 
-      0,   0,   0,   0,   0,   0, 
-    248,   1,   0,   0,  48,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-     24,   2,   0,   0, 112,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-     36,   2,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 168,   1, 
-      0,   0,   0,   0,   0,   0, 
-     56,   2,   0,   0, 192,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-     88,   2,   0,   0, 208,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-     99,   2,   0,   0, 224,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-    109,   2,   0,   0, 240,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    105,  66, 108, 101, 110, 100, 
-     67, 111, 110, 102, 105, 103, 
-      0, 171, 171, 171,   1,   0, 
-     19,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  82, 
-    101, 110, 100, 101, 114,  84, 
-     97, 114, 103, 101, 116,  79, 
-    102, 102, 115, 101, 116,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  80,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  68,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,   3, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    dcl t0.xy
+    dcl_2d s0
+    texld r0, t0, s0
+    mul r0.xyz, r0, c0.x
+    mov r0.w, c0.x
+    mov oC0, r0
+
+// approximately 4 instruction slots used (1 texture, 3 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_input_ps linear v1.xy
+dcl_output o0.xyzw
+dcl_temps 1
+sample r0.xyzw, v1.xyxx, t0.xyzw, s0
+mul o0.xyz, r0.xyzx, cb0[1].xxxx
+mov o0.w, cb0[1].x
+ret 
+// Approximately 4 instruction slots used
+#endif
+
+const BYTE RGBShader[] =
+{
+     68,  88,  66,  67, 125, 240, 
+    204, 179, 182, 100,  41,   5, 
+      9, 193, 104, 239, 180, 186, 
+    251,   1,   1,   0,   0,   0, 
+     76,   5,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    204,   0,   0,   0, 136,   1, 
+      0,   0,   4,   2,   0,   0, 
+    192,   4,   0,   0,  24,   5, 
+      0,   0,  65, 111, 110,  57, 
+    140,   0,   0,   0, 140,   0, 
+      0,   0,   0,   2, 255, 255, 
+     88,   0,   0,   0,  52,   0, 
+      0,   0,   1,   0,  40,   0, 
+      0,   0,  52,   0,   0,   0, 
+     52,   0,   1,   0,  36,   0, 
+      0,   0,  52,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 255, 255, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,   5,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   0,   8, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82, 180,   0, 
+      0,   0,  64,   0,   0,   0, 
+     45,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  90,   0,   0,   3, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   0,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,   1,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    114,  32,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,   6, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  54,   0, 
+      0,   6, 130,  32,  16,   0, 
+      0,   0,   0,   0,  10, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,   4,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   1,   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,   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,   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, 
+     82,  68,  69,  70, 180,   2, 
+      0,   0,   1,   0,   0,   0, 
+    148,   0,   0,   0,   3,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 255, 255,   0,   1, 
+      0,   0, 128,   2,   0,   0, 
+    124,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0, 133,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 138,   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,   0,   0,   0,   0, 
+    115,  83,  97, 109, 112, 108, 
+    101, 114,   0, 116,  82,  71, 
+     66,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    138,   0,   0,   0,  10,   0, 
+      0,   0, 172,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    156,   1,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 168,   1, 
+      0,   0,   0,   0,   0,   0, 
+    184,   1,   0,   0,  16,   0, 
+      0,   0,   4,   0,   0,   0, 
+      2,   0,   0,   0, 200,   1, 
+      0,   0,   0,   0,   0,   0, 
+    216,   1,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 232,   1, 
+      0,   0,   0,   0,   0,   0, 
+    248,   1,   0,   0,  48,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+     24,   2,   0,   0, 112,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+     36,   2,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 168,   1, 
+      0,   0,   0,   0,   0,   0, 
+     56,   2,   0,   0, 192,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+     88,   2,   0,   0, 208,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+     99,   2,   0,   0, 224,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+    109,   2,   0,   0, 240,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    105,  66, 108, 101, 110, 100, 
+     67, 111, 110, 102, 105, 103, 
+      0, 171, 171, 171,   1,   0, 
+     19,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  82, 
+    101, 110, 100, 101, 114,  84, 
+     97, 114, 103, 101, 116,  79, 
+    102, 102, 115, 101, 116,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  80,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  68,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   3,   3, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sRGBShader = { RGBShader, sizeof(RGBShader) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    dcl t0.xy
-    dcl_2d s0
-    texld r0, t0, s0
-    mul r0, r0, c0.x
-    mov oC0, r0
-
-// approximately 3 instruction slots used (1 texture, 2 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_input_ps linear v1.xy
-dcl_output o0.xyzw
-dcl_temps 1
-sample r0.xyzw, v1.xyxx, t0.xyzw, s0
-mul o0.xyzw, r0.xyzw, cb0[1].xxxx
-ret 
-// Approximately 3 instruction slots used
-#endif
-
-const BYTE RGBAShader[] =
-{
-     68,  88,  66,  67, 199, 240, 
-    113, 171,  34, 194, 134, 123, 
-    243,  63, 156, 246,   8, 157, 
-     15,  85,   1,   0,   0,   0, 
-     40,   5,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    192,   0,   0,   0, 100,   1, 
-      0,   0, 224,   1,   0,   0, 
-    156,   4,   0,   0, 244,   4, 
-      0,   0,  65, 111, 110,  57, 
-    128,   0,   0,   0, 128,   0, 
-      0,   0,   0,   2, 255, 255, 
-     76,   0,   0,   0,  52,   0, 
-      0,   0,   1,   0,  40,   0, 
-      0,   0,  52,   0,   0,   0, 
-     52,   0,   1,   0,  36,   0, 
-      0,   0,  52,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82, 156,   0, 
-      0,   0,  64,   0,   0,   0, 
-     39,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    104,   0,   0,   2,   1,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,   6, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    116,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,   1,   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,   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,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     82,  68,  69,  70, 180,   2, 
-      0,   0,   1,   0,   0,   0, 
-    148,   0,   0,   0,   3,   0, 
-      0,   0,  28,   0,   0,   0, 
-      0,   4, 255, 255,   0,   1, 
-      0,   0, 128,   2,   0,   0, 
-    124,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0, 133,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 138,   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,   0,   0,   0,   0, 
-    115,  83,  97, 109, 112, 108, 
-    101, 114,   0, 116,  82,  71, 
-     66,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    138,   0,   0,   0,  10,   0, 
-      0,   0, 172,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    156,   1,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 168,   1, 
-      0,   0,   0,   0,   0,   0, 
-    184,   1,   0,   0,  16,   0, 
-      0,   0,   4,   0,   0,   0, 
-      2,   0,   0,   0, 200,   1, 
-      0,   0,   0,   0,   0,   0, 
-    216,   1,   0,   0,  32,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 232,   1, 
-      0,   0,   0,   0,   0,   0, 
-    248,   1,   0,   0,  48,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-     24,   2,   0,   0, 112,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-     36,   2,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 168,   1, 
-      0,   0,   0,   0,   0,   0, 
-     56,   2,   0,   0, 192,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-     88,   2,   0,   0, 208,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-     99,   2,   0,   0, 224,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  72,   2, 
-      0,   0,   0,   0,   0,   0, 
-    109,   2,   0,   0, 240,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   8,   2, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    105,  66, 108, 101, 110, 100, 
-     67, 111, 110, 102, 105, 103, 
-      0, 171, 171, 171,   1,   0, 
-     19,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  82, 
-    101, 110, 100, 101, 114,  84, 
-     97, 114, 103, 101, 116,  79, 
-    102, 102, 115, 101, 116,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  80,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  68,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,   3, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    dcl t0.xy
+    dcl_2d s0
+    texld r0, t0, s0
+    mul r0, r0, c0.x
+    mov oC0, r0
+
+// approximately 3 instruction slots used (1 texture, 2 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_input_ps linear v1.xy
+dcl_output o0.xyzw
+dcl_temps 1
+sample r0.xyzw, v1.xyxx, t0.xyzw, s0
+mul o0.xyzw, r0.xyzw, cb0[1].xxxx
+ret 
+// Approximately 3 instruction slots used
+#endif
+
+const BYTE RGBAShader[] =
+{
+     68,  88,  66,  67, 199, 240, 
+    113, 171,  34, 194, 134, 123, 
+    243,  63, 156, 246,   8, 157, 
+     15,  85,   1,   0,   0,   0, 
+     40,   5,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    192,   0,   0,   0, 100,   1, 
+      0,   0, 224,   1,   0,   0, 
+    156,   4,   0,   0, 244,   4, 
+      0,   0,  65, 111, 110,  57, 
+    128,   0,   0,   0, 128,   0, 
+      0,   0,   0,   2, 255, 255, 
+     76,   0,   0,   0,  52,   0, 
+      0,   0,   1,   0,  40,   0, 
+      0,   0,  52,   0,   0,   0, 
+     52,   0,   1,   0,  36,   0, 
+      0,   0,  52,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 255, 255, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82, 156,   0, 
+      0,   0,  64,   0,   0,   0, 
+     39,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  90,   0,   0,   3, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   0,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,   1,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      0,   0,   0,   0,   6, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   1,   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,   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,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     82,  68,  69,  70, 180,   2, 
+      0,   0,   1,   0,   0,   0, 
+    148,   0,   0,   0,   3,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 255, 255,   0,   1, 
+      0,   0, 128,   2,   0,   0, 
+    124,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0, 133,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 138,   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,   0,   0,   0,   0, 
+    115,  83,  97, 109, 112, 108, 
+    101, 114,   0, 116,  82,  71, 
+     66,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    138,   0,   0,   0,  10,   0, 
+      0,   0, 172,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    156,   1,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 168,   1, 
+      0,   0,   0,   0,   0,   0, 
+    184,   1,   0,   0,  16,   0, 
+      0,   0,   4,   0,   0,   0, 
+      2,   0,   0,   0, 200,   1, 
+      0,   0,   0,   0,   0,   0, 
+    216,   1,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 232,   1, 
+      0,   0,   0,   0,   0,   0, 
+    248,   1,   0,   0,  48,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+     24,   2,   0,   0, 112,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+     36,   2,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 168,   1, 
+      0,   0,   0,   0,   0,   0, 
+     56,   2,   0,   0, 192,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+     88,   2,   0,   0, 208,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+     99,   2,   0,   0, 224,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  72,   2, 
+      0,   0,   0,   0,   0,   0, 
+    109,   2,   0,   0, 240,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    105,  66, 108, 101, 110, 100, 
+     67, 111, 110, 102, 105, 103, 
+      0, 171, 171, 171,   1,   0, 
+     19,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  82, 
+    101, 110, 100, 101, 114,  84, 
+     97, 114, 103, 101, 116,  79, 
+    102, 102, 115, 101, 116,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  80,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  68,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   3,   3, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sRGBAShader = { RGBAShader, sizeof(RGBAShader) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// tRGBWhite                         texture  float4          2d             t4      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-// SV_Target                1   xyzw        1   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-// s1             s0              t4               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl_2d s0
-    dcl_2d s1
-    texld r0, t0, s0
-    texld r1, t0, s1
-    add r1, r0, -r1
-    add r1, r1, c1.x
-    mov r0.w, r1.y
-    mul r1, r1, c0.x
-    mov oC1, r1
-    mul r0, r0, c0.x
-    mov oC0, r0
-
-// approximately 9 instruction slots used (2 texture, 7 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_resource_texture2d (float,float,float,float) t4
-dcl_input_ps linear v1.xy
-dcl_output o0.xyzw
-dcl_output o1.xyzw
-dcl_temps 2
-sample r0.xyzw, v1.xyxx, t4.xyzw, s0
-sample r1.xyzw, v1.xyxx, t0.xyzw, s0
-add r0.xyzw, -r0.xyzw, r1.xyzw
-add r0.xyzw, r0.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
-mov r1.w, r0.y
-mul o1.xyzw, r0.xyzw, cb0[1].xxxx
-mul o0.xyzw, r1.xyzw, cb0[1].xxxx
-ret 
-// Approximately 8 instruction slots used
-#endif
-
-const BYTE ComponentAlphaShader[] =
-{
-     68,  88,  66,  67, 207,  79, 
-     99, 143,  94, 253,  50, 234, 
-    183, 114, 100, 130, 114, 218, 
-    230, 139,   1,   0,   0,   0, 
-    168,   6,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     64,   1,   0,   0, 160,   2, 
-      0,   0,  28,   3,   0,   0, 
-      4,   6,   0,   0,  92,   6, 
-      0,   0,  65, 111, 110,  57, 
-      0,   1,   0,   0,   0,   1, 
-      0,   0,   0,   2, 255, 255, 
-    200,   0,   0,   0,  56,   0, 
-      0,   0,   1,   0,  44,   0, 
-      0,   0,  56,   0,   0,   0, 
-     56,   0,   2,   0,  36,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   4,   0,   1,   0, 
-      0,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   2, 255, 255,  81,   0, 
-      0,   5,   1,   0,  15, 160, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      0,   0,   3, 176,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      0,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      1,   8,  15, 160,  66,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,  66,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-    228, 176,   1,   8, 228, 160, 
-      2,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 128, 
-      1,   0, 228, 129,   2,   0, 
-      0,   3,   1,   0,  15, 128, 
-      1,   0, 228, 128,   1,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-     85, 128,   5,   0,   0,   3, 
-      1,   0,  15, 128,   1,   0, 
-    228, 128,   0,   0,   0, 160, 
-      1,   0,   0,   2,   1,   8, 
-     15, 128,   1,   0, 228, 128, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      0,   0,   0, 160,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0,  83,  72,  68,  82, 
-     88,   1,   0,   0,  64,   0, 
-      0,   0,  86,   0,   0,   0, 
-     89,   0,   0,   4,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  90,   0, 
-      0,   3,   0,  96,  16,   0, 
-      0,   0,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      0,   0,   0,   0,  85,  85, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   4,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   1,   0,   0,   0, 
-    104,   0,   0,   2,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   4,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   8, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,  10, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,  54,   0,   0,   5, 
-    130,   0,  16,   0,   1,   0, 
-      0,   0,  26,   0,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 242,  32,  16,   0, 
-      1,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-      6, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     56,   0,   0,   8, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,   6, 128,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,   8,   0,   0,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      4,   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,   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, 
-      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,  82,  68, 
-     69,  70, 224,   2,   0,   0, 
-      1,   0,   0,   0, 192,   0, 
-      0,   0,   4,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    172,   2,   0,   0, 156,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-    165,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 170,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   4,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 180,   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,   0,   0,   0,   0, 
-    115,  83,  97, 109, 112, 108, 
-    101, 114,   0, 116,  82,  71, 
-     66,   0, 116,  82,  71,  66, 
-     87, 104, 105, 116, 101,   0, 
-     36,  71, 108, 111,  98,  97, 
-    108, 115,   0, 171, 171, 171, 
-    180,   0,   0,   0,  10,   0, 
-      0,   0, 216,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    200,   1,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 212,   1, 
-      0,   0,   0,   0,   0,   0, 
-    228,   1,   0,   0,  16,   0, 
-      0,   0,   4,   0,   0,   0, 
-      2,   0,   0,   0, 244,   1, 
-      0,   0,   0,   0,   0,   0, 
-      4,   2,   0,   0,  32,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  20,   2, 
-      0,   0,   0,   0,   0,   0, 
-     36,   2,   0,   0,  48,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  52,   2, 
-      0,   0,   0,   0,   0,   0, 
-     68,   2,   0,   0, 112,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  52,   2, 
-      0,   0,   0,   0,   0,   0, 
-     80,   2,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 212,   1, 
-      0,   0,   0,   0,   0,   0, 
-    100,   2,   0,   0, 192,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 116,   2, 
-      0,   0,   0,   0,   0,   0, 
-    132,   2,   0,   0, 208,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 116,   2, 
-      0,   0,   0,   0,   0,   0, 
-    143,   2,   0,   0, 224,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 116,   2, 
-      0,   0,   0,   0,   0,   0, 
-    153,   2,   0,   0, 240,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  52,   2, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    105,  66, 108, 101, 110, 100, 
-     67, 111, 110, 102, 105, 103, 
-      0, 171, 171, 171,   1,   0, 
-     19,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  82, 
-    101, 110, 100, 101, 114,  84, 
-     97, 114, 103, 101, 116,  79, 
-    102, 102, 115, 101, 116,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  80,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  68,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,   3, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-     68,   0,   0,   0,   2,   0, 
-      0,   0,   8,   0,   0,   0, 
-     56,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     56,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// tRGBWhite                         texture  float4          2d             t4      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+// SV_Target                1   xyzw        1   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+// s1             s0              t4               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl_2d s0
+    dcl_2d s1
+    texld r0, t0, s0
+    texld r1, t0, s1
+    add r1, r0, -r1
+    add r1, r1, c1.x
+    mov r0.w, r1.y
+    mul r1, r1, c0.x
+    mov oC1, r1
+    mul r0, r0, c0.x
+    mov oC0, r0
+
+// approximately 9 instruction slots used (2 texture, 7 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t4
+dcl_input_ps linear v1.xy
+dcl_output o0.xyzw
+dcl_output o1.xyzw
+dcl_temps 2
+sample r0.xyzw, v1.xyxx, t4.xyzw, s0
+sample r1.xyzw, v1.xyxx, t0.xyzw, s0
+add r0.xyzw, -r0.xyzw, r1.xyzw
+add r0.xyzw, r0.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
+mov r1.w, r0.y
+mul o1.xyzw, r0.xyzw, cb0[1].xxxx
+mul o0.xyzw, r1.xyzw, cb0[1].xxxx
+ret 
+// Approximately 8 instruction slots used
+#endif
+
+const BYTE ComponentAlphaShader[] =
+{
+     68,  88,  66,  67, 207,  79, 
+     99, 143,  94, 253,  50, 234, 
+    183, 114, 100, 130, 114, 218, 
+    230, 139,   1,   0,   0,   0, 
+    168,   6,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     64,   1,   0,   0, 160,   2, 
+      0,   0,  28,   3,   0,   0, 
+      4,   6,   0,   0,  92,   6, 
+      0,   0,  65, 111, 110,  57, 
+      0,   1,   0,   0,   0,   1, 
+      0,   0,   0,   2, 255, 255, 
+    200,   0,   0,   0,  56,   0, 
+      0,   0,   1,   0,  44,   0, 
+      0,   0,  56,   0,   0,   0, 
+     56,   0,   2,   0,  36,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   4,   0,   1,   0, 
+      0,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   2, 255, 255,  81,   0, 
+      0,   5,   1,   0,  15, 160, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      0,   0,   3, 176,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      0,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      1,   8,  15, 160,  66,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,  66,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+    228, 176,   1,   8, 228, 160, 
+      2,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 128, 
+      1,   0, 228, 129,   2,   0, 
+      0,   3,   1,   0,  15, 128, 
+      1,   0, 228, 128,   1,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+     85, 128,   5,   0,   0,   3, 
+      1,   0,  15, 128,   1,   0, 
+    228, 128,   0,   0,   0, 160, 
+      1,   0,   0,   2,   1,   8, 
+     15, 128,   1,   0, 228, 128, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      0,   0,   0, 160,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0,  83,  72,  68,  82, 
+     88,   1,   0,   0,  64,   0, 
+      0,   0,  86,   0,   0,   0, 
+     89,   0,   0,   4,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  90,   0, 
+      0,   3,   0,  96,  16,   0, 
+      0,   0,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      0,   0,   0,   0,  85,  85, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   4,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   1,   0,   0,   0, 
+    104,   0,   0,   2,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   4,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,  10, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,  54,   0,   0,   5, 
+    130,   0,  16,   0,   1,   0, 
+      0,   0,  26,   0,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 242,  32,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+      6, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     56,   0,   0,   8, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,   6, 128,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,   8,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      4,   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,   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, 
+      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,  82,  68, 
+     69,  70, 224,   2,   0,   0, 
+      1,   0,   0,   0, 192,   0, 
+      0,   0,   4,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+    172,   2,   0,   0, 156,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    165,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 170,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   4,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 180,   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,   0,   0,   0,   0, 
+    115,  83,  97, 109, 112, 108, 
+    101, 114,   0, 116,  82,  71, 
+     66,   0, 116,  82,  71,  66, 
+     87, 104, 105, 116, 101,   0, 
+     36,  71, 108, 111,  98,  97, 
+    108, 115,   0, 171, 171, 171, 
+    180,   0,   0,   0,  10,   0, 
+      0,   0, 216,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    200,   1,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 212,   1, 
+      0,   0,   0,   0,   0,   0, 
+    228,   1,   0,   0,  16,   0, 
+      0,   0,   4,   0,   0,   0, 
+      2,   0,   0,   0, 244,   1, 
+      0,   0,   0,   0,   0,   0, 
+      4,   2,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  20,   2, 
+      0,   0,   0,   0,   0,   0, 
+     36,   2,   0,   0,  48,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  52,   2, 
+      0,   0,   0,   0,   0,   0, 
+     68,   2,   0,   0, 112,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  52,   2, 
+      0,   0,   0,   0,   0,   0, 
+     80,   2,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 212,   1, 
+      0,   0,   0,   0,   0,   0, 
+    100,   2,   0,   0, 192,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 116,   2, 
+      0,   0,   0,   0,   0,   0, 
+    132,   2,   0,   0, 208,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 116,   2, 
+      0,   0,   0,   0,   0,   0, 
+    143,   2,   0,   0, 224,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 116,   2, 
+      0,   0,   0,   0,   0,   0, 
+    153,   2,   0,   0, 240,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  52,   2, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    105,  66, 108, 101, 110, 100, 
+     67, 111, 110, 102, 105, 103, 
+      0, 171, 171, 171,   1,   0, 
+     19,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  82, 
+    101, 110, 100, 101, 114,  84, 
+     97, 114, 103, 101, 116,  79, 
+    102, 102, 115, 101, 116,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  80,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  68,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   3,   3, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+     68,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0,   0,   0, 
+     56,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     56,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sComponentAlphaShader = { ComponentAlphaShader, sizeof(ComponentAlphaShader) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tY                                texture  float4          2d             t1      1 
-// tCb                               texture  float4          2d             t2      1 
-// tCr                               texture  float4          2d             t3      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t1               
-// s1             s0              t2               
-// s2             s0              t3               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983
-    def c2, 1.16437995, 2.01723003, 0.391759992, 1
-    dcl t0.xy
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    texld r0, t0, s0
-    texld r1, t0, s2
-    add r0.y, r1.x, c1.x
-    mul r0.yz, r0.y, c1.xzww
-    add r0.x, r0.x, c1.y
-    mad r0.z, r0.x, c2.x, -r0.z
-    mad r1.x, r0.x, c2.x, r0.y
-    texld r2, t0, s1
-    add r0.y, r2.x, c1.x
-    mad r1.y, r0.y, -c2.z, r0.z
-    mul r0.y, r0.y, c2.y
-    mad r1.z, r0.x, c2.x, r0.y
-    mov r1.w, c2.w
-    mul r0, r1, c0.x
-    mov oC0, r0
-
-// approximately 15 instruction slots used (3 texture, 12 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t1
-dcl_resource_texture2d (float,float,float,float) t2
-dcl_resource_texture2d (float,float,float,float) t3
-dcl_input_ps linear v1.xy
-dcl_output o0.xyzw
-dcl_temps 3
-sample r0.xyzw, v1.xyxx, t3.xyzw, s0
-add r0.x, r0.x, l(-0.501960)
-mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000)
-sample r1.xyzw, v1.xyxx, t1.xyzw, s0
-add r0.z, r1.x, l(-0.062750)
-mad r0.y, r0.z, l(1.164380), -r0.y
-mad r1.x, r0.z, l(1.164380), r0.x
-sample r2.xyzw, v1.xyxx, t2.xyzw, s0
-add r0.x, r2.x, l(-0.501960)
-mad r1.y, -r0.x, l(0.391760), r0.y
-mul r0.x, r0.x, l(2.017230)
-mad r1.z, r0.z, l(1.164380), r0.x
-mov r1.w, l(1.000000)
-mul o0.xyzw, r1.xyzw, cb0[1].xxxx
-ret 
-// Approximately 15 instruction slots used
-#endif
-
-const BYTE YCbCrShader[] =
-{
-     68,  88,  66,  67,  38, 102, 
-    184,  10,  33,  16, 211, 116, 
-    233, 219, 255, 155, 108,  20, 
-     81, 243,   1,   0,   0,   0, 
-     56,   8,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    220,   1,   0,   0,  44,   4, 
-      0,   0, 168,   4,   0,   0, 
-    172,   7,   0,   0,   4,   8, 
-      0,   0,  65, 111, 110,  57, 
-    156,   1,   0,   0, 156,   1, 
-      0,   0,   0,   2, 255, 255, 
-     96,   1,   0,   0,  60,   0, 
-      0,   0,   1,   0,  48,   0, 
-      0,   0,  60,   0,   0,   0, 
-     60,   0,   3,   0,  36,   0, 
-      0,   0,  60,   0,   1,   0, 
-      0,   0,   2,   0,   1,   0, 
-      3,   0,   2,   0,   0,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   1,   2, 
-    255, 255,  81,   0,   0,   5, 
-      1,   0,  15, 160, 115, 128, 
-      0, 191,  18, 131, 128, 189, 
-    182,  74, 204,  63, 205,  30, 
-     80,  63,  81,   0,   0,   5, 
-      2,   0,  15, 160, 103,  10, 
-    149,  63,  76,  26,   1,  64, 
-    196, 148, 200,  62,   0,   0, 
-    128,  63,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,  66,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    228, 176,   0,   8, 228, 160, 
-     66,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 176, 
-      2,   8, 228, 160,   2,   0, 
-      0,   3,   0,   0,   2, 128, 
-      1,   0,   0, 128,   1,   0, 
-      0, 160,   5,   0,   0,   3, 
-      0,   0,   6, 128,   0,   0, 
-     85, 128,   1,   0, 248, 160, 
-      2,   0,   0,   3,   0,   0, 
-      1, 128,   0,   0,   0, 128, 
-      1,   0,  85, 160,   4,   0, 
-      0,   4,   0,   0,   4, 128, 
-      0,   0,   0, 128,   2,   0, 
-      0, 160,   0,   0, 170, 129, 
-      4,   0,   0,   4,   1,   0, 
-      1, 128,   0,   0,   0, 128, 
-      2,   0,   0, 160,   0,   0, 
-     85, 128,  66,   0,   0,   3, 
-      2,   0,  15, 128,   0,   0, 
-    228, 176,   1,   8, 228, 160, 
-      2,   0,   0,   3,   0,   0, 
-      2, 128,   2,   0,   0, 128, 
-      1,   0,   0, 160,   4,   0, 
-      0,   4,   1,   0,   2, 128, 
-      0,   0,  85, 128,   2,   0, 
-    170, 161,   0,   0, 170, 128, 
-      5,   0,   0,   3,   0,   0, 
-      2, 128,   0,   0,  85, 128, 
-      2,   0,  85, 160,   4,   0, 
-      0,   4,   1,   0,   4, 128, 
-      0,   0,   0, 128,   2,   0, 
-      0, 160,   0,   0,  85, 128, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   2,   0, 255, 160, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   1,   0, 228, 128, 
-      0,   0,   0, 160,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0,  83,  72,  68,  82, 
-     72,   2,   0,   0,  64,   0, 
-      0,   0, 146,   0,   0,   0, 
-     89,   0,   0,   4,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  90,   0, 
-      0,   3,   0,  96,  16,   0, 
-      0,   0,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      1,   0,   0,   0,  85,  85, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   2,   0, 
-      0,   0,  85,  85,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   3,   0,   0,   0, 
-     85,  85,   0,   0,  98,  16, 
-      0,   3,  50,  16,  16,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 242,  32,  16,   0, 
-      0,   0,   0,   0, 104,   0, 
-      0,   2,   3,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  16,  16,   0,   1,   0, 
-      0,   0,  70, 126,  16,   0, 
-      3,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   7,  18,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-    115, 128,   0, 191,  56,   0, 
-      0,  10,  50,   0,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0, 182,  74, 
-    204,  63, 205,  30,  80,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   1,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   7, 
-     66,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,   1,  64, 
-      0,   0,  18, 131, 128, 189, 
-     50,   0,   0,  10,  34,   0, 
-     16,   0,   0,   0,   0,   0, 
-     42,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-    103,  10, 149,  63,  26,   0, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,  50,   0, 
-      0,   9,  18,   0,  16,   0, 
-      1,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0, 103,  10, 
-    149,  63,  10,   0,  16,   0, 
-      0,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      2,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   2,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   7,  18,   0,  16,   0, 
-      0,   0,   0,   0,  10,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 115, 128, 
-      0, 191,  50,   0,   0,  10, 
-     34,   0,  16,   0,   1,   0, 
-      0,   0,  10,   0,  16, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-    196, 148, 200,  62,  26,   0, 
-     16,   0,   0,   0,   0,   0, 
-     56,   0,   0,   7,  18,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-     76,  26,   1,  64,  50,   0, 
-      0,   9,  66,   0,  16,   0, 
-      1,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0, 103,  10, 
-    149,  63,  10,   0,  16,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      1,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 128,  63, 
-     56,   0,   0,   8, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,   6, 128,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,  15,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     10,   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,   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, 
-      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,  82,  68, 
-     69,  70, 252,   2,   0,   0, 
-      1,   0,   0,   0, 220,   0, 
-      0,   0,   5,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    200,   2,   0,   0, 188,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-    197,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   1,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 200,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   2,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 204,   0, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-    208,   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,   0,   0, 
-      0,   0, 115,  83,  97, 109, 
-    112, 108, 101, 114,   0, 116, 
-     89,   0, 116,  67,  98,   0, 
-    116,  67, 114,   0,  36,  71, 
-    108, 111,  98,  97, 108, 115, 
-      0, 171, 171, 171, 208,   0, 
-      0,   0,  10,   0,   0,   0, 
-    244,   0,   0,   0,  48,   1, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 228,   1, 
-      0,   0,   0,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 240,   1,   0,   0, 
-      0,   0,   0,   0,   0,   2, 
-      0,   0,  16,   0,   0,   0, 
-      4,   0,   0,   0,   2,   0, 
-      0,   0,  16,   2,   0,   0, 
-      0,   0,   0,   0,  32,   2, 
-      0,   0,  32,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,  48,   2,   0,   0, 
-      0,   0,   0,   0,  64,   2, 
-      0,   0,  48,   0,   0,   0, 
-     64,   0,   0,   0,   0,   0, 
-      0,   0,  80,   2,   0,   0, 
-      0,   0,   0,   0,  96,   2, 
-      0,   0, 112,   0,   0,   0, 
-     64,   0,   0,   0,   0,   0, 
-      0,   0,  80,   2,   0,   0, 
-      0,   0,   0,   0, 108,   2, 
-      0,   0, 176,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 240,   1,   0,   0, 
-      0,   0,   0,   0, 128,   2, 
-      0,   0, 192,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 144,   2,   0,   0, 
-      0,   0,   0,   0, 160,   2, 
-      0,   0, 208,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 144,   2,   0,   0, 
-      0,   0,   0,   0, 171,   2, 
-      0,   0, 224,   0,   0,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0, 144,   2,   0,   0, 
-      0,   0,   0,   0, 181,   2, 
-      0,   0, 240,   0,   0,   0, 
-     64,   0,   0,   0,   0,   0, 
-      0,   0,  80,   2,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  67, 111, 
-    108, 111, 114,   0,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 105,  66, 
-    108, 101, 110, 100,  67, 111, 
-    110, 102, 105, 103,   0, 171, 
-    171, 171,   1,   0,  19,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  76,  97, 121, 101, 114, 
-     84, 114,  97, 110, 115, 102, 
-    111, 114, 109,   0,   3,   0, 
-      3,   0,   4,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  80, 114, 111, 
-    106, 101,  99, 116, 105, 111, 
-    110,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0, 118,  84, 
-    101, 120, 116, 117, 114, 101, 
-     67, 111, 111, 114, 100, 115, 
-      0, 171,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    118,  76,  97, 121, 101, 114, 
-     81, 117,  97, 100,   0, 118, 
-     77,  97, 115, 107,  81, 117, 
-     97, 100,   0, 109,  66,  97, 
-     99, 107, 100, 114, 111, 112, 
-     84, 114,  97, 110, 115, 102, 
-    111, 114, 109,   0,  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, 
-     48,  46,  49,  48,  48,  49, 
-     49,  46,  49,  54,  51,  56, 
-     52,   0,  73,  83,  71,  78, 
-     80,   0,   0,   0,   2,   0, 
-      0,   0,   8,   0,   0,   0, 
-     56,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     68,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,   3,   3,   0,   0, 
-     83,  86,  95,  80, 111, 115, 
-    105, 116, 105, 111, 110,   0, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,   0, 171, 171, 171, 
-     79,  83,  71,  78,  44,   0, 
-      0,   0,   1,   0,   0,   0, 
-      8,   0,   0,   0,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  83,  86, 
-     95,  84,  97, 114, 103, 101, 
-    116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tY                                texture  float4          2d             t1      1 
+// tCb                               texture  float4          2d             t2      1 
+// tCr                               texture  float4          2d             t3      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t1               
+// s1             s0              t2               
+// s2             s0              t3               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983
+    def c2, 1.16437995, 2.01723003, 0.391759992, 1
+    dcl t0.xy
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    texld r0, t0, s0
+    texld r1, t0, s2
+    add r0.y, r1.x, c1.x
+    mul r0.yz, r0.y, c1.xzww
+    add r0.x, r0.x, c1.y
+    mad r0.z, r0.x, c2.x, -r0.z
+    mad r1.x, r0.x, c2.x, r0.y
+    texld r2, t0, s1
+    add r0.y, r2.x, c1.x
+    mad r1.y, r0.y, -c2.z, r0.z
+    mul r0.y, r0.y, c2.y
+    mad r1.z, r0.x, c2.x, r0.y
+    mov r1.w, c2.w
+    mul r0, r1, c0.x
+    mov oC0, r0
+
+// approximately 15 instruction slots used (3 texture, 12 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t1
+dcl_resource_texture2d (float,float,float,float) t2
+dcl_resource_texture2d (float,float,float,float) t3
+dcl_input_ps linear v1.xy
+dcl_output o0.xyzw
+dcl_temps 3
+sample r0.xyzw, v1.xyxx, t3.xyzw, s0
+add r0.x, r0.x, l(-0.501960)
+mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000)
+sample r1.xyzw, v1.xyxx, t1.xyzw, s0
+add r0.z, r1.x, l(-0.062750)
+mad r0.y, r0.z, l(1.164380), -r0.y
+mad r1.x, r0.z, l(1.164380), r0.x
+sample r2.xyzw, v1.xyxx, t2.xyzw, s0
+add r0.x, r2.x, l(-0.501960)
+mad r1.y, -r0.x, l(0.391760), r0.y
+mul r0.x, r0.x, l(2.017230)
+mad r1.z, r0.z, l(1.164380), r0.x
+mov r1.w, l(1.000000)
+mul o0.xyzw, r1.xyzw, cb0[1].xxxx
+ret 
+// Approximately 15 instruction slots used
+#endif
+
+const BYTE YCbCrShader[] =
+{
+     68,  88,  66,  67,  38, 102, 
+    184,  10,  33,  16, 211, 116, 
+    233, 219, 255, 155, 108,  20, 
+     81, 243,   1,   0,   0,   0, 
+     56,   8,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    220,   1,   0,   0,  44,   4, 
+      0,   0, 168,   4,   0,   0, 
+    172,   7,   0,   0,   4,   8, 
+      0,   0,  65, 111, 110,  57, 
+    156,   1,   0,   0, 156,   1, 
+      0,   0,   0,   2, 255, 255, 
+     96,   1,   0,   0,  60,   0, 
+      0,   0,   1,   0,  48,   0, 
+      0,   0,  60,   0,   0,   0, 
+     60,   0,   3,   0,  36,   0, 
+      0,   0,  60,   0,   1,   0, 
+      0,   0,   2,   0,   1,   0, 
+      3,   0,   2,   0,   0,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   1,   2, 
+    255, 255,  81,   0,   0,   5, 
+      1,   0,  15, 160, 115, 128, 
+      0, 191,  18, 131, 128, 189, 
+    182,  74, 204,  63, 205,  30, 
+     80,  63,  81,   0,   0,   5, 
+      2,   0,  15, 160, 103,  10, 
+    149,  63,  76,  26,   1,  64, 
+    196, 148, 200,  62,   0,   0, 
+    128,  63,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,  66,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    228, 176,   0,   8, 228, 160, 
+     66,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 176, 
+      2,   8, 228, 160,   2,   0, 
+      0,   3,   0,   0,   2, 128, 
+      1,   0,   0, 128,   1,   0, 
+      0, 160,   5,   0,   0,   3, 
+      0,   0,   6, 128,   0,   0, 
+     85, 128,   1,   0, 248, 160, 
+      2,   0,   0,   3,   0,   0, 
+      1, 128,   0,   0,   0, 128, 
+      1,   0,  85, 160,   4,   0, 
+      0,   4,   0,   0,   4, 128, 
+      0,   0,   0, 128,   2,   0, 
+      0, 160,   0,   0, 170, 129, 
+      4,   0,   0,   4,   1,   0, 
+      1, 128,   0,   0,   0, 128, 
+      2,   0,   0, 160,   0,   0, 
+     85, 128,  66,   0,   0,   3, 
+      2,   0,  15, 128,   0,   0, 
+    228, 176,   1,   8, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      2, 128,   2,   0,   0, 128, 
+      1,   0,   0, 160,   4,   0, 
+      0,   4,   1,   0,   2, 128, 
+      0,   0,  85, 128,   2,   0, 
+    170, 161,   0,   0, 170, 128, 
+      5,   0,   0,   3,   0,   0, 
+      2, 128,   0,   0,  85, 128, 
+      2,   0,  85, 160,   4,   0, 
+      0,   4,   1,   0,   4, 128, 
+      0,   0,   0, 128,   2,   0, 
+      0, 160,   0,   0,  85, 128, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   2,   0, 255, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   1,   0, 228, 128, 
+      0,   0,   0, 160,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0,  83,  72,  68,  82, 
+     72,   2,   0,   0,  64,   0, 
+      0,   0, 146,   0,   0,   0, 
+     89,   0,   0,   4,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  90,   0, 
+      0,   3,   0,  96,  16,   0, 
+      0,   0,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      1,   0,   0,   0,  85,  85, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   2,   0, 
+      0,   0,  85,  85,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   3,   0,   0,   0, 
+     85,  85,   0,   0,  98,  16, 
+      0,   3,  50,  16,  16,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3, 242,  32,  16,   0, 
+      0,   0,   0,   0, 104,   0, 
+      0,   2,   3,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  70, 126,  16,   0, 
+      3,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7,  18,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    115, 128,   0, 191,  56,   0, 
+      0,  10,  50,   0,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0, 182,  74, 
+    204,  63, 205,  30,  80,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   1,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   7, 
+     66,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,  18, 131, 128, 189, 
+     50,   0,   0,  10,  34,   0, 
+     16,   0,   0,   0,   0,   0, 
+     42,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    103,  10, 149,  63,  26,   0, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,  50,   0, 
+      0,   9,  18,   0,  16,   0, 
+      1,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0, 103,  10, 
+    149,  63,  10,   0,  16,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      2,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   2,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7,  18,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 115, 128, 
+      0, 191,  50,   0,   0,  10, 
+     34,   0,  16,   0,   1,   0, 
+      0,   0,  10,   0,  16, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    196, 148, 200,  62,  26,   0, 
+     16,   0,   0,   0,   0,   0, 
+     56,   0,   0,   7,  18,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+     76,  26,   1,  64,  50,   0, 
+      0,   9,  66,   0,  16,   0, 
+      1,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0, 103,  10, 
+    149,  63,  10,   0,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     56,   0,   0,   8, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,   6, 128,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,  15,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     10,   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,   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, 
+      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,  82,  68, 
+     69,  70, 252,   2,   0,   0, 
+      1,   0,   0,   0, 220,   0, 
+      0,   0,   5,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+    200,   2,   0,   0, 188,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    197,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   1,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 200,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   2,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 204,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+    208,   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,   0,   0, 
+      0,   0, 115,  83,  97, 109, 
+    112, 108, 101, 114,   0, 116, 
+     89,   0, 116,  67,  98,   0, 
+    116,  67, 114,   0,  36,  71, 
+    108, 111,  98,  97, 108, 115, 
+      0, 171, 171, 171, 208,   0, 
+      0,   0,  10,   0,   0,   0, 
+    244,   0,   0,   0,  48,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 228,   1, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 240,   1,   0,   0, 
+      0,   0,   0,   0,   0,   2, 
+      0,   0,  16,   0,   0,   0, 
+      4,   0,   0,   0,   2,   0, 
+      0,   0,  16,   2,   0,   0, 
+      0,   0,   0,   0,  32,   2, 
+      0,   0,  32,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,  48,   2,   0,   0, 
+      0,   0,   0,   0,  64,   2, 
+      0,   0,  48,   0,   0,   0, 
+     64,   0,   0,   0,   0,   0, 
+      0,   0,  80,   2,   0,   0, 
+      0,   0,   0,   0,  96,   2, 
+      0,   0, 112,   0,   0,   0, 
+     64,   0,   0,   0,   0,   0, 
+      0,   0,  80,   2,   0,   0, 
+      0,   0,   0,   0, 108,   2, 
+      0,   0, 176,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 240,   1,   0,   0, 
+      0,   0,   0,   0, 128,   2, 
+      0,   0, 192,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 144,   2,   0,   0, 
+      0,   0,   0,   0, 160,   2, 
+      0,   0, 208,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 144,   2,   0,   0, 
+      0,   0,   0,   0, 171,   2, 
+      0,   0, 224,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 144,   2,   0,   0, 
+      0,   0,   0,   0, 181,   2, 
+      0,   0, 240,   0,   0,   0, 
+     64,   0,   0,   0,   0,   0, 
+      0,   0,  80,   2,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  67, 111, 
+    108, 111, 114,   0,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 105,  66, 
+    108, 101, 110, 100,  67, 111, 
+    110, 102, 105, 103,   0, 171, 
+    171, 171,   1,   0,  19,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  76,  97, 121, 101, 114, 
+     84, 114,  97, 110, 115, 102, 
+    111, 114, 109,   0,   3,   0, 
+      3,   0,   4,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  80, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0, 118,  84, 
+    101, 120, 116, 117, 114, 101, 
+     67, 111, 111, 114, 100, 115, 
+      0, 171,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    118,  76,  97, 121, 101, 114, 
+     81, 117,  97, 100,   0, 118, 
+     77,  97, 115, 107,  81, 117, 
+     97, 100,   0, 109,  66,  97, 
+     99, 107, 100, 114, 111, 112, 
+     84, 114,  97, 110, 115, 102, 
+    111, 114, 109,   0,  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, 
+     48,  46,  49,  48,  48,  49, 
+     49,  46,  49,  54,  51,  56, 
+     52,   0,  73,  83,  71,  78, 
+     80,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0,   0,   0, 
+     56,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     68,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,   3,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171, 
+     79,  83,  71,  78,  44,   0, 
+      0,   0,   1,   0,   0,   0, 
+      8,   0,   0,   0,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  83,  86, 
+     95,  84,  97, 114, 103, 101, 
+    116,   0, 171, 171
+};
 ShaderBytes sYCbCrShader = { YCbCrShader, sizeof(YCbCrShader) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
-//   float4x4 mProjection;              // Offset:   64 Size:    64
-//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
-//   float4 vTextureCoords;             // Offset:  144 Size:    16
-//   float4 vLayerQuad;                 // Offset:  160 Size:    16
-//   float4 vMaskQuad;                  // Offset:  176 Size:    16
-//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64 [unused]
-//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// POSITION                 0   xy          0     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float   xyzw
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
-// c3         cb0             3         9  ( FLT, FLT, FLT, FLT)
-//
-//
-// Runtime generated constant mappings:
-//
-// Target Reg                               Constant Description
-// ---------- --------------------------------------------------
-// c0                              Vertex Shader position offset
-//
-//
-// Level9 shader bytecode:
-//
-    vs_2_x
-    def c12, 1, 0, 0, 0
-    dcl_texcoord v0
-    mov r0.z, c12.x
-    rcp r0.w, c11.z
-    mad r1.xy, v0, c10.zwzw, c10
-    mul r2, r1.y, c2
-    mad r1, c1, r1.x, r2
-    add r1, r1, c3
-    add r2.xy, r1, -c11
-    mul r0.x, r0.w, r2.x
-    rcp r0.w, c11.w
-    mul r0.y, r0.w, r2.y
-    mul oT1.xyz, r0, r1.w
-    mad oT0.xy, v0, c9.zwzw, c9
-    rcp r0.x, r1.w
-    mul r1.xyz, r0.x, r1
-    add r0, r1, -c8
-    mul r0.xyz, r0.w, r0
-    mul r1, r0.y, c5
-    mad r1, c4, r0.x, r1
-    mad r1, c6, r0.z, r1
-    mad r0, c7, r0.w, r1
-    mad oPos.xy, r0.w, c0, r0
-    mov oPos.zw, r0
-
-// approximately 22 instruction slots used
-vs_4_0
-dcl_constantbuffer CB0[12], immediateIndexed
-dcl_input v0.xy
-dcl_output_siv o0.xyzw, position
-dcl_output o1.xy
-dcl_output o2.xyz
-dcl_temps 4
-mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
-mul r1.xyzw, r0.yyyy, cb0[1].xyzw
-mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
-add r0.xyzw, r0.xyzw, cb0[3].xyzw
-div r1.xyz, r0.xyzx, r0.wwww
-mov r1.w, r0.w
-add r2.xyzw, r1.xyzw, -cb0[8].xyzw
-mul r1.xyz, r2.wwww, r2.xyzx
-mul r3.xyzw, r1.yyyy, cb0[5].xyzw
-mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw
-mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw
-mad o0.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw
-mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
-add r0.xy, r0.xyxx, -cb0[11].xyxx
-div r0.xy, r0.xyxx, cb0[11].zwzz
-mov r0.z, l(1.000000)
-mul o2.xyz, r1.wwww, r0.xyzx
-ret 
-// Approximately 18 instruction slots used
-#endif
-
-const BYTE LayerQuadMaskVS[] =
-{
-     68,  88,  66,  67, 170, 122, 
-    113,  58, 123,  23, 243, 241, 
-    143, 157, 226, 223, 154,  53, 
-    167, 168,   1,   0,   0,   0, 
-     64,   8,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     20,   2,   0,   0, 176,   4, 
-      0,   0,  44,   5,   0,   0, 
-    156,   7,   0,   0, 208,   7, 
-      0,   0,  65, 111, 110,  57, 
-    212,   1,   0,   0, 212,   1, 
-      0,   0,   0,   2, 254, 255, 
-    148,   1,   0,   0,  64,   0, 
-      0,   0,   2,   0,  36,   0, 
-      0,   0,  60,   0,   0,   0, 
-     60,   0,   0,   0,  36,   0, 
-      1,   0,  60,   0,   0,   0, 
-      0,   0,   2,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   9,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 254, 255, 
-     81,   0,   0,   5,  12,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   5,   0, 
-      0, 128,   0,   0,  15, 144, 
-      1,   0,   0,   2,   0,   0, 
-      4, 128,  12,   0,   0, 160, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,  11,   0, 170, 160, 
-      4,   0,   0,   4,   1,   0, 
-      3, 128,   0,   0, 228, 144, 
-     10,   0, 238, 160,  10,   0, 
-    228, 160,   5,   0,   0,   3, 
-      2,   0,  15, 128,   1,   0, 
-     85, 128,   2,   0, 228, 160, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   1,   0, 228, 160, 
-      1,   0,   0, 128,   2,   0, 
-    228, 128,   2,   0,   0,   3, 
-      1,   0,  15, 128,   1,   0, 
-    228, 128,   3,   0, 228, 160, 
-      2,   0,   0,   3,   2,   0, 
-      3, 128,   1,   0, 228, 128, 
-     11,   0, 228, 161,   5,   0, 
-      0,   3,   0,   0,   1, 128, 
-      0,   0, 255, 128,   2,   0, 
-      0, 128,   6,   0,   0,   2, 
-      0,   0,   8, 128,  11,   0, 
-    255, 160,   5,   0,   0,   3, 
-      0,   0,   2, 128,   0,   0, 
-    255, 128,   2,   0,  85, 128, 
-      5,   0,   0,   3,   1,   0, 
-      7, 224,   0,   0, 228, 128, 
-      1,   0, 255, 128,   4,   0, 
-      0,   4,   0,   0,   3, 224, 
-      0,   0, 228, 144,   9,   0, 
-    238, 160,   9,   0, 228, 160, 
-      6,   0,   0,   2,   0,   0, 
-      1, 128,   1,   0, 255, 128, 
-      5,   0,   0,   3,   1,   0, 
-      7, 128,   0,   0,   0, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      1,   0, 228, 128,   8,   0, 
-    228, 161,   5,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    255, 128,   0,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0,  85, 128, 
-      5,   0, 228, 160,   4,   0, 
-      0,   4,   1,   0,  15, 128, 
-      4,   0, 228, 160,   0,   0, 
-      0, 128,   1,   0, 228, 128, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   6,   0, 228, 160, 
-      0,   0, 170, 128,   1,   0, 
-    228, 128,   4,   0,   0,   4, 
-      0,   0,  15, 128,   7,   0, 
-    228, 160,   0,   0, 255, 128, 
-      1,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,   3, 192, 
-      0,   0, 255, 128,   0,   0, 
-    228, 160,   0,   0, 228, 128, 
-      1,   0,   0,   2,   0,   0, 
-     12, 192,   0,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82, 148,   2,   0,   0, 
-     64,   0,   1,   0, 165,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,  12,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   0,   0,   0,   0, 
-    103,   0,   0,   4, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3,  50,  32,  16,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 114,  32,  16,   0, 
-      2,   0,   0,   0, 104,   0, 
-      0,   2,   4,   0,   0,   0, 
-     50,   0,   0,  11,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  16,  16,   0,   0,   0, 
-      0,   0, 230, 138,  32,   0, 
-      0,   0,   0,   0,  10,   0, 
-      0,   0,  70, 128,  32,   0, 
-      0,   0,   0,   0,  10,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  86,   5,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  10, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,   0,   0,   0,   8, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  14,   0, 
-      0,   7, 114,   0,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,   0,  16,   0,   1,   0, 
-      0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   9, 242,   0,  16,   0, 
-      2,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-     70, 142,  32, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-      1,   0,   0,   0, 246,  15, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   2,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   3,   0, 
-      0,   0,  86,   5,  16,   0, 
-      1,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      5,   0,   0,   0,  50,   0, 
-      0,  10, 242,   0,  16,   0, 
-      3,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      4,   0,   0,   0,   6,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   3,   0, 
-      0,   0,  50,   0,   0,  10, 
-    242,   0,  16,   0,   3,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   6,   0, 
-      0,   0, 166,  10,  16,   0, 
-      1,   0,   0,   0,  70,  14, 
-     16,   0,   3,   0,   0,   0, 
-     50,   0,   0,  10, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    246,  15,  16,   0,   2,   0, 
-      0,   0,  70,  14,  16,   0, 
-      3,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-      0,   0,   0,   9,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   0,  16,   0,   0,   0, 
-      0,   0,  70, 128,  32, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,  11,   0,   0,   0, 
-     14,   0,   0,   8,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   0,  16,   0,   0,   0, 
-      0,   0, 230, 138,  32,   0, 
-      0,   0,   0,   0,  11,   0, 
-      0,   0,  54,   0,   0,   5, 
-     66,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7, 114,  32,  16,   0, 
-      2,   0,   0,   0, 246,  15, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,  18,   0,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-     15,   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,   0,   0,   0, 
-      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, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 104,   2,   0,   0, 
-      1,   0,   0,   0,  72,   0, 
-      0,   0,   1,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    254, 255,   0,   1,   0,   0, 
-     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
-     36,  71, 108, 111,  98,  97, 
-    108, 115,   0, 171, 171, 171, 
-     60,   0,   0,   0,  10,   0, 
-      0,   0,  96,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     80,   1,   0,   0,   0,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    112,   1,   0,   0,  64,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    124,   1,   0,   0, 128,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    160,   1,   0,   0, 144,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    192,   1,   0,   0, 160,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    203,   1,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    213,   1,   0,   0, 192,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    232,   1,   0,   0,   0,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    244,   1,   0,   0,  16,   1, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   4,   2, 
-      0,   0,   0,   0,   0,   0, 
-     20,   2,   0,   0,  32,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  36,   2, 
-      0,   0,   0,   0,   0,   0, 
-    109,  76,  97, 121, 101, 114, 
-     84, 114,  97, 110, 115, 102, 
-    111, 114, 109,   0,   3,   0, 
-      3,   0,   4,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  80, 114, 111, 
-    106, 101,  99, 116, 105, 111, 
-    110,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 105,  66, 
-    108, 101, 110, 100,  67, 111, 
-    110, 102, 105, 103,   0, 171, 
-    171, 171,   1,   0,  19,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   3,   3, 
-      0,   0,  80,  79,  83,  73, 
-     84,  73,  79,  78,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-    104,   0,   0,   0,   3,   0, 
-      0,   0,   8,   0,   0,   0, 
-     80,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     92,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,   3,  12,   0,   0, 
-     92,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   2,   0, 
-      0,   0,   7,   8,   0,   0, 
-     83,  86,  95,  80, 111, 115, 
-    105, 116, 105, 111, 110,   0, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,   0, 171, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
+//   float4x4 mProjection;              // Offset:   64 Size:    64
+//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
+//   float4 vTextureCoords;             // Offset:  144 Size:    16
+//   float4 vLayerQuad;                 // Offset:  160 Size:    16
+//   float4 vMaskQuad;                  // Offset:  176 Size:    16
+//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64 [unused]
+//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xy          0     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float   xyzw
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
+// c3         cb0             3         9  ( FLT, FLT, FLT, FLT)
+//
+//
+// Runtime generated constant mappings:
+//
+// Target Reg                               Constant Description
+// ---------- --------------------------------------------------
+// c0                              Vertex Shader position offset
+//
+//
+// Level9 shader bytecode:
+//
+    vs_2_x
+    def c12, 1, 0, 0, 0
+    dcl_texcoord v0
+    mov r0.z, c12.x
+    rcp r0.w, c11.z
+    mad r1.xy, v0, c10.zwzw, c10
+    mul r2, r1.y, c2
+    mad r1, c1, r1.x, r2
+    add r1, r1, c3
+    add r2.xy, r1, -c11
+    mul r0.x, r0.w, r2.x
+    rcp r0.w, c11.w
+    mul r0.y, r0.w, r2.y
+    mul oT1.xyz, r0, r1.w
+    mad oT0.xy, v0, c9.zwzw, c9
+    rcp r0.x, r1.w
+    mul r1.xyz, r0.x, r1
+    add r0, r1, -c8
+    mul r0.xyz, r0.w, r0
+    mul r1, r0.y, c5
+    mad r1, c4, r0.x, r1
+    mad r1, c6, r0.z, r1
+    mad r0, c7, r0.w, r1
+    mad oPos.xy, r0.w, c0, r0
+    mov oPos.zw, r0
+
+// approximately 22 instruction slots used
+vs_4_0
+dcl_constantbuffer CB0[12], immediateIndexed
+dcl_input v0.xy
+dcl_output_siv o0.xyzw, position
+dcl_output o1.xy
+dcl_output o2.xyz
+dcl_temps 4
+mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
+mul r1.xyzw, r0.yyyy, cb0[1].xyzw
+mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
+add r0.xyzw, r0.xyzw, cb0[3].xyzw
+div r1.xyz, r0.xyzx, r0.wwww
+mov r1.w, r0.w
+add r2.xyzw, r1.xyzw, -cb0[8].xyzw
+mul r1.xyz, r2.wwww, r2.xyzx
+mul r3.xyzw, r1.yyyy, cb0[5].xyzw
+mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw
+mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw
+mad o0.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw
+mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
+add r0.xy, r0.xyxx, -cb0[11].xyxx
+div r0.xy, r0.xyxx, cb0[11].zwzz
+mov r0.z, l(1.000000)
+mul o2.xyz, r1.wwww, r0.xyzx
+ret 
+// Approximately 18 instruction slots used
+#endif
+
+const BYTE LayerQuadMaskVS[] =
+{
+     68,  88,  66,  67, 170, 122, 
+    113,  58, 123,  23, 243, 241, 
+    143, 157, 226, 223, 154,  53, 
+    167, 168,   1,   0,   0,   0, 
+     64,   8,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     20,   2,   0,   0, 176,   4, 
+      0,   0,  44,   5,   0,   0, 
+    156,   7,   0,   0, 208,   7, 
+      0,   0,  65, 111, 110,  57, 
+    212,   1,   0,   0, 212,   1, 
+      0,   0,   0,   2, 254, 255, 
+    148,   1,   0,   0,  64,   0, 
+      0,   0,   2,   0,  36,   0, 
+      0,   0,  60,   0,   0,   0, 
+     60,   0,   0,   0,  36,   0, 
+      1,   0,  60,   0,   0,   0, 
+      0,   0,   2,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   9,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     81,   0,   0,   5,  12,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
+      1,   0,   0,   2,   0,   0, 
+      4, 128,  12,   0,   0, 160, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,  11,   0, 170, 160, 
+      4,   0,   0,   4,   1,   0, 
+      3, 128,   0,   0, 228, 144, 
+     10,   0, 238, 160,  10,   0, 
+    228, 160,   5,   0,   0,   3, 
+      2,   0,  15, 128,   1,   0, 
+     85, 128,   2,   0, 228, 160, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   1,   0, 228, 160, 
+      1,   0,   0, 128,   2,   0, 
+    228, 128,   2,   0,   0,   3, 
+      1,   0,  15, 128,   1,   0, 
+    228, 128,   3,   0, 228, 160, 
+      2,   0,   0,   3,   2,   0, 
+      3, 128,   1,   0, 228, 128, 
+     11,   0, 228, 161,   5,   0, 
+      0,   3,   0,   0,   1, 128, 
+      0,   0, 255, 128,   2,   0, 
+      0, 128,   6,   0,   0,   2, 
+      0,   0,   8, 128,  11,   0, 
+    255, 160,   5,   0,   0,   3, 
+      0,   0,   2, 128,   0,   0, 
+    255, 128,   2,   0,  85, 128, 
+      5,   0,   0,   3,   1,   0, 
+      7, 224,   0,   0, 228, 128, 
+      1,   0, 255, 128,   4,   0, 
+      0,   4,   0,   0,   3, 224, 
+      0,   0, 228, 144,   9,   0, 
+    238, 160,   9,   0, 228, 160, 
+      6,   0,   0,   2,   0,   0, 
+      1, 128,   1,   0, 255, 128, 
+      5,   0,   0,   3,   1,   0, 
+      7, 128,   0,   0,   0, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      1,   0, 228, 128,   8,   0, 
+    228, 161,   5,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    255, 128,   0,   0, 228, 128, 
+      5,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0,  85, 128, 
+      5,   0, 228, 160,   4,   0, 
+      0,   4,   1,   0,  15, 128, 
+      4,   0, 228, 160,   0,   0, 
+      0, 128,   1,   0, 228, 128, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   6,   0, 228, 160, 
+      0,   0, 170, 128,   1,   0, 
+    228, 128,   4,   0,   0,   4, 
+      0,   0,  15, 128,   7,   0, 
+    228, 160,   0,   0, 255, 128, 
+      1,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,   3, 192, 
+      0,   0, 255, 128,   0,   0, 
+    228, 160,   0,   0, 228, 128, 
+      1,   0,   0,   2,   0,   0, 
+     12, 192,   0,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82, 148,   2,   0,   0, 
+     64,   0,   1,   0, 165,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,  12,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   0,   0,   0,   0, 
+    103,   0,   0,   4, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3,  50,  32,  16,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3, 114,  32,  16,   0, 
+      2,   0,   0,   0, 104,   0, 
+      0,   2,   4,   0,   0,   0, 
+     50,   0,   0,  11,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  16,  16,   0,   0,   0, 
+      0,   0, 230, 138,  32,   0, 
+      0,   0,   0,   0,  10,   0, 
+      0,   0,  70, 128,  32,   0, 
+      0,   0,   0,   0,  10,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  86,   5,  16,   0, 
+      0,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  50,   0, 
+      0,  10, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,   0,   0,   0,   8, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      0,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  14,   0, 
+      0,   7, 114,   0,  16,   0, 
+      1,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,   0,  16,   0,   1,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   9, 242,   0,  16,   0, 
+      2,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  32, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      1,   0,   0,   0, 246,  15, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   2,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   3,   0, 
+      0,   0,  86,   5,  16,   0, 
+      1,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      5,   0,   0,   0,  50,   0, 
+      0,  10, 242,   0,  16,   0, 
+      3,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,   6,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   3,   0, 
+      0,   0,  50,   0,   0,  10, 
+    242,   0,  16,   0,   3,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   6,   0, 
+      0,   0, 166,  10,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     50,   0,   0,  10, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+    246,  15,  16,   0,   2,   0, 
+      0,   0,  70,  14,  16,   0, 
+      3,   0,   0,   0,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+      0,   0,   0,   9,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   0,  16,   0,   0,   0, 
+      0,   0,  70, 128,  32, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,  11,   0,   0,   0, 
+     14,   0,   0,   8,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   0,  16,   0,   0,   0, 
+      0,   0, 230, 138,  32,   0, 
+      0,   0,   0,   0,  11,   0, 
+      0,   0,  54,   0,   0,   5, 
+     66,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7, 114,  32,  16,   0, 
+      2,   0,   0,   0, 246,  15, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,  18,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+     15,   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,   0,   0,   0, 
+      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, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  82,  68, 
+     69,  70, 104,   2,   0,   0, 
+      1,   0,   0,   0,  72,   0, 
+      0,   0,   1,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    254, 255,   0,   1,   0,   0, 
+     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
+     36,  71, 108, 111,  98,  97, 
+    108, 115,   0, 171, 171, 171, 
+     60,   0,   0,   0,  10,   0, 
+      0,   0,  96,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     80,   1,   0,   0,   0,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    112,   1,   0,   0,  64,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    124,   1,   0,   0, 128,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    160,   1,   0,   0, 144,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    192,   1,   0,   0, 160,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    203,   1,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    213,   1,   0,   0, 192,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    232,   1,   0,   0,   0,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    244,   1,   0,   0,  16,   1, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   4,   2, 
+      0,   0,   0,   0,   0,   0, 
+     20,   2,   0,   0,  32,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  36,   2, 
+      0,   0,   0,   0,   0,   0, 
+    109,  76,  97, 121, 101, 114, 
+     84, 114,  97, 110, 115, 102, 
+    111, 114, 109,   0,   3,   0, 
+      3,   0,   4,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  80, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 105,  66, 
+    108, 101, 110, 100,  67, 111, 
+    110, 102, 105, 103,   0, 171, 
+    171, 171,   1,   0,  19,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   3,   3, 
+      0,   0,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+    104,   0,   0,   0,   3,   0, 
+      0,   0,   8,   0,   0,   0, 
+     80,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     92,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,  12,   0,   0, 
+     92,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   2,   0, 
+      0,   0,   7,   8,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171
+};
 ShaderBytes sLayerQuadMaskVS = { LayerQuadMaskVS, sizeof(LayerQuadMaskVS) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16
-//   float fLayerOpacity;               // Offset:   16 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tMask                             texture  float4          2d             t5      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float       
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             0         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t5               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    dcl t1.xyz
-    dcl_2d s0
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r0, r0, s0
-    mul r0, r0.x, c0
-    mov oC0, r0
-
-// approximately 5 instruction slots used (1 texture, 4 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[1], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_temps 1
-div r0.xy, v2.xyxx, v2.zzzz
-sample r0.xyzw, r0.xyxx, t5.xyzw, s0
-mul o0.xyzw, r0.xxxx, cb0[0].xyzw
-ret 
-// Approximately 4 instruction slots used
-#endif
-
-const BYTE SolidColorShaderMask[] =
-{
-     68,  88,  66,  67, 136,  34, 
-    160,  50,  38, 225, 198,  78, 
-    252,  58, 191, 192, 204,  38, 
-     60, 224,   1,   0,   0,   0, 
-    120,   5,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    220,   0,   0,   0, 156,   1, 
-      0,   0,  24,   2,   0,   0, 
-    212,   4,   0,   0,  68,   5, 
-      0,   0,  65, 111, 110,  57, 
-    156,   0,   0,   0, 156,   0, 
-      0,   0,   0,   2, 255, 255, 
-    104,   0,   0,   0,  52,   0, 
-      0,   0,   1,   0,  40,   0, 
-      0,   0,  52,   0,   0,   0, 
-     52,   0,   1,   0,  36,   0, 
-      0,   0,  52,   0,   5,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   1,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,   1,   0, 170, 176, 
-      5,   0,   0,   3,   0,   0, 
-      3, 128,   0,   0, 255, 128, 
-      1,   0, 228, 176,  66,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   0,   8, 
-    228, 160,   5,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-      0, 128,   0,   0, 228, 160, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82, 184,   0,   0,   0, 
-     64,   0,   0,   0,  46,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     90,   0,   0,   3,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   5,   0,   0,   0, 
-     85,  85,   0,   0,  98,  16, 
-      0,   3, 114,  16,  16,   0, 
-      2,   0,   0,   0, 101,   0, 
-      0,   3, 242,  32,  16,   0, 
-      0,   0,   0,   0, 104,   0, 
-      0,   2,   1,   0,   0,   0, 
-     14,   0,   0,   7,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  16,  16,   0,   2,   0, 
-      0,   0, 166,  26,  16,   0, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70, 126,  16,   0,   5,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 242,  32,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     62,   0,   0,   1,  83,  84, 
-     65,  84, 116,   0,   0,   0, 
-      4,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,   2,   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,   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,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  82,  68,  69,  70, 
-    180,   2,   0,   0,   1,   0, 
-      0,   0, 148,   0,   0,   0, 
-      3,   0,   0,   0,  28,   0, 
-      0,   0,   0,   4, 255, 255, 
-      0,   1,   0,   0, 128,   2, 
-      0,   0, 124,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0, 133,   0, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      5,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-    139,   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,   0,   0, 
-      0,   0, 115,  83,  97, 109, 
-    112, 108, 101, 114,   0, 116, 
-     77,  97, 115, 107,   0,  36, 
-     71, 108, 111,  98,  97, 108, 
-    115,   0, 139,   0,   0,   0, 
-     10,   0,   0,   0, 172,   0, 
-      0,   0,  48,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 156,   1,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    168,   1,   0,   0,   0,   0, 
-      0,   0, 184,   1,   0,   0, 
-     16,   0,   0,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-    200,   1,   0,   0,   0,   0, 
-      0,   0, 216,   1,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    232,   1,   0,   0,   0,   0, 
-      0,   0, 248,   1,   0,   0, 
-     48,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   2,   0,   0,   0,   0, 
-      0,   0,  24,   2,   0,   0, 
-    112,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   2,   0,   0,   0,   0, 
-      0,   0,  36,   2,   0,   0, 
-    176,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    168,   1,   0,   0,   0,   0, 
-      0,   0,  56,   2,   0,   0, 
-    192,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     72,   2,   0,   0,   0,   0, 
-      0,   0,  88,   2,   0,   0, 
-    208,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     72,   2,   0,   0,   0,   0, 
-      0,   0,  99,   2,   0,   0, 
-    224,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     72,   2,   0,   0,   0,   0, 
-      0,   0, 109,   2,   0,   0, 
-    240,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   2,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 104,   0, 
-      0,   0,   3,   0,   0,   0, 
-      8,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  92,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,  92,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16
+//   float fLayerOpacity;               // Offset:   16 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tMask                             texture  float4          2d             t5      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float       
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             0         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t5               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    dcl t1.xyz
+    dcl_2d s0
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r0, r0, s0
+    mul r0, r0.x, c0
+    mov oC0, r0
+
+// approximately 5 instruction slots used (1 texture, 4 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[1], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_temps 1
+div r0.xy, v2.xyxx, v2.zzzz
+sample r0.xyzw, r0.xyxx, t5.xyzw, s0
+mul o0.xyzw, r0.xxxx, cb0[0].xyzw
+ret 
+// Approximately 4 instruction slots used
+#endif
+
+const BYTE SolidColorShaderMask[] =
+{
+     68,  88,  66,  67, 136,  34, 
+    160,  50,  38, 225, 198,  78, 
+    252,  58, 191, 192, 204,  38, 
+     60, 224,   1,   0,   0,   0, 
+    120,   5,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    220,   0,   0,   0, 156,   1, 
+      0,   0,  24,   2,   0,   0, 
+    212,   4,   0,   0,  68,   5, 
+      0,   0,  65, 111, 110,  57, 
+    156,   0,   0,   0, 156,   0, 
+      0,   0,   0,   2, 255, 255, 
+    104,   0,   0,   0,  52,   0, 
+      0,   0,   1,   0,  40,   0, 
+      0,   0,  52,   0,   0,   0, 
+     52,   0,   1,   0,  36,   0, 
+      0,   0,  52,   0,   5,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 255, 255, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   1,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,   1,   0, 170, 176, 
+      5,   0,   0,   3,   0,   0, 
+      3, 128,   0,   0, 255, 128, 
+      1,   0, 228, 176,  66,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   0,   8, 
+    228, 160,   5,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+      0, 128,   0,   0, 228, 160, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82, 184,   0,   0,   0, 
+     64,   0,   0,   0,  46,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     90,   0,   0,   3,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   5,   0,   0,   0, 
+     85,  85,   0,   0,  98,  16, 
+      0,   3, 114,  16,  16,   0, 
+      2,   0,   0,   0, 101,   0, 
+      0,   3, 242,  32,  16,   0, 
+      0,   0,   0,   0, 104,   0, 
+      0,   2,   1,   0,   0,   0, 
+     14,   0,   0,   7,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  16,  16,   0,   2,   0, 
+      0,   0, 166,  26,  16,   0, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70, 126,  16,   0,   5,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 242,  32,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     62,   0,   0,   1,  83,  84, 
+     65,  84, 116,   0,   0,   0, 
+      4,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   2,   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,   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,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  82,  68,  69,  70, 
+    180,   2,   0,   0,   1,   0, 
+      0,   0, 148,   0,   0,   0, 
+      3,   0,   0,   0,  28,   0, 
+      0,   0,   0,   4, 255, 255, 
+      0,   1,   0,   0, 128,   2, 
+      0,   0, 124,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0, 133,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      5,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+    139,   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,   0,   0, 
+      0,   0, 115,  83,  97, 109, 
+    112, 108, 101, 114,   0, 116, 
+     77,  97, 115, 107,   0,  36, 
+     71, 108, 111,  98,  97, 108, 
+    115,   0, 139,   0,   0,   0, 
+     10,   0,   0,   0, 172,   0, 
+      0,   0,  48,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 156,   1,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+    168,   1,   0,   0,   0,   0, 
+      0,   0, 184,   1,   0,   0, 
+     16,   0,   0,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+    200,   1,   0,   0,   0,   0, 
+      0,   0, 216,   1,   0,   0, 
+     32,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    232,   1,   0,   0,   0,   0, 
+      0,   0, 248,   1,   0,   0, 
+     48,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   2,   0,   0,   0,   0, 
+      0,   0,  24,   2,   0,   0, 
+    112,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   2,   0,   0,   0,   0, 
+      0,   0,  36,   2,   0,   0, 
+    176,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    168,   1,   0,   0,   0,   0, 
+      0,   0,  56,   2,   0,   0, 
+    192,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     72,   2,   0,   0,   0,   0, 
+      0,   0,  88,   2,   0,   0, 
+    208,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     72,   2,   0,   0,   0,   0, 
+      0,   0,  99,   2,   0,   0, 
+    224,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     72,   2,   0,   0,   0,   0, 
+      0,   0, 109,   2,   0,   0, 
+    240,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   2,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 104,   0, 
+      0,   0,   3,   0,   0,   0, 
+      8,   0,   0,   0,  80,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,  92,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171,  79,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  84, 
+     97, 114, 103, 101, 116,   0, 
+    171, 171
+};
 ShaderBytes sSolidColorShaderMask = { SolidColorShaderMask, sizeof(SolidColorShaderMask) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// tMask                             texture  float4          2d             t5      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-// s1             s0              t5               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s0
-    texld r0, r0, s1
-    mul r1.xyz, r1, c0.x
-    mov r1.w, c0.x
-    mul r0, r0.x, r1
-    mov oC0, r0
-
-// approximately 8 instruction slots used (2 texture, 6 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_temps 2
-sample r0.xyzw, v1.xyxx, t0.xyzw, s0
-mul r0.xyz, r0.xyzx, cb0[1].xxxx
-div r1.xy, v2.xyxx, v2.zzzz
-sample r1.xyzw, r1.xyxx, t5.xyzw, s0
-mov r0.w, cb0[1].x
-mul o0.xyzw, r0.xyzw, r1.xxxx
-ret 
-// Approximately 7 instruction slots used
-#endif
-
-const BYTE RGBShaderMask[] =
-{
-     68,  88,  66,  67,  79, 247, 
-    118, 147, 119, 222,  85,  19, 
-    212, 225, 110,  66, 228, 229, 
-    204, 201,   1,   0,   0,   0, 
-     92,   6,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     36,   1,   0,   0,  88,   2, 
-      0,   0, 212,   2,   0,   0, 
-    184,   5,   0,   0,  40,   6, 
-      0,   0,  65, 111, 110,  57, 
-    228,   0,   0,   0, 228,   0, 
-      0,   0,   0,   2, 255, 255, 
-    172,   0,   0,   0,  56,   0, 
-      0,   0,   1,   0,  44,   0, 
-      0,   0,  56,   0,   0,   0, 
-     56,   0,   2,   0,  36,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   5,   0,   1,   0, 
-      0,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   2, 255, 255,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      0,   0,   3, 176,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      1,   0,   7, 176,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      0,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      1,   8,  15, 160,   6,   0, 
-      0,   2,   0,   0,   8, 128, 
-      1,   0, 170, 176,   5,   0, 
-      0,   3,   0,   0,   3, 128, 
-      0,   0, 255, 128,   1,   0, 
-    228, 176,  66,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-    228, 176,   0,   8, 228, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      1,   8, 228, 160,   5,   0, 
-      0,   3,   1,   0,   7, 128, 
-      1,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      1,   0,   8, 128,   0,   0, 
-      0, 160,   5,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-      0, 128,   1,   0, 228, 128, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82,  44,   1,   0,   0, 
-     64,   0,   0,   0,  75,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     90,   0,   0,   3,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   0,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      5,   0,   0,   0,  85,  85, 
-      0,   0,  98,  16,   0,   3, 
-     50,  16,  16,   0,   1,   0, 
-      0,   0,  98,  16,   0,   3, 
-    114,  16,  16,   0,   2,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0, 104,   0,   0,   2, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 114,   0,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-      6, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     14,   0,   0,   7,  50,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,  16,  16,   0,   2,   0, 
-      0,   0, 166,  26,  16,   0, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   5,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   6, 130,   0,  16,   0, 
-      0,   0,   0,   0,  10, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  56,   0, 
-      0,   7, 242,  32,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   1,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,   7,   0,   0,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      3,   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,   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, 
-      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,  82,  68, 
-     69,  70, 220,   2,   0,   0, 
-      1,   0,   0,   0, 188,   0, 
-      0,   0,   4,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    168,   2,   0,   0, 156,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-    165,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 170,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   5,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 176,   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,   0,   0,   0,   0, 
-    115,  83,  97, 109, 112, 108, 
-    101, 114,   0, 116,  82,  71, 
-     66,   0, 116,  77,  97, 115, 
-    107,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    171, 171, 176,   0,   0,   0, 
-     10,   0,   0,   0, 212,   0, 
-      0,   0,  48,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 196,   1,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    208,   1,   0,   0,   0,   0, 
-      0,   0, 224,   1,   0,   0, 
-     16,   0,   0,   0,   4,   0, 
-      0,   0,   2,   0,   0,   0, 
-    240,   1,   0,   0,   0,   0, 
-      0,   0,   0,   2,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     16,   2,   0,   0,   0,   0, 
-      0,   0,  32,   2,   0,   0, 
-     48,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0,  64,   2,   0,   0, 
-    112,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0,  76,   2,   0,   0, 
-    176,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    208,   1,   0,   0,   0,   0, 
-      0,   0,  96,   2,   0,   0, 
-    192,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 128,   2,   0,   0, 
-    208,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 139,   2,   0,   0, 
-    224,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 149,   2,   0,   0, 
-    240,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 104,   0, 
-      0,   0,   3,   0,   0,   0, 
-      8,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  92,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0,  92,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// tMask                             texture  float4          2d             t5      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+// s1             s0              t5               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s0
+    texld r0, r0, s1
+    mul r1.xyz, r1, c0.x
+    mov r1.w, c0.x
+    mul r0, r0.x, r1
+    mov oC0, r0
+
+// approximately 8 instruction slots used (2 texture, 6 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_temps 2
+sample r0.xyzw, v1.xyxx, t0.xyzw, s0
+mul r0.xyz, r0.xyzx, cb0[1].xxxx
+div r1.xy, v2.xyxx, v2.zzzz
+sample r1.xyzw, r1.xyxx, t5.xyzw, s0
+mov r0.w, cb0[1].x
+mul o0.xyzw, r0.xyzw, r1.xxxx
+ret 
+// Approximately 7 instruction slots used
+#endif
+
+const BYTE RGBShaderMask[] =
+{
+     68,  88,  66,  67,  79, 247, 
+    118, 147, 119, 222,  85,  19, 
+    212, 225, 110,  66, 228, 229, 
+    204, 201,   1,   0,   0,   0, 
+     92,   6,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     36,   1,   0,   0,  88,   2, 
+      0,   0, 212,   2,   0,   0, 
+    184,   5,   0,   0,  40,   6, 
+      0,   0,  65, 111, 110,  57, 
+    228,   0,   0,   0, 228,   0, 
+      0,   0,   0,   2, 255, 255, 
+    172,   0,   0,   0,  56,   0, 
+      0,   0,   1,   0,  44,   0, 
+      0,   0,  56,   0,   0,   0, 
+     56,   0,   2,   0,  36,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   5,   0,   1,   0, 
+      0,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   2, 255, 255,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      0,   0,   3, 176,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      1,   0,   7, 176,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      0,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      1,   8,  15, 160,   6,   0, 
+      0,   2,   0,   0,   8, 128, 
+      1,   0, 170, 176,   5,   0, 
+      0,   3,   0,   0,   3, 128, 
+      0,   0, 255, 128,   1,   0, 
+    228, 176,  66,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+    228, 176,   0,   8, 228, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      1,   8, 228, 160,   5,   0, 
+      0,   3,   1,   0,   7, 128, 
+      1,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      1,   0,   8, 128,   0,   0, 
+      0, 160,   5,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+      0, 128,   1,   0, 228, 128, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82,  44,   1,   0,   0, 
+     64,   0,   0,   0,  75,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     90,   0,   0,   3,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   0,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      5,   0,   0,   0,  85,  85, 
+      0,   0,  98,  16,   0,   3, 
+     50,  16,  16,   0,   1,   0, 
+      0,   0,  98,  16,   0,   3, 
+    114,  16,  16,   0,   2,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0, 104,   0,   0,   2, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 114,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+      6, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     14,   0,   0,   7,  50,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  16,  16,   0,   2,   0, 
+      0,   0, 166,  26,  16,   0, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   5,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   6, 130,   0,  16,   0, 
+      0,   0,   0,   0,  10, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  56,   0, 
+      0,   7, 242,  32,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   1,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,   7,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   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,   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, 
+      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,  82,  68, 
+     69,  70, 220,   2,   0,   0, 
+      1,   0,   0,   0, 188,   0, 
+      0,   0,   4,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+    168,   2,   0,   0, 156,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    165,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 170,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   5,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 176,   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,   0,   0,   0,   0, 
+    115,  83,  97, 109, 112, 108, 
+    101, 114,   0, 116,  82,  71, 
+     66,   0, 116,  77,  97, 115, 
+    107,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    171, 171, 176,   0,   0,   0, 
+     10,   0,   0,   0, 212,   0, 
+      0,   0,  48,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 196,   1,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    208,   1,   0,   0,   0,   0, 
+      0,   0, 224,   1,   0,   0, 
+     16,   0,   0,   0,   4,   0, 
+      0,   0,   2,   0,   0,   0, 
+    240,   1,   0,   0,   0,   0, 
+      0,   0,   0,   2,   0,   0, 
+     32,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   2,   0,   0,   0,   0, 
+      0,   0,  32,   2,   0,   0, 
+     48,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0,  64,   2,   0,   0, 
+    112,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0,  76,   2,   0,   0, 
+    176,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    208,   1,   0,   0,   0,   0, 
+      0,   0,  96,   2,   0,   0, 
+    192,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 128,   2,   0,   0, 
+    208,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 139,   2,   0,   0, 
+    224,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 149,   2,   0,   0, 
+    240,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 104,   0, 
+      0,   0,   3,   0,   0,   0, 
+      8,   0,   0,   0,  80,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0,  92,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171,  79,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  84, 
+     97, 114, 103, 101, 116,   0, 
+    171, 171
+};
 ShaderBytes sRGBShaderMask = { RGBShaderMask, sizeof(RGBShaderMask) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// tMask                             texture  float4          2d             t5      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-// s1             s0              t5               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s0
-    texld r0, r0, s1
-    mul r1, r1, c0.x
-    mul r0, r0.x, r1
-    mov oC0, r0
-
-// approximately 7 instruction slots used (2 texture, 5 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_temps 2
-div r0.xy, v2.xyxx, v2.zzzz
-sample r0.xyzw, r0.xyxx, t5.xyzw, s0
-sample r1.xyzw, v1.xyxx, t0.xyzw, s0
-mul r1.xyzw, r1.xyzw, cb0[1].xxxx
-mul o0.xyzw, r0.xxxx, r1.xyzw
-ret 
-// Approximately 6 instruction slots used
-#endif
-
-const BYTE RGBAShaderMask[] =
-{
-     68,  88,  66,  67, 100,  50, 
-    112, 237, 158, 118, 201, 119, 
-    153, 231, 223, 176, 232, 201, 
-    145, 152,   1,   0,   0,   0, 
-     56,   6,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     24,   1,   0,   0,  52,   2, 
-      0,   0, 176,   2,   0,   0, 
-    148,   5,   0,   0,   4,   6, 
-      0,   0,  65, 111, 110,  57, 
-    216,   0,   0,   0, 216,   0, 
-      0,   0,   0,   2, 255, 255, 
-    160,   0,   0,   0,  56,   0, 
-      0,   0,   1,   0,  44,   0, 
-      0,   0,  56,   0,   0,   0, 
-     56,   0,   2,   0,  36,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   5,   0,   1,   0, 
-      0,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   2, 255, 255,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      0,   0,   3, 176,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      1,   0,   7, 176,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      0,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      1,   8,  15, 160,   6,   0, 
-      0,   2,   0,   0,   8, 128, 
-      1,   0, 170, 176,   5,   0, 
-      0,   3,   0,   0,   3, 128, 
-      0,   0, 255, 128,   1,   0, 
-    228, 176,  66,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-    228, 176,   0,   8, 228, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      1,   8, 228, 160,   5,   0, 
-      0,   3,   1,   0,  15, 128, 
-      1,   0, 228, 128,   0,   0, 
-      0, 160,   5,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-      0, 128,   1,   0, 228, 128, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82,  20,   1,   0,   0, 
-     64,   0,   0,   0,  69,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     90,   0,   0,   3,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   0,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      5,   0,   0,   0,  85,  85, 
-      0,   0,  98,  16,   0,   3, 
-     50,  16,  16,   0,   1,   0, 
-      0,   0,  98,  16,   0,   3, 
-    114,  16,  16,   0,   2,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0, 104,   0,   0,   2, 
-      2,   0,   0,   0,  14,   0, 
-      0,   7,  50,   0,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   2,   0,   0,   0, 
-    166,  26,  16,   0,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,   0,  16,   0, 
-      0,   0,   0,   0,  70, 126, 
-     16,   0,   5,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,   6, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  56,   0, 
-      0,   7, 242,  32,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,   6,   0,   0,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      3,   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,   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,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 220,   2,   0,   0, 
-      1,   0,   0,   0, 188,   0, 
-      0,   0,   4,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    168,   2,   0,   0, 156,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-    165,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 170,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   5,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 176,   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,   0,   0,   0,   0, 
-    115,  83,  97, 109, 112, 108, 
-    101, 114,   0, 116,  82,  71, 
-     66,   0, 116,  77,  97, 115, 
-    107,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    171, 171, 176,   0,   0,   0, 
-     10,   0,   0,   0, 212,   0, 
-      0,   0,  48,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 196,   1,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    208,   1,   0,   0,   0,   0, 
-      0,   0, 224,   1,   0,   0, 
-     16,   0,   0,   0,   4,   0, 
-      0,   0,   2,   0,   0,   0, 
-    240,   1,   0,   0,   0,   0, 
-      0,   0,   0,   2,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     16,   2,   0,   0,   0,   0, 
-      0,   0,  32,   2,   0,   0, 
-     48,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0,  64,   2,   0,   0, 
-    112,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0,  76,   2,   0,   0, 
-    176,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    208,   1,   0,   0,   0,   0, 
-      0,   0,  96,   2,   0,   0, 
-    192,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 128,   2,   0,   0, 
-    208,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 139,   2,   0,   0, 
-    224,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112,   2,   0,   0,   0,   0, 
-      0,   0, 149,   2,   0,   0, 
-    240,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-     48,   2,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 104,   0, 
-      0,   0,   3,   0,   0,   0, 
-      8,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  92,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0,  92,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// tMask                             texture  float4          2d             t5      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+// s1             s0              t5               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s0
+    texld r0, r0, s1
+    mul r1, r1, c0.x
+    mul r0, r0.x, r1
+    mov oC0, r0
+
+// approximately 7 instruction slots used (2 texture, 5 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_temps 2
+div r0.xy, v2.xyxx, v2.zzzz
+sample r0.xyzw, r0.xyxx, t5.xyzw, s0
+sample r1.xyzw, v1.xyxx, t0.xyzw, s0
+mul r1.xyzw, r1.xyzw, cb0[1].xxxx
+mul o0.xyzw, r0.xxxx, r1.xyzw
+ret 
+// Approximately 6 instruction slots used
+#endif
+
+const BYTE RGBAShaderMask[] =
+{
+     68,  88,  66,  67, 100,  50, 
+    112, 237, 158, 118, 201, 119, 
+    153, 231, 223, 176, 232, 201, 
+    145, 152,   1,   0,   0,   0, 
+     56,   6,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     24,   1,   0,   0,  52,   2, 
+      0,   0, 176,   2,   0,   0, 
+    148,   5,   0,   0,   4,   6, 
+      0,   0,  65, 111, 110,  57, 
+    216,   0,   0,   0, 216,   0, 
+      0,   0,   0,   2, 255, 255, 
+    160,   0,   0,   0,  56,   0, 
+      0,   0,   1,   0,  44,   0, 
+      0,   0,  56,   0,   0,   0, 
+     56,   0,   2,   0,  36,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   5,   0,   1,   0, 
+      0,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   2, 255, 255,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      0,   0,   3, 176,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      1,   0,   7, 176,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      0,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      1,   8,  15, 160,   6,   0, 
+      0,   2,   0,   0,   8, 128, 
+      1,   0, 170, 176,   5,   0, 
+      0,   3,   0,   0,   3, 128, 
+      0,   0, 255, 128,   1,   0, 
+    228, 176,  66,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+    228, 176,   0,   8, 228, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      1,   8, 228, 160,   5,   0, 
+      0,   3,   1,   0,  15, 128, 
+      1,   0, 228, 128,   0,   0, 
+      0, 160,   5,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+      0, 128,   1,   0, 228, 128, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82,  20,   1,   0,   0, 
+     64,   0,   0,   0,  69,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     90,   0,   0,   3,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   0,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      5,   0,   0,   0,  85,  85, 
+      0,   0,  98,  16,   0,   3, 
+     50,  16,  16,   0,   1,   0, 
+      0,   0,  98,  16,   0,   3, 
+    114,  16,  16,   0,   2,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0, 104,   0,   0,   2, 
+      2,   0,   0,   0,  14,   0, 
+      0,   7,  50,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   2,   0,   0,   0, 
+    166,  26,  16,   0,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,   0,  16,   0, 
+      0,   0,   0,   0,  70, 126, 
+     16,   0,   5,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,   6, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  56,   0, 
+      0,   7, 242,  32,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,   6,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   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,   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,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  82,  68, 
+     69,  70, 220,   2,   0,   0, 
+      1,   0,   0,   0, 188,   0, 
+      0,   0,   4,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+    168,   2,   0,   0, 156,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    165,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 170,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   5,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 176,   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,   0,   0,   0,   0, 
+    115,  83,  97, 109, 112, 108, 
+    101, 114,   0, 116,  82,  71, 
+     66,   0, 116,  77,  97, 115, 
+    107,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    171, 171, 176,   0,   0,   0, 
+     10,   0,   0,   0, 212,   0, 
+      0,   0,  48,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 196,   1,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    208,   1,   0,   0,   0,   0, 
+      0,   0, 224,   1,   0,   0, 
+     16,   0,   0,   0,   4,   0, 
+      0,   0,   2,   0,   0,   0, 
+    240,   1,   0,   0,   0,   0, 
+      0,   0,   0,   2,   0,   0, 
+     32,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   2,   0,   0,   0,   0, 
+      0,   0,  32,   2,   0,   0, 
+     48,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0,  64,   2,   0,   0, 
+    112,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0,  76,   2,   0,   0, 
+    176,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    208,   1,   0,   0,   0,   0, 
+      0,   0,  96,   2,   0,   0, 
+    192,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 128,   2,   0,   0, 
+    208,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 139,   2,   0,   0, 
+    224,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112,   2,   0,   0,   0,   0, 
+      0,   0, 149,   2,   0,   0, 
+    240,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   2,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 104,   0, 
+      0,   0,   3,   0,   0,   0, 
+      8,   0,   0,   0,  80,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0,  92,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171,  79,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  84, 
+     97, 114, 103, 101, 116,   0, 
+    171, 171
+};
 ShaderBytes sRGBAShaderMask = { RGBAShaderMask, sizeof(RGBAShaderMask) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tY                                texture  float4          2d             t1      1 
-// tCb                               texture  float4          2d             t2      1 
-// tCr                               texture  float4          2d             t3      1 
-// tMask                             texture  float4          2d             t5      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t1               
-// s1             s0              t2               
-// s2             s0              t3               
-// s3             s0              t5               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983
-    def c2, 1.16437995, 2.01723003, 0.391759992, 1
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    dcl_2d s3
-    texld r0, t0, s0
-    texld r1, t0, s2
-    add r0.y, r1.x, c1.x
-    mul r0.yz, r0.y, c1.xzww
-    add r0.x, r0.x, c1.y
-    mad r0.z, r0.x, c2.x, -r0.z
-    mad r1.x, r0.x, c2.x, r0.y
-    rcp r0.y, t1.z
-    mul r2.xy, r0.y, t1
-    texld r3, t0, s1
-    texld r2, r2, s3
-    add r0.y, r3.x, c1.x
-    mad r1.y, r0.y, -c2.z, r0.z
-    mul r0.y, r0.y, c2.y
-    mad r1.z, r0.x, c2.x, r0.y
-    mov r1.w, c2.w
-    mul r0, r1, c0.x
-    mul r0, r2.x, r0
-    mov oC0, r0
-
-// approximately 19 instruction slots used (4 texture, 15 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t1
-dcl_resource_texture2d (float,float,float,float) t2
-dcl_resource_texture2d (float,float,float,float) t3
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_temps 3
-sample r0.xyzw, v1.xyxx, t3.xyzw, s0
-add r0.x, r0.x, l(-0.501960)
-mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000)
-sample r1.xyzw, v1.xyxx, t1.xyzw, s0
-add r0.z, r1.x, l(-0.062750)
-mad r0.y, r0.z, l(1.164380), -r0.y
-mad r1.x, r0.z, l(1.164380), r0.x
-sample r2.xyzw, v1.xyxx, t2.xyzw, s0
-add r0.x, r2.x, l(-0.501960)
-mad r1.y, -r0.x, l(0.391760), r0.y
-mul r0.x, r0.x, l(2.017230)
-mad r1.z, r0.z, l(1.164380), r0.x
-mov r1.w, l(1.000000)
-mul r0.xyzw, r1.xyzw, cb0[1].xxxx
-div r1.xy, v2.xyxx, v2.zzzz
-sample r1.xyzw, r1.xyxx, t5.xyzw, s0
-mul o0.xyzw, r0.xyzw, r1.xxxx
-ret 
-// Approximately 18 instruction slots used
-#endif
-
-const BYTE YCbCrShaderMask[] =
-{
-     68,  88,  66,  67, 204, 171, 
-    122, 254, 247, 109,  96,  89, 
-    237, 176, 206,  43, 154,  27, 
-    195, 203,   1,   0,   0,   0, 
-     68,   9,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     52,   2,   0,   0, 252,   4, 
-      0,   0, 120,   5,   0,   0, 
-    160,   8,   0,   0,  16,   9, 
-      0,   0,  65, 111, 110,  57, 
-    244,   1,   0,   0, 244,   1, 
-      0,   0,   0,   2, 255, 255, 
-    180,   1,   0,   0,  64,   0, 
-      0,   0,   1,   0,  52,   0, 
-      0,   0,  64,   0,   0,   0, 
-     64,   0,   4,   0,  36,   0, 
-      0,   0,  64,   0,   1,   0, 
-      0,   0,   2,   0,   1,   0, 
-      3,   0,   2,   0,   5,   0, 
-      3,   0,   0,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     81,   0,   0,   5,   1,   0, 
-     15, 160, 115, 128,   0, 191, 
-     18, 131, 128, 189, 182,  74, 
-    204,  63, 205,  30,  80,  63, 
-     81,   0,   0,   5,   2,   0, 
-     15, 160, 103,  10, 149,  63, 
-     76,  26,   1,  64, 196, 148, 
-    200,  62,   0,   0, 128,  63, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   1,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   1,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   2,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   3,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0, 228, 176,   2,   8, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   2, 128,   1,   0, 
-      0, 128,   1,   0,   0, 160, 
-      5,   0,   0,   3,   0,   0, 
-      6, 128,   0,   0,  85, 128, 
-      1,   0, 248, 160,   2,   0, 
-      0,   3,   0,   0,   1, 128, 
-      0,   0,   0, 128,   1,   0, 
-     85, 160,   4,   0,   0,   4, 
-      0,   0,   4, 128,   0,   0, 
-      0, 128,   2,   0,   0, 160, 
-      0,   0, 170, 129,   4,   0, 
-      0,   4,   1,   0,   1, 128, 
-      0,   0,   0, 128,   2,   0, 
-      0, 160,   0,   0,  85, 128, 
-      6,   0,   0,   2,   0,   0, 
-      2, 128,   1,   0, 170, 176, 
-      5,   0,   0,   3,   2,   0, 
-      3, 128,   0,   0,  85, 128, 
-      1,   0, 228, 176,  66,   0, 
-      0,   3,   3,   0,  15, 128, 
-      0,   0, 228, 176,   1,   8, 
-    228, 160,  66,   0,   0,   3, 
-      2,   0,  15, 128,   2,   0, 
-    228, 128,   3,   8, 228, 160, 
-      2,   0,   0,   3,   0,   0, 
-      2, 128,   3,   0,   0, 128, 
-      1,   0,   0, 160,   4,   0, 
-      0,   4,   1,   0,   2, 128, 
-      0,   0,  85, 128,   2,   0, 
-    170, 161,   0,   0, 170, 128, 
-      5,   0,   0,   3,   0,   0, 
-      2, 128,   0,   0,  85, 128, 
-      2,   0,  85, 160,   4,   0, 
-      0,   4,   1,   0,   4, 128, 
-      0,   0,   0, 128,   2,   0, 
-      0, 160,   0,   0,  85, 128, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   2,   0, 255, 160, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   1,   0, 228, 128, 
-      0,   0,   0, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      2,   0,   0, 128,   0,   0, 
-    228, 128,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82, 192,   2, 
-      0,   0,  64,   0,   0,   0, 
-    176,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   1,   0, 
-      0,   0,  85,  85,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   2,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      3,   0,   0,   0,  85,  85, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   5,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-     98,  16,   0,   3, 114,  16, 
-     16,   0,   2,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    104,   0,   0,   2,   3,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   3,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   7, 
-     18,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0, 115, 128,   0, 191, 
-     56,   0,   0,  10,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   0,   0, 
-      0,   0,   2,  64,   0,   0, 
-    182,  74, 204,  63, 205,  30, 
-     80,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   1,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   7,  66,   0,  16,   0, 
-      0,   0,   0,   0,  10,   0, 
-     16,   0,   1,   0,   0,   0, 
-      1,  64,   0,   0,  18, 131, 
-    128, 189,  50,   0,   0,  10, 
-     34,   0,  16,   0,   0,   0, 
-      0,   0,  42,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0, 103,  10, 149,  63, 
-     26,   0,  16, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-     50,   0,   0,   9,  18,   0, 
-     16,   0,   1,   0,   0,   0, 
-     42,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-    103,  10, 149,  63,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,  16,  16,   0,   1,   0, 
-      0,   0,  70, 126,  16,   0, 
-      2,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   7,  18,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,   0,  16,   0,   2,   0, 
-      0,   0,   1,  64,   0,   0, 
-    115, 128,   0, 191,  50,   0, 
-      0,  10,  34,   0,  16,   0, 
-      1,   0,   0,   0,  10,   0, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0, 196, 148, 200,  62, 
-     26,   0,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-     18,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,  76,  26,   1,  64, 
-     50,   0,   0,   9,  66,   0, 
-     16,   0,   1,   0,   0,   0, 
-     42,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-    103,  10, 149,  63,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5, 130,   0, 
-     16,   0,   1,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  56,   0,   0,   8, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,   6, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  14,   0, 
-      0,   7,  50,   0,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   2,   0,   0,   0, 
-    166,  26,  16,   0,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,   0,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   5,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   1,   0,   0,   0, 
-     62,   0,   0,   1,  83,  84, 
-     65,  84, 116,   0,   0,   0, 
-     18,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  12,   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,   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,   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,  82,  68,  69,  70, 
-     32,   3,   0,   0,   1,   0, 
-      0,   0,   0,   1,   0,   0, 
-      6,   0,   0,   0,  28,   0, 
-      0,   0,   0,   4, 255, 255, 
-      0,   1,   0,   0, 236,   2, 
-      0,   0, 220,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0, 229,   0, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-    232,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   2,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 236,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 240,   0, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      5,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-    246,   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,   0,   0, 
-      0,   0, 115,  83,  97, 109, 
-    112, 108, 101, 114,   0, 116, 
-     89,   0, 116,  67,  98,   0, 
-    116,  67, 114,   0, 116,  77, 
-     97, 115, 107,   0,  36,  71, 
-    108, 111,  98,  97, 108, 115, 
-      0, 171, 246,   0,   0,   0, 
-     10,   0,   0,   0,  24,   1, 
-      0,   0,  48,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   8,   2,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     20,   2,   0,   0,   0,   0, 
-      0,   0,  36,   2,   0,   0, 
-     16,   0,   0,   0,   4,   0, 
-      0,   0,   2,   0,   0,   0, 
-     52,   2,   0,   0,   0,   0, 
-      0,   0,  68,   2,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     84,   2,   0,   0,   0,   0, 
-      0,   0, 100,   2,   0,   0, 
-     48,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    116,   2,   0,   0,   0,   0, 
-      0,   0, 132,   2,   0,   0, 
-    112,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    116,   2,   0,   0,   0,   0, 
-      0,   0, 144,   2,   0,   0, 
-    176,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-     20,   2,   0,   0,   0,   0, 
-      0,   0, 164,   2,   0,   0, 
-    192,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    180,   2,   0,   0,   0,   0, 
-      0,   0, 196,   2,   0,   0, 
-    208,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    180,   2,   0,   0,   0,   0, 
-      0,   0, 207,   2,   0,   0, 
-    224,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    180,   2,   0,   0,   0,   0, 
-      0,   0, 217,   2,   0,   0, 
-    240,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    116,   2,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 104,   0, 
-      0,   0,   3,   0,   0,   0, 
-      8,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  92,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0,  92,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tY                                texture  float4          2d             t1      1 
+// tCb                               texture  float4          2d             t2      1 
+// tCr                               texture  float4          2d             t3      1 
+// tMask                             texture  float4          2d             t5      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t1               
+// s1             s0              t2               
+// s2             s0              t3               
+// s3             s0              t5               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983
+    def c2, 1.16437995, 2.01723003, 0.391759992, 1
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    dcl_2d s3
+    texld r0, t0, s0
+    texld r1, t0, s2
+    add r0.y, r1.x, c1.x
+    mul r0.yz, r0.y, c1.xzww
+    add r0.x, r0.x, c1.y
+    mad r0.z, r0.x, c2.x, -r0.z
+    mad r1.x, r0.x, c2.x, r0.y
+    rcp r0.y, t1.z
+    mul r2.xy, r0.y, t1
+    texld r3, t0, s1
+    texld r2, r2, s3
+    add r0.y, r3.x, c1.x
+    mad r1.y, r0.y, -c2.z, r0.z
+    mul r0.y, r0.y, c2.y
+    mad r1.z, r0.x, c2.x, r0.y
+    mov r1.w, c2.w
+    mul r0, r1, c0.x
+    mul r0, r2.x, r0
+    mov oC0, r0
+
+// approximately 19 instruction slots used (4 texture, 15 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t1
+dcl_resource_texture2d (float,float,float,float) t2
+dcl_resource_texture2d (float,float,float,float) t3
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_temps 3
+sample r0.xyzw, v1.xyxx, t3.xyzw, s0
+add r0.x, r0.x, l(-0.501960)
+mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000)
+sample r1.xyzw, v1.xyxx, t1.xyzw, s0
+add r0.z, r1.x, l(-0.062750)
+mad r0.y, r0.z, l(1.164380), -r0.y
+mad r1.x, r0.z, l(1.164380), r0.x
+sample r2.xyzw, v1.xyxx, t2.xyzw, s0
+add r0.x, r2.x, l(-0.501960)
+mad r1.y, -r0.x, l(0.391760), r0.y
+mul r0.x, r0.x, l(2.017230)
+mad r1.z, r0.z, l(1.164380), r0.x
+mov r1.w, l(1.000000)
+mul r0.xyzw, r1.xyzw, cb0[1].xxxx
+div r1.xy, v2.xyxx, v2.zzzz
+sample r1.xyzw, r1.xyxx, t5.xyzw, s0
+mul o0.xyzw, r0.xyzw, r1.xxxx
+ret 
+// Approximately 18 instruction slots used
+#endif
+
+const BYTE YCbCrShaderMask[] =
+{
+     68,  88,  66,  67, 204, 171, 
+    122, 254, 247, 109,  96,  89, 
+    237, 176, 206,  43, 154,  27, 
+    195, 203,   1,   0,   0,   0, 
+     68,   9,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     52,   2,   0,   0, 252,   4, 
+      0,   0, 120,   5,   0,   0, 
+    160,   8,   0,   0,  16,   9, 
+      0,   0,  65, 111, 110,  57, 
+    244,   1,   0,   0, 244,   1, 
+      0,   0,   0,   2, 255, 255, 
+    180,   1,   0,   0,  64,   0, 
+      0,   0,   1,   0,  52,   0, 
+      0,   0,  64,   0,   0,   0, 
+     64,   0,   4,   0,  36,   0, 
+      0,   0,  64,   0,   1,   0, 
+      0,   0,   2,   0,   1,   0, 
+      3,   0,   2,   0,   5,   0, 
+      3,   0,   0,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 255, 255, 
+     81,   0,   0,   5,   1,   0, 
+     15, 160, 115, 128,   0, 191, 
+     18, 131, 128, 189, 182,  74, 
+    204,  63, 205,  30,  80,  63, 
+     81,   0,   0,   5,   2,   0, 
+     15, 160, 103,  10, 149,  63, 
+     76,  26,   1,  64, 196, 148, 
+    200,  62,   0,   0, 128,  63, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   1,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   1,   8,  15, 160, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   2,   8,  15, 160, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   3,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0, 228, 176,   2,   8, 
+    228, 160,   2,   0,   0,   3, 
+      0,   0,   2, 128,   1,   0, 
+      0, 128,   1,   0,   0, 160, 
+      5,   0,   0,   3,   0,   0, 
+      6, 128,   0,   0,  85, 128, 
+      1,   0, 248, 160,   2,   0, 
+      0,   3,   0,   0,   1, 128, 
+      0,   0,   0, 128,   1,   0, 
+     85, 160,   4,   0,   0,   4, 
+      0,   0,   4, 128,   0,   0, 
+      0, 128,   2,   0,   0, 160, 
+      0,   0, 170, 129,   4,   0, 
+      0,   4,   1,   0,   1, 128, 
+      0,   0,   0, 128,   2,   0, 
+      0, 160,   0,   0,  85, 128, 
+      6,   0,   0,   2,   0,   0, 
+      2, 128,   1,   0, 170, 176, 
+      5,   0,   0,   3,   2,   0, 
+      3, 128,   0,   0,  85, 128, 
+      1,   0, 228, 176,  66,   0, 
+      0,   3,   3,   0,  15, 128, 
+      0,   0, 228, 176,   1,   8, 
+    228, 160,  66,   0,   0,   3, 
+      2,   0,  15, 128,   2,   0, 
+    228, 128,   3,   8, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      2, 128,   3,   0,   0, 128, 
+      1,   0,   0, 160,   4,   0, 
+      0,   4,   1,   0,   2, 128, 
+      0,   0,  85, 128,   2,   0, 
+    170, 161,   0,   0, 170, 128, 
+      5,   0,   0,   3,   0,   0, 
+      2, 128,   0,   0,  85, 128, 
+      2,   0,  85, 160,   4,   0, 
+      0,   4,   1,   0,   4, 128, 
+      0,   0,   0, 128,   2,   0, 
+      0, 160,   0,   0,  85, 128, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   2,   0, 255, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   1,   0, 228, 128, 
+      0,   0,   0, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      2,   0,   0, 128,   0,   0, 
+    228, 128,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82, 192,   2, 
+      0,   0,  64,   0,   0,   0, 
+    176,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  90,   0,   0,   3, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   1,   0, 
+      0,   0,  85,  85,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   2,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      3,   0,   0,   0,  85,  85, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   5,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     98,  16,   0,   3, 114,  16, 
+     16,   0,   2,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,   3,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   3,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   7, 
+     18,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0, 115, 128,   0, 191, 
+     56,   0,   0,  10,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+    182,  74, 204,  63, 205,  30, 
+     80,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   1,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7,  66,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,  18, 131, 
+    128, 189,  50,   0,   0,  10, 
+     34,   0,  16,   0,   0,   0, 
+      0,   0,  42,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0, 103,  10, 149,  63, 
+     26,   0,  16, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+     50,   0,   0,   9,  18,   0, 
+     16,   0,   1,   0,   0,   0, 
+     42,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    103,  10, 149,  63,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  70, 126,  16,   0, 
+      2,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7,  18,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,   0,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+    115, 128,   0, 191,  50,   0, 
+      0,  10,  34,   0,  16,   0, 
+      1,   0,   0,   0,  10,   0, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0, 196, 148, 200,  62, 
+     26,   0,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+     18,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0,  76,  26,   1,  64, 
+     50,   0,   0,   9,  66,   0, 
+     16,   0,   1,   0,   0,   0, 
+     42,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    103,  10, 149,  63,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  56,   0,   0,   8, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,   6, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  14,   0, 
+      0,   7,  50,   0,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   2,   0,   0,   0, 
+    166,  26,  16,   0,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,   0,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   5,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   1,   0,   0,   0, 
+     62,   0,   0,   1,  83,  84, 
+     65,  84, 116,   0,   0,   0, 
+     18,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  12,   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,   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,   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,  82,  68,  69,  70, 
+     32,   3,   0,   0,   1,   0, 
+      0,   0,   0,   1,   0,   0, 
+      6,   0,   0,   0,  28,   0, 
+      0,   0,   0,   4, 255, 255, 
+      0,   1,   0,   0, 236,   2, 
+      0,   0, 220,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0, 229,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+    232,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   2,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 236,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 240,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      5,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+    246,   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,   0,   0, 
+      0,   0, 115,  83,  97, 109, 
+    112, 108, 101, 114,   0, 116, 
+     89,   0, 116,  67,  98,   0, 
+    116,  67, 114,   0, 116,  77, 
+     97, 115, 107,   0,  36,  71, 
+    108, 111,  98,  97, 108, 115, 
+      0, 171, 246,   0,   0,   0, 
+     10,   0,   0,   0,  24,   1, 
+      0,   0,  48,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   8,   2,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     20,   2,   0,   0,   0,   0, 
+      0,   0,  36,   2,   0,   0, 
+     16,   0,   0,   0,   4,   0, 
+      0,   0,   2,   0,   0,   0, 
+     52,   2,   0,   0,   0,   0, 
+      0,   0,  68,   2,   0,   0, 
+     32,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     84,   2,   0,   0,   0,   0, 
+      0,   0, 100,   2,   0,   0, 
+     48,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    116,   2,   0,   0,   0,   0, 
+      0,   0, 132,   2,   0,   0, 
+    112,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    116,   2,   0,   0,   0,   0, 
+      0,   0, 144,   2,   0,   0, 
+    176,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     20,   2,   0,   0,   0,   0, 
+      0,   0, 164,   2,   0,   0, 
+    192,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    180,   2,   0,   0,   0,   0, 
+      0,   0, 196,   2,   0,   0, 
+    208,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    180,   2,   0,   0,   0,   0, 
+      0,   0, 207,   2,   0,   0, 
+    224,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    180,   2,   0,   0,   0,   0, 
+      0,   0, 217,   2,   0,   0, 
+    240,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    116,   2,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 104,   0, 
+      0,   0,   3,   0,   0,   0, 
+      8,   0,   0,   0,  80,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0,  92,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171,  79,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  84, 
+     97, 114, 103, 101, 116,   0, 
+    171, 171
+};
 ShaderBytes sYCbCrShaderMask = { YCbCrShaderMask, sizeof(YCbCrShaderMask) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// tRGBWhite                         texture  float4          2d             t4      1 
-// tMask                             texture  float4          2d             t5      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-// SV_Target                1   xyzw        1   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-// s1             s0              t4               
-// s2             s0              t5               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r0, r0, s2
-    mul r0.x, r0.x, c0.x
-    texld r1, t0, s0
-    texld r2, t0, s1
-    add r2, r1, -r2
-    add r2, r2, c1.x
-    mov r1.w, r2.y
-    mul r2, r0.x, r2
-    mul r0, r0.x, r1
-    mov oC0, r0
-    mov oC1, r2
-
-// approximately 13 instruction slots used (3 texture, 10 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_resource_texture2d (float,float,float,float) t4
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_output o1.xyzw
-dcl_temps 3
-div r0.xy, v2.xyxx, v2.zzzz
-sample r0.xyzw, r0.xyxx, t5.xyzw, s0
-mul r0.x, r0.x, cb0[1].x
-sample r1.xyzw, v1.xyxx, t4.xyzw, s0
-sample r2.xyzw, v1.xyxx, t0.xyzw, s0
-add r1.xyzw, -r1.xyzw, r2.xyzw
-add r1.xyzw, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
-mov r2.w, r1.y
-mul o1.xyzw, r0.xxxx, r1.xyzw
-mul o0.xyzw, r0.xxxx, r2.xyzw
-ret 
-// Approximately 11 instruction slots used
-#endif
-
-const BYTE ComponentAlphaShaderMask[] =
-{
-     68,  88,  66,  67,  15, 154, 
-     37,  42, 228,  90, 173,  36, 
-    200, 249, 246, 236, 145,  93, 
-    169,  30,   1,   0,   0,   0, 
-    176,   7,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    152,   1,   0,   0, 108,   3, 
-      0,   0, 232,   3,   0,   0, 
-    244,   6,   0,   0, 100,   7, 
-      0,   0,  65, 111, 110,  57, 
-     88,   1,   0,   0,  88,   1, 
-      0,   0,   0,   2, 255, 255, 
-     28,   1,   0,   0,  60,   0, 
-      0,   0,   1,   0,  48,   0, 
-      0,   0,  60,   0,   0,   0, 
-     60,   0,   3,   0,  36,   0, 
-      0,   0,  60,   0,   0,   0, 
-      0,   0,   4,   0,   1,   0, 
-      5,   0,   2,   0,   0,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   1,   2, 
-    255, 255,  81,   0,   0,   5, 
-      1,   0,  15, 160,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,   6,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      2,   8, 228, 160,   5,   0, 
-      0,   3,   0,   0,   1, 128, 
-      0,   0,   0, 128,   0,   0, 
-      0, 160,  66,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-    228, 176,   0,   8, 228, 160, 
-     66,   0,   0,   3,   2,   0, 
-     15, 128,   0,   0, 228, 176, 
-      1,   8, 228, 160,   2,   0, 
-      0,   3,   2,   0,  15, 128, 
-      1,   0, 228, 128,   2,   0, 
-    228, 129,   2,   0,   0,   3, 
-      2,   0,  15, 128,   2,   0, 
-    228, 128,   1,   0,   0, 160, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   2,   0,  85, 128, 
-      5,   0,   0,   3,   2,   0, 
-     15, 128,   0,   0,   0, 128, 
-      2,   0, 228, 128,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0,   0, 128,   1,   0, 
-    228, 128,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128,   1,   0,   0,   2, 
-      1,   8,  15, 128,   2,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82, 204,   1, 
-      0,   0,  64,   0,   0,   0, 
-    115,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
-      0,   0,  85,  85,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   4,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      5,   0,   0,   0,  85,  85, 
-      0,   0,  98,  16,   0,   3, 
-     50,  16,  16,   0,   1,   0, 
-      0,   0,  98,  16,   0,   3, 
-    114,  16,  16,   0,   2,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   1,   0, 
-      0,   0, 104,   0,   0,   2, 
-      3,   0,   0,   0,  14,   0, 
-      0,   7,  50,   0,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   2,   0,   0,   0, 
-    166,  26,  16,   0,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,   0,  16,   0, 
-      0,   0,   0,   0,  70, 126, 
-     16,   0,   5,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-     18,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,  10, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   4,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      2,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   8, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70,  14, 
-     16, 128,  65,   0,   0,   0, 
-      1,   0,   0,   0,  70,  14, 
-     16,   0,   2,   0,   0,   0, 
-      0,   0,   0,  10, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      2,   0,   0,   0,  26,   0, 
-     16,   0,   1,   0,   0,   0, 
-     56,   0,   0,   7, 242,  32, 
-     16,   0,   1,   0,   0,   0, 
-      6,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,  56,   0, 
-      0,   7, 242,  32,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   2,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,  11,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-      6,   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,   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, 
-      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,  82,  68, 
-     69,  70,   4,   3,   0,   0, 
-      1,   0,   0,   0, 228,   0, 
-      0,   0,   5,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    208,   2,   0,   0, 188,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-    197,   0,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0, 202,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   4,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0, 212,   0, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      5,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-    218,   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,   0,   0, 
-      0,   0, 115,  83,  97, 109, 
-    112, 108, 101, 114,   0, 116, 
-     82,  71,  66,   0, 116,  82, 
-     71,  66,  87, 104, 105, 116, 
-    101,   0, 116,  77,  97, 115, 
-    107,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    218,   0,   0,   0,  10,   0, 
-      0,   0, 252,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    236,   1,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 248,   1, 
-      0,   0,   0,   0,   0,   0, 
-      8,   2,   0,   0,  16,   0, 
-      0,   0,   4,   0,   0,   0, 
-      2,   0,   0,   0,  24,   2, 
-      0,   0,   0,   0,   0,   0, 
-     40,   2,   0,   0,  32,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  56,   2, 
-      0,   0,   0,   0,   0,   0, 
-     72,   2,   0,   0,  48,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  88,   2, 
-      0,   0,   0,   0,   0,   0, 
-    104,   2,   0,   0, 112,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  88,   2, 
-      0,   0,   0,   0,   0,   0, 
-    116,   2,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 248,   1, 
-      0,   0,   0,   0,   0,   0, 
-    136,   2,   0,   0, 192,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 152,   2, 
-      0,   0,   0,   0,   0,   0, 
-    168,   2,   0,   0, 208,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 152,   2, 
-      0,   0,   0,   0,   0,   0, 
-    179,   2,   0,   0, 224,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 152,   2, 
-      0,   0,   0,   0,   0,   0, 
-    189,   2,   0,   0, 240,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,  88,   2, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    105,  66, 108, 101, 110, 100, 
-     67, 111, 110, 102, 105, 103, 
-      0, 171, 171, 171,   1,   0, 
-     19,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  82, 
-    101, 110, 100, 101, 114,  84, 
-     97, 114, 103, 101, 116,  79, 
-    102, 102, 115, 101, 116,   0, 
-    118,  84, 101, 120, 116, 117, 
-    114, 101,  67, 111, 111, 114, 
-    100, 115,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  76,  97, 121, 
-    101, 114,  81, 117,  97, 100, 
-      0, 118,  77,  97, 115, 107, 
-     81, 117,  97, 100,   0, 109, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78, 104,   0,   0,   0, 
-      3,   0,   0,   0,   8,   0, 
-      0,   0,  80,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  92,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,   3, 
-      0,   0,  92,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      2,   0,   0,   0,   7,   7, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-     68,   0,   0,   0,   2,   0, 
-      0,   0,   8,   0,   0,   0, 
-     56,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     56,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16 [unused]
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// tRGBWhite                         texture  float4          2d             t4      1 
+// tMask                             texture  float4          2d             t5      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+// SV_Target                1   xyzw        1   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             1         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+// s1             s0              t4               
+// s2             s0              t5               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r0, r0, s2
+    mul r0.x, r0.x, c0.x
+    texld r1, t0, s0
+    texld r2, t0, s1
+    add r2, r1, -r2
+    add r2, r2, c1.x
+    mov r1.w, r2.y
+    mul r2, r0.x, r2
+    mul r0, r0.x, r1
+    mov oC0, r0
+    mov oC1, r2
+
+// approximately 13 instruction slots used (3 texture, 10 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t4
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_output o1.xyzw
+dcl_temps 3
+div r0.xy, v2.xyxx, v2.zzzz
+sample r0.xyzw, r0.xyxx, t5.xyzw, s0
+mul r0.x, r0.x, cb0[1].x
+sample r1.xyzw, v1.xyxx, t4.xyzw, s0
+sample r2.xyzw, v1.xyxx, t0.xyzw, s0
+add r1.xyzw, -r1.xyzw, r2.xyzw
+add r1.xyzw, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
+mov r2.w, r1.y
+mul o1.xyzw, r0.xxxx, r1.xyzw
+mul o0.xyzw, r0.xxxx, r2.xyzw
+ret 
+// Approximately 11 instruction slots used
+#endif
+
+const BYTE ComponentAlphaShaderMask[] =
+{
+     68,  88,  66,  67,  15, 154, 
+     37,  42, 228,  90, 173,  36, 
+    200, 249, 246, 236, 145,  93, 
+    169,  30,   1,   0,   0,   0, 
+    176,   7,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    152,   1,   0,   0, 108,   3, 
+      0,   0, 232,   3,   0,   0, 
+    244,   6,   0,   0, 100,   7, 
+      0,   0,  65, 111, 110,  57, 
+     88,   1,   0,   0,  88,   1, 
+      0,   0,   0,   2, 255, 255, 
+     28,   1,   0,   0,  60,   0, 
+      0,   0,   1,   0,  48,   0, 
+      0,   0,  60,   0,   0,   0, 
+     60,   0,   3,   0,  36,   0, 
+      0,   0,  60,   0,   0,   0, 
+      0,   0,   4,   0,   1,   0, 
+      5,   0,   2,   0,   0,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   1,   2, 
+    255, 255,  81,   0,   0,   5, 
+      1,   0,  15, 160,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,   6,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      2,   8, 228, 160,   5,   0, 
+      0,   3,   0,   0,   1, 128, 
+      0,   0,   0, 128,   0,   0, 
+      0, 160,  66,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+    228, 176,   0,   8, 228, 160, 
+     66,   0,   0,   3,   2,   0, 
+     15, 128,   0,   0, 228, 176, 
+      1,   8, 228, 160,   2,   0, 
+      0,   3,   2,   0,  15, 128, 
+      1,   0, 228, 128,   2,   0, 
+    228, 129,   2,   0,   0,   3, 
+      2,   0,  15, 128,   2,   0, 
+    228, 128,   1,   0,   0, 160, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   2,   0,  85, 128, 
+      5,   0,   0,   3,   2,   0, 
+     15, 128,   0,   0,   0, 128, 
+      2,   0, 228, 128,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0,   0, 128,   1,   0, 
+    228, 128,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128,   1,   0,   0,   2, 
+      1,   8,  15, 128,   2,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82, 204,   1, 
+      0,   0,  64,   0,   0,   0, 
+    115,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  90,   0,   0,   3, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   0,   0, 
+      0,   0,  85,  85,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   4,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      5,   0,   0,   0,  85,  85, 
+      0,   0,  98,  16,   0,   3, 
+     50,  16,  16,   0,   1,   0, 
+      0,   0,  98,  16,   0,   3, 
+    114,  16,  16,   0,   2,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   1,   0, 
+      0,   0, 104,   0,   0,   2, 
+      3,   0,   0,   0,  14,   0, 
+      0,   7,  50,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   2,   0,   0,   0, 
+    166,  26,  16,   0,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,   0,  16,   0, 
+      0,   0,   0,   0,  70, 126, 
+     16,   0,   5,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+     18,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  10, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   4,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      2,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   8, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16, 128,  65,   0,   0,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   2,   0,   0,   0, 
+      0,   0,   0,  10, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      2,   0,   0,   0,  26,   0, 
+     16,   0,   1,   0,   0,   0, 
+     56,   0,   0,   7, 242,  32, 
+     16,   0,   1,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,  56,   0, 
+      0,   7, 242,  32,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   2,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,  11,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+      6,   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,   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, 
+      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,  82,  68, 
+     69,  70,   4,   3,   0,   0, 
+      1,   0,   0,   0, 228,   0, 
+      0,   0,   5,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    255, 255,   0,   1,   0,   0, 
+    208,   2,   0,   0, 188,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    197,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0, 202,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   4,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0, 212,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      5,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+    218,   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,   0,   0, 
+      0,   0, 115,  83,  97, 109, 
+    112, 108, 101, 114,   0, 116, 
+     82,  71,  66,   0, 116,  82, 
+     71,  66,  87, 104, 105, 116, 
+    101,   0, 116,  77,  97, 115, 
+    107,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    218,   0,   0,   0,  10,   0, 
+      0,   0, 252,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    236,   1,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 248,   1, 
+      0,   0,   0,   0,   0,   0, 
+      8,   2,   0,   0,  16,   0, 
+      0,   0,   4,   0,   0,   0, 
+      2,   0,   0,   0,  24,   2, 
+      0,   0,   0,   0,   0,   0, 
+     40,   2,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  56,   2, 
+      0,   0,   0,   0,   0,   0, 
+     72,   2,   0,   0,  48,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  88,   2, 
+      0,   0,   0,   0,   0,   0, 
+    104,   2,   0,   0, 112,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  88,   2, 
+      0,   0,   0,   0,   0,   0, 
+    116,   2,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 248,   1, 
+      0,   0,   0,   0,   0,   0, 
+    136,   2,   0,   0, 192,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 152,   2, 
+      0,   0,   0,   0,   0,   0, 
+    168,   2,   0,   0, 208,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 152,   2, 
+      0,   0,   0,   0,   0,   0, 
+    179,   2,   0,   0, 224,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 152,   2, 
+      0,   0,   0,   0,   0,   0, 
+    189,   2,   0,   0, 240,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,   0,   0,   0,  88,   2, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    105,  66, 108, 101, 110, 100, 
+     67, 111, 110, 102, 105, 103, 
+      0, 171, 171, 171,   1,   0, 
+     19,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  82, 
+    101, 110, 100, 101, 114,  84, 
+     97, 114, 103, 101, 116,  79, 
+    102, 102, 115, 101, 116,   0, 
+    118,  84, 101, 120, 116, 117, 
+    114, 101,  67, 111, 111, 114, 
+    100, 115,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  76,  97, 121, 
+    101, 114,  81, 117,  97, 100, 
+      0, 118,  77,  97, 115, 107, 
+     81, 117,  97, 100,   0, 109, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78, 104,   0,   0,   0, 
+      3,   0,   0,   0,   8,   0, 
+      0,   0,  80,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  92,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   3,   3, 
+      0,   0,  92,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      2,   0,   0,   0,   7,   7, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+     68,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0,   0,   0, 
+     56,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     56,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sComponentAlphaShaderMask = { ComponentAlphaShaderMask, sizeof(ComponentAlphaShaderMask) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
-//   float4x4 mProjection;              // Offset:   64 Size:    64
-//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
-//   float4 vTextureCoords;             // Offset:  144 Size:    16
-//   float4 vLayerQuad;                 // Offset:  160 Size:    16
-//   float4 vMaskQuad;                  // Offset:  176 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64
-//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// POSITION                 0   xy          0     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float   xyzw
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 2     zw        1     NONE   float     zw
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
-// c3         cb0             3         8  ( FLT, FLT, FLT, FLT)
-// c11        cb0            12         2  ( FLT, FLT, FLT, FLT)
-// c13        cb0            15         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Runtime generated constant mappings:
-//
-// Target Reg                               Constant Description
-// ---------- --------------------------------------------------
-// c0                              Vertex Shader position offset
-//
-//
-// Level9 shader bytecode:
-//
-    vs_2_x
-    def c14, 1, 0.5, 0, 0
-    dcl_texcoord v0
-    mad oT0.xy, v0, c9.zwzw, c9
-    mad r0.xy, v0, c10.zwzw, c10
-    mul r1, r0.y, c2
-    mad r0, c1, r0.x, r1
-    add r0, r0, c3
-    rcp r1.x, r0.w
-    mul r0.xyz, r0, r1.x
-    add r0, r0, -c8
-    mul r0.xyz, r0.w, r0
-    mul r1, r0.y, c5
-    mad r1, c4, r0.x, r1
-    mad r1, c6, r0.z, r1
-    mad r0, c7, r0.w, r1
-    add r1.xy, r0, c14.x
-    mad r1.y, r1.y, -c14.y, c14.x
-    mul r1.x, r1.x, c14.y
-    mul r1.yz, r1.y, c12.xyxw
-    mad r1.xy, c11.yxzw, r1.x, r1.yzzw
-    add oT0.zw, r1.xyxy, c13.xyyx
-    mad oPos.xy, r0.w, c0, r0
-    mov oPos.zw, r0
-    mov oT1.xyz, c14.z
-
-// approximately 22 instruction slots used
-vs_4_0
-dcl_constantbuffer CB0[16], immediateIndexed
-dcl_input v0.xy
-dcl_output_siv o0.xyzw, position
-dcl_output o1.xy
-dcl_output o1.zw
-dcl_output o2.xyz
-dcl_temps 2
-mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
-mul r1.xyzw, r0.yyyy, cb0[1].xyzw
-mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
-add r0.xyzw, r0.xyzw, cb0[3].xyzw
-div r0.xyz, r0.xyzx, r0.wwww
-add r0.xyzw, r0.xyzw, -cb0[8].xyzw
-mul r0.xyz, r0.wwww, r0.xyzx
-mul r1.xyzw, r0.yyyy, cb0[5].xyzw
-mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw
-mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw
-mad r0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw
-mov o0.xyzw, r0.xyzw
-add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
-mad r0.y, -r0.y, l(0.500000), l(1.000000)
-mul r0.x, r0.x, l(0.500000)
-mul r0.yz, r0.yyyy, cb0[13].xxyx
-mad r0.xy, cb0[12].xyxx, r0.xxxx, r0.yzyy
-add o1.zw, r0.xxxy, cb0[15].xxxy
-mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
-mov o2.xyz, l(0,0,0,0)
-ret 
-// Approximately 21 instruction slots used
-#endif
-
-const BYTE LayerQuadBlendVS[] =
-{
-     68,  88,  66,  67,  76, 129, 
-    194, 215, 223, 117, 197,  26, 
-    131, 244, 213, 174,  68, 116, 
-     23, 183,   1,   0,   0,   0, 
-     12,   9,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     60,   2,   0,   0, 100,   5, 
-      0,   0, 224,   5,   0,   0, 
-     80,   8,   0,   0, 132,   8, 
-      0,   0,  65, 111, 110,  57, 
-    252,   1,   0,   0, 252,   1, 
-      0,   0,   0,   2, 254, 255, 
-    164,   1,   0,   0,  88,   0, 
-      0,   0,   4,   0,  36,   0, 
-      0,   0,  84,   0,   0,   0, 
-     84,   0,   0,   0,  36,   0, 
-      1,   0,  84,   0,   0,   0, 
-      0,   0,   2,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   8,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     12,   0,   2,   0,  11,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   1,   0,  13,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 254, 255, 
-     81,   0,   0,   5,  14,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,  63,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   5,   0, 
-      0, 128,   0,   0,  15, 144, 
-      4,   0,   0,   4,   0,   0, 
-      3, 224,   0,   0, 228, 144, 
-      9,   0, 238, 160,   9,   0, 
-    228, 160,   4,   0,   0,   4, 
-      0,   0,   3, 128,   0,   0, 
-    228, 144,  10,   0, 238, 160, 
-     10,   0, 228, 160,   5,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0,  85, 128,   2,   0, 
-    228, 160,   4,   0,   0,   4, 
-      0,   0,  15, 128,   1,   0, 
-    228, 160,   0,   0,   0, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   3,   0, 
-    228, 160,   6,   0,   0,   2, 
-      1,   0,   1, 128,   0,   0, 
-    255, 128,   5,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    228, 128,   1,   0,   0, 128, 
-      2,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      8,   0, 228, 161,   5,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 255, 128,   0,   0, 
-    228, 128,   5,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-     85, 128,   5,   0, 228, 160, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   4,   0, 228, 160, 
-      0,   0,   0, 128,   1,   0, 
-    228, 128,   4,   0,   0,   4, 
-      1,   0,  15, 128,   6,   0, 
-    228, 160,   0,   0, 170, 128, 
-      1,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,  15, 128, 
-      7,   0, 228, 160,   0,   0, 
-    255, 128,   1,   0, 228, 128, 
-      2,   0,   0,   3,   1,   0, 
-      3, 128,   0,   0, 228, 128, 
-     14,   0,   0, 160,   4,   0, 
-      0,   4,   1,   0,   2, 128, 
-      1,   0,  85, 128,  14,   0, 
-     85, 161,  14,   0,   0, 160, 
-      5,   0,   0,   3,   1,   0, 
-      1, 128,   1,   0,   0, 128, 
-     14,   0,  85, 160,   5,   0, 
-      0,   3,   1,   0,   6, 128, 
-      1,   0,  85, 128,  12,   0, 
-    196, 160,   4,   0,   0,   4, 
-      1,   0,   3, 128,  11,   0, 
-    225, 160,   1,   0,   0, 128, 
-      1,   0, 233, 128,   2,   0, 
-      0,   3,   0,   0,  12, 224, 
-      1,   0,  68, 128,  13,   0, 
-     20, 160,   4,   0,   0,   4, 
-      0,   0,   3, 192,   0,   0, 
-    255, 128,   0,   0, 228, 160, 
-      0,   0, 228, 128,   1,   0, 
-      0,   2,   0,   0,  12, 192, 
-      0,   0, 228, 128,   1,   0, 
-      0,   2,   1,   0,   7, 224, 
-     14,   0, 170, 160, 255, 255, 
-      0,   0,  83,  72,  68,  82, 
-     32,   3,   0,   0,  64,   0, 
-      1,   0, 200,   0,   0,   0, 
-     89,   0,   0,   4,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-     16,   0,   0,   0,  95,   0, 
-      0,   3,  50,  16,  16,   0, 
-      0,   0,   0,   0, 103,   0, 
-      0,   4, 242,  32,  16,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0, 101,   0,   0,   3, 
-     50,  32,  16,   0,   1,   0, 
-      0,   0, 101,   0,   0,   3, 
-    194,  32,  16,   0,   1,   0, 
-      0,   0, 101,   0,   0,   3, 
-    114,  32,  16,   0,   2,   0, 
-      0,   0, 104,   0,   0,   2, 
-      2,   0,   0,   0,  50,   0, 
-      0,  11,  50,   0,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,  10,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,  10,   0,   0,   0, 
-     56,   0,   0,   8, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-     86,   5,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  50,   0,   0,  10, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   6,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-      0,   0,   0,   8, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   9, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,   8,   0,   0,   0, 
-     56,   0,   0,   7, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      1,   0,   0,   0,  86,   5, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   5,   0,   0,   0, 
-     50,   0,   0,  10, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-      6,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  10, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      6,   0,   0,   0, 166,  10, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,  50,   0,   0,  10, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-     54,   0,   0,   5, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,  10, 
-     50,   0,  16,   0,   0,   0, 
-      0,   0,  70,   0,  16,   0, 
-      0,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     50,   0,   0,  10,  34,   0, 
-     16,   0,   0,   0,   0,   0, 
-     26,   0,  16, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,  63,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7,  18,   0,  16,   0, 
-      0,   0,   0,   0,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,  63,  56,   0,   0,   8, 
-     98,   0,  16,   0,   0,   0, 
-      0,   0,  86,   5,  16,   0, 
-      0,   0,   0,   0,   6, 129, 
-     32,   0,   0,   0,   0,   0, 
-     13,   0,   0,   0,  50,   0, 
-      0,  10,  50,   0,  16,   0, 
-      0,   0,   0,   0,  70, 128, 
-     32,   0,   0,   0,   0,   0, 
-     12,   0,   0,   0,   6,   0, 
-     16,   0,   0,   0,   0,   0, 
-    150,   5,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   8, 
-    194,  32,  16,   0,   1,   0, 
-      0,   0,   6,   4,  16,   0, 
-      0,   0,   0,   0,   6, 132, 
-     32,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     54,   0,   0,   8, 114,  32, 
-     16,   0,   2,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,  21,   0,   0,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,   5,   0,   0,   0, 
-     18,   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,   0,   0,   0, 
-      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, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 104,   2,   0,   0, 
-      1,   0,   0,   0,  72,   0, 
-      0,   0,   1,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    254, 255,   0,   1,   0,   0, 
-     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
-     36,  71, 108, 111,  98,  97, 
-    108, 115,   0, 171, 171, 171, 
-     60,   0,   0,   0,  10,   0, 
-      0,   0,  96,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     80,   1,   0,   0,   0,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    112,   1,   0,   0,  64,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    124,   1,   0,   0, 128,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    160,   1,   0,   0, 144,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    192,   1,   0,   0, 160,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    203,   1,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    213,   1,   0,   0, 192,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    232,   1,   0,   0,   0,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    244,   1,   0,   0,  16,   1, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   4,   2, 
-      0,   0,   0,   0,   0,   0, 
-     20,   2,   0,   0,  32,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  36,   2, 
-      0,   0,   0,   0,   0,   0, 
-    109,  76,  97, 121, 101, 114, 
-     84, 114,  97, 110, 115, 102, 
-    111, 114, 109,   0,   3,   0, 
-      3,   0,   4,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  80, 114, 111, 
-    106, 101,  99, 116, 105, 111, 
-    110,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 105,  66, 
-    108, 101, 110, 100,  67, 111, 
-    110, 102, 105, 103,   0, 171, 
-    171, 171,   1,   0,  19,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   3,   3, 
-      0,   0,  80,  79,  83,  73, 
-     84,  73,  79,  78,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-    128,   0,   0,   0,   4,   0, 
-      0,   0,   8,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-    116,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,   3,  12,   0,   0, 
-    116,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  12,   3,   0,   0, 
-    116,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   2,   0, 
-      0,   0,   7,   8,   0,   0, 
-     83,  86,  95,  80, 111, 115, 
-    105, 116, 105, 111, 110,   0, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,   0, 171, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
+//   float4x4 mProjection;              // Offset:   64 Size:    64
+//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
+//   float4 vTextureCoords;             // Offset:  144 Size:    16
+//   float4 vLayerQuad;                 // Offset:  160 Size:    16
+//   float4 vMaskQuad;                  // Offset:  176 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64
+//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xy          0     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float   xyzw
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 2     zw        1     NONE   float     zw
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
+// c3         cb0             3         8  ( FLT, FLT, FLT, FLT)
+// c11        cb0            12         2  ( FLT, FLT, FLT, FLT)
+// c13        cb0            15         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Runtime generated constant mappings:
+//
+// Target Reg                               Constant Description
+// ---------- --------------------------------------------------
+// c0                              Vertex Shader position offset
+//
+//
+// Level9 shader bytecode:
+//
+    vs_2_x
+    def c14, 1, 0.5, 0, 0
+    dcl_texcoord v0
+    mad oT0.xy, v0, c9.zwzw, c9
+    mad r0.xy, v0, c10.zwzw, c10
+    mul r1, r0.y, c2
+    mad r0, c1, r0.x, r1
+    add r0, r0, c3
+    rcp r1.x, r0.w
+    mul r0.xyz, r0, r1.x
+    add r0, r0, -c8
+    mul r0.xyz, r0.w, r0
+    mul r1, r0.y, c5
+    mad r1, c4, r0.x, r1
+    mad r1, c6, r0.z, r1
+    mad r0, c7, r0.w, r1
+    add r1.xy, r0, c14.x
+    mad r1.y, r1.y, -c14.y, c14.x
+    mul r1.x, r1.x, c14.y
+    mul r1.yz, r1.y, c12.xyxw
+    mad r1.xy, c11.yxzw, r1.x, r1.yzzw
+    add oT0.zw, r1.xyxy, c13.xyyx
+    mad oPos.xy, r0.w, c0, r0
+    mov oPos.zw, r0
+    mov oT1.xyz, c14.z
+
+// approximately 22 instruction slots used
+vs_4_0
+dcl_constantbuffer CB0[16], immediateIndexed
+dcl_input v0.xy
+dcl_output_siv o0.xyzw, position
+dcl_output o1.xy
+dcl_output o1.zw
+dcl_output o2.xyz
+dcl_temps 2
+mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
+mul r1.xyzw, r0.yyyy, cb0[1].xyzw
+mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
+add r0.xyzw, r0.xyzw, cb0[3].xyzw
+div r0.xyz, r0.xyzx, r0.wwww
+add r0.xyzw, r0.xyzw, -cb0[8].xyzw
+mul r0.xyz, r0.wwww, r0.xyzx
+mul r1.xyzw, r0.yyyy, cb0[5].xyzw
+mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw
+mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw
+mad r0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw
+mov o0.xyzw, r0.xyzw
+add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
+mad r0.y, -r0.y, l(0.500000), l(1.000000)
+mul r0.x, r0.x, l(0.500000)
+mul r0.yz, r0.yyyy, cb0[13].xxyx
+mad r0.xy, cb0[12].xyxx, r0.xxxx, r0.yzyy
+add o1.zw, r0.xxxy, cb0[15].xxxy
+mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
+mov o2.xyz, l(0,0,0,0)
+ret 
+// Approximately 21 instruction slots used
+#endif
+
+const BYTE LayerQuadBlendVS[] =
+{
+     68,  88,  66,  67,  76, 129, 
+    194, 215, 223, 117, 197,  26, 
+    131, 244, 213, 174,  68, 116, 
+     23, 183,   1,   0,   0,   0, 
+     12,   9,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     60,   2,   0,   0, 100,   5, 
+      0,   0, 224,   5,   0,   0, 
+     80,   8,   0,   0, 132,   8, 
+      0,   0,  65, 111, 110,  57, 
+    252,   1,   0,   0, 252,   1, 
+      0,   0,   0,   2, 254, 255, 
+    164,   1,   0,   0,  88,   0, 
+      0,   0,   4,   0,  36,   0, 
+      0,   0,  84,   0,   0,   0, 
+     84,   0,   0,   0,  36,   0, 
+      1,   0,  84,   0,   0,   0, 
+      0,   0,   2,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   8,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     12,   0,   2,   0,  11,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   1,   0,  13,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     81,   0,   0,   5,  14,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
+      4,   0,   0,   4,   0,   0, 
+      3, 224,   0,   0, 228, 144, 
+      9,   0, 238, 160,   9,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,   3, 128,   0,   0, 
+    228, 144,  10,   0, 238, 160, 
+     10,   0, 228, 160,   5,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0,  85, 128,   2,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,  15, 128,   1,   0, 
+    228, 160,   0,   0,   0, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   3,   0, 
+    228, 160,   6,   0,   0,   2, 
+      1,   0,   1, 128,   0,   0, 
+    255, 128,   5,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    228, 128,   1,   0,   0, 128, 
+      2,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      8,   0, 228, 161,   5,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 255, 128,   0,   0, 
+    228, 128,   5,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+     85, 128,   5,   0, 228, 160, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   4,   0, 228, 160, 
+      0,   0,   0, 128,   1,   0, 
+    228, 128,   4,   0,   0,   4, 
+      1,   0,  15, 128,   6,   0, 
+    228, 160,   0,   0, 170, 128, 
+      1,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,  15, 128, 
+      7,   0, 228, 160,   0,   0, 
+    255, 128,   1,   0, 228, 128, 
+      2,   0,   0,   3,   1,   0, 
+      3, 128,   0,   0, 228, 128, 
+     14,   0,   0, 160,   4,   0, 
+      0,   4,   1,   0,   2, 128, 
+      1,   0,  85, 128,  14,   0, 
+     85, 161,  14,   0,   0, 160, 
+      5,   0,   0,   3,   1,   0, 
+      1, 128,   1,   0,   0, 128, 
+     14,   0,  85, 160,   5,   0, 
+      0,   3,   1,   0,   6, 128, 
+      1,   0,  85, 128,  12,   0, 
+    196, 160,   4,   0,   0,   4, 
+      1,   0,   3, 128,  11,   0, 
+    225, 160,   1,   0,   0, 128, 
+      1,   0, 233, 128,   2,   0, 
+      0,   3,   0,   0,  12, 224, 
+      1,   0,  68, 128,  13,   0, 
+     20, 160,   4,   0,   0,   4, 
+      0,   0,   3, 192,   0,   0, 
+    255, 128,   0,   0, 228, 160, 
+      0,   0, 228, 128,   1,   0, 
+      0,   2,   0,   0,  12, 192, 
+      0,   0, 228, 128,   1,   0, 
+      0,   2,   1,   0,   7, 224, 
+     14,   0, 170, 160, 255, 255, 
+      0,   0,  83,  72,  68,  82, 
+     32,   3,   0,   0,  64,   0, 
+      1,   0, 200,   0,   0,   0, 
+     89,   0,   0,   4,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,  95,   0, 
+      0,   3,  50,  16,  16,   0, 
+      0,   0,   0,   0, 103,   0, 
+      0,   4, 242,  32,  16,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
+     50,  32,  16,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
+    194,  32,  16,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
+    114,  32,  16,   0,   2,   0, 
+      0,   0, 104,   0,   0,   2, 
+      2,   0,   0,   0,  50,   0, 
+      0,  11,  50,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,  10,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,  10,   0,   0,   0, 
+     56,   0,   0,   8, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     86,   5,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  50,   0,   0,  10, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   6,   0,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+      0,   0,   0,   8, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   9, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,   8,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      1,   0,   0,   0,  86,   5, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     50,   0,   0,  10, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,  50,   0, 
+      0,  10, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      6,   0,   0,   0, 166,  10, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  50,   0,   0,  10, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0, 246,  15,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     54,   0,   0,   5, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,  10, 
+     50,   0,  16,   0,   0,   0, 
+      0,   0,  70,   0,  16,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     50,   0,   0,  10,  34,   0, 
+     16,   0,   0,   0,   0,   0, 
+     26,   0,  16, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,  63,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7,  18,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,  63,  56,   0,   0,   8, 
+     98,   0,  16,   0,   0,   0, 
+      0,   0,  86,   5,  16,   0, 
+      0,   0,   0,   0,   6, 129, 
+     32,   0,   0,   0,   0,   0, 
+     13,   0,   0,   0,  50,   0, 
+      0,  10,  50,   0,  16,   0, 
+      0,   0,   0,   0,  70, 128, 
+     32,   0,   0,   0,   0,   0, 
+     12,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+    150,   5,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    194,  32,  16,   0,   1,   0, 
+      0,   0,   6,   4,  16,   0, 
+      0,   0,   0,   0,   6, 132, 
+     32,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     54,   0,   0,   8, 114,  32, 
+     16,   0,   2,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,  21,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     18,   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,   0,   0,   0, 
+      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, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  82,  68, 
+     69,  70, 104,   2,   0,   0, 
+      1,   0,   0,   0,  72,   0, 
+      0,   0,   1,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    254, 255,   0,   1,   0,   0, 
+     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
+     36,  71, 108, 111,  98,  97, 
+    108, 115,   0, 171, 171, 171, 
+     60,   0,   0,   0,  10,   0, 
+      0,   0,  96,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     80,   1,   0,   0,   0,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    112,   1,   0,   0,  64,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    124,   1,   0,   0, 128,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    160,   1,   0,   0, 144,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    192,   1,   0,   0, 160,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    203,   1,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    213,   1,   0,   0, 192,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    232,   1,   0,   0,   0,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    244,   1,   0,   0,  16,   1, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   4,   2, 
+      0,   0,   0,   0,   0,   0, 
+     20,   2,   0,   0,  32,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  36,   2, 
+      0,   0,   0,   0,   0,   0, 
+    109,  76,  97, 121, 101, 114, 
+     84, 114,  97, 110, 115, 102, 
+    111, 114, 109,   0,   3,   0, 
+      3,   0,   4,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  80, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 105,  66, 
+    108, 101, 110, 100,  67, 111, 
+    110, 102, 105, 103,   0, 171, 
+    171, 171,   1,   0,  19,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   3,   3, 
+      0,   0,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+    128,   0,   0,   0,   4,   0, 
+      0,   0,   8,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+    116,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,  12,   0,   0, 
+    116,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  12,   3,   0,   0, 
+    116,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   2,   0, 
+      0,   0,   7,   8,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171
+};
 ShaderBytes sLayerQuadBlendVS = { LayerQuadBlendVS, sizeof(LayerQuadBlendVS) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
-//   float4x4 mProjection;              // Offset:   64 Size:    64
-//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
-//   float4 vTextureCoords;             // Offset:  144 Size:    16
-//   float4 vLayerQuad;                 // Offset:  160 Size:    16
-//   float4 vMaskQuad;                  // Offset:  176 Size:    16
-//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64
-//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
-//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
-//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// POSITION                 0   xy          0     NONE   float   xy  
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float   xyzw
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 2     zw        1     NONE   float     zw
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
-// c3         cb0             3        11  ( FLT, FLT, FLT, FLT)
-// c14        cb0            15         1  ( FLT, FLT, FLT, FLT)
-//
-//
-// Runtime generated constant mappings:
-//
-// Target Reg                               Constant Description
-// ---------- --------------------------------------------------
-// c0                              Vertex Shader position offset
-//
-//
-// Level9 shader bytecode:
-//
-    vs_2_x
-    def c15, 1, 0.5, 0, 0
-    dcl_texcoord v0
-    mov r0.z, c15.x
-    rcp r0.w, c11.z
-    mad r1.xy, v0, c10.zwzw, c10
-    mul r2, r1.y, c2
-    mad r1, c1, r1.x, r2
-    add r1, r1, c3
-    add r2.xy, r1, -c11
-    mul r0.x, r0.w, r2.x
-    rcp r0.w, c11.w
-    mul r0.y, r0.w, r2.y
-    mul oT1.xyz, r0, r1.w
-    mad oT0.xy, v0, c9.zwzw, c9
-    rcp r0.x, r1.w
-    mul r1.xyz, r0.x, r1
-    add r0, r1, -c8
-    mul r0.xyz, r0.w, r0
-    mul r1, r0.y, c5
-    mad r1, c4, r0.x, r1
-    mad r1, c6, r0.z, r1
-    mad r0, c7, r0.w, r1
-    add r1.xy, r0, c15.x
-    mad r1.y, r1.y, -c15.y, c15.x
-    mul r1.x, r1.x, c15.y
-    mul r1.yz, r1.y, c13.xyxw
-    mad r1.xy, c12.yxzw, r1.x, r1.yzzw
-    add oT0.zw, r1.xyxy, c14.xyyx
-    mad oPos.xy, r0.w, c0, r0
-    mov oPos.zw, r0
-
-// approximately 28 instruction slots used
-vs_4_0
-dcl_constantbuffer CB0[16], immediateIndexed
-dcl_input v0.xy
-dcl_output_siv o0.xyzw, position
-dcl_output o1.xy
-dcl_output o1.zw
-dcl_output o2.xyz
-dcl_temps 4
-mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
-mul r1.xyzw, r0.yyyy, cb0[1].xyzw
-mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
-add r0.xyzw, r0.xyzw, cb0[3].xyzw
-div r1.xyz, r0.xyzx, r0.wwww
-mov r1.w, r0.w
-add r2.xyzw, r1.xyzw, -cb0[8].xyzw
-mul r1.xyz, r2.wwww, r2.xyzx
-mul r3.xyzw, r1.yyyy, cb0[5].xyzw
-mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw
-mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw
-mad r2.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw
-mov o0.xyzw, r2.xyzw
-add r0.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
-mad r0.w, -r0.w, l(0.500000), l(1.000000)
-mul r0.z, r0.z, l(0.500000)
-mul r1.xy, r0.wwww, cb0[13].xyxx
-mad r0.zw, cb0[12].xxxy, r0.zzzz, r1.xxxy
-add o1.zw, r0.zzzw, cb0[15].xxxy
-mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
-add r0.xy, r0.xyxx, -cb0[11].xyxx
-div r0.xy, r0.xyxx, cb0[11].zwzz
-mov r0.z, l(1.000000)
-mul o2.xyz, r1.wwww, r0.xyzx
-ret 
-// Approximately 25 instruction slots used
-#endif
-
-const BYTE LayerQuadBlendMaskVS[] =
-{
-     68,  88,  66,  67, 215, 232, 
-    211, 207,  91,  59,  72,  19, 
-    182, 146,  63, 212, 224, 141, 
-    136,  84,   1,   0,   0,   0, 
-    192,   9,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    136,   2,   0,   0,  24,   6, 
-      0,   0, 148,   6,   0,   0, 
-      4,   9,   0,   0,  56,   9, 
-      0,   0,  65, 111, 110,  57, 
-     72,   2,   0,   0,  72,   2, 
-      0,   0,   0,   2, 254, 255, 
-    252,   1,   0,   0,  76,   0, 
-      0,   0,   3,   0,  36,   0, 
-      0,   0,  72,   0,   0,   0, 
-     72,   0,   0,   0,  36,   0, 
-      1,   0,  72,   0,   0,   0, 
-      0,   0,   2,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,  11,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   1,   0,  14,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 254, 255, 
-     81,   0,   0,   5,  15,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,  63,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   5,   0, 
-      0, 128,   0,   0,  15, 144, 
-      1,   0,   0,   2,   0,   0, 
-      4, 128,  15,   0,   0, 160, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,  11,   0, 170, 160, 
-      4,   0,   0,   4,   1,   0, 
-      3, 128,   0,   0, 228, 144, 
-     10,   0, 238, 160,  10,   0, 
-    228, 160,   5,   0,   0,   3, 
-      2,   0,  15, 128,   1,   0, 
-     85, 128,   2,   0, 228, 160, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   1,   0, 228, 160, 
-      1,   0,   0, 128,   2,   0, 
-    228, 128,   2,   0,   0,   3, 
-      1,   0,  15, 128,   1,   0, 
-    228, 128,   3,   0, 228, 160, 
-      2,   0,   0,   3,   2,   0, 
-      3, 128,   1,   0, 228, 128, 
-     11,   0, 228, 161,   5,   0, 
-      0,   3,   0,   0,   1, 128, 
-      0,   0, 255, 128,   2,   0, 
-      0, 128,   6,   0,   0,   2, 
-      0,   0,   8, 128,  11,   0, 
-    255, 160,   5,   0,   0,   3, 
-      0,   0,   2, 128,   0,   0, 
-    255, 128,   2,   0,  85, 128, 
-      5,   0,   0,   3,   1,   0, 
-      7, 224,   0,   0, 228, 128, 
-      1,   0, 255, 128,   4,   0, 
-      0,   4,   0,   0,   3, 224, 
-      0,   0, 228, 144,   9,   0, 
-    238, 160,   9,   0, 228, 160, 
-      6,   0,   0,   2,   0,   0, 
-      1, 128,   1,   0, 255, 128, 
-      5,   0,   0,   3,   1,   0, 
-      7, 128,   0,   0,   0, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      1,   0, 228, 128,   8,   0, 
-    228, 161,   5,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    255, 128,   0,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0,  85, 128, 
-      5,   0, 228, 160,   4,   0, 
-      0,   4,   1,   0,  15, 128, 
-      4,   0, 228, 160,   0,   0, 
-      0, 128,   1,   0, 228, 128, 
-      4,   0,   0,   4,   1,   0, 
-     15, 128,   6,   0, 228, 160, 
-      0,   0, 170, 128,   1,   0, 
-    228, 128,   4,   0,   0,   4, 
-      0,   0,  15, 128,   7,   0, 
-    228, 160,   0,   0, 255, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   1,   0,   3, 128, 
-      0,   0, 228, 128,  15,   0, 
-      0, 160,   4,   0,   0,   4, 
-      1,   0,   2, 128,   1,   0, 
-     85, 128,  15,   0,  85, 161, 
-     15,   0,   0, 160,   5,   0, 
-      0,   3,   1,   0,   1, 128, 
-      1,   0,   0, 128,  15,   0, 
-     85, 160,   5,   0,   0,   3, 
-      1,   0,   6, 128,   1,   0, 
-     85, 128,  13,   0, 196, 160, 
-      4,   0,   0,   4,   1,   0, 
-      3, 128,  12,   0, 225, 160, 
-      1,   0,   0, 128,   1,   0, 
-    233, 128,   2,   0,   0,   3, 
-      0,   0,  12, 224,   1,   0, 
-     68, 128,  14,   0,  20, 160, 
-      4,   0,   0,   4,   0,   0, 
-      3, 192,   0,   0, 255, 128, 
-      0,   0, 228, 160,   0,   0, 
-    228, 128,   1,   0,   0,   2, 
-      0,   0,  12, 192,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82, 136,   3, 
-      0,   0,  64,   0,   1,   0, 
-    226,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,  95,   0,   0,   3, 
-     50,  16,  16,   0,   0,   0, 
-      0,   0, 103,   0,   0,   4, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3,  50,  32, 
-     16,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3, 194,  32, 
-     16,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3, 114,  32, 
-     16,   0,   2,   0,   0,   0, 
-    104,   0,   0,   2,   4,   0, 
-      0,   0,  50,   0,   0,  11, 
-     50,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      0,   0,   0,   0, 230, 138, 
-     32,   0,   0,   0,   0,   0, 
-     10,   0,   0,   0,  70, 128, 
-     32,   0,   0,   0,   0,   0, 
-     10,   0,   0,   0,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      1,   0,   0,   0,  86,   5, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     50,   0,   0,  10, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   8, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      1,   0,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   9, 242,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,  70, 142,  32, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,   8,   0,   0,   0, 
-     56,   0,   0,   7, 114,   0, 
-     16,   0,   1,   0,   0,   0, 
-    246,  15,  16,   0,   2,   0, 
-      0,   0,  70,   2,  16,   0, 
-      2,   0,   0,   0,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      3,   0,   0,   0,  86,   5, 
-     16,   0,   1,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   5,   0,   0,   0, 
-     50,   0,   0,  10, 242,   0, 
-     16,   0,   3,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-      6,   0,  16,   0,   1,   0, 
-      0,   0,  70,  14,  16,   0, 
-      3,   0,   0,   0,  50,   0, 
-      0,  10, 242,   0,  16,   0, 
-      3,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      6,   0,   0,   0, 166,  10, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   3,   0, 
-      0,   0,  50,   0,   0,  10, 
-    242,   0,  16,   0,   2,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0, 246,  15,  16,   0, 
-      2,   0,   0,   0,  70,  14, 
-     16,   0,   3,   0,   0,   0, 
-     54,   0,   0,   5, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   2,   0, 
-      0,   0,   0,   0,   0,  10, 
-    194,   0,  16,   0,   0,   0, 
-      0,   0,   6,   4,  16,   0, 
-      2,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-     50,   0,   0,  10, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,  63,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7,  66,   0,  16,   0, 
-      0,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,  63,  56,   0,   0,   8, 
-     50,   0,  16,   0,   1,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  70, 128, 
-     32,   0,   0,   0,   0,   0, 
-     13,   0,   0,   0,  50,   0, 
-      0,  10, 194,   0,  16,   0, 
-      0,   0,   0,   0,   6, 132, 
-     32,   0,   0,   0,   0,   0, 
-     12,   0,   0,   0, 166,  10, 
-     16,   0,   0,   0,   0,   0, 
-      6,   4,  16,   0,   1,   0, 
-      0,   0,   0,   0,   0,   8, 
-    194,  32,  16,   0,   1,   0, 
-      0,   0, 166,  14,  16,   0, 
-      0,   0,   0,   0,   6, 132, 
-     32,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   9,   0,   0,   0, 
-      0,   0,   0,   9,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   0,  16,   0,   0,   0, 
-      0,   0,  70, 128,  32, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,  11,   0,   0,   0, 
-     14,   0,   0,   8,  50,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   0,  16,   0,   0,   0, 
-      0,   0, 230, 138,  32,   0, 
-      0,   0,   0,   0,  11,   0, 
-      0,   0,  54,   0,   0,   5, 
-     66,   0,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7, 114,  32,  16,   0, 
-      2,   0,   0,   0, 246,  15, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,  25,   0,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   5,   0,   0,   0, 
-     21,   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,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      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,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 104,   2,   0,   0, 
-      1,   0,   0,   0,  72,   0, 
-      0,   0,   1,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    254, 255,   0,   1,   0,   0, 
-     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
-     36,  71, 108, 111,  98,  97, 
-    108, 115,   0, 171, 171, 171, 
-     60,   0,   0,   0,  10,   0, 
-      0,   0,  96,   0,   0,   0, 
-     48,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     80,   1,   0,   0,   0,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    112,   1,   0,   0,  64,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    124,   1,   0,   0, 128,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    160,   1,   0,   0, 144,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    192,   1,   0,   0, 160,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    203,   1,   0,   0, 176,   0, 
-      0,   0,  16,   0,   0,   0, 
-      2,   0,   0,   0, 176,   1, 
-      0,   0,   0,   0,   0,   0, 
-    213,   1,   0,   0, 192,   0, 
-      0,   0,  64,   0,   0,   0, 
-      2,   0,   0,   0,  96,   1, 
-      0,   0,   0,   0,   0,   0, 
-    232,   1,   0,   0,   0,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0, 144,   1, 
-      0,   0,   0,   0,   0,   0, 
-    244,   1,   0,   0,  16,   1, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   4,   2, 
-      0,   0,   0,   0,   0,   0, 
-     20,   2,   0,   0,  32,   1, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,  36,   2, 
-      0,   0,   0,   0,   0,   0, 
-    109,  76,  97, 121, 101, 114, 
-     84, 114,  97, 110, 115, 102, 
-    111, 114, 109,   0,   3,   0, 
-      3,   0,   4,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 109,  80, 114, 111, 
-    106, 101,  99, 116, 105, 111, 
-    110,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 105,  66, 
-    108, 101, 110, 100,  67, 111, 
-    110, 102, 105, 103,   0, 171, 
-    171, 171,   1,   0,  19,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0,  73,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   3,   3, 
-      0,   0,  80,  79,  83,  73, 
-     84,  73,  79,  78,   0, 171, 
-    171, 171,  79,  83,  71,  78, 
-    128,   0,   0,   0,   4,   0, 
-      0,   0,   8,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-    116,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,   3,  12,   0,   0, 
-    116,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  12,   3,   0,   0, 
-    116,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   2,   0, 
-      0,   0,   7,   8,   0,   0, 
-     83,  86,  95,  80, 111, 115, 
-    105, 116, 105, 111, 110,   0, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,   0, 171, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4x4 mLayerTransform;          // Offset:    0 Size:    64
+//   float4x4 mProjection;              // Offset:   64 Size:    64
+//   float4 vRenderTargetOffset;        // Offset:  128 Size:    16
+//   float4 vTextureCoords;             // Offset:  144 Size:    16
+//   float4 vLayerQuad;                 // Offset:  160 Size:    16
+//   float4 vMaskQuad;                  // Offset:  176 Size:    16
+//   float4x4 mBackdropTransform;       // Offset:  192 Size:    64
+//   float4 fLayerColor;                // Offset:  256 Size:    16 [unused]
+//   float fLayerOpacity;               // Offset:  272 Size:     4 [unused]
+//   uint4 iBlendConfig;                // Offset:  288 Size:    16 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xy          0     NONE   float   xy  
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float   xyzw
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 2     zw        1     NONE   float     zw
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
+// c3         cb0             3        11  ( FLT, FLT, FLT, FLT)
+// c14        cb0            15         1  ( FLT, FLT, FLT, FLT)
+//
+//
+// Runtime generated constant mappings:
+//
+// Target Reg                               Constant Description
+// ---------- --------------------------------------------------
+// c0                              Vertex Shader position offset
+//
+//
+// Level9 shader bytecode:
+//
+    vs_2_x
+    def c15, 1, 0.5, 0, 0
+    dcl_texcoord v0
+    mov r0.z, c15.x
+    rcp r0.w, c11.z
+    mad r1.xy, v0, c10.zwzw, c10
+    mul r2, r1.y, c2
+    mad r1, c1, r1.x, r2
+    add r1, r1, c3
+    add r2.xy, r1, -c11
+    mul r0.x, r0.w, r2.x
+    rcp r0.w, c11.w
+    mul r0.y, r0.w, r2.y
+    mul oT1.xyz, r0, r1.w
+    mad oT0.xy, v0, c9.zwzw, c9
+    rcp r0.x, r1.w
+    mul r1.xyz, r0.x, r1
+    add r0, r1, -c8
+    mul r0.xyz, r0.w, r0
+    mul r1, r0.y, c5
+    mad r1, c4, r0.x, r1
+    mad r1, c6, r0.z, r1
+    mad r0, c7, r0.w, r1
+    add r1.xy, r0, c15.x
+    mad r1.y, r1.y, -c15.y, c15.x
+    mul r1.x, r1.x, c15.y
+    mul r1.yz, r1.y, c13.xyxw
+    mad r1.xy, c12.yxzw, r1.x, r1.yzzw
+    add oT0.zw, r1.xyxy, c14.xyyx
+    mad oPos.xy, r0.w, c0, r0
+    mov oPos.zw, r0
+
+// approximately 28 instruction slots used
+vs_4_0
+dcl_constantbuffer CB0[16], immediateIndexed
+dcl_input v0.xy
+dcl_output_siv o0.xyzw, position
+dcl_output o1.xy
+dcl_output o1.zw
+dcl_output o2.xyz
+dcl_temps 4
+mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx
+mul r1.xyzw, r0.yyyy, cb0[1].xyzw
+mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
+add r0.xyzw, r0.xyzw, cb0[3].xyzw
+div r1.xyz, r0.xyzx, r0.wwww
+mov r1.w, r0.w
+add r2.xyzw, r1.xyzw, -cb0[8].xyzw
+mul r1.xyz, r2.wwww, r2.xyzx
+mul r3.xyzw, r1.yyyy, cb0[5].xyzw
+mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw
+mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw
+mad r2.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw
+mov o0.xyzw, r2.xyzw
+add r0.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
+mad r0.w, -r0.w, l(0.500000), l(1.000000)
+mul r0.z, r0.z, l(0.500000)
+mul r1.xy, r0.wwww, cb0[13].xyxx
+mad r0.zw, cb0[12].xxxy, r0.zzzz, r1.xxxy
+add o1.zw, r0.zzzw, cb0[15].xxxy
+mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx
+add r0.xy, r0.xyxx, -cb0[11].xyxx
+div r0.xy, r0.xyxx, cb0[11].zwzz
+mov r0.z, l(1.000000)
+mul o2.xyz, r1.wwww, r0.xyzx
+ret 
+// Approximately 25 instruction slots used
+#endif
+
+const BYTE LayerQuadBlendMaskVS[] =
+{
+     68,  88,  66,  67, 215, 232, 
+    211, 207,  91,  59,  72,  19, 
+    182, 146,  63, 212, 224, 141, 
+    136,  84,   1,   0,   0,   0, 
+    192,   9,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    136,   2,   0,   0,  24,   6, 
+      0,   0, 148,   6,   0,   0, 
+      4,   9,   0,   0,  56,   9, 
+      0,   0,  65, 111, 110,  57, 
+     72,   2,   0,   0,  72,   2, 
+      0,   0,   0,   2, 254, 255, 
+    252,   1,   0,   0,  76,   0, 
+      0,   0,   3,   0,  36,   0, 
+      0,   0,  72,   0,   0,   0, 
+     72,   0,   0,   0,  36,   0, 
+      1,   0,  72,   0,   0,   0, 
+      0,   0,   2,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,  11,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   1,   0,  14,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     81,   0,   0,   5,  15,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
+      1,   0,   0,   2,   0,   0, 
+      4, 128,  15,   0,   0, 160, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,  11,   0, 170, 160, 
+      4,   0,   0,   4,   1,   0, 
+      3, 128,   0,   0, 228, 144, 
+     10,   0, 238, 160,  10,   0, 
+    228, 160,   5,   0,   0,   3, 
+      2,   0,  15, 128,   1,   0, 
+     85, 128,   2,   0, 228, 160, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   1,   0, 228, 160, 
+      1,   0,   0, 128,   2,   0, 
+    228, 128,   2,   0,   0,   3, 
+      1,   0,  15, 128,   1,   0, 
+    228, 128,   3,   0, 228, 160, 
+      2,   0,   0,   3,   2,   0, 
+      3, 128,   1,   0, 228, 128, 
+     11,   0, 228, 161,   5,   0, 
+      0,   3,   0,   0,   1, 128, 
+      0,   0, 255, 128,   2,   0, 
+      0, 128,   6,   0,   0,   2, 
+      0,   0,   8, 128,  11,   0, 
+    255, 160,   5,   0,   0,   3, 
+      0,   0,   2, 128,   0,   0, 
+    255, 128,   2,   0,  85, 128, 
+      5,   0,   0,   3,   1,   0, 
+      7, 224,   0,   0, 228, 128, 
+      1,   0, 255, 128,   4,   0, 
+      0,   4,   0,   0,   3, 224, 
+      0,   0, 228, 144,   9,   0, 
+    238, 160,   9,   0, 228, 160, 
+      6,   0,   0,   2,   0,   0, 
+      1, 128,   1,   0, 255, 128, 
+      5,   0,   0,   3,   1,   0, 
+      7, 128,   0,   0,   0, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      1,   0, 228, 128,   8,   0, 
+    228, 161,   5,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    255, 128,   0,   0, 228, 128, 
+      5,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0,  85, 128, 
+      5,   0, 228, 160,   4,   0, 
+      0,   4,   1,   0,  15, 128, 
+      4,   0, 228, 160,   0,   0, 
+      0, 128,   1,   0, 228, 128, 
+      4,   0,   0,   4,   1,   0, 
+     15, 128,   6,   0, 228, 160, 
+      0,   0, 170, 128,   1,   0, 
+    228, 128,   4,   0,   0,   4, 
+      0,   0,  15, 128,   7,   0, 
+    228, 160,   0,   0, 255, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   1,   0,   3, 128, 
+      0,   0, 228, 128,  15,   0, 
+      0, 160,   4,   0,   0,   4, 
+      1,   0,   2, 128,   1,   0, 
+     85, 128,  15,   0,  85, 161, 
+     15,   0,   0, 160,   5,   0, 
+      0,   3,   1,   0,   1, 128, 
+      1,   0,   0, 128,  15,   0, 
+     85, 160,   5,   0,   0,   3, 
+      1,   0,   6, 128,   1,   0, 
+     85, 128,  13,   0, 196, 160, 
+      4,   0,   0,   4,   1,   0, 
+      3, 128,  12,   0, 225, 160, 
+      1,   0,   0, 128,   1,   0, 
+    233, 128,   2,   0,   0,   3, 
+      0,   0,  12, 224,   1,   0, 
+     68, 128,  14,   0,  20, 160, 
+      4,   0,   0,   4,   0,   0, 
+      3, 192,   0,   0, 255, 128, 
+      0,   0, 228, 160,   0,   0, 
+    228, 128,   1,   0,   0,   2, 
+      0,   0,  12, 192,   0,   0, 
+    228, 128, 255, 255,   0,   0, 
+     83,  72,  68,  82, 136,   3, 
+      0,   0,  64,   0,   1,   0, 
+    226,   0,   0,   0,  89,   0, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,  95,   0,   0,   3, 
+     50,  16,  16,   0,   0,   0, 
+      0,   0, 103,   0,   0,   4, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3,  50,  32, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 194,  32, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 114,  32, 
+     16,   0,   2,   0,   0,   0, 
+    104,   0,   0,   2,   4,   0, 
+      0,   0,  50,   0,   0,  11, 
+     50,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      0,   0,   0,   0, 230, 138, 
+     32,   0,   0,   0,   0,   0, 
+     10,   0,   0,   0,  70, 128, 
+     32,   0,   0,   0,   0,   0, 
+     10,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      1,   0,   0,   0,  86,   5, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     50,   0,   0,  10, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   8, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0, 246,  15,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      1,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   9, 242,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  70, 142,  32, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,   8,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,   1,   0,   0,   0, 
+    246,  15,  16,   0,   2,   0, 
+      0,   0,  70,   2,  16,   0, 
+      2,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      3,   0,   0,   0,  86,   5, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     50,   0,   0,  10, 242,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+      6,   0,  16,   0,   1,   0, 
+      0,   0,  70,  14,  16,   0, 
+      3,   0,   0,   0,  50,   0, 
+      0,  10, 242,   0,  16,   0, 
+      3,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      6,   0,   0,   0, 166,  10, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   3,   0, 
+      0,   0,  50,   0,   0,  10, 
+    242,   0,  16,   0,   2,   0, 
+      0,   0,  70, 142,  32,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0, 246,  15,  16,   0, 
+      2,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     54,   0,   0,   5, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,  14,  16,   0,   2,   0, 
+      0,   0,   0,   0,   0,  10, 
+    194,   0,  16,   0,   0,   0, 
+      0,   0,   6,   4,  16,   0, 
+      2,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+     50,   0,   0,  10, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,  63,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7,  66,   0,  16,   0, 
+      0,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,  63,  56,   0,   0,   8, 
+     50,   0,  16,   0,   1,   0, 
+      0,   0, 246,  15,  16,   0, 
+      0,   0,   0,   0,  70, 128, 
+     32,   0,   0,   0,   0,   0, 
+     13,   0,   0,   0,  50,   0, 
+      0,  10, 194,   0,  16,   0, 
+      0,   0,   0,   0,   6, 132, 
+     32,   0,   0,   0,   0,   0, 
+     12,   0,   0,   0, 166,  10, 
+     16,   0,   0,   0,   0,   0, 
+      6,   4,  16,   0,   1,   0, 
+      0,   0,   0,   0,   0,   8, 
+    194,  32,  16,   0,   1,   0, 
+      0,   0, 166,  14,  16,   0, 
+      0,   0,   0,   0,   6, 132, 
+     32,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   9,   0,   0,   0, 
+      0,   0,   0,   9,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   0,  16,   0,   0,   0, 
+      0,   0,  70, 128,  32, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,  11,   0,   0,   0, 
+     14,   0,   0,   8,  50,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   0,  16,   0,   0,   0, 
+      0,   0, 230, 138,  32,   0, 
+      0,   0,   0,   0,  11,   0, 
+      0,   0,  54,   0,   0,   5, 
+     66,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7, 114,  32,  16,   0, 
+      2,   0,   0,   0, 246,  15, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 116,   0, 
+      0,   0,  25,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     21,   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,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      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,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  82,  68, 
+     69,  70, 104,   2,   0,   0, 
+      1,   0,   0,   0,  72,   0, 
+      0,   0,   1,   0,   0,   0, 
+     28,   0,   0,   0,   0,   4, 
+    254, 255,   0,   1,   0,   0, 
+     52,   2,   0,   0,  60,   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,   0,   0,   0,   0, 
+     36,  71, 108, 111,  98,  97, 
+    108, 115,   0, 171, 171, 171, 
+     60,   0,   0,   0,  10,   0, 
+      0,   0,  96,   0,   0,   0, 
+     48,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     80,   1,   0,   0,   0,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    112,   1,   0,   0,  64,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    124,   1,   0,   0, 128,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    160,   1,   0,   0, 144,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    192,   1,   0,   0, 160,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    203,   1,   0,   0, 176,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 176,   1, 
+      0,   0,   0,   0,   0,   0, 
+    213,   1,   0,   0, 192,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0,  96,   1, 
+      0,   0,   0,   0,   0,   0, 
+    232,   1,   0,   0,   0,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 144,   1, 
+      0,   0,   0,   0,   0,   0, 
+    244,   1,   0,   0,  16,   1, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   4,   2, 
+      0,   0,   0,   0,   0,   0, 
+     20,   2,   0,   0,  32,   1, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  36,   2, 
+      0,   0,   0,   0,   0,   0, 
+    109,  76,  97, 121, 101, 114, 
+     84, 114,  97, 110, 115, 102, 
+    111, 114, 109,   0,   3,   0, 
+      3,   0,   4,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 109,  80, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 105,  66, 
+    108, 101, 110, 100,  67, 111, 
+    110, 102, 105, 103,   0, 171, 
+    171, 171,   1,   0,  19,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0,  73,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   3,   3, 
+      0,   0,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+    128,   0,   0,   0,   4,   0, 
+      0,   0,   8,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+    116,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,  12,   0,   0, 
+    116,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  12,   3,   0,   0, 
+    116,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   2,   0, 
+      0,   0,   7,   8,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171
+};
 ShaderBytes sLayerQuadBlendMaskVS = { LayerQuadBlendMaskVS, sizeof(LayerQuadBlendMaskVS) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 fLayerColor;                // Offset:    0 Size:    16
-//   float fLayerOpacity;               // Offset:   16 Size:     4
-//   uint4 iBlendConfig;                // Offset:   32 Size:    16
-//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
-//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
-//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
-//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
-//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
-//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
-//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// sSampler                          sampler      NA          NA             s0      1 
-// tRGB                              texture  float4          2d             t0      1 
-// tY                                texture  float4          2d             t1      1 
-// tCb                               texture  float4          2d             t2      1 
-// tCr                               texture  float4          2d             t3      1 
-// tMask                             texture  float4          2d             t5      1 
-// tBackdrop                         texture  float4          2d             t6      1 
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 2     zw        1     NONE   float     zw
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c0         cb0             0         2  ( FLT, FLT, FLT, FLT)
-// c2         cb0             2         1  (UINT,UINT,UINT,UINT)
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-// s1             s0              t1               
-// s2             s0              t2               
-// s3             s0              t3               
-// s4             s0              t5               
-// s5             s0              t6               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c3, -1, -2, -0.50195998, -0.0627499968
-    def c4, 1.59603, 0.812969983, 1.16437995, 2.01723003
-    def c5, -2, -3, -4, -5
-    def c6, -6, -7, -8, -9
-    def c7, 1, 0.25, 2, -1
-    def c8, 16, -12, -14, 0
-    def c9, -10, -11, -12, -13
-    def c10, 0.300000012, 0.589999974, 0.109999999, 0
-    def c11, 0.391759992, -1, -0, -0.5
-    dcl t0
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    dcl_2d s3
-    dcl_2d s4
-    dcl_2d s5
-    mov r0.x, -c11.z
-    mov r1.x, -c11.z
-    mov r2.z, -c11.z
-    texld r3, t0, s1
-    texld r4, t0, s3
-    add r0.w, r4.x, c3.z
-    mul r3.yz, r0.w, c4.xxyw
-    add r0.w, r3.x, c3.w
-    mad r1.w, r0.w, c4.z, -r3.z
-    mad r3.x, r0.w, c4.z, r3.y
-    rcp r2.w, t1.z
-    mul r4.xy, r2.w, t1
-    texld r5, t0, s2
-    texld r4, r4, s4
-    add r2.w, r5.x, c3.z
-    mad r3.y, r2.w, -c11.x, r1.w
-    mul r1.w, r2.w, c4.w
-    mad r3.z, r0.w, c4.z, r1.w
-    mov r3.w, -c3.x
-    mul r3, r3, c1.x
-    mul r5, r4.x, r3
-    mov r6.xy, t0.wzzw
-    texld r7, t0, s0
-    texld r6, r6, s5
-    mul r7, r7, c1.x
-    mul r8, r4.x, r7
-    mov r9.xy, c3
-    add r10, r9.xyxx, c2.xxyz
-    mul r10, r10, r10
-    cmp r5, -r10.x, r8, r5
-    cmp r3, -r10.x, r7, r3
-    mov r7.w, c1.x
-    mul r8, r4.x, r7
-    cmp r3, -c2.x, r7, r3
-    mul r4, r4.x, c0
-    cmp r5, -c2.x, r8, r5
-    cmp r7.xy, -r10.yzzw, c11.y, c11.z
-    cmp r0.w, -r10.x, c3.x, r7.x
-    cmp r1.w, -c2.y, r9.x, r7.y
-    cmp r0.w, -c2.x, r9.x, r0.w
-    cmp r4, r0.w, r4, r5
-    cmp r3, r0.w, c0, r3
-    cmp r3, -c2.y, r3, r4
-    cmp r3, r1.w, -c11.zzzy, r3
-    rcp r0.w, r3.w
-    mul r4.xyz, r0.w, r3
-    cmp r4.xyz, -c2.w, r3, r4
-    add r5.xy, -r4.yzzw, r4
-    cmp r5.zw, r5.x, r4.xyxy, r4.xyyx
-    max r0.w, r5.z, r4.z
-    min r1.w, r4.z, r5.w
-    add r7.w, r0.w, -r1.w
-    rcp r0.w, r6.w
-    mul r8.xyz, r0.w, r6
-    mad r5.zw, r6.xyzy, r0.w, -r8.xyxz
-    mul r9.xy, r7.w, r5.zwzw
-    mad r11, r6.yxxz, r0.w, -r8.xzyy
-    rcp r1.w, r11.x
-    mul r7.y, r1.w, r9.x
-    cmp r1.yz, r11.z, -c11.z, r7.xwyw
-    mul r12, r7.w, r11
-    rcp r1.w, r5.w
-    mul r7.x, r1.w, r12.y
-    cmp r2.xy, r11.w, -c11.z, r7.xwzw
-    cmp r1.xyz, r5.z, r1, r2
-    rcp r1.w, r5.z
-    mul r7.z, r1.w, r12.x
-    cmp r0.yz, r11.y, -c11.z, r7.xzww
-    cmp r0.xyz, r11.w, r0, r1
-    mov r1.y, -c11.z
-    mov r2.y, -c11.z
-    mov r10.z, -c11.z
-    rcp r1.w, r11.z
-    mul r7.y, r1.w, r12.w
-    cmp r2.xz, r11.x, -c11.z, r7.wyyw
-    rcp r1.w, r11.y
-    mul r7.x, r1.w, r9.y
-    cmp r10.xy, r5.z, -c11.z, r7.wxzw
-    cmp r2.xyz, r11.w, r2, r10
-    rcp r1.w, r11.w
-    mul r7.z, r1.w, r12.z
-    cmp r1.xz, r5.w, -c11.z, r7.zyww
-    cmp r1.xyz, r5.z, r1, r2
-    cmp r0.xyz, r11.x, r0, r1
-    cmp r1.xy, r11.z, r8, r8.yxzw
-    dp3 r4.w, c10, r0
-    dp3 r8.w, c10, r8
-    add r4.w, -r4.w, r8.w
-    add r0.xyz, r0, r4.w
-    add r4.w, -r0.y, r0.x
-    cmp r1.zw, r4.w, r0.xyyx, r0.xyxy
-    min r4.w, r0.z, r1.z
-    max r2.x, r1.w, r0.z
-    dp3 r1.z, c10, r0
-    add r1.w, -r4.w, r1.z
-    rcp r1.w, r1.w
-    add r2.yzw, r0.xxyz, -r1.z
-    mul r2.yzw, r1.z, r2
-    mad r2.yzw, r2, r1.w, r1.z
-    cmp r0.xyz, r4.w, r0, r2.yzww
-    add r2.yzw, -r1.z, r0.xxyz
-    add r1.w, -r1.z, -c3.x
-    mul r2.yzw, r1.w, r2
-    add r1.w, -r1.z, r2.x
-    add r4.w, -r2.x, -c3.x
-    rcp r1.w, r1.w
-    mad r2.xyz, r2.yzww, r1.w, r1.z
-    cmp r0.xyz, r4.w, r0, r2
-    mov r4.w, c2.z
-    add r1.z, r4.w, c8.z
-    mul r1.z, r1.z, r1.z
-    dp3 r1.w, c10, r4
-    add r2.x, -r8.w, r1.w
-    add r1.w, -r1.w, r8.w
-    add r2.yzw, r1.w, r4.xxyz
-    mad r7.xyz, r6, r0.w, r2.x
-    add r1.w, -r7.y, r7.x
-    cmp r5.zw, r1.w, r7.xyyx, r7.xyxy
-    min r1.w, r7.z, r5.z
-    max r2.x, r5.w, r7.z
-    dp3 r7.w, c10, r7
-    add r5.z, -r1.w, r7.w
-    rcp r5.z, r5.z
-    add r9.xyz, -r7.w, r7
-    mul r9.xyz, r7.w, r9
-    mad r9.xyz, r9, r5.z, r7.w
-    cmp r7.xyz, r1.w, r7, r9
-    add r9.xyz, -r7.w, r7
-    add r1.w, -r7.w, -c3.x
-    mul r9.xyz, r1.w, r9
-    add r1.w, r2.x, -r7.w
-    add r9.w, -r2.x, -c3.x
-    rcp r1.w, r1.w
-    mad r9.xyz, r9, r1.w, r7.w
-    cmp r7.xyz, r9.w, r7, r9
-    cmp r7.xyz, -r1.z, r7, -c11.z
-    add r7.w, -r2.z, r2.y
-    cmp r1.zw, r7.w, r2.xyzy, r2.xyyz
-    min r7.w, r2.w, r1.z
-    max r5.z, r1.w, r2.w
-    dp3 r5.w, c10, r2.yzww
-    add r1.z, -r7.w, r5.w
-    rcp r1.z, r1.z
-    add r9.xyz, r2.yzww, -r5.w
-    mul r9.xyz, r5.w, r9
-    mad r9.xyz, r9, r1.z, r5.w
-    cmp r2.xyz, r7.w, r2.yzww, r9
-    add r9.xyz, -r5.w, r2
-    add r2.w, -r5.w, -c3.x
-    mul r9.xyz, r2.w, r9
-    add r2.w, -r5.w, r5.z
-    add r7.w, -r5.z, -c3.x
-    rcp r2.w, r2.w
-    mad r9.xyz, r9, r2.w, r5.w
-    cmp r2.xyz, r7.w, r2, r9
-    add r9, r4.w, c9
-    mul r9, r9, r9
-    cmp r2.xyz, -r9.w, r2, r7
-    cmp r0.xyz, -r9.z, r0, r2
-    add r2, -r4.xxzy, r4.yzxz
-    mov r7.y, -c11.z
-    mov r10.y, -c11.z
-    mov r11.z, -c11.z
-    rcp r7.w, r2.z
-    max r11.w, r1.x, r8.z
-    min r5.z, r8.z, r1.y
-    add r1.w, -r5.z, r11.w
-    mul r5.zw, r1.w, r5.xyxy
-    mul r1.x, r7.w, r5.w
-    cmp r11.xy, r2.y, -c11.z, r1.wxzw
-    rcp r5.w, r5.x
-    mul r12, r1.w, r2
-    mul r1.y, r5.w, r12.w
-    cmp r10.xz, r2.x, -c11.z, r1.wyyw
-    cmp r10.xyz, r2.w, r10, r11
-    rcp r5.w, r2.w
-    mul r1.z, r5.w, r5.z
-    cmp r7.xz, r5.y, -c11.z, r1.zyww
-    cmp r7.xyz, r2.y, r7, r10
-    mov r10.x, -c11.z
-    mov r11.x, -c11.z
-    mov r13.z, -c11.z
-    rcp r7.w, r2.x
-    mul r1.y, r7.w, r12.y
-    cmp r11.yz, r5.x, -c11.z, r1.xwyw
-    rcp r7.w, r5.y
-    mul r1.x, r7.w, r12.z
-    cmp r13.xy, r2.w, -c11.z, r1.xwzw
-    cmp r5.xyz, r2.y, r11, r13
-    rcp r5.w, r2.y
-    mul r1.z, r5.w, r12.x
-    cmp r10.yz, r2.z, -c11.z, r1.xzww
-    cmp r1.xyz, r2.w, r10, r5
-    cmp r1.xyz, r2.x, r1, r7
-    dp3 r1.w, c10, r1
-    add r1.w, -r1.w, r8.w
-    add r1.xyz, r1.w, r1
-    add r1.w, -r1.y, r1.x
-    cmp r2.xy, r1.w, r1.yxzw, r1
-    min r8.w, r1.z, r2.x
-    max r5.x, r2.y, r1.z
-    dp3 r1.w, c10, r1
-    add r2.x, -r8.w, r1.w
-    rcp r2.x, r2.x
-    add r2.yzw, -r1.w, r1.xxyz
-    mul r2.yzw, r1.w, r2
-    mad r2.xyz, r2.yzww, r2.x, r1.w
-    cmp r1.xyz, r8.w, r1, r2
-    add r2.xyz, -r1.w, r1
-    add r2.w, -r1.w, -c3.x
-    mul r2.xyz, r2.w, r2
-    add r2.w, -r1.w, r5.x
-    add r8.w, -r5.x, -c3.x
-    rcp r2.w, r2.w
-    mad r2.xyz, r2, r2.w, r1.w
-    cmp r1.xyz, r8.w, r1, r2
-    cmp r0.xyz, -r9.y, r1, r0
-    mad r1.xyz, r6, r0.w, r4
-    mul r2.xyz, r4, r8
-    mad r5.xyz, r2, c3.y, r1
-    mad r1.xyz, r8, -r4, r1
-    cmp r0.xyz, -r9.x, r5, r0
-    mad r5.xyz, r6, r0.w, -r4
-    abs r5.xyz, r5
-    add r7, r4.w, c6
-    mul r7, r7, r7
-    cmp r0.xyz, -r7.w, r5, r0
-    add r5.xy, -r4.yzzw, -c11.w
-    mad r9.xyz, r4, c7.z, c7.w
-    mad r1.w, r6.z, -r0.w, c7.y
-    mad r10.xyz, r8, c8.x, c8.y
-    mad r10.xyz, r10, r8, -c5.z
-    mul r10.xyz, r8, r10
-    rsq r2.w, r8.z
-    rcp r2.w, r2.w
-    cmp r1.w, r1.w, r10.z, r2.w
-    mad r1.w, r6.z, -r0.w, r1.w
-    mad r1.w, r9.z, r1.w, r8.z
-    mad r11.xyz, r4, c3.y, -c3.x
-    mul r11.xyz, r8, r11
-    mad r12, r6.yzxy, -r0.w, c7.xxyy
-    mad r5.zw, r11.xyyz, -r12.xyxy, r8.xyyz
-    cmp r13.z, r5.y, r5.w, r1.w
-    rsq r1.w, r8.y
-    rcp r1.w, r1.w
-    cmp r1.w, r12.w, r10.y, r1.w
-    mad r1.w, r6.y, -r0.w, r1.w
-    mad r1.w, r9.y, r1.w, r8.y
-    cmp r13.y, r5.x, r5.z, r1.w
-    add r14, -r4.xyzx, -c11.yyyw
-    rsq r1.w, r8.x
-    rcp r1.w, r1.w
-    cmp r1.w, r12.z, r10.x, r1.w
-    mad r1.w, r6.x, -r0.w, r1.w
-    mad r1.w, r9.x, r1.w, r8.x
-    mad r9, r6.xyzx, -r0.w, -c11.wwwy
-    mad r10.xyz, r6, r0.w, c3.x
-    mul r10.xyz, r10, r10
-    mad r0.w, r11.x, -r9.w, r8.x
-    cmp r13.x, r14.w, r0.w, r1.w
-    cmp r0.xyz, -r7.z, r13, r0
-    add r11.xyz, r8, r8
-    mad r13.xyz, r4, -c3.y, r11
-    add r13.xyz, r13, c3.x
-    mad r15.xyz, r4, -r11, r13
-    mul r11.xyz, r4, r11
-    add r16.xyz, r4, r4
-    mul r17.xyz, r8, r16
-    mad r13.xyz, r16, -r8, r13
-    cmp r9.xyz, r9, r11, r13
-    cmp r5.yz, r5.xxyw, r17, r15
-    cmp r5.x, r14.w, r17.x, r15.x
-    cmp r0.xyz, -r7.y, r5, r0
-    rcp r0.w, r4.x
-    mad r0.w, r9.w, -r0.w, -c3.x
-    max r1.w, r0.w, -c11.z
-    mul r5.xyz, r4, r4
-    cmp r0.w, -r5.x, -c11.z, r1.w
-    cmp r11.x, -r10.x, -c3.x, r0.w
-    rcp r0.w, r4.y
-    mad r0.w, r12.x, -r0.w, -c3.x
-    max r1.w, r0.w, -c11.z
-    cmp r0.w, -r5.y, -c11.z, r1.w
-    cmp r11.y, -r10.y, -c3.x, r0.w
-    rcp r0.w, r4.z
-    mad r0.w, r12.y, -r0.w, -c3.x
-    max r1.w, r0.w, -c11.z
-    cmp r0.w, -r5.z, -c11.z, r1.w
-    cmp r11.z, -r10.z, -c3.x, r0.w
-    cmp r0.xyz, -r7.x, r11, r0
-    add r5, r4.w, c5
-    mul r5, r5, r5
-    add r7.xyz, r4, c3.x
-    mul r7.xyz, r7, r7
-    rcp r0.w, r14.x
-    mul r0.w, r0.w, r8.x
-    min r1.w, r0.w, -c3.x
-    cmp r0.w, -r7.x, -c3.x, r1.w
-    mul r10.xyz, r8, r8
-    cmp r11.x, -r10.x, -c11.z, r0.w
-    rcp r0.w, r14.y
-    rcp r1.w, r14.z
-    mul r1.w, r1.w, r8.z
-    min r2.w, r1.w, -c3.x
-    cmp r1.w, -r7.z, -c3.x, r2.w
-    cmp r11.z, -r10.z, -c11.z, r1.w
-    mul r0.w, r0.w, r8.y
-    min r1.w, r0.w, -c3.x
-    cmp r0.w, -r7.y, -c3.x, r1.w
-    cmp r11.y, -r10.y, -c11.z, r0.w
-    cmp r0.xyz, -r5.w, r11, r0
-    max r7.xyz, r8, r4
-    min r10.xyz, r4, r8
-    cmp r0.xyz, -r5.z, r7, r0
-    cmp r0.xyz, -r5.y, r10, r0
-    cmp r0.xyz, -r5.x, r9, r0
-    cmp r0.xyz, -r10.w, r1, r0
-    cmp r0.xyz, -c2.z, r2, r0
-    lrp r1.xyz, r6.w, r0, r4
-    mul r0.xyz, r3.w, r1
-    mul r1.x, r3.w, r3.w
-    mov r0.w, r3.w
-    cmp r0, -r1.x, r6, r0
-    mul r1.x, r6.w, r6.w
-    cmp r0, -r1.x, r3, r0
-    mov oC0, r0
-
-// approximately 326 instruction slots used (6 texture, 320 arithmetic)
-ps_4_0
-dcl_constantbuffer CB0[3], immediateIndexed
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_resource_texture2d (float,float,float,float) t1
-dcl_resource_texture2d (float,float,float,float) t2
-dcl_resource_texture2d (float,float,float,float) t3
-dcl_resource_texture2d (float,float,float,float) t5
-dcl_resource_texture2d (float,float,float,float) t6
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v1.zw
-dcl_input_ps linear v2.xyz
-dcl_output o0.xyzw
-dcl_temps 22
-sample r0.xyzw, v1.zwzz, t6.xyzw, s0
-if_z cb0[2].y
-  if_z cb0[2].x
-    sample r1.xyzw, v1.xyxx, t0.xyzw, s0
-    mul r1.xyz, r1.xyzx, cb0[1].xxxx
-    mov r1.w, cb0[1].x
-    mov r2.x, l(-1)
-  else 
-    ieq r2.y, l(1), cb0[2].x
-    if_nz r2.y
-      sample r3.xyzw, v1.xyxx, t0.xyzw, s0
-      mul r1.xyzw, r3.xyzw, cb0[1].xxxx
-      mov r2.x, l(-1)
-    else 
-      ieq r2.x, l(2), cb0[2].x
-      if_nz r2.x
-        sample r3.xyzw, v1.xyxx, t3.xyzw, s0
-        add r2.y, r3.x, l(-0.501960)
-        sample r3.xyzw, v1.xyxx, t1.xyzw, s0
-        add r2.z, r3.x, l(-0.062750)
-        sample r3.xyzw, v1.xyxx, t2.xyzw, s0
-        add r2.w, r3.x, l(-0.501960)
-        mul r3.xy, r2.yyyy, l(1.596030, 0.812970, 0.000000, 0.000000)
-        mad r4.x, r2.z, l(1.164380), r3.x
-        mad r2.y, r2.z, l(1.164380), -r3.y
-        mul r3.x, r2.w, l(2.017230)
-        mad r4.y, -r2.w, l(0.391760), r2.y
-        mad r4.z, r2.z, l(1.164380), r3.x
-        mov r4.w, l(1.000000)
-        mul r1.xyzw, r4.xyzw, cb0[1].xxxx
-      endif 
-    endif 
-  endif 
-  movc r1.xyzw, r2.xxxx, r1.xyzw, cb0[0].xyzw
-  mov r2.x, l(-1)
-else 
-  ieq r2.x, l(1), cb0[2].y
-  if_nz r2.x
-    if_z cb0[2].x
-      sample r3.xyzw, v1.xyxx, t0.xyzw, s0
-      mul r3.xyz, r3.xyzx, cb0[1].xxxx
-      div r2.yz, v2.xxyx, v2.zzzz
-      sample r4.xyzw, r2.yzyy, t5.xyzw, s0
-      mov r3.w, cb0[1].x
-      mul r1.xyzw, r3.xyzw, r4.xxxx
-      mov r2.y, l(-1)
-    else 
-      ieq r2.z, l(1), cb0[2].x
-      if_nz r2.z
-        div r2.zw, v2.xxxy, v2.zzzz
-        sample r3.xyzw, r2.zwzz, t5.xyzw, s0
-        sample r4.xyzw, v1.xyxx, t0.xyzw, s0
-        mul r4.xyzw, r4.xyzw, cb0[1].xxxx
-        mul r1.xyzw, r3.xxxx, r4.xyzw
-        mov r2.y, l(-1)
-      else 
-        ieq r2.y, l(2), cb0[2].x
-        if_nz r2.y
-          div r2.zw, v2.xxxy, v2.zzzz
-          sample r3.xyzw, r2.zwzz, t5.xyzw, s0
-          sample r4.xyzw, v1.xyxx, t3.xyzw, s0
-          add r2.z, r4.x, l(-0.501960)
-          sample r4.xyzw, v1.xyxx, t1.xyzw, s0
-          add r2.w, r4.x, l(-0.062750)
-          sample r4.xyzw, v1.xyxx, t2.xyzw, s0
-          add r3.y, r4.x, l(-0.501960)
-          mul r3.zw, r2.zzzz, l(0.000000, 0.000000, 1.596030, 0.812970)
-          mad r4.x, r2.w, l(1.164380), r3.z
-          mad r2.z, r2.w, l(1.164380), -r3.w
-          mul r3.z, r3.y, l(2.017230)
-          mad r4.y, -r3.y, l(0.391760), r2.z
-          mad r4.z, r2.w, l(1.164380), r3.z
-          mov r4.w, l(1.000000)
-          mul r4.xyzw, r4.xyzw, cb0[1].xxxx
-          mul r1.xyzw, r3.xxxx, r4.xyzw
-        endif 
-      endif 
-    endif 
-    if_z r2.y
-      div r2.yz, v2.xxyx, v2.zzzz
-      sample r3.xyzw, r2.yzyy, t5.xyzw, s0
-      mul r1.xyzw, r3.xxxx, cb0[0].xyzw
-    endif 
-  endif 
-endif 
-movc r1.xyzw, r2.xxxx, r1.xyzw, l(0,0,0,1.000000)
-eq r2.x, r0.w, l(0.000000)
-if_nz r2.x
-  mov o0.xyzw, r1.xyzw
-  ret 
-endif 
-eq r2.x, r1.w, l(0.000000)
-if_nz r2.x
-  mov o0.xyzw, r0.xyzw
-  ret 
-endif 
-div r0.xyz, r0.xyzx, r0.wwww
-div r2.xyz, r1.xyzx, r1.wwww
-movc r1.xyz, cb0[2].wwww, r2.xyzx, r1.xyzx
-mul r2.xyz, r0.xyzx, r1.xyzx
-add r3.xyz, r0.xyzx, r1.xyzx
-mad r4.xyz, -r0.xyzx, r1.xyzx, r3.xyzx
-ge r5.xyzw, l(0.500000, 0.500000, 0.500000, 0.250000), r0.xyzx
-add r6.xyz, r0.xyzx, r0.xyzx
-mul r7.xyz, r1.xyzx, r6.xyzx
-add r8.xyz, r1.xyzx, r1.xyzx
-mad r9.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r6.xyzx
-add r9.xyz, r9.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
-mul r10.xyz, r0.xyzx, r8.xyzx
-mad r8.xyz, -r8.xyzx, r0.xyzx, r9.xyzx
-movc r5.xyz, r5.xyzx, r7.xyzx, r8.xyzx
-min r7.xyz, r0.xyzx, r1.xyzx
-ieq r8.xyzw, l(1, 2, 3, 4), cb0[2].zzzz
-max r11.xyz, r0.xyzx, r1.xyzx
-eq r12.xyzw, r0.xyzx, l(0.000000, 0.000000, 0.000000, 1.000000)
-eq r13.xyzw, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-add r14.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-div r14.xyz, r0.xyzx, r14.xyzx
-min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-movc r13.xyz, r13.xyzx, l(1.000000,1.000000,1.000000,0), r14.xyzx
-movc r12.xyz, r12.xyzx, l(0,0,0,0), r13.xyzx
-add r13.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-div r14.xyz, r13.xyzx, r1.xyzx
-min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-add r14.xyz, -r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
-movc r2.w, r13.w, l(0), r14.x
-movc r15.x, r12.w, l(1.000000), r2.w
-eq r14.xw, r0.yyyz, l(1.000000, 0.000000, 0.000000, 1.000000)
-eq r16.xy, r1.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
-movc r14.yz, r16.xxyx, l(0,0,0,0), r14.yyzy
-movc r15.yz, r14.xxwx, l(0,1.000000,1.000000,0), r14.yyzy
-ge r14.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), r1.xyzx
-mad r6.xyz, -r1.xyzx, r6.xyzx, r9.xyzx
-movc r6.xyz, r14.xyzx, r10.xyzx, r6.xyzx
-ieq r9.xyzw, l(5, 6, 7, 8), cb0[2].zzzz
-mad r10.xyz, -r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
-mul r10.xyz, r0.xyzx, r10.xyzx
-mad r10.xyz, -r10.xyzx, r13.xyzx, r0.xyzx
-mad r13.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
-mad r16.xyz, r0.xyzx, l(16.000000, 16.000000, 16.000000, 0.000000), l(-12.000000, -12.000000, -12.000000, 0.000000)
-mad r16.xyz, r16.xyzx, r0.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000)
-mul r16.xyz, r0.xyzx, r16.xyzx
-sqrt r17.xyz, r0.xyzx
-movc r2.w, r5.w, r16.x, r17.x
-add r2.w, -r0.x, r2.w
-mad r2.w, r13.x, r2.w, r0.x
-movc r18.x, r14.x, r10.x, r2.w
-ge r10.xw, l(0.250000, 0.000000, 0.000000, 0.250000), r0.yyyz
-movc r10.xw, r10.xxxw, r16.yyyz, r17.yyyz
-add r10.xw, -r0.yyyz, r10.xxxw
-mad r10.xw, r13.yyyz, r10.xxxw, r0.yyyz
-movc r18.yz, r14.yyzy, r10.yyzy, r10.xxwx
-add r10.xyz, r0.xyzx, -r1.xyzx
-mad r3.xyz, -r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r3.xyzx
-max r2.w, r0.y, r0.x
-max r2.w, r0.z, r2.w
-min r3.w, r0.y, r0.x
-min r3.w, r0.z, r3.w
-add r13.w, r2.w, -r3.w
-ge r2.w, r1.y, r1.x
-if_nz r2.w
-  lt r14.xyz, r1.xxzx, r1.zyyz
-  add r16.xyzw, -r1.xxzz, r1.yzxy
-  mul r17.xyz, r13.wwww, r16.xyzx
-  div r13.xyz, r17.xyzx, r16.yxwy
-  and r16.yz, r13.xxwx, r14.xxxx
-  ge r14.xw, r1.zzzz, r1.yyyx
-  and r17.yz, r13.wwyw, r14.yyyy
-  and r19.xy, r13.zwzz, r14.zzzz
-  mov r17.x, l(0)
-  mov r19.z, l(0)
-  movc r14.yzw, r14.wwww, r17.xxyz, r19.xxyz
-  mov r16.x, l(0)
-  movc r14.xyz, r14.xxxx, r16.xyzx, r14.yzwy
-else 
-  lt r16.xyz, r1.yyzy, r1.zxxz
-  add r17.xyzw, -r1.yyzz, r1.xzyx
-  mul r19.xyz, r13.wwww, r17.xyzx
-  div r13.xyz, r19.xyzx, r17.yxwy
-  and r17.xz, r13.xxwx, r16.xxxx
-  ge r16.xw, r1.zzzz, r1.xxxy
-  and r19.xz, r13.wwyw, r16.yyyy
-  and r13.xy, r13.wzww, r16.zzzz
-  mov r19.y, l(0)
-  mov r13.z, l(0)
-  movc r13.xyz, r16.wwww, r19.xyzx, r13.xyzx
-  mov r17.y, l(0)
-  movc r14.xyz, r16.xxxx, r17.xyzx, r13.xyzx
-endif 
-dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx
-dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r14.xyzx
-add r3.w, r2.w, -r3.w
-add r13.xyz, r3.wwww, r14.xyzx
-dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r13.xyzx
-min r4.w, r13.y, r13.x
-min r4.w, r13.z, r4.w
-max r5.w, r13.y, r13.x
-max r5.w, r13.z, r5.w
-lt r6.w, r4.w, l(0.000000)
-add r14.xyz, -r3.wwww, r13.xyzx
-mul r14.xyz, r3.wwww, r14.xyzx
-add r4.w, r3.w, -r4.w
-div r14.xyz, r14.xyzx, r4.wwww
-add r14.xyz, r3.wwww, r14.xyzx
-movc r13.xyz, r6.wwww, r14.xyzx, r13.xyzx
-lt r4.w, l(1.000000), r5.w
-add r14.xyz, -r3.wwww, r13.xyzx
-add r6.w, -r3.w, l(1.000000)
-mul r14.xyz, r6.wwww, r14.xyzx
-add r5.w, -r3.w, r5.w
-div r14.xyz, r14.xyzx, r5.wwww
-add r14.xyz, r3.wwww, r14.xyzx
-movc r13.xyz, r4.wwww, r14.xyzx, r13.xyzx
-ieq r14.xyzw, l(9, 10, 11, 12), cb0[2].zzzz
-max r3.w, r1.y, r1.x
-max r3.w, r1.z, r3.w
-min r4.w, r1.y, r1.x
-min r4.w, r1.z, r4.w
-add r16.w, r3.w, -r4.w
-ge r3.w, r0.y, r0.x
-if_nz r3.w
-  lt r17.xyz, r0.xxzx, r0.zyyz
-  add r19.xyzw, -r0.xxzz, r0.yzxy
-  mul r20.xyz, r16.wwww, r19.xyzx
-  div r16.xyz, r20.xyzx, r19.yxwy
-  and r19.yz, r16.xxwx, r17.xxxx
-  ge r17.xw, r0.zzzz, r0.yyyx
-  and r20.yz, r16.wwyw, r17.yyyy
-  and r21.xy, r16.zwzz, r17.zzzz
-  mov r20.x, l(0)
-  mov r21.z, l(0)
-  movc r17.yzw, r17.wwww, r20.xxyz, r21.xxyz
-  mov r19.x, l(0)
-  movc r17.xyz, r17.xxxx, r19.xyzx, r17.yzwy
-else 
-  lt r19.xyz, r0.yyzy, r0.zxxz
-  add r20.xyzw, -r0.yyzz, r0.xzyx
-  mul r21.xyz, r16.wwww, r20.xyzx
-  div r16.xyz, r21.xyzx, r20.yxwy
-  and r20.xz, r16.xxwx, r19.xxxx
-  ge r19.xw, r0.zzzz, r0.xxxy
-  and r21.xz, r16.wwyw, r19.yyyy
-  and r16.xy, r16.wzww, r19.zzzz
-  mov r21.y, l(0)
-  mov r16.z, l(0)
-  movc r16.xyz, r19.wwww, r21.xyzx, r16.xyzx
-  mov r20.y, l(0)
-  movc r17.xyz, r19.xxxx, r20.xyzx, r16.xyzx
-endif 
-dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx
-add r3.w, r2.w, -r3.w
-add r16.xyz, r3.wwww, r17.xyzx
-dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r16.xyzx
-min r4.w, r16.y, r16.x
-min r4.w, r16.z, r4.w
-max r5.w, r16.y, r16.x
-max r5.w, r16.z, r5.w
-lt r6.w, r4.w, l(0.000000)
-add r17.xyz, -r3.wwww, r16.xyzx
-mul r17.xyz, r3.wwww, r17.xyzx
-add r4.w, r3.w, -r4.w
-div r17.xyz, r17.xyzx, r4.wwww
-add r17.xyz, r3.wwww, r17.xyzx
-movc r16.xyz, r6.wwww, r17.xyzx, r16.xyzx
-lt r4.w, l(1.000000), r5.w
-add r17.xyz, -r3.wwww, r16.xyzx
-add r6.w, -r3.w, l(1.000000)
-mul r17.xyz, r6.wwww, r17.xyzx
-add r5.w, -r3.w, r5.w
-div r17.xyz, r17.xyzx, r5.wwww
-add r17.xyz, r3.wwww, r17.xyzx
-movc r16.xyz, r4.wwww, r17.xyzx, r16.xyzx
-dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r1.xyzx
-add r4.w, r2.w, -r3.w
-add r17.xyz, r1.xyzx, r4.wwww
-dp3 r4.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx
-min r5.w, r17.y, r17.x
-min r5.w, r17.z, r5.w
-max r6.w, r17.y, r17.x
-max r6.w, r17.z, r6.w
-lt r7.w, r5.w, l(0.000000)
-add r19.xyz, -r4.wwww, r17.xyzx
-mul r19.xyz, r4.wwww, r19.xyzx
-add r5.w, r4.w, -r5.w
-div r19.xyz, r19.xyzx, r5.wwww
-add r19.xyz, r4.wwww, r19.xyzx
-movc r17.xyz, r7.wwww, r19.xyzx, r17.xyzx
-lt r5.w, l(1.000000), r6.w
-add r19.xyz, -r4.wwww, r17.xyzx
-add r7.w, -r4.w, l(1.000000)
-mul r19.xyz, r7.wwww, r19.xyzx
-add r6.w, -r4.w, r6.w
-div r19.xyz, r19.xyzx, r6.wwww
-add r19.xyz, r4.wwww, r19.xyzx
-movc r17.xyz, r5.wwww, r19.xyzx, r17.xyzx
-ieq r19.xy, l(13, 14, 0, 0), cb0[2].zzzz
-add r2.w, -r2.w, r3.w
-add r0.xyz, r0.xyzx, r2.wwww
-dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx
-min r3.w, r0.y, r0.x
-min r3.w, r0.z, r3.w
-max r4.w, r0.y, r0.x
-max r4.w, r0.z, r4.w
-lt r5.w, r3.w, l(0.000000)
-add r20.xyz, r0.xyzx, -r2.wwww
-mul r20.xyz, r2.wwww, r20.xyzx
-add r3.w, r2.w, -r3.w
-div r20.xyz, r20.xyzx, r3.wwww
-add r20.xyz, r2.wwww, r20.xyzx
-movc r0.xyz, r5.wwww, r20.xyzx, r0.xyzx
-lt r3.w, l(1.000000), r4.w
-add r20.xyz, -r2.wwww, r0.xyzx
-add r5.w, -r2.w, l(1.000000)
-mul r20.xyz, r5.wwww, r20.xyzx
-add r4.w, -r2.w, r4.w
-div r20.xyz, r20.xyzx, r4.wwww
-add r20.xyz, r2.wwww, r20.xyzx
-movc r0.xyz, r3.wwww, r20.xyzx, r0.xyzx
-and r0.xyz, r0.xyzx, r19.yyyy
-movc r0.xyz, r19.xxxx, r17.xyzx, r0.xyzx
-movc r0.xyz, r14.wwww, r16.xyzx, r0.xyzx
-movc r0.xyz, r14.zzzz, r13.xyzx, r0.xyzx
-movc r0.xyz, r14.yyyy, r3.xyzx, r0.xyzx
-movc r0.xyz, r14.xxxx, |r10.xyzx|, r0.xyzx
-movc r0.xyz, r9.wwww, r18.xyzx, r0.xyzx
-movc r0.xyz, r9.zzzz, r6.xyzx, r0.xyzx
-movc r0.xyz, r9.yyyy, r15.xyzx, r0.xyzx
-movc r0.xyz, r9.xxxx, r12.xyzx, r0.xyzx
-movc r0.xyz, r8.wwww, r11.xyzx, r0.xyzx
-movc r0.xyz, r8.zzzz, r7.xyzx, r0.xyzx
-movc r0.xyz, r8.yyyy, r5.xyzx, r0.xyzx
-movc r0.xyz, r8.xxxx, r4.xyzx, r0.xyzx
-movc r0.xyz, cb0[2].zzzz, r0.xyzx, r2.xyzx
-add r2.x, -r0.w, l(1.000000)
-mul r0.xyz, r0.xyzx, r0.wwww
-mad r0.xyz, r2.xxxx, r1.xyzx, r0.xyzx
-mul o0.xyz, r1.wwww, r0.xyzx
-mov o0.w, r1.w
-ret 
-// Approximately 339 instruction slots used
-#endif
-
-const BYTE BlendShader[] =
-{
-     68,  88,  66,  67, 122, 174, 
-    220,  58, 170,  47,  87,  82, 
-     85,   5, 178,  49, 217, 101, 
-    104, 140,   1,   0,   0,   0, 
-    184,  67,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     92,  23,   0,   0,   8,  63, 
-      0,   0, 132,  63,   0,   0, 
-    252,  66,   0,   0, 132,  67, 
-      0,   0,  65, 111, 110,  57, 
-     28,  23,   0,   0,  28,  23, 
-      0,   0,   0,   2, 255, 255, 
-    200,  22,   0,   0,  84,   0, 
-      0,   0,   2,   0,  60,   0, 
-      0,   0,  84,   0,   0,   0, 
-     84,   0,   6,   0,  36,   0, 
-      0,   0,  84,   0,   0,   0, 
-      0,   0,   1,   0,   1,   0, 
-      2,   0,   2,   0,   3,   0, 
-      3,   0,   5,   0,   4,   0, 
-      6,   0,   5,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   1,   0,   2,   0, 
-      3,   3,   3,   3,   1,   2, 
-    255, 255,  81,   0,   0,   5, 
-      3,   0,  15, 160,   0,   0, 
-    128, 191,   0,   0,   0, 192, 
-    115, 128,   0, 191,  18, 131, 
-    128, 189,  81,   0,   0,   5, 
-      4,   0,  15, 160, 182,  74, 
-    204,  63, 205,  30,  80,  63, 
-    103,  10, 149,  63,  76,  26, 
-      1,  64,  81,   0,   0,   5, 
-      5,   0,  15, 160,   0,   0, 
-      0, 192,   0,   0,  64, 192, 
-      0,   0, 128, 192,   0,   0, 
-    160, 192,  81,   0,   0,   5, 
-      6,   0,  15, 160,   0,   0, 
-    192, 192,   0,   0, 224, 192, 
-      0,   0,   0, 193,   0,   0, 
-     16, 193,  81,   0,   0,   5, 
-      7,   0,  15, 160,   0,   0, 
-    128,  63,   0,   0, 128,  62, 
-      0,   0,   0,  64,   0,   0, 
-    128, 191,  81,   0,   0,   5, 
-      8,   0,  15, 160,   0,   0, 
-    128,  65,   0,   0,  64, 193, 
-      0,   0,  96, 193,   0,   0, 
-      0,   0,  81,   0,   0,   5, 
-      9,   0,  15, 160,   0,   0, 
-     32, 193,   0,   0,  48, 193, 
-      0,   0,  64, 193,   0,   0, 
-     80, 193,  81,   0,   0,   5, 
-     10,   0,  15, 160, 154, 153, 
-    153,  62,  61,  10,  23,  63, 
-    174,  71, 225,  61,   0,   0, 
-      0,   0,  81,   0,   0,   5, 
-     11,   0,  15, 160, 196, 148, 
-    200,  62,   0,   0, 128, 191, 
-      0,   0,   0, 128,   0,   0, 
-      0, 191,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-     15, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   3,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   4,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   5,   8, 
-     15, 160,   1,   0,   0,   2, 
-      0,   0,   1, 128,  11,   0, 
-    170, 161,   1,   0,   0,   2, 
-      1,   0,   1, 128,  11,   0, 
-    170, 161,   1,   0,   0,   2, 
-      2,   0,   4, 128,  11,   0, 
-    170, 161,  66,   0,   0,   3, 
-      3,   0,  15, 128,   0,   0, 
-    228, 176,   1,   8, 228, 160, 
-     66,   0,   0,   3,   4,   0, 
-     15, 128,   0,   0, 228, 176, 
-      3,   8, 228, 160,   2,   0, 
-      0,   3,   0,   0,   8, 128, 
-      4,   0,   0, 128,   3,   0, 
-    170, 160,   5,   0,   0,   3, 
-      3,   0,   6, 128,   0,   0, 
-    255, 128,   4,   0, 208, 160, 
-      2,   0,   0,   3,   0,   0, 
-      8, 128,   3,   0,   0, 128, 
-      3,   0, 255, 160,   4,   0, 
-      0,   4,   1,   0,   8, 128, 
-      0,   0, 255, 128,   4,   0, 
-    170, 160,   3,   0, 170, 129, 
-      4,   0,   0,   4,   3,   0, 
-      1, 128,   0,   0, 255, 128, 
-      4,   0, 170, 160,   3,   0, 
-     85, 128,   6,   0,   0,   2, 
-      2,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      4,   0,   3, 128,   2,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   5,   0, 
-     15, 128,   0,   0, 228, 176, 
-      2,   8, 228, 160,  66,   0, 
-      0,   3,   4,   0,  15, 128, 
-      4,   0, 228, 128,   4,   8, 
-    228, 160,   2,   0,   0,   3, 
-      2,   0,   8, 128,   5,   0, 
-      0, 128,   3,   0, 170, 160, 
-      4,   0,   0,   4,   3,   0, 
-      2, 128,   2,   0, 255, 128, 
-     11,   0,   0, 161,   1,   0, 
-    255, 128,   5,   0,   0,   3, 
-      1,   0,   8, 128,   2,   0, 
-    255, 128,   4,   0, 255, 160, 
-      4,   0,   0,   4,   3,   0, 
-      4, 128,   0,   0, 255, 128, 
-      4,   0, 170, 160,   1,   0, 
-    255, 128,   1,   0,   0,   2, 
-      3,   0,   8, 128,   3,   0, 
-      0, 161,   5,   0,   0,   3, 
-      3,   0,  15, 128,   3,   0, 
-    228, 128,   1,   0,   0, 160, 
-      5,   0,   0,   3,   5,   0, 
-     15, 128,   4,   0,   0, 128, 
-      3,   0, 228, 128,   1,   0, 
-      0,   2,   6,   0,   3, 128, 
-      0,   0, 235, 176,  66,   0, 
-      0,   3,   7,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,  66,   0,   0,   3, 
-      6,   0,  15, 128,   6,   0, 
-    228, 128,   5,   8, 228, 160, 
-      5,   0,   0,   3,   7,   0, 
-     15, 128,   7,   0, 228, 128, 
-      1,   0,   0, 160,   5,   0, 
-      0,   3,   8,   0,  15, 128, 
-      4,   0,   0, 128,   7,   0, 
-    228, 128,   1,   0,   0,   2, 
-      9,   0,   3, 128,   3,   0, 
-    228, 160,   2,   0,   0,   3, 
-     10,   0,  15, 128,   9,   0, 
-      4, 128,   2,   0, 144, 160, 
-      5,   0,   0,   3,  10,   0, 
-     15, 128,  10,   0, 228, 128, 
-     10,   0, 228, 128,  88,   0, 
-      0,   4,   5,   0,  15, 128, 
-     10,   0,   0, 129,   8,   0, 
-    228, 128,   5,   0, 228, 128, 
-     88,   0,   0,   4,   3,   0, 
-     15, 128,  10,   0,   0, 129, 
-      7,   0, 228, 128,   3,   0, 
-    228, 128,   1,   0,   0,   2, 
-      7,   0,   8, 128,   1,   0, 
-      0, 160,   5,   0,   0,   3, 
-      8,   0,  15, 128,   4,   0, 
-      0, 128,   7,   0, 228, 128, 
-     88,   0,   0,   4,   3,   0, 
-     15, 128,   2,   0,   0, 161, 
-      7,   0, 228, 128,   3,   0, 
-    228, 128,   5,   0,   0,   3, 
-      4,   0,  15, 128,   4,   0, 
-      0, 128,   0,   0, 228, 160, 
-     88,   0,   0,   4,   5,   0, 
-     15, 128,   2,   0,   0, 161, 
-      8,   0, 228, 128,   5,   0, 
-    228, 128,  88,   0,   0,   4, 
-      7,   0,   3, 128,  10,   0, 
-    233, 129,  11,   0,  85, 160, 
-     11,   0, 170, 160,  88,   0, 
-      0,   4,   0,   0,   8, 128, 
-     10,   0,   0, 129,   3,   0, 
-      0, 160,   7,   0,   0, 128, 
-     88,   0,   0,   4,   1,   0, 
-      8, 128,   2,   0,  85, 161, 
-      9,   0,   0, 128,   7,   0, 
-     85, 128,  88,   0,   0,   4, 
-      0,   0,   8, 128,   2,   0, 
-      0, 161,   9,   0,   0, 128, 
-      0,   0, 255, 128,  88,   0, 
-      0,   4,   4,   0,  15, 128, 
-      0,   0, 255, 128,   4,   0, 
-    228, 128,   5,   0, 228, 128, 
-     88,   0,   0,   4,   3,   0, 
-     15, 128,   0,   0, 255, 128, 
-      0,   0, 228, 160,   3,   0, 
-    228, 128,  88,   0,   0,   4, 
-      3,   0,  15, 128,   2,   0, 
-     85, 161,   3,   0, 228, 128, 
-      4,   0, 228, 128,  88,   0, 
-      0,   4,   3,   0,  15, 128, 
-      1,   0, 255, 128,  11,   0, 
-    106, 161,   3,   0, 228, 128, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,   3,   0, 255, 128, 
-      5,   0,   0,   3,   4,   0, 
-      7, 128,   0,   0, 255, 128, 
-      3,   0, 228, 128,  88,   0, 
-      0,   4,   4,   0,   7, 128, 
-      2,   0, 255, 161,   3,   0, 
-    228, 128,   4,   0, 228, 128, 
-      2,   0,   0,   3,   5,   0, 
-      3, 128,   4,   0, 233, 129, 
-      4,   0, 228, 128,  88,   0, 
-      0,   4,   5,   0,  12, 128, 
-      5,   0,   0, 128,   4,   0, 
-     68, 128,   4,   0,  20, 128, 
-     11,   0,   0,   3,   0,   0, 
-      8, 128,   5,   0, 170, 128, 
-      4,   0, 170, 128,  10,   0, 
-      0,   3,   1,   0,   8, 128, 
-      4,   0, 170, 128,   5,   0, 
-    255, 128,   2,   0,   0,   3, 
-      7,   0,   8, 128,   0,   0, 
-    255, 128,   1,   0, 255, 129, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,   6,   0, 255, 128, 
-      5,   0,   0,   3,   8,   0, 
-      7, 128,   0,   0, 255, 128, 
-      6,   0, 228, 128,   4,   0, 
-      0,   4,   5,   0,  12, 128, 
-      6,   0, 100, 128,   0,   0, 
-    255, 128,   8,   0, 132, 129, 
-      5,   0,   0,   3,   9,   0, 
-      3, 128,   7,   0, 255, 128, 
-      5,   0, 238, 128,   4,   0, 
-      0,   4,  11,   0,  15, 128, 
-      6,   0, 129, 128,   0,   0, 
-    255, 128,   8,   0,  88, 129, 
-      6,   0,   0,   2,   1,   0, 
-      8, 128,  11,   0,   0, 128, 
-      5,   0,   0,   3,   7,   0, 
-      2, 128,   1,   0, 255, 128, 
-      9,   0,   0, 128,  88,   0, 
-      0,   4,   1,   0,   6, 128, 
-     11,   0, 170, 128,  11,   0, 
-    170, 161,   7,   0, 220, 128, 
-      5,   0,   0,   3,  12,   0, 
-     15, 128,   7,   0, 255, 128, 
-     11,   0, 228, 128,   6,   0, 
-      0,   2,   1,   0,   8, 128, 
-      5,   0, 255, 128,   5,   0, 
-      0,   3,   7,   0,   1, 128, 
-      1,   0, 255, 128,  12,   0, 
-     85, 128,  88,   0,   0,   4, 
-      2,   0,   3, 128,  11,   0, 
-    255, 128,  11,   0, 170, 161, 
-      7,   0, 236, 128,  88,   0, 
-      0,   4,   1,   0,   7, 128, 
-      5,   0, 170, 128,   1,   0, 
-    228, 128,   2,   0, 228, 128, 
-      6,   0,   0,   2,   1,   0, 
-      8, 128,   5,   0, 170, 128, 
-      5,   0,   0,   3,   7,   0, 
-      4, 128,   1,   0, 255, 128, 
-     12,   0,   0, 128,  88,   0, 
-      0,   4,   0,   0,   6, 128, 
-     11,   0,  85, 128,  11,   0, 
-    170, 161,   7,   0, 248, 128, 
-     88,   0,   0,   4,   0,   0, 
-      7, 128,  11,   0, 255, 128, 
-      0,   0, 228, 128,   1,   0, 
-    228, 128,   1,   0,   0,   2, 
-      1,   0,   2, 128,  11,   0, 
-    170, 161,   1,   0,   0,   2, 
-      2,   0,   2, 128,  11,   0, 
-    170, 161,   1,   0,   0,   2, 
-     10,   0,   4, 128,  11,   0, 
-    170, 161,   6,   0,   0,   2, 
-      1,   0,   8, 128,  11,   0, 
-    170, 128,   5,   0,   0,   3, 
-      7,   0,   2, 128,   1,   0, 
-    255, 128,  12,   0, 255, 128, 
-     88,   0,   0,   4,   2,   0, 
-      5, 128,  11,   0,   0, 128, 
-     11,   0, 170, 161,   7,   0, 
-    215, 128,   6,   0,   0,   2, 
-      1,   0,   8, 128,  11,   0, 
-     85, 128,   5,   0,   0,   3, 
-      7,   0,   1, 128,   1,   0, 
-    255, 128,   9,   0,  85, 128, 
-     88,   0,   0,   4,  10,   0, 
-      3, 128,   5,   0, 170, 128, 
-     11,   0, 170, 161,   7,   0, 
-    227, 128,  88,   0,   0,   4, 
-      2,   0,   7, 128,  11,   0, 
-    255, 128,   2,   0, 228, 128, 
-     10,   0, 228, 128,   6,   0, 
-      0,   2,   1,   0,   8, 128, 
-     11,   0, 255, 128,   5,   0, 
-      0,   3,   7,   0,   4, 128, 
-      1,   0, 255, 128,  12,   0, 
-    170, 128,  88,   0,   0,   4, 
-      1,   0,   5, 128,   5,   0, 
-    255, 128,  11,   0, 170, 161, 
-      7,   0, 246, 128,  88,   0, 
-      0,   4,   1,   0,   7, 128, 
-      5,   0, 170, 128,   1,   0, 
-    228, 128,   2,   0, 228, 128, 
-     88,   0,   0,   4,   0,   0, 
-      7, 128,  11,   0,   0, 128, 
-      0,   0, 228, 128,   1,   0, 
-    228, 128,  88,   0,   0,   4, 
-      1,   0,   3, 128,  11,   0, 
-    170, 128,   8,   0, 228, 128, 
-      8,   0, 225, 128,   8,   0, 
-      0,   3,   4,   0,   8, 128, 
-     10,   0, 228, 160,   0,   0, 
-    228, 128,   8,   0,   0,   3, 
-      8,   0,   8, 128,  10,   0, 
-    228, 160,   8,   0, 228, 128, 
-      2,   0,   0,   3,   4,   0, 
-      8, 128,   4,   0, 255, 129, 
-      8,   0, 255, 128,   2,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 228, 128,   4,   0, 
-    255, 128,   2,   0,   0,   3, 
-      4,   0,   8, 128,   0,   0, 
-     85, 129,   0,   0,   0, 128, 
-     88,   0,   0,   4,   1,   0, 
-     12, 128,   4,   0, 255, 128, 
-      0,   0,  20, 128,   0,   0, 
-     68, 128,  10,   0,   0,   3, 
-      4,   0,   8, 128,   0,   0, 
-    170, 128,   1,   0, 170, 128, 
-     11,   0,   0,   3,   2,   0, 
-      1, 128,   1,   0, 255, 128, 
-      0,   0, 170, 128,   8,   0, 
-      0,   3,   1,   0,   4, 128, 
-     10,   0, 228, 160,   0,   0, 
-    228, 128,   2,   0,   0,   3, 
-      1,   0,   8, 128,   4,   0, 
-    255, 129,   1,   0, 170, 128, 
-      6,   0,   0,   2,   1,   0, 
-      8, 128,   1,   0, 255, 128, 
-      2,   0,   0,   3,   2,   0, 
-     14, 128,   0,   0, 144, 128, 
-      1,   0, 170, 129,   5,   0, 
-      0,   3,   2,   0,  14, 128, 
-      1,   0, 170, 128,   2,   0, 
-    228, 128,   4,   0,   0,   4, 
-      2,   0,  14, 128,   2,   0, 
-    228, 128,   1,   0, 255, 128, 
-      1,   0, 170, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      4,   0, 255, 128,   0,   0, 
-    228, 128,   2,   0, 249, 128, 
-      2,   0,   0,   3,   2,   0, 
-     14, 128,   1,   0, 170, 129, 
-      0,   0, 144, 128,   2,   0, 
-      0,   3,   1,   0,   8, 128, 
-      1,   0, 170, 129,   3,   0, 
-      0, 161,   5,   0,   0,   3, 
-      2,   0,  14, 128,   1,   0, 
-    255, 128,   2,   0, 228, 128, 
-      2,   0,   0,   3,   1,   0, 
-      8, 128,   1,   0, 170, 129, 
-      2,   0,   0, 128,   2,   0, 
-      0,   3,   4,   0,   8, 128, 
-      2,   0,   0, 129,   3,   0, 
-      0, 161,   6,   0,   0,   2, 
-      1,   0,   8, 128,   1,   0, 
-    255, 128,   4,   0,   0,   4, 
-      2,   0,   7, 128,   2,   0, 
-    249, 128,   1,   0, 255, 128, 
-      1,   0, 170, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      4,   0, 255, 128,   0,   0, 
-    228, 128,   2,   0, 228, 128, 
-      1,   0,   0,   2,   4,   0, 
-      8, 128,   2,   0, 170, 160, 
-      2,   0,   0,   3,   1,   0, 
-      4, 128,   4,   0, 255, 128, 
-      8,   0, 170, 160,   5,   0, 
-      0,   3,   1,   0,   4, 128, 
-      1,   0, 170, 128,   1,   0, 
-    170, 128,   8,   0,   0,   3, 
-      1,   0,   8, 128,  10,   0, 
-    228, 160,   4,   0, 228, 128, 
-      2,   0,   0,   3,   2,   0, 
-      1, 128,   8,   0, 255, 129, 
-      1,   0, 255, 128,   2,   0, 
-      0,   3,   1,   0,   8, 128, 
-      1,   0, 255, 129,   8,   0, 
-    255, 128,   2,   0,   0,   3, 
-      2,   0,  14, 128,   1,   0, 
-    255, 128,   4,   0, 144, 128, 
-      4,   0,   0,   4,   7,   0, 
-      7, 128,   6,   0, 228, 128, 
-      0,   0, 255, 128,   2,   0, 
-      0, 128,   2,   0,   0,   3, 
-      1,   0,   8, 128,   7,   0, 
-     85, 129,   7,   0,   0, 128, 
-     88,   0,   0,   4,   5,   0, 
-     12, 128,   1,   0, 255, 128, 
-      7,   0,  20, 128,   7,   0, 
-     68, 128,  10,   0,   0,   3, 
-      1,   0,   8, 128,   7,   0, 
-    170, 128,   5,   0, 170, 128, 
-     11,   0,   0,   3,   2,   0, 
-      1, 128,   5,   0, 255, 128, 
-      7,   0, 170, 128,   8,   0, 
-      0,   3,   7,   0,   8, 128, 
-     10,   0, 228, 160,   7,   0, 
-    228, 128,   2,   0,   0,   3, 
-      5,   0,   4, 128,   1,   0, 
-    255, 129,   7,   0, 255, 128, 
-      6,   0,   0,   2,   5,   0, 
-      4, 128,   5,   0, 170, 128, 
-      2,   0,   0,   3,   9,   0, 
-      7, 128,   7,   0, 255, 129, 
-      7,   0, 228, 128,   5,   0, 
-      0,   3,   9,   0,   7, 128, 
-      7,   0, 255, 128,   9,   0, 
-    228, 128,   4,   0,   0,   4, 
-      9,   0,   7, 128,   9,   0, 
-    228, 128,   5,   0, 170, 128, 
-      7,   0, 255, 128,  88,   0, 
-      0,   4,   7,   0,   7, 128, 
-      1,   0, 255, 128,   7,   0, 
-    228, 128,   9,   0, 228, 128, 
-      2,   0,   0,   3,   9,   0, 
-      7, 128,   7,   0, 255, 129, 
-      7,   0, 228, 128,   2,   0, 
-      0,   3,   1,   0,   8, 128, 
-      7,   0, 255, 129,   3,   0, 
-      0, 161,   5,   0,   0,   3, 
-      9,   0,   7, 128,   1,   0, 
-    255, 128,   9,   0, 228, 128, 
-      2,   0,   0,   3,   1,   0, 
-      8, 128,   2,   0,   0, 128, 
-      7,   0, 255, 129,   2,   0, 
-      0,   3,   9,   0,   8, 128, 
-      2,   0,   0, 129,   3,   0, 
-      0, 161,   6,   0,   0,   2, 
-      1,   0,   8, 128,   1,   0, 
-    255, 128,   4,   0,   0,   4, 
-      9,   0,   7, 128,   9,   0, 
-    228, 128,   1,   0, 255, 128, 
-      7,   0, 255, 128,  88,   0, 
-      0,   4,   7,   0,   7, 128, 
-      9,   0, 255, 128,   7,   0, 
-    228, 128,   9,   0, 228, 128, 
-     88,   0,   0,   4,   7,   0, 
-      7, 128,   1,   0, 170, 129, 
-      7,   0, 228, 128,  11,   0, 
-    170, 161,   2,   0,   0,   3, 
-      7,   0,   8, 128,   2,   0, 
-    170, 129,   2,   0,  85, 128, 
-     88,   0,   0,   4,   1,   0, 
-     12, 128,   7,   0, 255, 128, 
-      2,   0, 100, 128,   2,   0, 
-    148, 128,  10,   0,   0,   3, 
-      7,   0,   8, 128,   2,   0, 
-    255, 128,   1,   0, 170, 128, 
-     11,   0,   0,   3,   5,   0, 
-      4, 128,   1,   0, 255, 128, 
-      2,   0, 255, 128,   8,   0, 
-      0,   3,   5,   0,   8, 128, 
-     10,   0, 228, 160,   2,   0, 
-    249, 128,   2,   0,   0,   3, 
-      1,   0,   4, 128,   7,   0, 
-    255, 129,   5,   0, 255, 128, 
-      6,   0,   0,   2,   1,   0, 
-      4, 128,   1,   0, 170, 128, 
-      2,   0,   0,   3,   9,   0, 
-      7, 128,   2,   0, 249, 128, 
-      5,   0, 255, 129,   5,   0, 
-      0,   3,   9,   0,   7, 128, 
-      5,   0, 255, 128,   9,   0, 
-    228, 128,   4,   0,   0,   4, 
-      9,   0,   7, 128,   9,   0, 
-    228, 128,   1,   0, 170, 128, 
-      5,   0, 255, 128,  88,   0, 
-      0,   4,   2,   0,   7, 128, 
-      7,   0, 255, 128,   2,   0, 
-    249, 128,   9,   0, 228, 128, 
-      2,   0,   0,   3,   9,   0, 
-      7, 128,   5,   0, 255, 129, 
-      2,   0, 228, 128,   2,   0, 
-      0,   3,   2,   0,   8, 128, 
-      5,   0, 255, 129,   3,   0, 
-      0, 161,   5,   0,   0,   3, 
-      9,   0,   7, 128,   2,   0, 
-    255, 128,   9,   0, 228, 128, 
-      2,   0,   0,   3,   2,   0, 
-      8, 128,   5,   0, 255, 129, 
-      5,   0, 170, 128,   2,   0, 
-      0,   3,   7,   0,   8, 128, 
-      5,   0, 170, 129,   3,   0, 
-      0, 161,   6,   0,   0,   2, 
-      2,   0,   8, 128,   2,   0, 
-    255, 128,   4,   0,   0,   4, 
-      9,   0,   7, 128,   9,   0, 
-    228, 128,   2,   0, 255, 128, 
-      5,   0, 255, 128,  88,   0, 
-      0,   4,   2,   0,   7, 128, 
-      7,   0, 255, 128,   2,   0, 
-    228, 128,   9,   0, 228, 128, 
-      2,   0,   0,   3,   9,   0, 
-     15, 128,   4,   0, 255, 128, 
-      9,   0, 228, 160,   5,   0, 
-      0,   3,   9,   0,  15, 128, 
-      9,   0, 228, 128,   9,   0, 
-    228, 128,  88,   0,   0,   4, 
-      2,   0,   7, 128,   9,   0, 
-    255, 129,   2,   0, 228, 128, 
-      7,   0, 228, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      9,   0, 170, 129,   0,   0, 
-    228, 128,   2,   0, 228, 128, 
-      2,   0,   0,   3,   2,   0, 
-     15, 128,   4,   0,  96, 129, 
-      4,   0, 137, 128,   1,   0, 
-      0,   2,   7,   0,   2, 128, 
-     11,   0, 170, 161,   1,   0, 
-      0,   2,  10,   0,   2, 128, 
-     11,   0, 170, 161,   1,   0, 
-      0,   2,  11,   0,   4, 128, 
-     11,   0, 170, 161,   6,   0, 
-      0,   2,   7,   0,   8, 128, 
-      2,   0, 170, 128,  11,   0, 
-      0,   3,  11,   0,   8, 128, 
-      1,   0,   0, 128,   8,   0, 
-    170, 128,  10,   0,   0,   3, 
-      5,   0,   4, 128,   8,   0, 
-    170, 128,   1,   0,  85, 128, 
-      2,   0,   0,   3,   1,   0, 
-      8, 128,   5,   0, 170, 129, 
-     11,   0, 255, 128,   5,   0, 
-      0,   3,   5,   0,  12, 128, 
-      1,   0, 255, 128,   5,   0, 
-     68, 128,   5,   0,   0,   3, 
-      1,   0,   1, 128,   7,   0, 
-    255, 128,   5,   0, 255, 128, 
-     88,   0,   0,   4,  11,   0, 
-      3, 128,   2,   0,  85, 128, 
-     11,   0, 170, 161,   1,   0, 
-    227, 128,   6,   0,   0,   2, 
-      5,   0,   8, 128,   5,   0, 
-      0, 128,   5,   0,   0,   3, 
-     12,   0,  15, 128,   1,   0, 
-    255, 128,   2,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-      2, 128,   5,   0, 255, 128, 
-     12,   0, 255, 128,  88,   0, 
-      0,   4,  10,   0,   5, 128, 
-      2,   0,   0, 128,  11,   0, 
-    170, 161,   1,   0, 215, 128, 
-     88,   0,   0,   4,  10,   0, 
-      7, 128,   2,   0, 255, 128, 
-     10,   0, 228, 128,  11,   0, 
-    228, 128,   6,   0,   0,   2, 
-      5,   0,   8, 128,   2,   0, 
-    255, 128,   5,   0,   0,   3, 
-      1,   0,   4, 128,   5,   0, 
-    255, 128,   5,   0, 170, 128, 
-     88,   0,   0,   4,   7,   0, 
-      5, 128,   5,   0,  85, 128, 
-     11,   0, 170, 161,   1,   0, 
-    246, 128,  88,   0,   0,   4, 
-      7,   0,   7, 128,   2,   0, 
-     85, 128,   7,   0, 228, 128, 
-     10,   0, 228, 128,   1,   0, 
-      0,   2,  10,   0,   1, 128, 
-     11,   0, 170, 161,   1,   0, 
-      0,   2,  11,   0,   1, 128, 
-     11,   0, 170, 161,   1,   0, 
-      0,   2,  13,   0,   4, 128, 
-     11,   0, 170, 161,   6,   0, 
-      0,   2,   7,   0,   8, 128, 
-      2,   0,   0, 128,   5,   0, 
-      0,   3,   1,   0,   2, 128, 
-      7,   0, 255, 128,  12,   0, 
-     85, 128,  88,   0,   0,   4, 
-     11,   0,   6, 128,   5,   0, 
-      0, 128,  11,   0, 170, 161, 
-      1,   0, 220, 128,   6,   0, 
-      0,   2,   7,   0,   8, 128, 
-      5,   0,  85, 128,   5,   0, 
-      0,   3,   1,   0,   1, 128, 
-      7,   0, 255, 128,  12,   0, 
-    170, 128,  88,   0,   0,   4, 
-     13,   0,   3, 128,   2,   0, 
-    255, 128,  11,   0, 170, 161, 
-      1,   0, 236, 128,  88,   0, 
-      0,   4,   5,   0,   7, 128, 
-      2,   0,  85, 128,  11,   0, 
-    228, 128,  13,   0, 228, 128, 
-      6,   0,   0,   2,   5,   0, 
-      8, 128,   2,   0,  85, 128, 
-      5,   0,   0,   3,   1,   0, 
-      4, 128,   5,   0, 255, 128, 
-     12,   0,   0, 128,  88,   0, 
-      0,   4,  10,   0,   6, 128, 
-      2,   0, 170, 128,  11,   0, 
-    170, 161,   1,   0, 248, 128, 
-     88,   0,   0,   4,   1,   0, 
-      7, 128,   2,   0, 255, 128, 
-     10,   0, 228, 128,   5,   0, 
-    228, 128,  88,   0,   0,   4, 
-      1,   0,   7, 128,   2,   0, 
-      0, 128,   1,   0, 228, 128, 
-      7,   0, 228, 128,   8,   0, 
-      0,   3,   1,   0,   8, 128, 
-     10,   0, 228, 160,   1,   0, 
-    228, 128,   2,   0,   0,   3, 
-      1,   0,   8, 128,   1,   0, 
-    255, 129,   8,   0, 255, 128, 
-      2,   0,   0,   3,   1,   0, 
-      7, 128,   1,   0, 255, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   1,   0,   8, 128, 
-      1,   0,  85, 129,   1,   0, 
-      0, 128,  88,   0,   0,   4, 
-      2,   0,   3, 128,   1,   0, 
-    255, 128,   1,   0, 225, 128, 
-      1,   0, 228, 128,  10,   0, 
-      0,   3,   8,   0,   8, 128, 
-      1,   0, 170, 128,   2,   0, 
-      0, 128,  11,   0,   0,   3, 
-      5,   0,   1, 128,   2,   0, 
-     85, 128,   1,   0, 170, 128, 
-      8,   0,   0,   3,   1,   0, 
-      8, 128,  10,   0, 228, 160, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   2,   0,   1, 128, 
-      8,   0, 255, 129,   1,   0, 
-    255, 128,   6,   0,   0,   2, 
-      2,   0,   1, 128,   2,   0, 
-      0, 128,   2,   0,   0,   3, 
-      2,   0,  14, 128,   1,   0, 
-    255, 129,   1,   0, 144, 128, 
-      5,   0,   0,   3,   2,   0, 
-     14, 128,   1,   0, 255, 128, 
-      2,   0, 228, 128,   4,   0, 
-      0,   4,   2,   0,   7, 128, 
-      2,   0, 249, 128,   2,   0, 
-      0, 128,   1,   0, 255, 128, 
-     88,   0,   0,   4,   1,   0, 
-      7, 128,   8,   0, 255, 128, 
-      1,   0, 228, 128,   2,   0, 
-    228, 128,   2,   0,   0,   3, 
-      2,   0,   7, 128,   1,   0, 
-    255, 129,   1,   0, 228, 128, 
-      2,   0,   0,   3,   2,   0, 
-      8, 128,   1,   0, 255, 129, 
-      3,   0,   0, 161,   5,   0, 
-      0,   3,   2,   0,   7, 128, 
-      2,   0, 255, 128,   2,   0, 
-    228, 128,   2,   0,   0,   3, 
-      2,   0,   8, 128,   1,   0, 
-    255, 129,   5,   0,   0, 128, 
-      2,   0,   0,   3,   8,   0, 
-      8, 128,   5,   0,   0, 129, 
-      3,   0,   0, 161,   6,   0, 
-      0,   2,   2,   0,   8, 128, 
-      2,   0, 255, 128,   4,   0, 
-      0,   4,   2,   0,   7, 128, 
-      2,   0, 228, 128,   2,   0, 
-    255, 128,   1,   0, 255, 128, 
-     88,   0,   0,   4,   1,   0, 
-      7, 128,   8,   0, 255, 128, 
-      1,   0, 228, 128,   2,   0, 
-    228, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,   9,   0, 
-     85, 129,   1,   0, 228, 128, 
-      0,   0, 228, 128,   4,   0, 
-      0,   4,   1,   0,   7, 128, 
-      6,   0, 228, 128,   0,   0, 
-    255, 128,   4,   0, 228, 128, 
-      5,   0,   0,   3,   2,   0, 
-      7, 128,   4,   0, 228, 128, 
-      8,   0, 228, 128,   4,   0, 
-      0,   4,   5,   0,   7, 128, 
-      2,   0, 228, 128,   3,   0, 
-     85, 160,   1,   0, 228, 128, 
-      4,   0,   0,   4,   1,   0, 
-      7, 128,   8,   0, 228, 128, 
-      4,   0, 228, 129,   1,   0, 
-    228, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,   9,   0, 
-      0, 129,   5,   0, 228, 128, 
-      0,   0, 228, 128,   4,   0, 
-      0,   4,   5,   0,   7, 128, 
-      6,   0, 228, 128,   0,   0, 
-    255, 128,   4,   0, 228, 129, 
-     35,   0,   0,   2,   5,   0, 
-      7, 128,   5,   0, 228, 128, 
-      2,   0,   0,   3,   7,   0, 
-     15, 128,   4,   0, 255, 128, 
-      6,   0, 228, 160,   5,   0, 
-      0,   3,   7,   0,  15, 128, 
-      7,   0, 228, 128,   7,   0, 
-    228, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,   7,   0, 
-    255, 129,   5,   0, 228, 128, 
-      0,   0, 228, 128,   2,   0, 
-      0,   3,   5,   0,   3, 128, 
-      4,   0, 233, 129,  11,   0, 
-    255, 161,   4,   0,   0,   4, 
-      9,   0,   7, 128,   4,   0, 
-    228, 128,   7,   0, 170, 160, 
-      7,   0, 255, 160,   4,   0, 
-      0,   4,   1,   0,   8, 128, 
-      6,   0, 170, 128,   0,   0, 
-    255, 129,   7,   0,  85, 160, 
-      4,   0,   0,   4,  10,   0, 
-      7, 128,   8,   0, 228, 128, 
-      8,   0,   0, 160,   8,   0, 
-     85, 160,   4,   0,   0,   4, 
-     10,   0,   7, 128,  10,   0, 
-    228, 128,   8,   0, 228, 128, 
-      5,   0, 170, 161,   5,   0, 
-      0,   3,  10,   0,   7, 128, 
-      8,   0, 228, 128,  10,   0, 
-    228, 128,   7,   0,   0,   2, 
-      2,   0,   8, 128,   8,   0, 
-    170, 128,   6,   0,   0,   2, 
-      2,   0,   8, 128,   2,   0, 
-    255, 128,  88,   0,   0,   4, 
-      1,   0,   8, 128,   1,   0, 
-    255, 128,  10,   0, 170, 128, 
-      2,   0, 255, 128,   4,   0, 
-      0,   4,   1,   0,   8, 128, 
-      6,   0, 170, 128,   0,   0, 
-    255, 129,   1,   0, 255, 128, 
-      4,   0,   0,   4,   1,   0, 
-      8, 128,   9,   0, 170, 128, 
-      1,   0, 255, 128,   8,   0, 
-    170, 128,   4,   0,   0,   4, 
-     11,   0,   7, 128,   4,   0, 
-    228, 128,   3,   0,  85, 160, 
-      3,   0,   0, 161,   5,   0, 
-      0,   3,  11,   0,   7, 128, 
-      8,   0, 228, 128,  11,   0, 
-    228, 128,   4,   0,   0,   4, 
-     12,   0,  15, 128,   6,   0, 
-     73, 128,   0,   0, 255, 129, 
-      7,   0,  80, 160,   4,   0, 
-      0,   4,   5,   0,  12, 128, 
-     11,   0, 148, 128,  12,   0, 
-     68, 129,   8,   0, 148, 128, 
-     88,   0,   0,   4,  13,   0, 
-      4, 128,   5,   0,  85, 128, 
-      5,   0, 255, 128,   1,   0, 
-    255, 128,   7,   0,   0,   2, 
-      1,   0,   8, 128,   8,   0, 
-     85, 128,   6,   0,   0,   2, 
-      1,   0,   8, 128,   1,   0, 
-    255, 128,  88,   0,   0,   4, 
-      1,   0,   8, 128,  12,   0, 
-    255, 128,  10,   0,  85, 128, 
-      1,   0, 255, 128,   4,   0, 
-      0,   4,   1,   0,   8, 128, 
-      6,   0,  85, 128,   0,   0, 
-    255, 129,   1,   0, 255, 128, 
-      4,   0,   0,   4,   1,   0, 
-      8, 128,   9,   0,  85, 128, 
-      1,   0, 255, 128,   8,   0, 
-     85, 128,  88,   0,   0,   4, 
-     13,   0,   2, 128,   5,   0, 
-      0, 128,   5,   0, 170, 128, 
-      1,   0, 255, 128,   2,   0, 
-      0,   3,  14,   0,  15, 128, 
-      4,   0,  36, 129,  11,   0, 
-    213, 161,   7,   0,   0,   2, 
-      1,   0,   8, 128,   8,   0, 
-      0, 128,   6,   0,   0,   2, 
-      1,   0,   8, 128,   1,   0, 
-    255, 128,  88,   0,   0,   4, 
-      1,   0,   8, 128,  12,   0, 
-    170, 128,  10,   0,   0, 128, 
-      1,   0, 255, 128,   4,   0, 
-      0,   4,   1,   0,   8, 128, 
-      6,   0,   0, 128,   0,   0, 
-    255, 129,   1,   0, 255, 128, 
-      4,   0,   0,   4,   1,   0, 
-      8, 128,   9,   0,   0, 128, 
-      1,   0, 255, 128,   8,   0, 
-      0, 128,   4,   0,   0,   4, 
-      9,   0,  15, 128,   6,   0, 
-     36, 128,   0,   0, 255, 129, 
-     11,   0, 127, 161,   4,   0, 
-      0,   4,  10,   0,   7, 128, 
-      6,   0, 228, 128,   0,   0, 
-    255, 128,   3,   0,   0, 160, 
-      5,   0,   0,   3,  10,   0, 
-      7, 128,  10,   0, 228, 128, 
-     10,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,   8, 128, 
-     11,   0,   0, 128,   9,   0, 
-    255, 129,   8,   0,   0, 128, 
-     88,   0,   0,   4,  13,   0, 
-      1, 128,  14,   0, 255, 128, 
-      0,   0, 255, 128,   1,   0, 
-    255, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,   7,   0, 
-    170, 129,  13,   0, 228, 128, 
-      0,   0, 228, 128,   2,   0, 
-      0,   3,  11,   0,   7, 128, 
-      8,   0, 228, 128,   8,   0, 
-    228, 128,   4,   0,   0,   4, 
-     13,   0,   7, 128,   4,   0, 
-    228, 128,   3,   0,  85, 161, 
-     11,   0, 228, 128,   2,   0, 
-      0,   3,  13,   0,   7, 128, 
-     13,   0, 228, 128,   3,   0, 
-      0, 160,   4,   0,   0,   4, 
-     15,   0,   7, 128,   4,   0, 
-    228, 128,  11,   0, 228, 129, 
-     13,   0, 228, 128,   5,   0, 
-      0,   3,  11,   0,   7, 128, 
-      4,   0, 228, 128,  11,   0, 
-    228, 128,   2,   0,   0,   3, 
-     16,   0,   7, 128,   4,   0, 
-    228, 128,   4,   0, 228, 128, 
-      5,   0,   0,   3,  17,   0, 
-      7, 128,   8,   0, 228, 128, 
-     16,   0, 228, 128,   4,   0, 
-      0,   4,  13,   0,   7, 128, 
-     16,   0, 228, 128,   8,   0, 
-    228, 129,  13,   0, 228, 128, 
-     88,   0,   0,   4,   9,   0, 
-      7, 128,   9,   0, 228, 128, 
-     11,   0, 228, 128,  13,   0, 
-    228, 128,  88,   0,   0,   4, 
-      5,   0,   6, 128,   5,   0, 
-    208, 128,  17,   0, 228, 128, 
-     15,   0, 228, 128,  88,   0, 
-      0,   4,   5,   0,   1, 128, 
-     14,   0, 255, 128,  17,   0, 
-      0, 128,  15,   0,   0, 128, 
-     88,   0,   0,   4,   0,   0, 
-      7, 128,   7,   0,  85, 129, 
-      5,   0, 228, 128,   0,   0, 
-    228, 128,   6,   0,   0,   2, 
-      0,   0,   8, 128,   4,   0, 
-      0, 128,   4,   0,   0,   4, 
-      0,   0,   8, 128,   9,   0, 
-    255, 128,   0,   0, 255, 129, 
-      3,   0,   0, 161,  11,   0, 
-      0,   3,   1,   0,   8, 128, 
-      0,   0, 255, 128,  11,   0, 
-    170, 161,   5,   0,   0,   3, 
-      5,   0,   7, 128,   4,   0, 
-    228, 128,   4,   0, 228, 128, 
-     88,   0,   0,   4,   0,   0, 
-      8, 128,   5,   0,   0, 129, 
-     11,   0, 170, 161,   1,   0, 
-    255, 128,  88,   0,   0,   4, 
-     11,   0,   1, 128,  10,   0, 
-      0, 129,   3,   0,   0, 161, 
-      0,   0, 255, 128,   6,   0, 
-      0,   2,   0,   0,   8, 128, 
-      4,   0,  85, 128,   4,   0, 
-      0,   4,   0,   0,   8, 128, 
-     12,   0,   0, 128,   0,   0, 
-    255, 129,   3,   0,   0, 161, 
-     11,   0,   0,   3,   1,   0, 
-      8, 128,   0,   0, 255, 128, 
-     11,   0, 170, 161,  88,   0, 
-      0,   4,   0,   0,   8, 128, 
-      5,   0,  85, 129,  11,   0, 
-    170, 161,   1,   0, 255, 128, 
-     88,   0,   0,   4,  11,   0, 
-      2, 128,  10,   0,  85, 129, 
-      3,   0,   0, 161,   0,   0, 
-    255, 128,   6,   0,   0,   2, 
-      0,   0,   8, 128,   4,   0, 
-    170, 128,   4,   0,   0,   4, 
-      0,   0,   8, 128,  12,   0, 
-     85, 128,   0,   0, 255, 129, 
-      3,   0,   0, 161,  11,   0, 
-      0,   3,   1,   0,   8, 128, 
-      0,   0, 255, 128,  11,   0, 
-    170, 161,  88,   0,   0,   4, 
-      0,   0,   8, 128,   5,   0, 
-    170, 129,  11,   0, 170, 161, 
-      1,   0, 255, 128,  88,   0, 
-      0,   4,  11,   0,   4, 128, 
-     10,   0, 170, 129,   3,   0, 
-      0, 161,   0,   0, 255, 128, 
-     88,   0,   0,   4,   0,   0, 
-      7, 128,   7,   0,   0, 129, 
-     11,   0, 228, 128,   0,   0, 
-    228, 128,   2,   0,   0,   3, 
-      5,   0,  15, 128,   4,   0, 
-    255, 128,   5,   0, 228, 160, 
-      5,   0,   0,   3,   5,   0, 
-     15, 128,   5,   0, 228, 128, 
-      5,   0, 228, 128,   2,   0, 
-      0,   3,   7,   0,   7, 128, 
-      4,   0, 228, 128,   3,   0, 
-      0, 160,   5,   0,   0,   3, 
-      7,   0,   7, 128,   7,   0, 
-    228, 128,   7,   0, 228, 128, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,  14,   0,   0, 128, 
-      5,   0,   0,   3,   0,   0, 
-      8, 128,   0,   0, 255, 128, 
-      8,   0,   0, 128,  10,   0, 
-      0,   3,   1,   0,   8, 128, 
-      0,   0, 255, 128,   3,   0, 
-      0, 161,  88,   0,   0,   4, 
-      0,   0,   8, 128,   7,   0, 
-      0, 129,   3,   0,   0, 161, 
-      1,   0, 255, 128,   5,   0, 
-      0,   3,  10,   0,   7, 128, 
-      8,   0, 228, 128,   8,   0, 
-    228, 128,  88,   0,   0,   4, 
-     11,   0,   1, 128,  10,   0, 
-      0, 129,  11,   0, 170, 161, 
-      0,   0, 255, 128,   6,   0, 
-      0,   2,   0,   0,   8, 128, 
-     14,   0,  85, 128,   6,   0, 
-      0,   2,   1,   0,   8, 128, 
-     14,   0, 170, 128,   5,   0, 
-      0,   3,   1,   0,   8, 128, 
-      1,   0, 255, 128,   8,   0, 
-    170, 128,  10,   0,   0,   3, 
-      2,   0,   8, 128,   1,   0, 
-    255, 128,   3,   0,   0, 161, 
-     88,   0,   0,   4,   1,   0, 
-      8, 128,   7,   0, 170, 129, 
-      3,   0,   0, 161,   2,   0, 
-    255, 128,  88,   0,   0,   4, 
-     11,   0,   4, 128,  10,   0, 
-    170, 129,  11,   0, 170, 161, 
-      1,   0, 255, 128,   5,   0, 
-      0,   3,   0,   0,   8, 128, 
-      0,   0, 255, 128,   8,   0, 
-     85, 128,  10,   0,   0,   3, 
-      1,   0,   8, 128,   0,   0, 
-    255, 128,   3,   0,   0, 161, 
-     88,   0,   0,   4,   0,   0, 
-      8, 128,   7,   0,  85, 129, 
-      3,   0,   0, 161,   1,   0, 
-    255, 128,  88,   0,   0,   4, 
-     11,   0,   2, 128,  10,   0, 
-     85, 129,  11,   0, 170, 161, 
-      0,   0, 255, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      5,   0, 255, 129,  11,   0, 
-    228, 128,   0,   0, 228, 128, 
-     11,   0,   0,   3,   7,   0, 
-      7, 128,   8,   0, 228, 128, 
-      4,   0, 228, 128,  10,   0, 
-      0,   3,  10,   0,   7, 128, 
-      4,   0, 228, 128,   8,   0, 
-    228, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,   5,   0, 
-    170, 129,   7,   0, 228, 128, 
-      0,   0, 228, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      5,   0,  85, 129,  10,   0, 
-    228, 128,   0,   0, 228, 128, 
-     88,   0,   0,   4,   0,   0, 
-      7, 128,   5,   0,   0, 129, 
-      9,   0, 228, 128,   0,   0, 
-    228, 128,  88,   0,   0,   4, 
-      0,   0,   7, 128,  10,   0, 
-    255, 129,   1,   0, 228, 128, 
-      0,   0, 228, 128,  88,   0, 
-      0,   4,   0,   0,   7, 128, 
-      2,   0, 170, 161,   2,   0, 
-    228, 128,   0,   0, 228, 128, 
-     18,   0,   0,   4,   1,   0, 
-      7, 128,   6,   0, 255, 128, 
-      0,   0, 228, 128,   4,   0, 
-    228, 128,   5,   0,   0,   3, 
-      0,   0,   7, 128,   3,   0, 
-    255, 128,   1,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-      1, 128,   3,   0, 255, 128, 
-      3,   0, 255, 128,   1,   0, 
-      0,   2,   0,   0,   8, 128, 
-      3,   0, 255, 128,  88,   0, 
-      0,   4,   0,   0,  15, 128, 
-      1,   0,   0, 129,   6,   0, 
-    228, 128,   0,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-      1, 128,   6,   0, 255, 128, 
-      6,   0, 255, 128,  88,   0, 
-      0,   4,   0,   0,  15, 128, 
-      1,   0,   0, 129,   3,   0, 
-    228, 128,   0,   0, 228, 128, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82, 164,  39,   0,   0, 
-     64,   0,   0,   0, 233,   9, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-     90,   0,   0,   3,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   0,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      1,   0,   0,   0,  85,  85, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   2,   0, 
-      0,   0,  85,  85,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
-     16,   0,   3,   0,   0,   0, 
-     85,  85,   0,   0,  88,  24, 
-      0,   4,   0, 112,  16,   0, 
-      5,   0,   0,   0,  85,  85, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   6,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-     98,  16,   0,   3, 194,  16, 
-     16,   0,   1,   0,   0,   0, 
-     98,  16,   0,   3, 114,  16, 
-     16,   0,   2,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    104,   0,   0,   2,  22,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0, 230,  26,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   6,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  31,   0,   0,   4, 
-     26, 128,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     31,   0,   0,   4,  10, 128, 
-     32,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      1,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 114,   0,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-      6, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     54,   0,   0,   6, 130,   0, 
-     16,   0,   1,   0,   0,   0, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     54,   0,   0,   5,  18,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 255, 255, 
-    255, 255,  18,   0,   0,   1, 
-     32,   0,   0,   8,  34,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   1,   0, 
-      0,   0,  10, 128,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  31,   0,   4,   3, 
-     26,   0,  16,   0,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   3,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  14,  16,   0, 
-      3,   0,   0,   0,   6, 128, 
-     32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  54,   0, 
-      0,   5,  18,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 255, 255, 255, 255, 
-     18,   0,   0,   1,  32,   0, 
-      0,   8,  18,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,   2,   0,   0,   0, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     31,   0,   4,   3,  10,   0, 
-     16,   0,   2,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   3,   0,   0,   0, 
-     70,  16,  16,   0,   1,   0, 
-      0,   0,  70, 126,  16,   0, 
-      3,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   7,  34,   0, 
-     16,   0,   2,   0,   0,   0, 
-     10,   0,  16,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-    115, 128,   0, 191,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      3,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   1,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   7,  66,   0,  16,   0, 
-      2,   0,   0,   0,  10,   0, 
-     16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,  18, 131, 
-    128, 189,  69,   0,   0,   9, 
-    242,   0,  16,   0,   3,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   2,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   7, 
-    130,   0,  16,   0,   2,   0, 
-      0,   0,  10,   0,  16,   0, 
-      3,   0,   0,   0,   1,  64, 
-      0,   0, 115, 128,   0, 191, 
-     56,   0,   0,  10,  50,   0, 
-     16,   0,   3,   0,   0,   0, 
-     86,   5,  16,   0,   2,   0, 
-      0,   0,   2,  64,   0,   0, 
-    182,  74, 204,  63, 205,  30, 
-     80,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,  50,   0, 
-      0,   9,  18,   0,  16,   0, 
-      4,   0,   0,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 103,  10, 
-    149,  63,  10,   0,  16,   0, 
-      3,   0,   0,   0,  50,   0, 
-      0,  10,  34,   0,  16,   0, 
-      2,   0,   0,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 103,  10, 
-    149,  63,  26,   0,  16, 128, 
-     65,   0,   0,   0,   3,   0, 
-      0,   0,  56,   0,   0,   7, 
-     18,   0,  16,   0,   3,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,  76,  26,   1,  64, 
-     50,   0,   0,  10,  34,   0, 
-     16,   0,   4,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 196, 148, 
-    200,  62,  26,   0,  16,   0, 
-      2,   0,   0,   0,  50,   0, 
-      0,   9,  66,   0,  16,   0, 
-      4,   0,   0,   0,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 103,  10, 
-    149,  63,  10,   0,  16,   0, 
-      3,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      4,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 128,  63, 
-     56,   0,   0,   8, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   4,   0, 
-      0,   0,   6, 128,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  21,   0,   0,   1, 
-     21,   0,   0,   1,  21,   0, 
-      0,   1,  55,   0,   0,  10, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,   6,   0,  16,   0, 
-      2,   0,   0,   0,  70,  14, 
-     16,   0,   1,   0,   0,   0, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5,  18,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0, 255, 255, 
-    255, 255,  18,   0,   0,   1, 
-     32,   0,   0,   8,  18,   0, 
-     16,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   1,   0, 
-      0,   0,  26, 128,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  31,   0,   4,   3, 
-     10,   0,  16,   0,   2,   0, 
-      0,   0,  31,   0,   0,   4, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   3,   0,   0,   0, 
-     70,  16,  16,   0,   1,   0, 
-      0,   0,  70, 126,  16,   0, 
-      0,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     56,   0,   0,   8, 114,   0, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,   3,   0, 
-      0,   0,   6, 128,  32,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  14,   0,   0,   7, 
-     98,   0,  16,   0,   2,   0, 
-      0,   0,   6,  17,  16,   0, 
-      2,   0,   0,   0, 166,  26, 
-     16,   0,   2,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   4,   0,   0,   0, 
-    150,   5,  16,   0,   2,   0, 
-      0,   0,  70, 126,  16,   0, 
-      5,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     54,   0,   0,   6, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     56,   0,   0,   7, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   3,   0, 
-      0,   0,   6,   0,  16,   0, 
-      4,   0,   0,   0,  54,   0, 
-      0,   5,  34,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 255, 255, 255, 255, 
-     18,   0,   0,   1,  32,   0, 
-      0,   8,  66,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,   1,   0,   0,   0, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     31,   0,   4,   3,  42,   0, 
-     16,   0,   2,   0,   0,   0, 
-     14,   0,   0,   7, 194,   0, 
-     16,   0,   2,   0,   0,   0, 
-      6,  20,  16,   0,   2,   0, 
-      0,   0, 166,  26,  16,   0, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      3,   0,   0,   0, 230,  10, 
-     16,   0,   2,   0,   0,   0, 
-     70, 126,  16,   0,   5,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      4,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      4,   0,   0,   0,  70,  14, 
-     16,   0,   4,   0,   0,   0, 
-      6, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     56,   0,   0,   7, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-      6,   0,  16,   0,   3,   0, 
-      0,   0,  70,  14,  16,   0, 
-      4,   0,   0,   0,  54,   0, 
-      0,   5,  34,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 255, 255, 255, 255, 
-     18,   0,   0,   1,  32,   0, 
-      0,   8,  34,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0,   2,   0,   0,   0, 
-     10, 128,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     31,   0,   4,   3,  26,   0, 
-     16,   0,   2,   0,   0,   0, 
-     14,   0,   0,   7, 194,   0, 
-     16,   0,   2,   0,   0,   0, 
-      6,  20,  16,   0,   2,   0, 
-      0,   0, 166,  26,  16,   0, 
-      2,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      3,   0,   0,   0, 230,  10, 
-     16,   0,   2,   0,   0,   0, 
-     70, 126,  16,   0,   5,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      4,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     70, 126,  16,   0,   3,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   7,  66,   0,  16,   0, 
-      2,   0,   0,   0,  10,   0, 
-     16,   0,   4,   0,   0,   0, 
-      1,  64,   0,   0, 115, 128, 
-      0, 191,  69,   0,   0,   9, 
-    242,   0,  16,   0,   4,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   1,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   7, 
-    130,   0,  16,   0,   2,   0, 
-      0,   0,  10,   0,  16,   0, 
-      4,   0,   0,   0,   1,  64, 
-      0,   0,  18, 131, 128, 189, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   4,   0,   0,   0, 
-     70,  16,  16,   0,   1,   0, 
-      0,   0,  70, 126,  16,   0, 
-      2,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   7,  34,   0, 
-     16,   0,   3,   0,   0,   0, 
-     10,   0,  16,   0,   4,   0, 
-      0,   0,   1,  64,   0,   0, 
-    115, 128,   0, 191,  56,   0, 
-      0,  10, 194,   0,  16,   0, 
-      3,   0,   0,   0, 166,  10, 
-     16,   0,   2,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    182,  74, 204,  63, 205,  30, 
-     80,  63,  50,   0,   0,   9, 
-     18,   0,  16,   0,   4,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 103,  10, 149,  63, 
-     42,   0,  16,   0,   3,   0, 
-      0,   0,  50,   0,   0,  10, 
-     66,   0,  16,   0,   2,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 103,  10, 149,  63, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-     56,   0,   0,   7,  66,   0, 
-     16,   0,   3,   0,   0,   0, 
-     26,   0,  16,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-     76,  26,   1,  64,  50,   0, 
-      0,  10,  34,   0,  16,   0, 
-      4,   0,   0,   0,  26,   0, 
-     16, 128,  65,   0,   0,   0, 
-      3,   0,   0,   0,   1,  64, 
-      0,   0, 196, 148, 200,  62, 
-     42,   0,  16,   0,   2,   0, 
-      0,   0,  50,   0,   0,   9, 
-     66,   0,  16,   0,   4,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,   1,  64, 
-      0,   0, 103,  10, 149,  63, 
-     42,   0,  16,   0,   3,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   8, 242,   0,  16,   0, 
-      4,   0,   0,   0,  70,  14, 
-     16,   0,   4,   0,   0,   0, 
-      6, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     56,   0,   0,   7, 242,   0, 
-     16,   0,   1,   0,   0,   0, 
-      6,   0,  16,   0,   3,   0, 
-      0,   0,  70,  14,  16,   0, 
-      4,   0,   0,   0,  21,   0, 
-      0,   1,  21,   0,   0,   1, 
-     21,   0,   0,   1,  31,   0, 
-      0,   3,  26,   0,  16,   0, 
-      2,   0,   0,   0,  14,   0, 
-      0,   7,  98,   0,  16,   0, 
-      2,   0,   0,   0,   6,  17, 
-     16,   0,   2,   0,   0,   0, 
-    166,  26,  16,   0,   2,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   3,   0, 
-      0,   0, 150,   5,  16,   0, 
-      2,   0,   0,   0,  70, 126, 
-     16,   0,   5,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,   6,   0,  16,   0, 
-      3,   0,   0,   0,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  21,   0, 
-      0,   1,  21,   0,   0,   1, 
-     21,   0,   0,   1,  55,   0, 
-      0,  12, 242,   0,  16,   0, 
-      1,   0,   0,   0,   6,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 128,  63,  24,   0, 
-      0,   7,  18,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  31,   0,   4,   3, 
-     10,   0,  16,   0,   2,   0, 
-      0,   0,  54,   0,   0,   5, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      1,   0,   0,   0,  62,   0, 
-      0,   1,  21,   0,   0,   1, 
-     24,   0,   0,   7,  18,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   1,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  31,   0, 
-      4,   3,  10,   0,  16,   0, 
-      2,   0,   0,   0,  54,   0, 
-      0,   5, 242,  32,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
-     62,   0,   0,   1,  21,   0, 
-      0,   1,  14,   0,   0,   7, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16,   0,   0,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0, 246,  15,  16,   0, 
-      1,   0,   0,   0,  55,   0, 
-      0,  10, 114,   0,  16,   0, 
-      1,   0,   0,   0, 246, 143, 
-     32,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,   2,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  10, 114,   0,  16,   0, 
-      4,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   3,   0, 
-      0,   0,  29,   0,   0,  10, 
-    242,   0,  16,   0,   5,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,  63,   0,   0, 
-      0,  63,   0,   0,   0,  63, 
-      0,   0, 128,  62,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,   6,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-      7,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   6,   0, 
-      0,   0,   0,   0,   0,   7, 
-    114,   0,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-     50,   0,   0,  12, 114,   0, 
-     16,   0,   9,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,  64,   0,   0, 
-      0,  64,   0,   0,   0,  64, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   6,   0,   0,   0, 
-      0,   0,   0,  10, 114,   0, 
-     16,   0,   9,   0,   0,   0, 
-     70,   2,  16,   0,   9,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128, 191,   0,   0, 
-    128, 191,   0,   0, 128, 191, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     10,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   8,   0, 
-      0,   0,  50,   0,   0,  10, 
-    114,   0,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16, 128, 
-     65,   0,   0,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   9,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   5,   0,   0,   0, 
-     70,   2,  16,   0,   5,   0, 
-      0,   0,  70,   2,  16,   0, 
-      7,   0,   0,   0,  70,   2, 
-     16,   0,   8,   0,   0,   0, 
-     51,   0,   0,   7, 114,   0, 
-     16,   0,   7,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  32,   0, 
-      0,  11, 242,   0,  16,   0, 
-      8,   0,   0,   0,   2,  64, 
-      0,   0,   1,   0,   0,   0, 
-      2,   0,   0,   0,   3,   0, 
-      0,   0,   4,   0,   0,   0, 
-    166, 138,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     52,   0,   0,   7, 114,   0, 
-     16,   0,  11,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  24,   0, 
-      0,  10, 242,   0,  16,   0, 
-     12,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  63,  24,   0,   0,  10, 
-    242,   0,  16,   0,  13,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,  11, 114,   0, 
-     16,   0,  14,   0,   0,   0, 
-     70,   2,  16, 128,  65,   0, 
-      0,   0,   1,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,  14,   0,   0,   0, 
-     51,   0,   0,  10, 114,   0, 
-     16,   0,  14,   0,   0,   0, 
-     70,   2,  16,   0,  14,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0,   0,   0,  55,   0, 
-      0,  12, 114,   0,  16,   0, 
-     13,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-     14,   0,   0,   0,  55,   0, 
-      0,  12, 114,   0,  16,   0, 
-     12,   0,   0,   0,  70,   2, 
-     16,   0,  12,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-     13,   0,   0,   0,   0,   0, 
-      0,  11, 114,   0,  16,   0, 
-     13,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,  14,   0,   0,   0, 
-     70,   2,  16,   0,  13,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  51,   0, 
-      0,  10, 114,   0,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  14,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,   0,   0,   0,  11, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0,  70,   2,  16, 128, 
-     65,   0,   0,   0,  14,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0,   0,   0,  55,   0, 
-      0,   9, 130,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16,   0,  13,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-     14,   0,   0,   0,  55,   0, 
-      0,   9,  18,   0,  16,   0, 
-     15,   0,   0,   0,  58,   0, 
-     16,   0,  12,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  58,   0,  16,   0, 
-      2,   0,   0,   0,  24,   0, 
-      0,  10, 146,   0,  16,   0, 
-     14,   0,   0,   0,  86,   9, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  63,  24,   0,   0,  10, 
-     50,   0,  16,   0,  16,   0, 
-      0,   0, 150,   5,  16,   0, 
-      1,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     55,   0,   0,  12,  98,   0, 
-     16,   0,  14,   0,   0,   0, 
-      6,   1,  16,   0,  16,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  86,   6, 
-     16,   0,  14,   0,   0,   0, 
-     55,   0,   0,  12,  98,   0, 
-     16,   0,  15,   0,   0,   0, 
-      6,   3,  16,   0,  14,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0,   0,   0,  86,   6, 
-     16,   0,  14,   0,   0,   0, 
-     29,   0,   0,  10, 114,   0, 
-     16,   0,  14,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,  63,   0,   0,   0,  63, 
-      0,   0,   0,  63,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  10, 114,   0,  16,   0, 
-      6,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   6,   0,   0,   0, 
-     70,   2,  16,   0,   9,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,   6,   0, 
-      0,   0,  70,   2,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  10,   0,   0,   0, 
-     70,   2,  16,   0,   6,   0, 
-      0,   0,  32,   0,   0,  11, 
-    242,   0,  16,   0,   9,   0, 
-      0,   0,   2,  64,   0,   0, 
-      5,   0,   0,   0,   6,   0, 
-      0,   0,   7,   0,   0,   0, 
-      8,   0,   0,   0, 166, 138, 
-     32,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  50,   0, 
-      0,  16, 114,   0,  16,   0, 
-     10,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      1,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0,   0,  64, 
-      0,   0,   0,  64,   0,   0, 
-      0,  64,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,  10,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,  10,   0,   0,   0, 
-     50,   0,   0,  10, 114,   0, 
-     16,   0,  10,   0,   0,   0, 
-     70,   2,  16, 128,  65,   0, 
-      0,   0,  10,   0,   0,   0, 
-     70,   2,  16,   0,  13,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  50,   0, 
-      0,  15, 114,   0,  16,   0, 
-     13,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,  64,   0,   0,   0,  64, 
-      0,   0,   0,  64,   0,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128, 191,   0,   0, 
-    128, 191,   0,   0, 128, 191, 
-      0,   0,   0,   0,  50,   0, 
-      0,  15, 114,   0,  16,   0, 
-     16,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  65,   0,   0, 128,  65, 
-      0,   0, 128,  65,   0,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,  64, 193,   0,   0, 
-     64, 193,   0,   0,  64, 193, 
-      0,   0,   0,   0,  50,   0, 
-      0,  12, 114,   0,  16,   0, 
-     16,   0,   0,   0,  70,   2, 
-     16,   0,  16,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0, 128,  64,   0,   0, 
-    128,  64,   0,   0, 128,  64, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     16,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,  75,   0,   0,   5, 
-    114,   0,  16,   0,  17,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  55,   0, 
-      0,   9, 130,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16,   0,   5,   0,   0,   0, 
-     10,   0,  16,   0,  16,   0, 
-      0,   0,  10,   0,  16,   0, 
-     17,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-      2,   0,   0,   0,  10,   0, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     50,   0,   0,   9, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     10,   0,  16,   0,  13,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9,  18,   0, 
-     16,   0,  18,   0,   0,   0, 
-     10,   0,  16,   0,  14,   0, 
-      0,   0,  10,   0,  16,   0, 
-     10,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     29,   0,   0,  10, 146,   0, 
-     16,   0,  10,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-    128,  62,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  62,  86,   9,  16,   0, 
-      0,   0,   0,   0,  55,   0, 
-      0,   9, 146,   0,  16,   0, 
-     10,   0,   0,   0,   6,  12, 
-     16,   0,  10,   0,   0,   0, 
-     86,   9,  16,   0,  16,   0, 
-      0,   0,  86,   9,  16,   0, 
-     17,   0,   0,   0,   0,   0, 
-      0,   8, 146,   0,  16,   0, 
-     10,   0,   0,   0,  86,   9, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,   6,  12, 
-     16,   0,  10,   0,   0,   0, 
-     50,   0,   0,   9, 146,   0, 
-     16,   0,  10,   0,   0,   0, 
-     86,   9,  16,   0,  13,   0, 
-      0,   0,   6,  12,  16,   0, 
-     10,   0,   0,   0,  86,   9, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9,  98,   0, 
-     16,   0,  18,   0,   0,   0, 
-     86,   6,  16,   0,  14,   0, 
-      0,   0,  86,   6,  16,   0, 
-     10,   0,   0,   0,   6,   3, 
-     16,   0,  10,   0,   0,   0, 
-      0,   0,   0,   8, 114,   0, 
-     16,   0,  10,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16, 128, 
-     65,   0,   0,   0,   1,   0, 
-      0,   0,  50,   0,   0,  13, 
-    114,   0,  16,   0,   3,   0, 
-      0,   0,  70,   2,  16, 128, 
-     65,   0,   0,   0,   2,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,  64,   0,   0, 
-      0,  64,   0,   0,   0,  64, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   3,   0,   0,   0, 
-     52,   0,   0,   7, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     26,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,  52,   0, 
-      0,   7, 130,   0,  16,   0, 
-      2,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,  51,   0,   0,   7, 
-    130,   0,  16,   0,   3,   0, 
-      0,   0,  26,   0,  16,   0, 
-      0,   0,   0,   0,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-     42,   0,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-     13,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-     29,   0,   0,   7, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     26,   0,  16,   0,   1,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,  31,   0, 
-      4,   3,  58,   0,  16,   0, 
-      2,   0,   0,   0,  49,   0, 
-      0,   7, 114,   0,  16,   0, 
-     14,   0,   0,   0,   6,   2, 
-     16,   0,   1,   0,   0,   0, 
-    102,   9,  16,   0,   1,   0, 
-      0,   0,   0,   0,   0,   8, 
-    242,   0,  16,   0,  16,   0, 
-      0,   0,   6,  10,  16, 128, 
-     65,   0,   0,   0,   1,   0, 
-      0,   0, 150,   4,  16,   0, 
-      1,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     17,   0,   0,   0, 246,  15, 
-     16,   0,  13,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,  13,   0, 
-      0,   0,  70,   2,  16,   0, 
-     17,   0,   0,   0,  22,   7, 
-     16,   0,  16,   0,   0,   0, 
-      1,   0,   0,   7,  98,   0, 
-     16,   0,  16,   0,   0,   0, 
-      6,   3,  16,   0,  13,   0, 
-      0,   0,   6,   0,  16,   0, 
-     14,   0,   0,   0,  29,   0, 
-      0,   7, 146,   0,  16,   0, 
-     14,   0,   0,   0, 166,  10, 
-     16,   0,   1,   0,   0,   0, 
-     86,   1,  16,   0,   1,   0, 
-      0,   0,   1,   0,   0,   7, 
-     98,   0,  16,   0,  17,   0, 
-      0,   0, 246,  13,  16,   0, 
-     13,   0,   0,   0,  86,   5, 
-     16,   0,  14,   0,   0,   0, 
-      1,   0,   0,   7,  50,   0, 
-     16,   0,  19,   0,   0,   0, 
-    230,  10,  16,   0,  13,   0, 
-      0,   0, 166,  10,  16,   0, 
-     14,   0,   0,   0,  54,   0, 
-      0,   5,  18,   0,  16,   0, 
-     17,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5,  66,   0, 
-     16,   0,  19,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    226,   0,  16,   0,  14,   0, 
-      0,   0, 246,  15,  16,   0, 
-     14,   0,   0,   0,   6,   9, 
-     16,   0,  17,   0,   0,   0, 
-      6,   9,  16,   0,  19,   0, 
-      0,   0,  54,   0,   0,   5, 
-     18,   0,  16,   0,  16,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  55,   0, 
-      0,   9, 114,   0,  16,   0, 
-     14,   0,   0,   0,   6,   0, 
-     16,   0,  14,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0, 150,   7,  16,   0, 
-     14,   0,   0,   0,  18,   0, 
-      0,   1,  49,   0,   0,   7, 
-    114,   0,  16,   0,  16,   0, 
-      0,   0,  86,   6,  16,   0, 
-      1,   0,   0,   0,  38,   8, 
-     16,   0,   1,   0,   0,   0, 
-      0,   0,   0,   8, 242,   0, 
-     16,   0,  17,   0,   0,   0, 
-     86,  10,  16, 128,  65,   0, 
-      0,   0,   1,   0,   0,   0, 
-    134,   1,  16,   0,   1,   0, 
-      0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,  19,   0, 
-      0,   0, 246,  15,  16,   0, 
-     13,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,  13,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0,  22,   7,  16,   0, 
-     17,   0,   0,   0,   1,   0, 
-      0,   7,  82,   0,  16,   0, 
-     17,   0,   0,   0,   6,   3, 
-     16,   0,  13,   0,   0,   0, 
-      6,   0,  16,   0,  16,   0, 
-      0,   0,  29,   0,   0,   7, 
-    146,   0,  16,   0,  16,   0, 
-      0,   0, 166,  10,  16,   0, 
-      1,   0,   0,   0,   6,   4, 
-     16,   0,   1,   0,   0,   0, 
-      1,   0,   0,   7,  82,   0, 
-     16,   0,  19,   0,   0,   0, 
-    246,  13,  16,   0,  13,   0, 
-      0,   0,  86,   5,  16,   0, 
-     16,   0,   0,   0,   1,   0, 
-      0,   7,  50,   0,  16,   0, 
-     13,   0,   0,   0, 182,  15, 
-     16,   0,  13,   0,   0,   0, 
-    166,  10,  16,   0,  16,   0, 
-      0,   0,  54,   0,   0,   5, 
-     34,   0,  16,   0,  19,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5,  66,   0,  16,   0, 
-     13,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,  13,   0,   0,   0, 
-    246,  15,  16,   0,  16,   0, 
-      0,   0,  70,   2,  16,   0, 
-     19,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-     54,   0,   0,   5,  34,   0, 
-     16,   0,  17,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0,   6,   0,  16,   0, 
-     16,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,  13,   0, 
-      0,   0,  21,   0,   0,   1, 
-     16,   0,   0,  10, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-      2,  64,   0,   0, 154, 153, 
-    153,  62,  61,  10,  23,  63, 
-    174,  71, 225,  61,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,  10, 130,   0,  16,   0, 
-      3,   0,   0,   0,   2,  64, 
-      0,   0, 154, 153, 153,  62, 
-     61,  10,  23,  63, 174,  71, 
-    225,  61,   0,   0,   0,   0, 
-     70,   2,  16,   0,  14,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   3,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16, 128,  65,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
-     13,   0,   0,   0, 246,  15, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,  14,   0, 
-      0,   0,  16,   0,   0,  10, 
-    130,   0,  16,   0,   3,   0, 
-      0,   0,   2,  64,   0,   0, 
-    154, 153, 153,  62,  61,  10, 
-     23,  63, 174,  71, 225,  61, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-     26,   0,  16,   0,  13,   0, 
-      0,   0,  10,   0,  16,   0, 
-     13,   0,   0,   0,  51,   0, 
-      0,   7, 130,   0,  16,   0, 
-      4,   0,   0,   0,  42,   0, 
-     16,   0,  13,   0,   0,   0, 
-     58,   0,  16,   0,   4,   0, 
-      0,   0,  52,   0,   0,   7, 
-    130,   0,  16,   0,   5,   0, 
-      0,   0,  26,   0,  16,   0, 
-     13,   0,   0,   0,  10,   0, 
-     16,   0,  13,   0,   0,   0, 
-     52,   0,   0,   7, 130,   0, 
-     16,   0,   5,   0,   0,   0, 
-     42,   0,  16,   0,  13,   0, 
-      0,   0,  58,   0,  16,   0, 
-      5,   0,   0,   0,  49,   0, 
-      0,   7, 130,   0,  16,   0, 
-      6,   0,   0,   0,  58,   0, 
-     16,   0,   4,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   8, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0, 246,  15,  16, 128, 
-     65,   0,   0,   0,   3,   0, 
-      0,   0,  70,   2,  16,   0, 
-     13,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     14,   0,   0,   0, 246,  15, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,  14,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,  58,   0,  16,   0, 
-      3,   0,   0,   0,  58,   0, 
-     16, 128,  65,   0,   0,   0, 
-      4,   0,   0,   0,  14,   0, 
-      0,   7, 114,   0,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  14,   0,   0,   0, 
-    246,  15,  16,   0,   4,   0, 
-      0,   0,   0,   0,   0,   7, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0, 246,  15,  16,   0, 
-      3,   0,   0,   0,  70,   2, 
-     16,   0,  14,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,  13,   0,   0,   0, 
-    246,  15,  16,   0,   6,   0, 
-      0,   0,  70,   2,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-     49,   0,   0,   7, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  58,   0,  16,   0, 
-      5,   0,   0,   0,   0,   0, 
-      0,   8, 114,   0,  16,   0, 
-     14,   0,   0,   0, 246,  15, 
-     16, 128,  65,   0,   0,   0, 
-      3,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-      0,   0,   0,   8, 130,   0, 
-     16,   0,   6,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  56,   0,   0,   7, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0, 246,  15,  16,   0, 
-      6,   0,   0,   0,  70,   2, 
-     16,   0,  14,   0,   0,   0, 
-      0,   0,   0,   8, 130,   0, 
-     16,   0,   5,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-     58,   0,  16,   0,   5,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,  14,   0, 
-      0,   0,  70,   2,  16,   0, 
-     14,   0,   0,   0, 246,  15, 
-     16,   0,   5,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,  14,   0,   0,   0, 
-    246,  15,  16,   0,   3,   0, 
-      0,   0,  70,   2,  16,   0, 
-     14,   0,   0,   0,  55,   0, 
-      0,   9, 114,   0,  16,   0, 
-     13,   0,   0,   0, 246,  15, 
-     16,   0,   4,   0,   0,   0, 
-     70,   2,  16,   0,  14,   0, 
-      0,   0,  70,   2,  16,   0, 
-     13,   0,   0,   0,  32,   0, 
-      0,  11, 242,   0,  16,   0, 
-     14,   0,   0,   0,   2,  64, 
-      0,   0,   9,   0,   0,   0, 
-     10,   0,   0,   0,  11,   0, 
-      0,   0,  12,   0,   0,   0, 
-    166, 138,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     52,   0,   0,   7, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-     26,   0,  16,   0,   1,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,  52,   0, 
-      0,   7, 130,   0,  16,   0, 
-      3,   0,   0,   0,  42,   0, 
-     16,   0,   1,   0,   0,   0, 
-     58,   0,  16,   0,   3,   0, 
-      0,   0,  51,   0,   0,   7, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,  26,   0,  16,   0, 
-      1,   0,   0,   0,  10,   0, 
-     16,   0,   1,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-     42,   0,  16,   0,   1,   0, 
-      0,   0,  58,   0,  16,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-     16,   0,   0,   0,  58,   0, 
-     16,   0,   3,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   4,   0,   0,   0, 
-     29,   0,   0,   7, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-     26,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,  31,   0, 
-      4,   3,  58,   0,  16,   0, 
-      3,   0,   0,   0,  49,   0, 
-      0,   7, 114,   0,  16,   0, 
-     17,   0,   0,   0,   6,   2, 
-     16,   0,   0,   0,   0,   0, 
-    102,   9,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   8, 
-    242,   0,  16,   0,  19,   0, 
-      0,   0,   6,  10,  16, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0, 150,   4,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     20,   0,   0,   0, 246,  15, 
-     16,   0,  16,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,  16,   0, 
-      0,   0,  70,   2,  16,   0, 
-     20,   0,   0,   0,  22,   7, 
-     16,   0,  19,   0,   0,   0, 
-      1,   0,   0,   7,  98,   0, 
-     16,   0,  19,   0,   0,   0, 
-      6,   3,  16,   0,  16,   0, 
-      0,   0,   6,   0,  16,   0, 
-     17,   0,   0,   0,  29,   0, 
-      0,   7, 146,   0,  16,   0, 
-     17,   0,   0,   0, 166,  10, 
-     16,   0,   0,   0,   0,   0, 
-     86,   1,  16,   0,   0,   0, 
-      0,   0,   1,   0,   0,   7, 
-     98,   0,  16,   0,  20,   0, 
-      0,   0, 246,  13,  16,   0, 
-     16,   0,   0,   0,  86,   5, 
-     16,   0,  17,   0,   0,   0, 
-      1,   0,   0,   7,  50,   0, 
-     16,   0,  21,   0,   0,   0, 
-    230,  10,  16,   0,  16,   0, 
-      0,   0, 166,  10,  16,   0, 
-     17,   0,   0,   0,  54,   0, 
-      0,   5,  18,   0,  16,   0, 
-     20,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5,  66,   0, 
-     16,   0,  21,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    226,   0,  16,   0,  17,   0, 
-      0,   0, 246,  15,  16,   0, 
-     17,   0,   0,   0,   6,   9, 
-     16,   0,  20,   0,   0,   0, 
-      6,   9,  16,   0,  21,   0, 
-      0,   0,  54,   0,   0,   5, 
-     18,   0,  16,   0,  19,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  55,   0, 
-      0,   9, 114,   0,  16,   0, 
-     17,   0,   0,   0,   6,   0, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0, 150,   7,  16,   0, 
-     17,   0,   0,   0,  18,   0, 
-      0,   1,  49,   0,   0,   7, 
-    114,   0,  16,   0,  19,   0, 
-      0,   0,  86,   6,  16,   0, 
-      0,   0,   0,   0,  38,   8, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   8, 242,   0, 
-     16,   0,  20,   0,   0,   0, 
-     86,  10,  16, 128,  65,   0, 
-      0,   0,   0,   0,   0,   0, 
-    134,   1,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,  21,   0, 
-      0,   0, 246,  15,  16,   0, 
-     16,   0,   0,   0,  70,   2, 
-     16,   0,  20,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,  16,   0,   0,   0, 
-     70,   2,  16,   0,  21,   0, 
-      0,   0,  22,   7,  16,   0, 
-     20,   0,   0,   0,   1,   0, 
-      0,   7,  82,   0,  16,   0, 
-     20,   0,   0,   0,   6,   3, 
-     16,   0,  16,   0,   0,   0, 
-      6,   0,  16,   0,  19,   0, 
-      0,   0,  29,   0,   0,   7, 
-    146,   0,  16,   0,  19,   0, 
-      0,   0, 166,  10,  16,   0, 
-      0,   0,   0,   0,   6,   4, 
-     16,   0,   0,   0,   0,   0, 
-      1,   0,   0,   7,  82,   0, 
-     16,   0,  21,   0,   0,   0, 
-    246,  13,  16,   0,  16,   0, 
-      0,   0,  86,   5,  16,   0, 
-     19,   0,   0,   0,   1,   0, 
-      0,   7,  50,   0,  16,   0, 
-     16,   0,   0,   0, 182,  15, 
-     16,   0,  16,   0,   0,   0, 
-    166,  10,  16,   0,  19,   0, 
-      0,   0,  54,   0,   0,   5, 
-     34,   0,  16,   0,  21,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5,  66,   0,  16,   0, 
-     16,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,  16,   0,   0,   0, 
-    246,  15,  16,   0,  19,   0, 
-      0,   0,  70,   2,  16,   0, 
-     21,   0,   0,   0,  70,   2, 
-     16,   0,  16,   0,   0,   0, 
-     54,   0,   0,   5,  34,   0, 
-     16,   0,  20,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,  17,   0, 
-      0,   0,   6,   0,  16,   0, 
-     19,   0,   0,   0,  70,   2, 
-     16,   0,  20,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,  21,   0,   0,   1, 
-     16,   0,   0,  10, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-      2,  64,   0,   0, 154, 153, 
-    153,  62,  61,  10,  23,  63, 
-    174,  71, 225,  61,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-     17,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-      3,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,  16,   0,   0,   0, 
-    246,  15,  16,   0,   3,   0, 
-      0,   0,  70,   2,  16,   0, 
-     17,   0,   0,   0,  16,   0, 
-      0,  10, 130,   0,  16,   0, 
-      3,   0,   0,   0,   2,  64, 
-      0,   0, 154, 153, 153,  62, 
-     61,  10,  23,  63, 174,  71, 
-    225,  61,   0,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,  51,   0,   0,   7, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,  26,   0,  16,   0, 
-     16,   0,   0,   0,  10,   0, 
-     16,   0,  16,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-     42,   0,  16,   0,  16,   0, 
-      0,   0,  58,   0,  16,   0, 
-      4,   0,   0,   0,  52,   0, 
-      0,   7, 130,   0,  16,   0, 
-      5,   0,   0,   0,  26,   0, 
-     16,   0,  16,   0,   0,   0, 
-     10,   0,  16,   0,  16,   0, 
-      0,   0,  52,   0,   0,   7, 
-    130,   0,  16,   0,   5,   0, 
-      0,   0,  42,   0,  16,   0, 
-     16,   0,   0,   0,  58,   0, 
-     16,   0,   5,   0,   0,   0, 
-     49,   0,   0,   7, 130,   0, 
-     16,   0,   6,   0,   0,   0, 
-     58,   0,  16,   0,   4,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   8, 114,   0,  16,   0, 
-     17,   0,   0,   0, 246,  15, 
-     16, 128,  65,   0,   0,   0, 
-      3,   0,   0,   0,  70,   2, 
-     16,   0,  16,   0,   0,   0, 
-     56,   0,   0,   7, 114,   0, 
-     16,   0,  17,   0,   0,   0, 
-    246,  15,  16,   0,   3,   0, 
-      0,   0,  70,   2,  16,   0, 
-     17,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-      4,   0,   0,   0,  58,   0, 
-     16,   0,   3,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   4,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0, 246,  15,  16,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
-     17,   0,   0,   0, 246,  15, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,  16,   0, 
-      0,   0, 246,  15,  16,   0, 
-      6,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,  49,   0,   0,   7, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  58,   0, 
-     16,   0,   5,   0,   0,   0, 
-      0,   0,   0,   8, 114,   0, 
-     16,   0,  17,   0,   0,   0, 
-    246,  15,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,  16,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   6,   0, 
-      0,   0,  58,   0,  16, 128, 
-     65,   0,   0,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     17,   0,   0,   0, 246,  15, 
-     16,   0,   6,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   5,   0, 
-      0,   0,  58,   0,  16, 128, 
-     65,   0,   0,   0,   3,   0, 
-      0,   0,  58,   0,  16,   0, 
-      5,   0,   0,   0,  14,   0, 
-      0,   7, 114,   0,  16,   0, 
-     17,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-    246,  15,  16,   0,   5,   0, 
-      0,   0,   0,   0,   0,   7, 
-    114,   0,  16,   0,  17,   0, 
-      0,   0, 246,  15,  16,   0, 
-      3,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,  16,   0,   0,   0, 
-    246,  15,  16,   0,   4,   0, 
-      0,   0,  70,   2,  16,   0, 
-     17,   0,   0,   0,  70,   2, 
-     16,   0,  16,   0,   0,   0, 
-     16,   0,   0,  10, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-      2,  64,   0,   0, 154, 153, 
-    153,  62,  61,  10,  23,  63, 
-    174,  71, 225,  61,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-      4,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0, 246,  15,  16,   0, 
-      4,   0,   0,   0,  16,   0, 
-      0,  10, 130,   0,  16,   0, 
-      4,   0,   0,   0,   2,  64, 
-      0,   0, 154, 153, 153,  62, 
-     61,  10,  23,  63, 174,  71, 
-    225,  61,   0,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0,  51,   0,   0,   7, 
-    130,   0,  16,   0,   5,   0, 
-      0,   0,  26,   0,  16,   0, 
-     17,   0,   0,   0,  10,   0, 
-     16,   0,  17,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   5,   0,   0,   0, 
-     42,   0,  16,   0,  17,   0, 
-      0,   0,  58,   0,  16,   0, 
-      5,   0,   0,   0,  52,   0, 
-      0,   7, 130,   0,  16,   0, 
-      6,   0,   0,   0,  26,   0, 
-     16,   0,  17,   0,   0,   0, 
-     10,   0,  16,   0,  17,   0, 
-      0,   0,  52,   0,   0,   7, 
-    130,   0,  16,   0,   6,   0, 
-      0,   0,  42,   0,  16,   0, 
-     17,   0,   0,   0,  58,   0, 
-     16,   0,   6,   0,   0,   0, 
-     49,   0,   0,   7, 130,   0, 
-     16,   0,   7,   0,   0,   0, 
-     58,   0,  16,   0,   5,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   8, 114,   0,  16,   0, 
-     19,   0,   0,   0, 246,  15, 
-     16, 128,  65,   0,   0,   0, 
-      4,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     56,   0,   0,   7, 114,   0, 
-     16,   0,  19,   0,   0,   0, 
-    246,  15,  16,   0,   4,   0, 
-      0,   0,  70,   2,  16,   0, 
-     19,   0,   0,   0,   0,   0, 
-      0,   8, 130,   0,  16,   0, 
-      5,   0,   0,   0,  58,   0, 
-     16,   0,   4,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   5,   0,   0,   0, 
-     14,   0,   0,   7, 114,   0, 
-     16,   0,  19,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0, 246,  15,  16,   0, 
-      5,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
-     19,   0,   0,   0, 246,  15, 
-     16,   0,   4,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,  17,   0, 
-      0,   0, 246,  15,  16,   0, 
-      7,   0,   0,   0,  70,   2, 
-     16,   0,  19,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0,  49,   0,   0,   7, 
-    130,   0,  16,   0,   5,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  58,   0, 
-     16,   0,   6,   0,   0,   0, 
-      0,   0,   0,   8, 114,   0, 
-     16,   0,  19,   0,   0,   0, 
-    246,  15,  16, 128,  65,   0, 
-      0,   0,   4,   0,   0,   0, 
-     70,   2,  16,   0,  17,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   7,   0, 
-      0,   0,  58,   0,  16, 128, 
-     65,   0,   0,   0,   4,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     19,   0,   0,   0, 246,  15, 
-     16,   0,   7,   0,   0,   0, 
-     70,   2,  16,   0,  19,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   6,   0, 
-      0,   0,  58,   0,  16, 128, 
-     65,   0,   0,   0,   4,   0, 
-      0,   0,  58,   0,  16,   0, 
-      6,   0,   0,   0,  14,   0, 
-      0,   7, 114,   0,  16,   0, 
-     19,   0,   0,   0,  70,   2, 
-     16,   0,  19,   0,   0,   0, 
-    246,  15,  16,   0,   6,   0, 
-      0,   0,   0,   0,   0,   7, 
-    114,   0,  16,   0,  19,   0, 
-      0,   0, 246,  15,  16,   0, 
-      4,   0,   0,   0,  70,   2, 
-     16,   0,  19,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,  17,   0,   0,   0, 
-    246,  15,  16,   0,   5,   0, 
-      0,   0,  70,   2,  16,   0, 
-     19,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     32,   0,   0,  11,  50,   0, 
-     16,   0,  19,   0,   0,   0, 
-      2,  64,   0,   0,  13,   0, 
-      0,   0,  14,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 166, 138,  32,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   2,   0, 
-      0,   0,  58,   0,  16, 128, 
-     65,   0,   0,   0,   2,   0, 
-      0,   0,  58,   0,  16,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   2,   0, 
-      0,   0,  16,   0,   0,  10, 
-    130,   0,  16,   0,   2,   0, 
-      0,   0,   2,  64,   0,   0, 
-    154, 153, 153,  62,  61,  10, 
-     23,  63, 174,  71, 225,  61, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     51,   0,   0,   7, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-     26,   0,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,  51,   0, 
-      0,   7, 130,   0,  16,   0, 
-      3,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   3,   0, 
-      0,   0,  52,   0,   0,   7, 
-    130,   0,  16,   0,   4,   0, 
-      0,   0,  26,   0,  16,   0, 
-      0,   0,   0,   0,  10,   0, 
-     16,   0,   0,   0,   0,   0, 
-     52,   0,   0,   7, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-     42,   0,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
-      4,   0,   0,   0,  49,   0, 
-      0,   7, 130,   0,  16,   0, 
-      5,   0,   0,   0,  58,   0, 
-     16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   8, 
-    114,   0,  16,   0,  20,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16, 128,  65,   0,   0,   0, 
-      2,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-     20,   0,   0,   0, 246,  15, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,  20,   0, 
-      0,   0,   0,   0,   0,   8, 
-    130,   0,  16,   0,   3,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16, 128,  65,   0,   0,   0, 
-      3,   0,   0,   0,  14,   0, 
-      0,   7, 114,   0,  16,   0, 
-     20,   0,   0,   0,  70,   2, 
-     16,   0,  20,   0,   0,   0, 
-    246,  15,  16,   0,   3,   0, 
-      0,   0,   0,   0,   0,   7, 
-    114,   0,  16,   0,  20,   0, 
-      0,   0, 246,  15,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,  20,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   5,   0, 
-      0,   0,  70,   2,  16,   0, 
-     20,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     49,   0,   0,   7, 130,   0, 
-     16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  58,   0,  16,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   8, 114,   0,  16,   0, 
-     20,   0,   0,   0, 246,  15, 
-     16, 128,  65,   0,   0,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-      0,   0,   0,   8, 130,   0, 
-     16,   0,   5,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  56,   0,   0,   7, 
-    114,   0,  16,   0,  20,   0, 
-      0,   0, 246,  15,  16,   0, 
-      5,   0,   0,   0,  70,   2, 
-     16,   0,  20,   0,   0,   0, 
-      0,   0,   0,   8, 130,   0, 
-     16,   0,   4,   0,   0,   0, 
-     58,   0,  16, 128,  65,   0, 
-      0,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   4,   0, 
-      0,   0,  14,   0,   0,   7, 
-    114,   0,  16,   0,  20,   0, 
-      0,   0,  70,   2,  16,   0, 
-     20,   0,   0,   0, 246,  15, 
-     16,   0,   4,   0,   0,   0, 
-      0,   0,   0,   7, 114,   0, 
-     16,   0,  20,   0,   0,   0, 
-    246,  15,  16,   0,   2,   0, 
-      0,   0,  70,   2,  16,   0, 
-     20,   0,   0,   0,  55,   0, 
-      0,   9, 114,   0,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,  20,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   7, 114,   0,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     86,   5,  16,   0,  19,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,   6,   0,  16,   0, 
-     19,   0,   0,   0,  70,   2, 
-     16,   0,  17,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0, 246,  15,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  16,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0, 166,  10,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,  13,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  55,   0,   0,   9, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,  86,   5,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  55,   0,   0,  10, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,   6,   0,  16,   0, 
-     14,   0,   0,   0,  70,   2, 
-     16, 128, 129,   0,   0,   0, 
-     10,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   9,   0, 
-      0,   0,  70,   2,  16,   0, 
-     18,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    166,  10,  16,   0,   9,   0, 
-      0,   0,  70,   2,  16,   0, 
-      6,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     86,   5,  16,   0,   9,   0, 
-      0,   0,  70,   2,  16,   0, 
-     15,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   9,   0, 
-      0,   0,  70,   2,  16,   0, 
-     12,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-     11,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    166,  10,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-      7,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     86,   5,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-      5,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-      6,   0,  16,   0,   8,   0, 
-      0,   0,  70,   2,  16,   0, 
-      4,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     55,   0,   0,  10, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    166, 138,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   8,  18,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 128,  63, 
-     56,   0,   0,   7, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  50,   0, 
-      0,   9, 114,   0,  16,   0, 
-      0,   0,   0,   0,   6,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7, 114,  32,  16,   0, 
-      0,   0,   0,   0, 246,  15, 
-     16,   0,   1,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,  32,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
-      1,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    116,   0,   0,   0,  83,   1, 
-      0,   0,  22,   0,   0,   0, 
-      0,   0,   0,   0,   4,   0, 
-      0,   0, 197,   0,   0,   0, 
-      9,   0,   0,   0,  13,   0, 
-      0,   0,  13,   0,   0,   0, 
-     10,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  24,   0,   0,   0, 
-     45,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     82,  68,  69,  70, 112,   3, 
-      0,   0,   1,   0,   0,   0, 
-     80,   1,   0,   0,   8,   0, 
-      0,   0,  28,   0,   0,   0, 
-      0,   4, 255, 255,   0,   1, 
-      0,   0,  60,   3,   0,   0, 
-     28,   1,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  37,   1,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0,  42,   1, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-     45,   1,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   2,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0,  49,   1,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0,  53,   1, 
-      0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      5,   0,   0,   0,   1,   0, 
-      0,   0,  13,   0,   0,   0, 
-     59,   1,   0,   0,   2,   0, 
-      0,   0,   5,   0,   0,   0, 
-      4,   0,   0,   0, 255, 255, 
-    255, 255,   6,   0,   0,   0, 
-      1,   0,   0,   0,  13,   0, 
-      0,   0,  69,   1,   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, 115,  83, 
-     97, 109, 112, 108, 101, 114, 
-      0, 116,  82,  71,  66,   0, 
-    116,  89,   0, 116,  67,  98, 
-      0, 116,  67, 114,   0, 116, 
-     77,  97, 115, 107,   0, 116, 
-     66,  97,  99, 107, 100, 114, 
-    111, 112,   0,  36,  71, 108, 
-    111,  98,  97, 108, 115,   0, 
-    171, 171,  69,   1,   0,   0, 
-     10,   0,   0,   0, 104,   1, 
-      0,   0,  48,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  88,   2,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    100,   2,   0,   0,   0,   0, 
-      0,   0, 116,   2,   0,   0, 
-     16,   0,   0,   0,   4,   0, 
-      0,   0,   2,   0,   0,   0, 
-    132,   2,   0,   0,   0,   0, 
-      0,   0, 148,   2,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    164,   2,   0,   0,   0,   0, 
-      0,   0, 180,   2,   0,   0, 
-     48,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    196,   2,   0,   0,   0,   0, 
-      0,   0, 212,   2,   0,   0, 
-    112,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    196,   2,   0,   0,   0,   0, 
-      0,   0, 224,   2,   0,   0, 
-    176,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   2,   0,   0,   0,   0, 
-      0,   0, 244,   2,   0,   0, 
-    192,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      4,   3,   0,   0,   0,   0, 
-      0,   0,  20,   3,   0,   0, 
-    208,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      4,   3,   0,   0,   0,   0, 
-      0,   0,  31,   3,   0,   0, 
-    224,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-      4,   3,   0,   0,   0,   0, 
-      0,   0,  41,   3,   0,   0, 
-    240,   0,   0,   0,  64,   0, 
-      0,   0,   0,   0,   0,   0, 
-    196,   2,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 105,  66, 108, 101, 
-    110, 100,  67, 111, 110, 102, 
-    105, 103,   0, 171, 171, 171, 
-      1,   0,  19,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  82, 101, 110, 100, 101, 
-    114,  84,  97, 114, 103, 101, 
-    116,  79, 102, 102, 115, 101, 
-    116,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 118,  77,  97, 
-    115, 107,  81, 117,  97, 100, 
-      0, 109,  66,  97,  99, 107, 
-    100, 114, 111, 112,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 128,   0, 
-      0,   0,   4,   0,   0,   0, 
-      8,   0,   0,   0, 104,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0, 116,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0, 116,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-     12,  12,   0,   0, 116,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  44,   0,   0,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 fLayerColor;                // Offset:    0 Size:    16
+//   float fLayerOpacity;               // Offset:   16 Size:     4
+//   uint4 iBlendConfig;                // Offset:   32 Size:    16
+//   float4x4 mLayerTransform;          // Offset:   48 Size:    64 [unused]
+//   float4x4 mProjection;              // Offset:  112 Size:    64 [unused]
+//   float4 vRenderTargetOffset;        // Offset:  176 Size:    16 [unused]
+//   float4 vTextureCoords;             // Offset:  192 Size:    16 [unused]
+//   float4 vLayerQuad;                 // Offset:  208 Size:    16 [unused]
+//   float4 vMaskQuad;                  // Offset:  224 Size:    16 [unused]
+//   float4x4 mBackdropTransform;       // Offset:  240 Size:    64 [unused]
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// sSampler                          sampler      NA          NA             s0      1 
+// tRGB                              texture  float4          2d             t0      1 
+// tY                                texture  float4          2d             t1      1 
+// tCb                               texture  float4          2d             t2      1 
+// tCr                               texture  float4          2d             t3      1 
+// tMask                             texture  float4          2d             t5      1 
+// tBackdrop                         texture  float4          2d             t6      1 
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 2     zw        1     NONE   float     zw
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c0         cb0             0         2  ( FLT, FLT, FLT, FLT)
+// c2         cb0             2         1  (UINT,UINT,UINT,UINT)
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+// s1             s0              t1               
+// s2             s0              t2               
+// s3             s0              t3               
+// s4             s0              t5               
+// s5             s0              t6               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c3, -1, -2, -0.50195998, -0.0627499968
+    def c4, 1.59603, 0.812969983, 1.16437995, 2.01723003
+    def c5, -2, -3, -4, -5
+    def c6, -6, -7, -8, -9
+    def c7, 1, 0.25, 2, -1
+    def c8, 16, -12, -14, 0
+    def c9, -10, -11, -12, -13
+    def c10, 0.300000012, 0.589999974, 0.109999999, 0
+    def c11, 0.391759992, -1, -0, -0.5
+    dcl t0
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    dcl_2d s3
+    dcl_2d s4
+    dcl_2d s5
+    mov r0.x, -c11.z
+    mov r1.x, -c11.z
+    mov r2.z, -c11.z
+    texld r3, t0, s1
+    texld r4, t0, s3
+    add r0.w, r4.x, c3.z
+    mul r3.yz, r0.w, c4.xxyw
+    add r0.w, r3.x, c3.w
+    mad r1.w, r0.w, c4.z, -r3.z
+    mad r3.x, r0.w, c4.z, r3.y
+    rcp r2.w, t1.z
+    mul r4.xy, r2.w, t1
+    texld r5, t0, s2
+    texld r4, r4, s4
+    add r2.w, r5.x, c3.z
+    mad r3.y, r2.w, -c11.x, r1.w
+    mul r1.w, r2.w, c4.w
+    mad r3.z, r0.w, c4.z, r1.w
+    mov r3.w, -c3.x
+    mul r3, r3, c1.x
+    mul r5, r4.x, r3
+    mov r6.xy, t0.wzzw
+    texld r7, t0, s0
+    texld r6, r6, s5
+    mul r7, r7, c1.x
+    mul r8, r4.x, r7
+    mov r9.xy, c3
+    add r10, r9.xyxx, c2.xxyz
+    mul r10, r10, r10
+    cmp r5, -r10.x, r8, r5
+    cmp r3, -r10.x, r7, r3
+    mov r7.w, c1.x
+    mul r8, r4.x, r7
+    cmp r3, -c2.x, r7, r3
+    mul r4, r4.x, c0
+    cmp r5, -c2.x, r8, r5
+    cmp r7.xy, -r10.yzzw, c11.y, c11.z
+    cmp r0.w, -r10.x, c3.x, r7.x
+    cmp r1.w, -c2.y, r9.x, r7.y
+    cmp r0.w, -c2.x, r9.x, r0.w
+    cmp r4, r0.w, r4, r5
+    cmp r3, r0.w, c0, r3
+    cmp r3, -c2.y, r3, r4
+    cmp r3, r1.w, -c11.zzzy, r3
+    rcp r0.w, r3.w
+    mul r4.xyz, r0.w, r3
+    cmp r4.xyz, -c2.w, r3, r4
+    add r5.xy, -r4.yzzw, r4
+    cmp r5.zw, r5.x, r4.xyxy, r4.xyyx
+    max r0.w, r5.z, r4.z
+    min r1.w, r4.z, r5.w
+    add r7.w, r0.w, -r1.w
+    rcp r0.w, r6.w
+    mul r8.xyz, r0.w, r6
+    mad r5.zw, r6.xyzy, r0.w, -r8.xyxz
+    mul r9.xy, r7.w, r5.zwzw
+    mad r11, r6.yxxz, r0.w, -r8.xzyy
+    rcp r1.w, r11.x
+    mul r7.y, r1.w, r9.x
+    cmp r1.yz, r11.z, -c11.z, r7.xwyw
+    mul r12, r7.w, r11
+    rcp r1.w, r5.w
+    mul r7.x, r1.w, r12.y
+    cmp r2.xy, r11.w, -c11.z, r7.xwzw
+    cmp r1.xyz, r5.z, r1, r2
+    rcp r1.w, r5.z
+    mul r7.z, r1.w, r12.x
+    cmp r0.yz, r11.y, -c11.z, r7.xzww
+    cmp r0.xyz, r11.w, r0, r1
+    mov r1.y, -c11.z
+    mov r2.y, -c11.z
+    mov r10.z, -c11.z
+    rcp r1.w, r11.z
+    mul r7.y, r1.w, r12.w
+    cmp r2.xz, r11.x, -c11.z, r7.wyyw
+    rcp r1.w, r11.y
+    mul r7.x, r1.w, r9.y
+    cmp r10.xy, r5.z, -c11.z, r7.wxzw
+    cmp r2.xyz, r11.w, r2, r10
+    rcp r1.w, r11.w
+    mul r7.z, r1.w, r12.z
+    cmp r1.xz, r5.w, -c11.z, r7.zyww
+    cmp r1.xyz, r5.z, r1, r2
+    cmp r0.xyz, r11.x, r0, r1
+    cmp r1.xy, r11.z, r8, r8.yxzw
+    dp3 r4.w, c10, r0
+    dp3 r8.w, c10, r8
+    add r4.w, -r4.w, r8.w
+    add r0.xyz, r0, r4.w
+    add r4.w, -r0.y, r0.x
+    cmp r1.zw, r4.w, r0.xyyx, r0.xyxy
+    min r4.w, r0.z, r1.z
+    max r2.x, r1.w, r0.z
+    dp3 r1.z, c10, r0
+    add r1.w, -r4.w, r1.z
+    rcp r1.w, r1.w
+    add r2.yzw, r0.xxyz, -r1.z
+    mul r2.yzw, r1.z, r2
+    mad r2.yzw, r2, r1.w, r1.z
+    cmp r0.xyz, r4.w, r0, r2.yzww
+    add r2.yzw, -r1.z, r0.xxyz
+    add r1.w, -r1.z, -c3.x
+    mul r2.yzw, r1.w, r2
+    add r1.w, -r1.z, r2.x
+    add r4.w, -r2.x, -c3.x
+    rcp r1.w, r1.w
+    mad r2.xyz, r2.yzww, r1.w, r1.z
+    cmp r0.xyz, r4.w, r0, r2
+    mov r4.w, c2.z
+    add r1.z, r4.w, c8.z
+    mul r1.z, r1.z, r1.z
+    dp3 r1.w, c10, r4
+    add r2.x, -r8.w, r1.w
+    add r1.w, -r1.w, r8.w
+    add r2.yzw, r1.w, r4.xxyz
+    mad r7.xyz, r6, r0.w, r2.x
+    add r1.w, -r7.y, r7.x
+    cmp r5.zw, r1.w, r7.xyyx, r7.xyxy
+    min r1.w, r7.z, r5.z
+    max r2.x, r5.w, r7.z
+    dp3 r7.w, c10, r7
+    add r5.z, -r1.w, r7.w
+    rcp r5.z, r5.z
+    add r9.xyz, -r7.w, r7
+    mul r9.xyz, r7.w, r9
+    mad r9.xyz, r9, r5.z, r7.w
+    cmp r7.xyz, r1.w, r7, r9
+    add r9.xyz, -r7.w, r7
+    add r1.w, -r7.w, -c3.x
+    mul r9.xyz, r1.w, r9
+    add r1.w, r2.x, -r7.w
+    add r9.w, -r2.x, -c3.x
+    rcp r1.w, r1.w
+    mad r9.xyz, r9, r1.w, r7.w
+    cmp r7.xyz, r9.w, r7, r9
+    cmp r7.xyz, -r1.z, r7, -c11.z
+    add r7.w, -r2.z, r2.y
+    cmp r1.zw, r7.w, r2.xyzy, r2.xyyz
+    min r7.w, r2.w, r1.z
+    max r5.z, r1.w, r2.w
+    dp3 r5.w, c10, r2.yzww
+    add r1.z, -r7.w, r5.w
+    rcp r1.z, r1.z
+    add r9.xyz, r2.yzww, -r5.w
+    mul r9.xyz, r5.w, r9
+    mad r9.xyz, r9, r1.z, r5.w
+    cmp r2.xyz, r7.w, r2.yzww, r9
+    add r9.xyz, -r5.w, r2
+    add r2.w, -r5.w, -c3.x
+    mul r9.xyz, r2.w, r9
+    add r2.w, -r5.w, r5.z
+    add r7.w, -r5.z, -c3.x
+    rcp r2.w, r2.w
+    mad r9.xyz, r9, r2.w, r5.w
+    cmp r2.xyz, r7.w, r2, r9
+    add r9, r4.w, c9
+    mul r9, r9, r9
+    cmp r2.xyz, -r9.w, r2, r7
+    cmp r0.xyz, -r9.z, r0, r2
+    add r2, -r4.xxzy, r4.yzxz
+    mov r7.y, -c11.z
+    mov r10.y, -c11.z
+    mov r11.z, -c11.z
+    rcp r7.w, r2.z
+    max r11.w, r1.x, r8.z
+    min r5.z, r8.z, r1.y
+    add r1.w, -r5.z, r11.w
+    mul r5.zw, r1.w, r5.xyxy
+    mul r1.x, r7.w, r5.w
+    cmp r11.xy, r2.y, -c11.z, r1.wxzw
+    rcp r5.w, r5.x
+    mul r12, r1.w, r2
+    mul r1.y, r5.w, r12.w
+    cmp r10.xz, r2.x, -c11.z, r1.wyyw
+    cmp r10.xyz, r2.w, r10, r11
+    rcp r5.w, r2.w
+    mul r1.z, r5.w, r5.z
+    cmp r7.xz, r5.y, -c11.z, r1.zyww
+    cmp r7.xyz, r2.y, r7, r10
+    mov r10.x, -c11.z
+    mov r11.x, -c11.z
+    mov r13.z, -c11.z
+    rcp r7.w, r2.x
+    mul r1.y, r7.w, r12.y
+    cmp r11.yz, r5.x, -c11.z, r1.xwyw
+    rcp r7.w, r5.y
+    mul r1.x, r7.w, r12.z
+    cmp r13.xy, r2.w, -c11.z, r1.xwzw
+    cmp r5.xyz, r2.y, r11, r13
+    rcp r5.w, r2.y
+    mul r1.z, r5.w, r12.x
+    cmp r10.yz, r2.z, -c11.z, r1.xzww
+    cmp r1.xyz, r2.w, r10, r5
+    cmp r1.xyz, r2.x, r1, r7
+    dp3 r1.w, c10, r1
+    add r1.w, -r1.w, r8.w
+    add r1.xyz, r1.w, r1
+    add r1.w, -r1.y, r1.x
+    cmp r2.xy, r1.w, r1.yxzw, r1
+    min r8.w, r1.z, r2.x
+    max r5.x, r2.y, r1.z
+    dp3 r1.w, c10, r1
+    add r2.x, -r8.w, r1.w
+    rcp r2.x, r2.x
+    add r2.yzw, -r1.w, r1.xxyz
+    mul r2.yzw, r1.w, r2
+    mad r2.xyz, r2.yzww, r2.x, r1.w
+    cmp r1.xyz, r8.w, r1, r2
+    add r2.xyz, -r1.w, r1
+    add r2.w, -r1.w, -c3.x
+    mul r2.xyz, r2.w, r2
+    add r2.w, -r1.w, r5.x
+    add r8.w, -r5.x, -c3.x
+    rcp r2.w, r2.w
+    mad r2.xyz, r2, r2.w, r1.w
+    cmp r1.xyz, r8.w, r1, r2
+    cmp r0.xyz, -r9.y, r1, r0
+    mad r1.xyz, r6, r0.w, r4
+    mul r2.xyz, r4, r8
+    mad r5.xyz, r2, c3.y, r1
+    mad r1.xyz, r8, -r4, r1
+    cmp r0.xyz, -r9.x, r5, r0
+    mad r5.xyz, r6, r0.w, -r4
+    abs r5.xyz, r5
+    add r7, r4.w, c6
+    mul r7, r7, r7
+    cmp r0.xyz, -r7.w, r5, r0
+    add r5.xy, -r4.yzzw, -c11.w
+    mad r9.xyz, r4, c7.z, c7.w
+    mad r1.w, r6.z, -r0.w, c7.y
+    mad r10.xyz, r8, c8.x, c8.y
+    mad r10.xyz, r10, r8, -c5.z
+    mul r10.xyz, r8, r10
+    rsq r2.w, r8.z
+    rcp r2.w, r2.w
+    cmp r1.w, r1.w, r10.z, r2.w
+    mad r1.w, r6.z, -r0.w, r1.w
+    mad r1.w, r9.z, r1.w, r8.z
+    mad r11.xyz, r4, c3.y, -c3.x
+    mul r11.xyz, r8, r11
+    mad r12, r6.yzxy, -r0.w, c7.xxyy
+    mad r5.zw, r11.xyyz, -r12.xyxy, r8.xyyz
+    cmp r13.z, r5.y, r5.w, r1.w
+    rsq r1.w, r8.y
+    rcp r1.w, r1.w
+    cmp r1.w, r12.w, r10.y, r1.w
+    mad r1.w, r6.y, -r0.w, r1.w
+    mad r1.w, r9.y, r1.w, r8.y
+    cmp r13.y, r5.x, r5.z, r1.w
+    add r14, -r4.xyzx, -c11.yyyw
+    rsq r1.w, r8.x
+    rcp r1.w, r1.w
+    cmp r1.w, r12.z, r10.x, r1.w
+    mad r1.w, r6.x, -r0.w, r1.w
+    mad r1.w, r9.x, r1.w, r8.x
+    mad r9, r6.xyzx, -r0.w, -c11.wwwy
+    mad r10.xyz, r6, r0.w, c3.x
+    mul r10.xyz, r10, r10
+    mad r0.w, r11.x, -r9.w, r8.x
+    cmp r13.x, r14.w, r0.w, r1.w
+    cmp r0.xyz, -r7.z, r13, r0
+    add r11.xyz, r8, r8
+    mad r13.xyz, r4, -c3.y, r11
+    add r13.xyz, r13, c3.x
+    mad r15.xyz, r4, -r11, r13
+    mul r11.xyz, r4, r11
+    add r16.xyz, r4, r4
+    mul r17.xyz, r8, r16
+    mad r13.xyz, r16, -r8, r13
+    cmp r9.xyz, r9, r11, r13
+    cmp r5.yz, r5.xxyw, r17, r15
+    cmp r5.x, r14.w, r17.x, r15.x
+    cmp r0.xyz, -r7.y, r5, r0
+    rcp r0.w, r4.x
+    mad r0.w, r9.w, -r0.w, -c3.x
+    max r1.w, r0.w, -c11.z
+    mul r5.xyz, r4, r4
+    cmp r0.w, -r5.x, -c11.z, r1.w
+    cmp r11.x, -r10.x, -c3.x, r0.w
+    rcp r0.w, r4.y
+    mad r0.w, r12.x, -r0.w, -c3.x
+    max r1.w, r0.w, -c11.z
+    cmp r0.w, -r5.y, -c11.z, r1.w
+    cmp r11.y, -r10.y, -c3.x, r0.w
+    rcp r0.w, r4.z
+    mad r0.w, r12.y, -r0.w, -c3.x
+    max r1.w, r0.w, -c11.z
+    cmp r0.w, -r5.z, -c11.z, r1.w
+    cmp r11.z, -r10.z, -c3.x, r0.w
+    cmp r0.xyz, -r7.x, r11, r0
+    add r5, r4.w, c5
+    mul r5, r5, r5
+    add r7.xyz, r4, c3.x
+    mul r7.xyz, r7, r7
+    rcp r0.w, r14.x
+    mul r0.w, r0.w, r8.x
+    min r1.w, r0.w, -c3.x
+    cmp r0.w, -r7.x, -c3.x, r1.w
+    mul r10.xyz, r8, r8
+    cmp r11.x, -r10.x, -c11.z, r0.w
+    rcp r0.w, r14.y
+    rcp r1.w, r14.z
+    mul r1.w, r1.w, r8.z
+    min r2.w, r1.w, -c3.x
+    cmp r1.w, -r7.z, -c3.x, r2.w
+    cmp r11.z, -r10.z, -c11.z, r1.w
+    mul r0.w, r0.w, r8.y
+    min r1.w, r0.w, -c3.x
+    cmp r0.w, -r7.y, -c3.x, r1.w
+    cmp r11.y, -r10.y, -c11.z, r0.w
+    cmp r0.xyz, -r5.w, r11, r0
+    max r7.xyz, r8, r4
+    min r10.xyz, r4, r8
+    cmp r0.xyz, -r5.z, r7, r0
+    cmp r0.xyz, -r5.y, r10, r0
+    cmp r0.xyz, -r5.x, r9, r0
+    cmp r0.xyz, -r10.w, r1, r0
+    cmp r0.xyz, -c2.z, r2, r0
+    lrp r1.xyz, r6.w, r0, r4
+    mul r0.xyz, r3.w, r1
+    mul r1.x, r3.w, r3.w
+    mov r0.w, r3.w
+    cmp r0, -r1.x, r6, r0
+    mul r1.x, r6.w, r6.w
+    cmp r0, -r1.x, r3, r0
+    mov oC0, r0
+
+// approximately 326 instruction slots used (6 texture, 320 arithmetic)
+ps_4_0
+dcl_constantbuffer CB0[3], immediateIndexed
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_resource_texture2d (float,float,float,float) t1
+dcl_resource_texture2d (float,float,float,float) t2
+dcl_resource_texture2d (float,float,float,float) t3
+dcl_resource_texture2d (float,float,float,float) t5
+dcl_resource_texture2d (float,float,float,float) t6
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v1.zw
+dcl_input_ps linear v2.xyz
+dcl_output o0.xyzw
+dcl_temps 22
+sample r0.xyzw, v1.zwzz, t6.xyzw, s0
+if_z cb0[2].y
+  if_z cb0[2].x
+    sample r1.xyzw, v1.xyxx, t0.xyzw, s0
+    mul r1.xyz, r1.xyzx, cb0[1].xxxx
+    mov r1.w, cb0[1].x
+    mov r2.x, l(-1)
+  else 
+    ieq r2.y, l(1), cb0[2].x
+    if_nz r2.y
+      sample r3.xyzw, v1.xyxx, t0.xyzw, s0
+      mul r1.xyzw, r3.xyzw, cb0[1].xxxx
+      mov r2.x, l(-1)
+    else 
+      ieq r2.x, l(2), cb0[2].x
+      if_nz r2.x
+        sample r3.xyzw, v1.xyxx, t3.xyzw, s0
+        add r2.y, r3.x, l(-0.501960)
+        sample r3.xyzw, v1.xyxx, t1.xyzw, s0
+        add r2.z, r3.x, l(-0.062750)
+        sample r3.xyzw, v1.xyxx, t2.xyzw, s0
+        add r2.w, r3.x, l(-0.501960)
+        mul r3.xy, r2.yyyy, l(1.596030, 0.812970, 0.000000, 0.000000)
+        mad r4.x, r2.z, l(1.164380), r3.x
+        mad r2.y, r2.z, l(1.164380), -r3.y
+        mul r3.x, r2.w, l(2.017230)
+        mad r4.y, -r2.w, l(0.391760), r2.y
+        mad r4.z, r2.z, l(1.164380), r3.x
+        mov r4.w, l(1.000000)
+        mul r1.xyzw, r4.xyzw, cb0[1].xxxx
+      endif 
+    endif 
+  endif 
+  movc r1.xyzw, r2.xxxx, r1.xyzw, cb0[0].xyzw
+  mov r2.x, l(-1)
+else 
+  ieq r2.x, l(1), cb0[2].y
+  if_nz r2.x
+    if_z cb0[2].x
+      sample r3.xyzw, v1.xyxx, t0.xyzw, s0
+      mul r3.xyz, r3.xyzx, cb0[1].xxxx
+      div r2.yz, v2.xxyx, v2.zzzz
+      sample r4.xyzw, r2.yzyy, t5.xyzw, s0
+      mov r3.w, cb0[1].x
+      mul r1.xyzw, r3.xyzw, r4.xxxx
+      mov r2.y, l(-1)
+    else 
+      ieq r2.z, l(1), cb0[2].x
+      if_nz r2.z
+        div r2.zw, v2.xxxy, v2.zzzz
+        sample r3.xyzw, r2.zwzz, t5.xyzw, s0
+        sample r4.xyzw, v1.xyxx, t0.xyzw, s0
+        mul r4.xyzw, r4.xyzw, cb0[1].xxxx
+        mul r1.xyzw, r3.xxxx, r4.xyzw
+        mov r2.y, l(-1)
+      else 
+        ieq r2.y, l(2), cb0[2].x
+        if_nz r2.y
+          div r2.zw, v2.xxxy, v2.zzzz
+          sample r3.xyzw, r2.zwzz, t5.xyzw, s0
+          sample r4.xyzw, v1.xyxx, t3.xyzw, s0
+          add r2.z, r4.x, l(-0.501960)
+          sample r4.xyzw, v1.xyxx, t1.xyzw, s0
+          add r2.w, r4.x, l(-0.062750)
+          sample r4.xyzw, v1.xyxx, t2.xyzw, s0
+          add r3.y, r4.x, l(-0.501960)
+          mul r3.zw, r2.zzzz, l(0.000000, 0.000000, 1.596030, 0.812970)
+          mad r4.x, r2.w, l(1.164380), r3.z
+          mad r2.z, r2.w, l(1.164380), -r3.w
+          mul r3.z, r3.y, l(2.017230)
+          mad r4.y, -r3.y, l(0.391760), r2.z
+          mad r4.z, r2.w, l(1.164380), r3.z
+          mov r4.w, l(1.000000)
+          mul r4.xyzw, r4.xyzw, cb0[1].xxxx
+          mul r1.xyzw, r3.xxxx, r4.xyzw
+        endif 
+      endif 
+    endif 
+    if_z r2.y
+      div r2.yz, v2.xxyx, v2.zzzz
+      sample r3.xyzw, r2.yzyy, t5.xyzw, s0
+      mul r1.xyzw, r3.xxxx, cb0[0].xyzw
+    endif 
+  endif 
+endif 
+movc r1.xyzw, r2.xxxx, r1.xyzw, l(0,0,0,1.000000)
+eq r2.x, r0.w, l(0.000000)
+if_nz r2.x
+  mov o0.xyzw, r1.xyzw
+  ret 
+endif 
+eq r2.x, r1.w, l(0.000000)
+if_nz r2.x
+  mov o0.xyzw, r0.xyzw
+  ret 
+endif 
+div r0.xyz, r0.xyzx, r0.wwww
+div r2.xyz, r1.xyzx, r1.wwww
+movc r1.xyz, cb0[2].wwww, r2.xyzx, r1.xyzx
+mul r2.xyz, r0.xyzx, r1.xyzx
+add r3.xyz, r0.xyzx, r1.xyzx
+mad r4.xyz, -r0.xyzx, r1.xyzx, r3.xyzx
+ge r5.xyzw, l(0.500000, 0.500000, 0.500000, 0.250000), r0.xyzx
+add r6.xyz, r0.xyzx, r0.xyzx
+mul r7.xyz, r1.xyzx, r6.xyzx
+add r8.xyz, r1.xyzx, r1.xyzx
+mad r9.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r6.xyzx
+add r9.xyz, r9.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
+mul r10.xyz, r0.xyzx, r8.xyzx
+mad r8.xyz, -r8.xyzx, r0.xyzx, r9.xyzx
+movc r5.xyz, r5.xyzx, r7.xyzx, r8.xyzx
+min r7.xyz, r0.xyzx, r1.xyzx
+ieq r8.xyzw, l(1, 2, 3, 4), cb0[2].zzzz
+max r11.xyz, r0.xyzx, r1.xyzx
+eq r12.xyzw, r0.xyzx, l(0.000000, 0.000000, 0.000000, 1.000000)
+eq r13.xyzw, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+add r14.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+div r14.xyz, r0.xyzx, r14.xyzx
+min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+movc r13.xyz, r13.xyzx, l(1.000000,1.000000,1.000000,0), r14.xyzx
+movc r12.xyz, r12.xyzx, l(0,0,0,0), r13.xyzx
+add r13.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+div r14.xyz, r13.xyzx, r1.xyzx
+min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+add r14.xyz, -r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
+movc r2.w, r13.w, l(0), r14.x
+movc r15.x, r12.w, l(1.000000), r2.w
+eq r14.xw, r0.yyyz, l(1.000000, 0.000000, 0.000000, 1.000000)
+eq r16.xy, r1.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
+movc r14.yz, r16.xxyx, l(0,0,0,0), r14.yyzy
+movc r15.yz, r14.xxwx, l(0,1.000000,1.000000,0), r14.yyzy
+ge r14.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), r1.xyzx
+mad r6.xyz, -r1.xyzx, r6.xyzx, r9.xyzx
+movc r6.xyz, r14.xyzx, r10.xyzx, r6.xyzx
+ieq r9.xyzw, l(5, 6, 7, 8), cb0[2].zzzz
+mad r10.xyz, -r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
+mul r10.xyz, r0.xyzx, r10.xyzx
+mad r10.xyz, -r10.xyzx, r13.xyzx, r0.xyzx
+mad r13.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
+mad r16.xyz, r0.xyzx, l(16.000000, 16.000000, 16.000000, 0.000000), l(-12.000000, -12.000000, -12.000000, 0.000000)
+mad r16.xyz, r16.xyzx, r0.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000)
+mul r16.xyz, r0.xyzx, r16.xyzx
+sqrt r17.xyz, r0.xyzx
+movc r2.w, r5.w, r16.x, r17.x
+add r2.w, -r0.x, r2.w
+mad r2.w, r13.x, r2.w, r0.x
+movc r18.x, r14.x, r10.x, r2.w
+ge r10.xw, l(0.250000, 0.000000, 0.000000, 0.250000), r0.yyyz
+movc r10.xw, r10.xxxw, r16.yyyz, r17.yyyz
+add r10.xw, -r0.yyyz, r10.xxxw
+mad r10.xw, r13.yyyz, r10.xxxw, r0.yyyz
+movc r18.yz, r14.yyzy, r10.yyzy, r10.xxwx
+add r10.xyz, r0.xyzx, -r1.xyzx
+mad r3.xyz, -r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r3.xyzx
+max r2.w, r0.y, r0.x
+max r2.w, r0.z, r2.w
+min r3.w, r0.y, r0.x
+min r3.w, r0.z, r3.w
+add r13.w, r2.w, -r3.w
+ge r2.w, r1.y, r1.x
+if_nz r2.w
+  lt r14.xyz, r1.xxzx, r1.zyyz
+  add r16.xyzw, -r1.xxzz, r1.yzxy
+  mul r17.xyz, r13.wwww, r16.xyzx
+  div r13.xyz, r17.xyzx, r16.yxwy
+  and r16.yz, r13.xxwx, r14.xxxx
+  ge r14.xw, r1.zzzz, r1.yyyx
+  and r17.yz, r13.wwyw, r14.yyyy
+  and r19.xy, r13.zwzz, r14.zzzz
+  mov r17.x, l(0)
+  mov r19.z, l(0)
+  movc r14.yzw, r14.wwww, r17.xxyz, r19.xxyz
+  mov r16.x, l(0)
+  movc r14.xyz, r14.xxxx, r16.xyzx, r14.yzwy
+else 
+  lt r16.xyz, r1.yyzy, r1.zxxz
+  add r17.xyzw, -r1.yyzz, r1.xzyx
+  mul r19.xyz, r13.wwww, r17.xyzx
+  div r13.xyz, r19.xyzx, r17.yxwy
+  and r17.xz, r13.xxwx, r16.xxxx
+  ge r16.xw, r1.zzzz, r1.xxxy
+  and r19.xz, r13.wwyw, r16.yyyy
+  and r13.xy, r13.wzww, r16.zzzz
+  mov r19.y, l(0)
+  mov r13.z, l(0)
+  movc r13.xyz, r16.wwww, r19.xyzx, r13.xyzx
+  mov r17.y, l(0)
+  movc r14.xyz, r16.xxxx, r17.xyzx, r13.xyzx
+endif 
+dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx
+dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r14.xyzx
+add r3.w, r2.w, -r3.w
+add r13.xyz, r3.wwww, r14.xyzx
+dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r13.xyzx
+min r4.w, r13.y, r13.x
+min r4.w, r13.z, r4.w
+max r5.w, r13.y, r13.x
+max r5.w, r13.z, r5.w
+lt r6.w, r4.w, l(0.000000)
+add r14.xyz, -r3.wwww, r13.xyzx
+mul r14.xyz, r3.wwww, r14.xyzx
+add r4.w, r3.w, -r4.w
+div r14.xyz, r14.xyzx, r4.wwww
+add r14.xyz, r3.wwww, r14.xyzx
+movc r13.xyz, r6.wwww, r14.xyzx, r13.xyzx
+lt r4.w, l(1.000000), r5.w
+add r14.xyz, -r3.wwww, r13.xyzx
+add r6.w, -r3.w, l(1.000000)
+mul r14.xyz, r6.wwww, r14.xyzx
+add r5.w, -r3.w, r5.w
+div r14.xyz, r14.xyzx, r5.wwww
+add r14.xyz, r3.wwww, r14.xyzx
+movc r13.xyz, r4.wwww, r14.xyzx, r13.xyzx
+ieq r14.xyzw, l(9, 10, 11, 12), cb0[2].zzzz
+max r3.w, r1.y, r1.x
+max r3.w, r1.z, r3.w
+min r4.w, r1.y, r1.x
+min r4.w, r1.z, r4.w
+add r16.w, r3.w, -r4.w
+ge r3.w, r0.y, r0.x
+if_nz r3.w
+  lt r17.xyz, r0.xxzx, r0.zyyz
+  add r19.xyzw, -r0.xxzz, r0.yzxy
+  mul r20.xyz, r16.wwww, r19.xyzx
+  div r16.xyz, r20.xyzx, r19.yxwy
+  and r19.yz, r16.xxwx, r17.xxxx
+  ge r17.xw, r0.zzzz, r0.yyyx
+  and r20.yz, r16.wwyw, r17.yyyy
+  and r21.xy, r16.zwzz, r17.zzzz
+  mov r20.x, l(0)
+  mov r21.z, l(0)
+  movc r17.yzw, r17.wwww, r20.xxyz, r21.xxyz
+  mov r19.x, l(0)
+  movc r17.xyz, r17.xxxx, r19.xyzx, r17.yzwy
+else 
+  lt r19.xyz, r0.yyzy, r0.zxxz
+  add r20.xyzw, -r0.yyzz, r0.xzyx
+  mul r21.xyz, r16.wwww, r20.xyzx
+  div r16.xyz, r21.xyzx, r20.yxwy
+  and r20.xz, r16.xxwx, r19.xxxx
+  ge r19.xw, r0.zzzz, r0.xxxy
+  and r21.xz, r16.wwyw, r19.yyyy
+  and r16.xy, r16.wzww, r19.zzzz
+  mov r21.y, l(0)
+  mov r16.z, l(0)
+  movc r16.xyz, r19.wwww, r21.xyzx, r16.xyzx
+  mov r20.y, l(0)
+  movc r17.xyz, r19.xxxx, r20.xyzx, r16.xyzx
+endif 
+dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx
+add r3.w, r2.w, -r3.w
+add r16.xyz, r3.wwww, r17.xyzx
+dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r16.xyzx
+min r4.w, r16.y, r16.x
+min r4.w, r16.z, r4.w
+max r5.w, r16.y, r16.x
+max r5.w, r16.z, r5.w
+lt r6.w, r4.w, l(0.000000)
+add r17.xyz, -r3.wwww, r16.xyzx
+mul r17.xyz, r3.wwww, r17.xyzx
+add r4.w, r3.w, -r4.w
+div r17.xyz, r17.xyzx, r4.wwww
+add r17.xyz, r3.wwww, r17.xyzx
+movc r16.xyz, r6.wwww, r17.xyzx, r16.xyzx
+lt r4.w, l(1.000000), r5.w
+add r17.xyz, -r3.wwww, r16.xyzx
+add r6.w, -r3.w, l(1.000000)
+mul r17.xyz, r6.wwww, r17.xyzx
+add r5.w, -r3.w, r5.w
+div r17.xyz, r17.xyzx, r5.wwww
+add r17.xyz, r3.wwww, r17.xyzx
+movc r16.xyz, r4.wwww, r17.xyzx, r16.xyzx
+dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r1.xyzx
+add r4.w, r2.w, -r3.w
+add r17.xyz, r1.xyzx, r4.wwww
+dp3 r4.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx
+min r5.w, r17.y, r17.x
+min r5.w, r17.z, r5.w
+max r6.w, r17.y, r17.x
+max r6.w, r17.z, r6.w
+lt r7.w, r5.w, l(0.000000)
+add r19.xyz, -r4.wwww, r17.xyzx
+mul r19.xyz, r4.wwww, r19.xyzx
+add r5.w, r4.w, -r5.w
+div r19.xyz, r19.xyzx, r5.wwww
+add r19.xyz, r4.wwww, r19.xyzx
+movc r17.xyz, r7.wwww, r19.xyzx, r17.xyzx
+lt r5.w, l(1.000000), r6.w
+add r19.xyz, -r4.wwww, r17.xyzx
+add r7.w, -r4.w, l(1.000000)
+mul r19.xyz, r7.wwww, r19.xyzx
+add r6.w, -r4.w, r6.w
+div r19.xyz, r19.xyzx, r6.wwww
+add r19.xyz, r4.wwww, r19.xyzx
+movc r17.xyz, r5.wwww, r19.xyzx, r17.xyzx
+ieq r19.xy, l(13, 14, 0, 0), cb0[2].zzzz
+add r2.w, -r2.w, r3.w
+add r0.xyz, r0.xyzx, r2.wwww
+dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx
+min r3.w, r0.y, r0.x
+min r3.w, r0.z, r3.w
+max r4.w, r0.y, r0.x
+max r4.w, r0.z, r4.w
+lt r5.w, r3.w, l(0.000000)
+add r20.xyz, r0.xyzx, -r2.wwww
+mul r20.xyz, r2.wwww, r20.xyzx
+add r3.w, r2.w, -r3.w
+div r20.xyz, r20.xyzx, r3.wwww
+add r20.xyz, r2.wwww, r20.xyzx
+movc r0.xyz, r5.wwww, r20.xyzx, r0.xyzx
+lt r3.w, l(1.000000), r4.w
+add r20.xyz, -r2.wwww, r0.xyzx
+add r5.w, -r2.w, l(1.000000)
+mul r20.xyz, r5.wwww, r20.xyzx
+add r4.w, -r2.w, r4.w
+div r20.xyz, r20.xyzx, r4.wwww
+add r20.xyz, r2.wwww, r20.xyzx
+movc r0.xyz, r3.wwww, r20.xyzx, r0.xyzx
+and r0.xyz, r0.xyzx, r19.yyyy
+movc r0.xyz, r19.xxxx, r17.xyzx, r0.xyzx
+movc r0.xyz, r14.wwww, r16.xyzx, r0.xyzx
+movc r0.xyz, r14.zzzz, r13.xyzx, r0.xyzx
+movc r0.xyz, r14.yyyy, r3.xyzx, r0.xyzx
+movc r0.xyz, r14.xxxx, |r10.xyzx|, r0.xyzx
+movc r0.xyz, r9.wwww, r18.xyzx, r0.xyzx
+movc r0.xyz, r9.zzzz, r6.xyzx, r0.xyzx
+movc r0.xyz, r9.yyyy, r15.xyzx, r0.xyzx
+movc r0.xyz, r9.xxxx, r12.xyzx, r0.xyzx
+movc r0.xyz, r8.wwww, r11.xyzx, r0.xyzx
+movc r0.xyz, r8.zzzz, r7.xyzx, r0.xyzx
+movc r0.xyz, r8.yyyy, r5.xyzx, r0.xyzx
+movc r0.xyz, r8.xxxx, r4.xyzx, r0.xyzx
+movc r0.xyz, cb0[2].zzzz, r0.xyzx, r2.xyzx
+add r2.x, -r0.w, l(1.000000)
+mul r0.xyz, r0.xyzx, r0.wwww
+mad r0.xyz, r2.xxxx, r1.xyzx, r0.xyzx
+mul o0.xyz, r1.wwww, r0.xyzx
+mov o0.w, r1.w
+ret 
+// Approximately 339 instruction slots used
+#endif
+
+const BYTE BlendShader[] =
+{
+     68,  88,  66,  67, 122, 174, 
+    220,  58, 170,  47,  87,  82, 
+     85,   5, 178,  49, 217, 101, 
+    104, 140,   1,   0,   0,   0, 
+    184,  67,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     92,  23,   0,   0,   8,  63, 
+      0,   0, 132,  63,   0,   0, 
+    252,  66,   0,   0, 132,  67, 
+      0,   0,  65, 111, 110,  57, 
+     28,  23,   0,   0,  28,  23, 
+      0,   0,   0,   2, 255, 255, 
+    200,  22,   0,   0,  84,   0, 
+      0,   0,   2,   0,  60,   0, 
+      0,   0,  84,   0,   0,   0, 
+     84,   0,   6,   0,  36,   0, 
+      0,   0,  84,   0,   0,   0, 
+      0,   0,   1,   0,   1,   0, 
+      2,   0,   2,   0,   3,   0, 
+      3,   0,   5,   0,   4,   0, 
+      6,   0,   5,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   1,   0,   2,   0, 
+      3,   3,   3,   3,   1,   2, 
+    255, 255,  81,   0,   0,   5, 
+      3,   0,  15, 160,   0,   0, 
+    128, 191,   0,   0,   0, 192, 
+    115, 128,   0, 191,  18, 131, 
+    128, 189,  81,   0,   0,   5, 
+      4,   0,  15, 160, 182,  74, 
+    204,  63, 205,  30,  80,  63, 
+    103,  10, 149,  63,  76,  26, 
+      1,  64,  81,   0,   0,   5, 
+      5,   0,  15, 160,   0,   0, 
+      0, 192,   0,   0,  64, 192, 
+      0,   0, 128, 192,   0,   0, 
+    160, 192,  81,   0,   0,   5, 
+      6,   0,  15, 160,   0,   0, 
+    192, 192,   0,   0, 224, 192, 
+      0,   0,   0, 193,   0,   0, 
+     16, 193,  81,   0,   0,   5, 
+      7,   0,  15, 160,   0,   0, 
+    128,  63,   0,   0, 128,  62, 
+      0,   0,   0,  64,   0,   0, 
+    128, 191,  81,   0,   0,   5, 
+      8,   0,  15, 160,   0,   0, 
+    128,  65,   0,   0,  64, 193, 
+      0,   0,  96, 193,   0,   0, 
+      0,   0,  81,   0,   0,   5, 
+      9,   0,  15, 160,   0,   0, 
+     32, 193,   0,   0,  48, 193, 
+      0,   0,  64, 193,   0,   0, 
+     80, 193,  81,   0,   0,   5, 
+     10,   0,  15, 160, 154, 153, 
+    153,  62,  61,  10,  23,  63, 
+    174,  71, 225,  61,   0,   0, 
+      0,   0,  81,   0,   0,   5, 
+     11,   0,  15, 160, 196, 148, 
+    200,  62,   0,   0, 128, 191, 
+      0,   0,   0, 128,   0,   0, 
+      0, 191,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+     15, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   3,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   4,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   5,   8, 
+     15, 160,   1,   0,   0,   2, 
+      0,   0,   1, 128,  11,   0, 
+    170, 161,   1,   0,   0,   2, 
+      1,   0,   1, 128,  11,   0, 
+    170, 161,   1,   0,   0,   2, 
+      2,   0,   4, 128,  11,   0, 
+    170, 161,  66,   0,   0,   3, 
+      3,   0,  15, 128,   0,   0, 
+    228, 176,   1,   8, 228, 160, 
+     66,   0,   0,   3,   4,   0, 
+     15, 128,   0,   0, 228, 176, 
+      3,   8, 228, 160,   2,   0, 
+      0,   3,   0,   0,   8, 128, 
+      4,   0,   0, 128,   3,   0, 
+    170, 160,   5,   0,   0,   3, 
+      3,   0,   6, 128,   0,   0, 
+    255, 128,   4,   0, 208, 160, 
+      2,   0,   0,   3,   0,   0, 
+      8, 128,   3,   0,   0, 128, 
+      3,   0, 255, 160,   4,   0, 
+      0,   4,   1,   0,   8, 128, 
+      0,   0, 255, 128,   4,   0, 
+    170, 160,   3,   0, 170, 129, 
+      4,   0,   0,   4,   3,   0, 
+      1, 128,   0,   0, 255, 128, 
+      4,   0, 170, 160,   3,   0, 
+     85, 128,   6,   0,   0,   2, 
+      2,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      4,   0,   3, 128,   2,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   5,   0, 
+     15, 128,   0,   0, 228, 176, 
+      2,   8, 228, 160,  66,   0, 
+      0,   3,   4,   0,  15, 128, 
+      4,   0, 228, 128,   4,   8, 
+    228, 160,   2,   0,   0,   3, 
+      2,   0,   8, 128,   5,   0, 
+      0, 128,   3,   0, 170, 160, 
+      4,   0,   0,   4,   3,   0, 
+      2, 128,   2,   0, 255, 128, 
+     11,   0,   0, 161,   1,   0, 
+    255, 128,   5,   0,   0,   3, 
+      1,   0,   8, 128,   2,   0, 
+    255, 128,   4,   0, 255, 160, 
+      4,   0,   0,   4,   3,   0, 
+      4, 128,   0,   0, 255, 128, 
+      4,   0, 170, 160,   1,   0, 
+    255, 128,   1,   0,   0,   2, 
+      3,   0,   8, 128,   3,   0, 
+      0, 161,   5,   0,   0,   3, 
+      3,   0,  15, 128,   3,   0, 
+    228, 128,   1,   0,   0, 160, 
+      5,   0,   0,   3,   5,   0, 
+     15, 128,   4,   0,   0, 128, 
+      3,   0, 228, 128,   1,   0, 
+      0,   2,   6,   0,   3, 128, 
+      0,   0, 235, 176,  66,   0, 
+      0,   3,   7,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,  66,   0,   0,   3, 
+      6,   0,  15, 128,   6,   0, 
+    228, 128,   5,   8, 228, 160, 
+      5,   0,   0,   3,   7,   0, 
+     15, 128,   7,   0, 228, 128, 
+      1,   0,   0, 160,   5,   0, 
+      0,   3,   8,   0,  15, 128, 
+      4,   0,   0, 128,   7,   0, 
+    228, 128,   1,   0,   0,   2, 
+      9,   0,   3, 128,   3,   0, 
+    228, 160,   2,   0,   0,   3, 
+     10,   0,  15, 128,   9,   0, 
+      4, 128,   2,   0, 144, 160, 
+      5,   0,   0,   3,  10,   0, 
+     15, 128,  10,   0, 228, 128, 
+     10,   0, 228, 128,  88,   0, 
+      0,   4,   5,   0,  15, 128, 
+     10,   0,   0, 129,   8,   0, 
+    228, 128,   5,   0, 228, 128, 
+     88,   0,   0,   4,   3,   0, 
+     15, 128,  10,   0,   0, 129, 
+      7,   0, 228, 128,   3,   0, 
+    228, 128,   1,   0,   0,   2, 
+      7,   0,   8, 128,   1,   0, 
+      0, 160,   5,   0,   0,   3, 
+      8,   0,  15, 128,   4,   0, 
+      0, 128,   7,   0, 228, 128, 
+     88,   0,   0,   4,   3,   0, 
+     15, 128,   2,   0,   0, 161, 
+      7,   0, 228, 128,   3,   0, 
+    228, 128,   5,   0,   0,   3, 
+      4,   0,  15, 128,   4,   0, 
+      0, 128,   0,   0, 228, 160, 
+     88,   0,   0,   4,   5,   0, 
+     15, 128,   2,   0,   0, 161, 
+      8,   0, 228, 128,   5,   0, 
+    228, 128,  88,   0,   0,   4, 
+      7,   0,   3, 128,  10,   0, 
+    233, 129,  11,   0,  85, 160, 
+     11,   0, 170, 160,  88,   0, 
+      0,   4,   0,   0,   8, 128, 
+     10,   0,   0, 129,   3,   0, 
+      0, 160,   7,   0,   0, 128, 
+     88,   0,   0,   4,   1,   0, 
+      8, 128,   2,   0,  85, 161, 
+      9,   0,   0, 128,   7,   0, 
+     85, 128,  88,   0,   0,   4, 
+      0,   0,   8, 128,   2,   0, 
+      0, 161,   9,   0,   0, 128, 
+      0,   0, 255, 128,  88,   0, 
+      0,   4,   4,   0,  15, 128, 
+      0,   0, 255, 128,   4,   0, 
+    228, 128,   5,   0, 228, 128, 
+     88,   0,   0,   4,   3,   0, 
+     15, 128,   0,   0, 255, 128, 
+      0,   0, 228, 160,   3,   0, 
+    228, 128,  88,   0,   0,   4, 
+      3,   0,  15, 128,   2,   0, 
+     85, 161,   3,   0, 228, 128, 
+      4,   0, 228, 128,  88,   0, 
+      0,   4,   3,   0,  15, 128, 
+      1,   0, 255, 128,  11,   0, 
+    106, 161,   3,   0, 228, 128, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,   3,   0, 255, 128, 
+      5,   0,   0,   3,   4,   0, 
+      7, 128,   0,   0, 255, 128, 
+      3,   0, 228, 128,  88,   0, 
+      0,   4,   4,   0,   7, 128, 
+      2,   0, 255, 161,   3,   0, 
+    228, 128,   4,   0, 228, 128, 
+      2,   0,   0,   3,   5,   0, 
+      3, 128,   4,   0, 233, 129, 
+      4,   0, 228, 128,  88,   0, 
+      0,   4,   5,   0,  12, 128, 
+      5,   0,   0, 128,   4,   0, 
+     68, 128,   4,   0,  20, 128, 
+     11,   0,   0,   3,   0,   0, 
+      8, 128,   5,   0, 170, 128, 
+      4,   0, 170, 128,  10,   0, 
+      0,   3,   1,   0,   8, 128, 
+      4,   0, 170, 128,   5,   0, 
+    255, 128,   2,   0,   0,   3, 
+      7,   0,   8, 128,   0,   0, 
+    255, 128,   1,   0, 255, 129, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,   6,   0, 255, 128, 
+      5,   0,   0,   3,   8,   0, 
+      7, 128,   0,   0, 255, 128, 
+      6,   0, 228, 128,   4,   0, 
+      0,   4,   5,   0,  12, 128, 
+      6,   0, 100, 128,   0,   0, 
+    255, 128,   8,   0, 132, 129, 
+      5,   0,   0,   3,   9,   0, 
+      3, 128,   7,   0, 255, 128, 
+      5,   0, 238, 128,   4,   0, 
+      0,   4,  11,   0,  15, 128, 
+      6,   0, 129, 128,   0,   0, 
+    255, 128,   8,   0,  88, 129, 
+      6,   0,   0,   2,   1,   0, 
+      8, 128,  11,   0,   0, 128, 
+      5,   0,   0,   3,   7,   0, 
+      2, 128,   1,   0, 255, 128, 
+      9,   0,   0, 128,  88,   0, 
+      0,   4,   1,   0,   6, 128, 
+     11,   0, 170, 128,  11,   0, 
+    170, 161,   7,   0, 220, 128, 
+      5,   0,   0,   3,  12,   0, 
+     15, 128,   7,   0, 255, 128, 
+     11,   0, 228, 128,   6,   0, 
+      0,   2,   1,   0,   8, 128, 
+      5,   0, 255, 128,   5,   0, 
+      0,   3,   7,   0,   1, 128, 
+      1,   0, 255, 128,  12,   0, 
+     85, 128,  88,   0,   0,   4, 
+      2,   0,   3, 128,  11,   0, 
+    255, 128,  11,   0, 170, 161, 
+      7,   0, 236, 128,  88,   0, 
+      0,   4,   1,   0,   7, 128, 
+      5,   0, 170, 128,   1,   0, 
+    228, 128,   2,   0, 228, 128, 
+      6,   0,   0,   2,   1,   0, 
+      8, 128,   5,   0, 170, 128, 
+      5,   0,   0,   3,   7,   0, 
+      4, 128,   1,   0, 255, 128, 
+     12,   0,   0, 128,  88,   0, 
+      0,   4,   0,   0,   6, 128, 
+     11,   0,  85, 128,  11,   0, 
+    170, 161,   7,   0, 248, 128, 
+     88,   0,   0,   4,   0,   0, 
+      7, 128,  11,   0, 255, 128, 
+      0,   0, 228, 128,   1,   0, 
+    228, 128,   1,   0,   0,   2, 
+      1,   0,   2, 128,  11,   0, 
+    170, 161,   1,   0,   0,   2, 
+      2,   0,   2, 128,  11,   0, 
+    170, 161,   1,   0,   0,   2, 
+     10,   0,   4, 128,  11,   0, 
+    170, 161,   6,   0,   0,   2, 
+      1,   0,   8, 128,  11,   0, 
+    170, 128,   5,   0,   0,   3, 
+      7,   0,   2, 128,   1,   0, 
+    255, 128,  12,   0, 255, 128, 
+     88,   0,   0,   4,   2,   0, 
+      5, 128,  11,   0,   0, 128, 
+     11,   0, 170, 161,   7,   0, 
+    215, 128,   6,   0,   0,   2, 
+      1,   0,   8, 128,  11,   0, 
+     85, 128,   5,   0,   0,   3, 
+      7,   0,   1, 128,   1,   0, 
+    255, 128,   9,   0,  85, 128, 
+     88,   0,   0,   4,  10,   0, 
+      3, 128,   5,   0, 170, 128, 
+     11,   0, 170, 161,   7,   0, 
+    227, 128,  88,   0,   0,   4, 
+      2,   0,   7, 128,  11,   0, 
+    255, 128,   2,   0, 228, 128, 
+     10,   0, 228, 128,   6,   0, 
+      0,   2,   1,   0,   8, 128, 
+     11,   0, 255, 128,   5,   0, 
+      0,   3,   7,   0,   4, 128, 
+      1,   0, 255, 128,  12,   0, 
+    170, 128,  88,   0,   0,   4, 
+      1,   0,   5, 128,   5,   0, 
+    255, 128,  11,   0, 170, 161, 
+      7,   0, 246, 128,  88,   0, 
+      0,   4,   1,   0,   7, 128, 
+      5,   0, 170, 128,   1,   0, 
+    228, 128,   2,   0, 228, 128, 
+     88,   0,   0,   4,   0,   0, 
+      7, 128,  11,   0,   0, 128, 
+      0,   0, 228, 128,   1,   0, 
+    228, 128,  88,   0,   0,   4, 
+      1,   0,   3, 128,  11,   0, 
+    170, 128,   8,   0, 228, 128, 
+      8,   0, 225, 128,   8,   0, 
+      0,   3,   4,   0,   8, 128, 
+     10,   0, 228, 160,   0,   0, 
+    228, 128,   8,   0,   0,   3, 
+      8,   0,   8, 128,  10,   0, 
+    228, 160,   8,   0, 228, 128, 
+      2,   0,   0,   3,   4,   0, 
+      8, 128,   4,   0, 255, 129, 
+      8,   0, 255, 128,   2,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 228, 128,   4,   0, 
+    255, 128,   2,   0,   0,   3, 
+      4,   0,   8, 128,   0,   0, 
+     85, 129,   0,   0,   0, 128, 
+     88,   0,   0,   4,   1,   0, 
+     12, 128,   4,   0, 255, 128, 
+      0,   0,  20, 128,   0,   0, 
+     68, 128,  10,   0,   0,   3, 
+      4,   0,   8, 128,   0,   0, 
+    170, 128,   1,   0, 170, 128, 
+     11,   0,   0,   3,   2,   0, 
+      1, 128,   1,   0, 255, 128, 
+      0,   0, 170, 128,   8,   0, 
+      0,   3,   1,   0,   4, 128, 
+     10,   0, 228, 160,   0,   0, 
+    228, 128,   2,   0,   0,   3, 
+      1,   0,   8, 128,   4,   0, 
+    255, 129,   1,   0, 170, 128, 
+      6,   0,   0,   2,   1,   0, 
+      8, 128,   1,   0, 255, 128, 
+      2,   0,   0,   3,   2,   0, 
+     14, 128,   0,   0, 144, 128, 
+      1,   0, 170, 129,   5,   0, 
+      0,   3,   2,   0,  14, 128, 
+      1,   0, 170, 128,   2,   0, 
+    228, 128,   4,   0,   0,   4, 
+      2,   0,  14, 128,   2,   0, 
+    228, 128,   1,   0, 255, 128, 
+      1,   0, 170, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      4,   0, 255, 128,   0,   0, 
+    228, 128,   2,   0, 249, 128, 
+      2,   0,   0,   3,   2,   0, 
+     14, 128,   1,   0, 170, 129, 
+      0,   0, 144, 128,   2,   0, 
+      0,   3,   1,   0,   8, 128, 
+      1,   0, 170, 129,   3,   0, 
+      0, 161,   5,   0,   0,   3, 
+      2,   0,  14, 128,   1,   0, 
+    255, 128,   2,   0, 228, 128, 
+      2,   0,   0,   3,   1,   0, 
+      8, 128,   1,   0, 170, 129, 
+      2,   0,   0, 128,   2,   0, 
+      0,   3,   4,   0,   8, 128, 
+      2,   0,   0, 129,   3,   0, 
+      0, 161,   6,   0,   0,   2, 
+      1,   0,   8, 128,   1,   0, 
+    255, 128,   4,   0,   0,   4, 
+      2,   0,   7, 128,   2,   0, 
+    249, 128,   1,   0, 255, 128, 
+      1,   0, 170, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      4,   0, 255, 128,   0,   0, 
+    228, 128,   2,   0, 228, 128, 
+      1,   0,   0,   2,   4,   0, 
+      8, 128,   2,   0, 170, 160, 
+      2,   0,   0,   3,   1,   0, 
+      4, 128,   4,   0, 255, 128, 
+      8,   0, 170, 160,   5,   0, 
+      0,   3,   1,   0,   4, 128, 
+      1,   0, 170, 128,   1,   0, 
+    170, 128,   8,   0,   0,   3, 
+      1,   0,   8, 128,  10,   0, 
+    228, 160,   4,   0, 228, 128, 
+      2,   0,   0,   3,   2,   0, 
+      1, 128,   8,   0, 255, 129, 
+      1,   0, 255, 128,   2,   0, 
+      0,   3,   1,   0,   8, 128, 
+      1,   0, 255, 129,   8,   0, 
+    255, 128,   2,   0,   0,   3, 
+      2,   0,  14, 128,   1,   0, 
+    255, 128,   4,   0, 144, 128, 
+      4,   0,   0,   4,   7,   0, 
+      7, 128,   6,   0, 228, 128, 
+      0,   0, 255, 128,   2,   0, 
+      0, 128,   2,   0,   0,   3, 
+      1,   0,   8, 128,   7,   0, 
+     85, 129,   7,   0,   0, 128, 
+     88,   0,   0,   4,   5,   0, 
+     12, 128,   1,   0, 255, 128, 
+      7,   0,  20, 128,   7,   0, 
+     68, 128,  10,   0,   0,   3, 
+      1,   0,   8, 128,   7,   0, 
+    170, 128,   5,   0, 170, 128, 
+     11,   0,   0,   3,   2,   0, 
+      1, 128,   5,   0, 255, 128, 
+      7,   0, 170, 128,   8,   0, 
+      0,   3,   7,   0,   8, 128, 
+     10,   0, 228, 160,   7,   0, 
+    228, 128,   2,   0,   0,   3, 
+      5,   0,   4, 128,   1,   0, 
+    255, 129,   7,   0, 255, 128, 
+      6,   0,   0,   2,   5,   0, 
+      4, 128,   5,   0, 170, 128, 
+      2,   0,   0,   3,   9,   0, 
+      7, 128,   7,   0, 255, 129, 
+      7,   0, 228, 128,   5,   0, 
+      0,   3,   9,   0,   7, 128, 
+      7,   0, 255, 128,   9,   0, 
+    228, 128,   4,   0,   0,   4, 
+      9,   0,   7, 128,   9,   0, 
+    228, 128,   5,   0, 170, 128, 
+      7,   0, 255, 128,  88,   0, 
+      0,   4,   7,   0,   7, 128, 
+      1,   0, 255, 128,   7,   0, 
+    228, 128,   9,   0, 228, 128, 
+      2,   0,   0,   3,   9,   0, 
+      7, 128,   7,   0, 255, 129, 
+      7,   0, 228, 128,   2,   0, 
+      0,   3,   1,   0,   8, 128, 
+      7,   0, 255, 129,   3,   0, 
+      0, 161,   5,   0,   0,   3, 
+      9,   0,   7, 128,   1,   0, 
+    255, 128,   9,   0, 228, 128, 
+      2,   0,   0,   3,   1,   0, 
+      8, 128,   2,   0,   0, 128, 
+      7,   0, 255, 129,   2,   0, 
+      0,   3,   9,   0,   8, 128, 
+      2,   0,   0, 129,   3,   0, 
+      0, 161,   6,   0,   0,   2, 
+      1,   0,   8, 128,   1,   0, 
+    255, 128,   4,   0,   0,   4, 
+      9,   0,   7, 128,   9,   0, 
+    228, 128,   1,   0, 255, 128, 
+      7,   0, 255, 128,  88,   0, 
+      0,   4,   7,   0,   7, 128, 
+      9,   0, 255, 128,   7,   0, 
+    228, 128,   9,   0, 228, 128, 
+     88,   0,   0,   4,   7,   0, 
+      7, 128,   1,   0, 170, 129, 
+      7,   0, 228, 128,  11,   0, 
+    170, 161,   2,   0,   0,   3, 
+      7,   0,   8, 128,   2,   0, 
+    170, 129,   2,   0,  85, 128, 
+     88,   0,   0,   4,   1,   0, 
+     12, 128,   7,   0, 255, 128, 
+      2,   0, 100, 128,   2,   0, 
+    148, 128,  10,   0,   0,   3, 
+      7,   0,   8, 128,   2,   0, 
+    255, 128,   1,   0, 170, 128, 
+     11,   0,   0,   3,   5,   0, 
+      4, 128,   1,   0, 255, 128, 
+      2,   0, 255, 128,   8,   0, 
+      0,   3,   5,   0,   8, 128, 
+     10,   0, 228, 160,   2,   0, 
+    249, 128,   2,   0,   0,   3, 
+      1,   0,   4, 128,   7,   0, 
+    255, 129,   5,   0, 255, 128, 
+      6,   0,   0,   2,   1,   0, 
+      4, 128,   1,   0, 170, 128, 
+      2,   0,   0,   3,   9,   0, 
+      7, 128,   2,   0, 249, 128, 
+      5,   0, 255, 129,   5,   0, 
+      0,   3,   9,   0,   7, 128, 
+      5,   0, 255, 128,   9,   0, 
+    228, 128,   4,   0,   0,   4, 
+      9,   0,   7, 128,   9,   0, 
+    228, 128,   1,   0, 170, 128, 
+      5,   0, 255, 128,  88,   0, 
+      0,   4,   2,   0,   7, 128, 
+      7,   0, 255, 128,   2,   0, 
+    249, 128,   9,   0, 228, 128, 
+      2,   0,   0,   3,   9,   0, 
+      7, 128,   5,   0, 255, 129, 
+      2,   0, 228, 128,   2,   0, 
+      0,   3,   2,   0,   8, 128, 
+      5,   0, 255, 129,   3,   0, 
+      0, 161,   5,   0,   0,   3, 
+      9,   0,   7, 128,   2,   0, 
+    255, 128,   9,   0, 228, 128, 
+      2,   0,   0,   3,   2,   0, 
+      8, 128,   5,   0, 255, 129, 
+      5,   0, 170, 128,   2,   0, 
+      0,   3,   7,   0,   8, 128, 
+      5,   0, 170, 129,   3,   0, 
+      0, 161,   6,   0,   0,   2, 
+      2,   0,   8, 128,   2,   0, 
+    255, 128,   4,   0,   0,   4, 
+      9,   0,   7, 128,   9,   0, 
+    228, 128,   2,   0, 255, 128, 
+      5,   0, 255, 128,  88,   0, 
+      0,   4,   2,   0,   7, 128, 
+      7,   0, 255, 128,   2,   0, 
+    228, 128,   9,   0, 228, 128, 
+      2,   0,   0,   3,   9,   0, 
+     15, 128,   4,   0, 255, 128, 
+      9,   0, 228, 160,   5,   0, 
+      0,   3,   9,   0,  15, 128, 
+      9,   0, 228, 128,   9,   0, 
+    228, 128,  88,   0,   0,   4, 
+      2,   0,   7, 128,   9,   0, 
+    255, 129,   2,   0, 228, 128, 
+      7,   0, 228, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      9,   0, 170, 129,   0,   0, 
+    228, 128,   2,   0, 228, 128, 
+      2,   0,   0,   3,   2,   0, 
+     15, 128,   4,   0,  96, 129, 
+      4,   0, 137, 128,   1,   0, 
+      0,   2,   7,   0,   2, 128, 
+     11,   0, 170, 161,   1,   0, 
+      0,   2,  10,   0,   2, 128, 
+     11,   0, 170, 161,   1,   0, 
+      0,   2,  11,   0,   4, 128, 
+     11,   0, 170, 161,   6,   0, 
+      0,   2,   7,   0,   8, 128, 
+      2,   0, 170, 128,  11,   0, 
+      0,   3,  11,   0,   8, 128, 
+      1,   0,   0, 128,   8,   0, 
+    170, 128,  10,   0,   0,   3, 
+      5,   0,   4, 128,   8,   0, 
+    170, 128,   1,   0,  85, 128, 
+      2,   0,   0,   3,   1,   0, 
+      8, 128,   5,   0, 170, 129, 
+     11,   0, 255, 128,   5,   0, 
+      0,   3,   5,   0,  12, 128, 
+      1,   0, 255, 128,   5,   0, 
+     68, 128,   5,   0,   0,   3, 
+      1,   0,   1, 128,   7,   0, 
+    255, 128,   5,   0, 255, 128, 
+     88,   0,   0,   4,  11,   0, 
+      3, 128,   2,   0,  85, 128, 
+     11,   0, 170, 161,   1,   0, 
+    227, 128,   6,   0,   0,   2, 
+      5,   0,   8, 128,   5,   0, 
+      0, 128,   5,   0,   0,   3, 
+     12,   0,  15, 128,   1,   0, 
+    255, 128,   2,   0, 228, 128, 
+      5,   0,   0,   3,   1,   0, 
+      2, 128,   5,   0, 255, 128, 
+     12,   0, 255, 128,  88,   0, 
+      0,   4,  10,   0,   5, 128, 
+      2,   0,   0, 128,  11,   0, 
+    170, 161,   1,   0, 215, 128, 
+     88,   0,   0,   4,  10,   0, 
+      7, 128,   2,   0, 255, 128, 
+     10,   0, 228, 128,  11,   0, 
+    228, 128,   6,   0,   0,   2, 
+      5,   0,   8, 128,   2,   0, 
+    255, 128,   5,   0,   0,   3, 
+      1,   0,   4, 128,   5,   0, 
+    255, 128,   5,   0, 170, 128, 
+     88,   0,   0,   4,   7,   0, 
+      5, 128,   5,   0,  85, 128, 
+     11,   0, 170, 161,   1,   0, 
+    246, 128,  88,   0,   0,   4, 
+      7,   0,   7, 128,   2,   0, 
+     85, 128,   7,   0, 228, 128, 
+     10,   0, 228, 128,   1,   0, 
+      0,   2,  10,   0,   1, 128, 
+     11,   0, 170, 161,   1,   0, 
+      0,   2,  11,   0,   1, 128, 
+     11,   0, 170, 161,   1,   0, 
+      0,   2,  13,   0,   4, 128, 
+     11,   0, 170, 161,   6,   0, 
+      0,   2,   7,   0,   8, 128, 
+      2,   0,   0, 128,   5,   0, 
+      0,   3,   1,   0,   2, 128, 
+      7,   0, 255, 128,  12,   0, 
+     85, 128,  88,   0,   0,   4, 
+     11,   0,   6, 128,   5,   0, 
+      0, 128,  11,   0, 170, 161, 
+      1,   0, 220, 128,   6,   0, 
+      0,   2,   7,   0,   8, 128, 
+      5,   0,  85, 128,   5,   0, 
+      0,   3,   1,   0,   1, 128, 
+      7,   0, 255, 128,  12,   0, 
+    170, 128,  88,   0,   0,   4, 
+     13,   0,   3, 128,   2,   0, 
+    255, 128,  11,   0, 170, 161, 
+      1,   0, 236, 128,  88,   0, 
+      0,   4,   5,   0,   7, 128, 
+      2,   0,  85, 128,  11,   0, 
+    228, 128,  13,   0, 228, 128, 
+      6,   0,   0,   2,   5,   0, 
+      8, 128,   2,   0,  85, 128, 
+      5,   0,   0,   3,   1,   0, 
+      4, 128,   5,   0, 255, 128, 
+     12,   0,   0, 128,  88,   0, 
+      0,   4,  10,   0,   6, 128, 
+      2,   0, 170, 128,  11,   0, 
+    170, 161,   1,   0, 248, 128, 
+     88,   0,   0,   4,   1,   0, 
+      7, 128,   2,   0, 255, 128, 
+     10,   0, 228, 128,   5,   0, 
+    228, 128,  88,   0,   0,   4, 
+      1,   0,   7, 128,   2,   0, 
+      0, 128,   1,   0, 228, 128, 
+      7,   0, 228, 128,   8,   0, 
+      0,   3,   1,   0,   8, 128, 
+     10,   0, 228, 160,   1,   0, 
+    228, 128,   2,   0,   0,   3, 
+      1,   0,   8, 128,   1,   0, 
+    255, 129,   8,   0, 255, 128, 
+      2,   0,   0,   3,   1,   0, 
+      7, 128,   1,   0, 255, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   1,   0,   8, 128, 
+      1,   0,  85, 129,   1,   0, 
+      0, 128,  88,   0,   0,   4, 
+      2,   0,   3, 128,   1,   0, 
+    255, 128,   1,   0, 225, 128, 
+      1,   0, 228, 128,  10,   0, 
+      0,   3,   8,   0,   8, 128, 
+      1,   0, 170, 128,   2,   0, 
+      0, 128,  11,   0,   0,   3, 
+      5,   0,   1, 128,   2,   0, 
+     85, 128,   1,   0, 170, 128, 
+      8,   0,   0,   3,   1,   0, 
+      8, 128,  10,   0, 228, 160, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   2,   0,   1, 128, 
+      8,   0, 255, 129,   1,   0, 
+    255, 128,   6,   0,   0,   2, 
+      2,   0,   1, 128,   2,   0, 
+      0, 128,   2,   0,   0,   3, 
+      2,   0,  14, 128,   1,   0, 
+    255, 129,   1,   0, 144, 128, 
+      5,   0,   0,   3,   2,   0, 
+     14, 128,   1,   0, 255, 128, 
+      2,   0, 228, 128,   4,   0, 
+      0,   4,   2,   0,   7, 128, 
+      2,   0, 249, 128,   2,   0, 
+      0, 128,   1,   0, 255, 128, 
+     88,   0,   0,   4,   1,   0, 
+      7, 128,   8,   0, 255, 128, 
+      1,   0, 228, 128,   2,   0, 
+    228, 128,   2,   0,   0,   3, 
+      2,   0,   7, 128,   1,   0, 
+    255, 129,   1,   0, 228, 128, 
+      2,   0,   0,   3,   2,   0, 
+      8, 128,   1,   0, 255, 129, 
+      3,   0,   0, 161,   5,   0, 
+      0,   3,   2,   0,   7, 128, 
+      2,   0, 255, 128,   2,   0, 
+    228, 128,   2,   0,   0,   3, 
+      2,   0,   8, 128,   1,   0, 
+    255, 129,   5,   0,   0, 128, 
+      2,   0,   0,   3,   8,   0, 
+      8, 128,   5,   0,   0, 129, 
+      3,   0,   0, 161,   6,   0, 
+      0,   2,   2,   0,   8, 128, 
+      2,   0, 255, 128,   4,   0, 
+      0,   4,   2,   0,   7, 128, 
+      2,   0, 228, 128,   2,   0, 
+    255, 128,   1,   0, 255, 128, 
+     88,   0,   0,   4,   1,   0, 
+      7, 128,   8,   0, 255, 128, 
+      1,   0, 228, 128,   2,   0, 
+    228, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,   9,   0, 
+     85, 129,   1,   0, 228, 128, 
+      0,   0, 228, 128,   4,   0, 
+      0,   4,   1,   0,   7, 128, 
+      6,   0, 228, 128,   0,   0, 
+    255, 128,   4,   0, 228, 128, 
+      5,   0,   0,   3,   2,   0, 
+      7, 128,   4,   0, 228, 128, 
+      8,   0, 228, 128,   4,   0, 
+      0,   4,   5,   0,   7, 128, 
+      2,   0, 228, 128,   3,   0, 
+     85, 160,   1,   0, 228, 128, 
+      4,   0,   0,   4,   1,   0, 
+      7, 128,   8,   0, 228, 128, 
+      4,   0, 228, 129,   1,   0, 
+    228, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,   9,   0, 
+      0, 129,   5,   0, 228, 128, 
+      0,   0, 228, 128,   4,   0, 
+      0,   4,   5,   0,   7, 128, 
+      6,   0, 228, 128,   0,   0, 
+    255, 128,   4,   0, 228, 129, 
+     35,   0,   0,   2,   5,   0, 
+      7, 128,   5,   0, 228, 128, 
+      2,   0,   0,   3,   7,   0, 
+     15, 128,   4,   0, 255, 128, 
+      6,   0, 228, 160,   5,   0, 
+      0,   3,   7,   0,  15, 128, 
+      7,   0, 228, 128,   7,   0, 
+    228, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,   7,   0, 
+    255, 129,   5,   0, 228, 128, 
+      0,   0, 228, 128,   2,   0, 
+      0,   3,   5,   0,   3, 128, 
+      4,   0, 233, 129,  11,   0, 
+    255, 161,   4,   0,   0,   4, 
+      9,   0,   7, 128,   4,   0, 
+    228, 128,   7,   0, 170, 160, 
+      7,   0, 255, 160,   4,   0, 
+      0,   4,   1,   0,   8, 128, 
+      6,   0, 170, 128,   0,   0, 
+    255, 129,   7,   0,  85, 160, 
+      4,   0,   0,   4,  10,   0, 
+      7, 128,   8,   0, 228, 128, 
+      8,   0,   0, 160,   8,   0, 
+     85, 160,   4,   0,   0,   4, 
+     10,   0,   7, 128,  10,   0, 
+    228, 128,   8,   0, 228, 128, 
+      5,   0, 170, 161,   5,   0, 
+      0,   3,  10,   0,   7, 128, 
+      8,   0, 228, 128,  10,   0, 
+    228, 128,   7,   0,   0,   2, 
+      2,   0,   8, 128,   8,   0, 
+    170, 128,   6,   0,   0,   2, 
+      2,   0,   8, 128,   2,   0, 
+    255, 128,  88,   0,   0,   4, 
+      1,   0,   8, 128,   1,   0, 
+    255, 128,  10,   0, 170, 128, 
+      2,   0, 255, 128,   4,   0, 
+      0,   4,   1,   0,   8, 128, 
+      6,   0, 170, 128,   0,   0, 
+    255, 129,   1,   0, 255, 128, 
+      4,   0,   0,   4,   1,   0, 
+      8, 128,   9,   0, 170, 128, 
+      1,   0, 255, 128,   8,   0, 
+    170, 128,   4,   0,   0,   4, 
+     11,   0,   7, 128,   4,   0, 
+    228, 128,   3,   0,  85, 160, 
+      3,   0,   0, 161,   5,   0, 
+      0,   3,  11,   0,   7, 128, 
+      8,   0, 228, 128,  11,   0, 
+    228, 128,   4,   0,   0,   4, 
+     12,   0,  15, 128,   6,   0, 
+     73, 128,   0,   0, 255, 129, 
+      7,   0,  80, 160,   4,   0, 
+      0,   4,   5,   0,  12, 128, 
+     11,   0, 148, 128,  12,   0, 
+     68, 129,   8,   0, 148, 128, 
+     88,   0,   0,   4,  13,   0, 
+      4, 128,   5,   0,  85, 128, 
+      5,   0, 255, 128,   1,   0, 
+    255, 128,   7,   0,   0,   2, 
+      1,   0,   8, 128,   8,   0, 
+     85, 128,   6,   0,   0,   2, 
+      1,   0,   8, 128,   1,   0, 
+    255, 128,  88,   0,   0,   4, 
+      1,   0,   8, 128,  12,   0, 
+    255, 128,  10,   0,  85, 128, 
+      1,   0, 255, 128,   4,   0, 
+      0,   4,   1,   0,   8, 128, 
+      6,   0,  85, 128,   0,   0, 
+    255, 129,   1,   0, 255, 128, 
+      4,   0,   0,   4,   1,   0, 
+      8, 128,   9,   0,  85, 128, 
+      1,   0, 255, 128,   8,   0, 
+     85, 128,  88,   0,   0,   4, 
+     13,   0,   2, 128,   5,   0, 
+      0, 128,   5,   0, 170, 128, 
+      1,   0, 255, 128,   2,   0, 
+      0,   3,  14,   0,  15, 128, 
+      4,   0,  36, 129,  11,   0, 
+    213, 161,   7,   0,   0,   2, 
+      1,   0,   8, 128,   8,   0, 
+      0, 128,   6,   0,   0,   2, 
+      1,   0,   8, 128,   1,   0, 
+    255, 128,  88,   0,   0,   4, 
+      1,   0,   8, 128,  12,   0, 
+    170, 128,  10,   0,   0, 128, 
+      1,   0, 255, 128,   4,   0, 
+      0,   4,   1,   0,   8, 128, 
+      6,   0,   0, 128,   0,   0, 
+    255, 129,   1,   0, 255, 128, 
+      4,   0,   0,   4,   1,   0, 
+      8, 128,   9,   0,   0, 128, 
+      1,   0, 255, 128,   8,   0, 
+      0, 128,   4,   0,   0,   4, 
+      9,   0,  15, 128,   6,   0, 
+     36, 128,   0,   0, 255, 129, 
+     11,   0, 127, 161,   4,   0, 
+      0,   4,  10,   0,   7, 128, 
+      6,   0, 228, 128,   0,   0, 
+    255, 128,   3,   0,   0, 160, 
+      5,   0,   0,   3,  10,   0, 
+      7, 128,  10,   0, 228, 128, 
+     10,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,   8, 128, 
+     11,   0,   0, 128,   9,   0, 
+    255, 129,   8,   0,   0, 128, 
+     88,   0,   0,   4,  13,   0, 
+      1, 128,  14,   0, 255, 128, 
+      0,   0, 255, 128,   1,   0, 
+    255, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,   7,   0, 
+    170, 129,  13,   0, 228, 128, 
+      0,   0, 228, 128,   2,   0, 
+      0,   3,  11,   0,   7, 128, 
+      8,   0, 228, 128,   8,   0, 
+    228, 128,   4,   0,   0,   4, 
+     13,   0,   7, 128,   4,   0, 
+    228, 128,   3,   0,  85, 161, 
+     11,   0, 228, 128,   2,   0, 
+      0,   3,  13,   0,   7, 128, 
+     13,   0, 228, 128,   3,   0, 
+      0, 160,   4,   0,   0,   4, 
+     15,   0,   7, 128,   4,   0, 
+    228, 128,  11,   0, 228, 129, 
+     13,   0, 228, 128,   5,   0, 
+      0,   3,  11,   0,   7, 128, 
+      4,   0, 228, 128,  11,   0, 
+    228, 128,   2,   0,   0,   3, 
+     16,   0,   7, 128,   4,   0, 
+    228, 128,   4,   0, 228, 128, 
+      5,   0,   0,   3,  17,   0, 
+      7, 128,   8,   0, 228, 128, 
+     16,   0, 228, 128,   4,   0, 
+      0,   4,  13,   0,   7, 128, 
+     16,   0, 228, 128,   8,   0, 
+    228, 129,  13,   0, 228, 128, 
+     88,   0,   0,   4,   9,   0, 
+      7, 128,   9,   0, 228, 128, 
+     11,   0, 228, 128,  13,   0, 
+    228, 128,  88,   0,   0,   4, 
+      5,   0,   6, 128,   5,   0, 
+    208, 128,  17,   0, 228, 128, 
+     15,   0, 228, 128,  88,   0, 
+      0,   4,   5,   0,   1, 128, 
+     14,   0, 255, 128,  17,   0, 
+      0, 128,  15,   0,   0, 128, 
+     88,   0,   0,   4,   0,   0, 
+      7, 128,   7,   0,  85, 129, 
+      5,   0, 228, 128,   0,   0, 
+    228, 128,   6,   0,   0,   2, 
+      0,   0,   8, 128,   4,   0, 
+      0, 128,   4,   0,   0,   4, 
+      0,   0,   8, 128,   9,   0, 
+    255, 128,   0,   0, 255, 129, 
+      3,   0,   0, 161,  11,   0, 
+      0,   3,   1,   0,   8, 128, 
+      0,   0, 255, 128,  11,   0, 
+    170, 161,   5,   0,   0,   3, 
+      5,   0,   7, 128,   4,   0, 
+    228, 128,   4,   0, 228, 128, 
+     88,   0,   0,   4,   0,   0, 
+      8, 128,   5,   0,   0, 129, 
+     11,   0, 170, 161,   1,   0, 
+    255, 128,  88,   0,   0,   4, 
+     11,   0,   1, 128,  10,   0, 
+      0, 129,   3,   0,   0, 161, 
+      0,   0, 255, 128,   6,   0, 
+      0,   2,   0,   0,   8, 128, 
+      4,   0,  85, 128,   4,   0, 
+      0,   4,   0,   0,   8, 128, 
+     12,   0,   0, 128,   0,   0, 
+    255, 129,   3,   0,   0, 161, 
+     11,   0,   0,   3,   1,   0, 
+      8, 128,   0,   0, 255, 128, 
+     11,   0, 170, 161,  88,   0, 
+      0,   4,   0,   0,   8, 128, 
+      5,   0,  85, 129,  11,   0, 
+    170, 161,   1,   0, 255, 128, 
+     88,   0,   0,   4,  11,   0, 
+      2, 128,  10,   0,  85, 129, 
+      3,   0,   0, 161,   0,   0, 
+    255, 128,   6,   0,   0,   2, 
+      0,   0,   8, 128,   4,   0, 
+    170, 128,   4,   0,   0,   4, 
+      0,   0,   8, 128,  12,   0, 
+     85, 128,   0,   0, 255, 129, 
+      3,   0,   0, 161,  11,   0, 
+      0,   3,   1,   0,   8, 128, 
+      0,   0, 255, 128,  11,   0, 
+    170, 161,  88,   0,   0,   4, 
+      0,   0,   8, 128,   5,   0, 
+    170, 129,  11,   0, 170, 161, 
+      1,   0, 255, 128,  88,   0, 
+      0,   4,  11,   0,   4, 128, 
+     10,   0, 170, 129,   3,   0, 
+      0, 161,   0,   0, 255, 128, 
+     88,   0,   0,   4,   0,   0, 
+      7, 128,   7,   0,   0, 129, 
+     11,   0, 228, 128,   0,   0, 
+    228, 128,   2,   0,   0,   3, 
+      5,   0,  15, 128,   4,   0, 
+    255, 128,   5,   0, 228, 160, 
+      5,   0,   0,   3,   5,   0, 
+     15, 128,   5,   0, 228, 128, 
+      5,   0, 228, 128,   2,   0, 
+      0,   3,   7,   0,   7, 128, 
+      4,   0, 228, 128,   3,   0, 
+      0, 160,   5,   0,   0,   3, 
+      7,   0,   7, 128,   7,   0, 
+    228, 128,   7,   0, 228, 128, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,  14,   0,   0, 128, 
+      5,   0,   0,   3,   0,   0, 
+      8, 128,   0,   0, 255, 128, 
+      8,   0,   0, 128,  10,   0, 
+      0,   3,   1,   0,   8, 128, 
+      0,   0, 255, 128,   3,   0, 
+      0, 161,  88,   0,   0,   4, 
+      0,   0,   8, 128,   7,   0, 
+      0, 129,   3,   0,   0, 161, 
+      1,   0, 255, 128,   5,   0, 
+      0,   3,  10,   0,   7, 128, 
+      8,   0, 228, 128,   8,   0, 
+    228, 128,  88,   0,   0,   4, 
+     11,   0,   1, 128,  10,   0, 
+      0, 129,  11,   0, 170, 161, 
+      0,   0, 255, 128,   6,   0, 
+      0,   2,   0,   0,   8, 128, 
+     14,   0,  85, 128,   6,   0, 
+      0,   2,   1,   0,   8, 128, 
+     14,   0, 170, 128,   5,   0, 
+      0,   3,   1,   0,   8, 128, 
+      1,   0, 255, 128,   8,   0, 
+    170, 128,  10,   0,   0,   3, 
+      2,   0,   8, 128,   1,   0, 
+    255, 128,   3,   0,   0, 161, 
+     88,   0,   0,   4,   1,   0, 
+      8, 128,   7,   0, 170, 129, 
+      3,   0,   0, 161,   2,   0, 
+    255, 128,  88,   0,   0,   4, 
+     11,   0,   4, 128,  10,   0, 
+    170, 129,  11,   0, 170, 161, 
+      1,   0, 255, 128,   5,   0, 
+      0,   3,   0,   0,   8, 128, 
+      0,   0, 255, 128,   8,   0, 
+     85, 128,  10,   0,   0,   3, 
+      1,   0,   8, 128,   0,   0, 
+    255, 128,   3,   0,   0, 161, 
+     88,   0,   0,   4,   0,   0, 
+      8, 128,   7,   0,  85, 129, 
+      3,   0,   0, 161,   1,   0, 
+    255, 128,  88,   0,   0,   4, 
+     11,   0,   2, 128,  10,   0, 
+     85, 129,  11,   0, 170, 161, 
+      0,   0, 255, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      5,   0, 255, 129,  11,   0, 
+    228, 128,   0,   0, 228, 128, 
+     11,   0,   0,   3,   7,   0, 
+      7, 128,   8,   0, 228, 128, 
+      4,   0, 228, 128,  10,   0, 
+      0,   3,  10,   0,   7, 128, 
+      4,   0, 228, 128,   8,   0, 
+    228, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,   5,   0, 
+    170, 129,   7,   0, 228, 128, 
+      0,   0, 228, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      5,   0,  85, 129,  10,   0, 
+    228, 128,   0,   0, 228, 128, 
+     88,   0,   0,   4,   0,   0, 
+      7, 128,   5,   0,   0, 129, 
+      9,   0, 228, 128,   0,   0, 
+    228, 128,  88,   0,   0,   4, 
+      0,   0,   7, 128,  10,   0, 
+    255, 129,   1,   0, 228, 128, 
+      0,   0, 228, 128,  88,   0, 
+      0,   4,   0,   0,   7, 128, 
+      2,   0, 170, 161,   2,   0, 
+    228, 128,   0,   0, 228, 128, 
+     18,   0,   0,   4,   1,   0, 
+      7, 128,   6,   0, 255, 128, 
+      0,   0, 228, 128,   4,   0, 
+    228, 128,   5,   0,   0,   3, 
+      0,   0,   7, 128,   3,   0, 
+    255, 128,   1,   0, 228, 128, 
+      5,   0,   0,   3,   1,   0, 
+      1, 128,   3,   0, 255, 128, 
+      3,   0, 255, 128,   1,   0, 
+      0,   2,   0,   0,   8, 128, 
+      3,   0, 255, 128,  88,   0, 
+      0,   4,   0,   0,  15, 128, 
+      1,   0,   0, 129,   6,   0, 
+    228, 128,   0,   0, 228, 128, 
+      5,   0,   0,   3,   1,   0, 
+      1, 128,   6,   0, 255, 128, 
+      6,   0, 255, 128,  88,   0, 
+      0,   4,   0,   0,  15, 128, 
+      1,   0,   0, 129,   3,   0, 
+    228, 128,   0,   0, 228, 128, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82, 164,  39,   0,   0, 
+     64,   0,   0,   0, 233,   9, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+     90,   0,   0,   3,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   0,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      1,   0,   0,   0,  85,  85, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   2,   0, 
+      0,   0,  85,  85,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   3,   0,   0,   0, 
+     85,  85,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      5,   0,   0,   0,  85,  85, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   6,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     98,  16,   0,   3, 194,  16, 
+     16,   0,   1,   0,   0,   0, 
+     98,  16,   0,   3, 114,  16, 
+     16,   0,   2,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,  22,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0, 230,  26,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   6,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  31,   0,   0,   4, 
+     26, 128,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     31,   0,   0,   4,  10, 128, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      1,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 114,   0,  16,   0, 
+      1,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+      6, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     54,   0,   0,   6, 130,   0, 
+     16,   0,   1,   0,   0,   0, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     54,   0,   0,   5,  18,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 255, 255, 
+    255, 255,  18,   0,   0,   1, 
+     32,   0,   0,   8,  34,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,   1,   0, 
+      0,   0,  10, 128,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  31,   0,   4,   3, 
+     26,   0,  16,   0,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   3,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,  70,  14,  16,   0, 
+      3,   0,   0,   0,   6, 128, 
+     32,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  54,   0, 
+      0,   5,  18,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 255, 255, 255, 255, 
+     18,   0,   0,   1,  32,   0, 
+      0,   8,  18,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0,   2,   0,   0,   0, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     31,   0,   4,   3,  10,   0, 
+     16,   0,   2,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  70, 126,  16,   0, 
+      3,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7,  34,   0, 
+     16,   0,   2,   0,   0,   0, 
+     10,   0,  16,   0,   3,   0, 
+      0,   0,   1,  64,   0,   0, 
+    115, 128,   0, 191,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      3,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   1,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7,  66,   0,  16,   0, 
+      2,   0,   0,   0,  10,   0, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,  18, 131, 
+    128, 189,  69,   0,   0,   9, 
+    242,   0,  16,   0,   3,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   2,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   7, 
+    130,   0,  16,   0,   2,   0, 
+      0,   0,  10,   0,  16,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0, 115, 128,   0, 191, 
+     56,   0,   0,  10,  50,   0, 
+     16,   0,   3,   0,   0,   0, 
+     86,   5,  16,   0,   2,   0, 
+      0,   0,   2,  64,   0,   0, 
+    182,  74, 204,  63, 205,  30, 
+     80,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,  50,   0, 
+      0,   9,  18,   0,  16,   0, 
+      4,   0,   0,   0,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 103,  10, 
+    149,  63,  10,   0,  16,   0, 
+      3,   0,   0,   0,  50,   0, 
+      0,  10,  34,   0,  16,   0, 
+      2,   0,   0,   0,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 103,  10, 
+    149,  63,  26,   0,  16, 128, 
+     65,   0,   0,   0,   3,   0, 
+      0,   0,  56,   0,   0,   7, 
+     18,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0,  76,  26,   1,  64, 
+     50,   0,   0,  10,  34,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 196, 148, 
+    200,  62,  26,   0,  16,   0, 
+      2,   0,   0,   0,  50,   0, 
+      0,   9,  66,   0,  16,   0, 
+      4,   0,   0,   0,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 103,  10, 
+    149,  63,  10,   0,  16,   0, 
+      3,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      4,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     56,   0,   0,   8, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   4,   0, 
+      0,   0,   6, 128,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  21,   0,   0,   1, 
+     21,   0,   0,   1,  21,   0, 
+      0,   1,  55,   0,   0,  10, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,   6,   0,  16,   0, 
+      2,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5,  18,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0, 255, 255, 
+    255, 255,  18,   0,   0,   1, 
+     32,   0,   0,   8,  18,   0, 
+     16,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,   1,   0, 
+      0,   0,  26, 128,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  31,   0,   4,   3, 
+     10,   0,  16,   0,   2,   0, 
+      0,   0,  31,   0,   0,   4, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  70, 126,  16,   0, 
+      0,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     56,   0,   0,   8, 114,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   3,   0, 
+      0,   0,   6, 128,  32,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  14,   0,   0,   7, 
+     98,   0,  16,   0,   2,   0, 
+      0,   0,   6,  17,  16,   0, 
+      2,   0,   0,   0, 166,  26, 
+     16,   0,   2,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   4,   0,   0,   0, 
+    150,   5,  16,   0,   2,   0, 
+      0,   0,  70, 126,  16,   0, 
+      5,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     54,   0,   0,   6, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     56,   0,   0,   7, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   3,   0, 
+      0,   0,   6,   0,  16,   0, 
+      4,   0,   0,   0,  54,   0, 
+      0,   5,  34,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 255, 255, 255, 255, 
+     18,   0,   0,   1,  32,   0, 
+      0,   8,  66,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0,   1,   0,   0,   0, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     31,   0,   4,   3,  42,   0, 
+     16,   0,   2,   0,   0,   0, 
+     14,   0,   0,   7, 194,   0, 
+     16,   0,   2,   0,   0,   0, 
+      6,  20,  16,   0,   2,   0, 
+      0,   0, 166,  26,  16,   0, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      3,   0,   0,   0, 230,  10, 
+     16,   0,   2,   0,   0,   0, 
+     70, 126,  16,   0,   5,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      4,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   4,   0,   0,   0, 
+      6, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     56,   0,   0,   7, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+      6,   0,  16,   0,   3,   0, 
+      0,   0,  70,  14,  16,   0, 
+      4,   0,   0,   0,  54,   0, 
+      0,   5,  34,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 255, 255, 255, 255, 
+     18,   0,   0,   1,  32,   0, 
+      0,   8,  34,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0,   2,   0,   0,   0, 
+     10, 128,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     31,   0,   4,   3,  26,   0, 
+     16,   0,   2,   0,   0,   0, 
+     14,   0,   0,   7, 194,   0, 
+     16,   0,   2,   0,   0,   0, 
+      6,  20,  16,   0,   2,   0, 
+      0,   0, 166,  26,  16,   0, 
+      2,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      3,   0,   0,   0, 230,  10, 
+     16,   0,   2,   0,   0,   0, 
+     70, 126,  16,   0,   5,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      4,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   3,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7,  66,   0,  16,   0, 
+      2,   0,   0,   0,  10,   0, 
+     16,   0,   4,   0,   0,   0, 
+      1,  64,   0,   0, 115, 128, 
+      0, 191,  69,   0,   0,   9, 
+    242,   0,  16,   0,   4,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   1,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   7, 
+    130,   0,  16,   0,   2,   0, 
+      0,   0,  10,   0,  16,   0, 
+      4,   0,   0,   0,   1,  64, 
+      0,   0,  18, 131, 128, 189, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   4,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  70, 126,  16,   0, 
+      2,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7,  34,   0, 
+     16,   0,   3,   0,   0,   0, 
+     10,   0,  16,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+    115, 128,   0, 191,  56,   0, 
+      0,  10, 194,   0,  16,   0, 
+      3,   0,   0,   0, 166,  10, 
+     16,   0,   2,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    182,  74, 204,  63, 205,  30, 
+     80,  63,  50,   0,   0,   9, 
+     18,   0,  16,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 103,  10, 149,  63, 
+     42,   0,  16,   0,   3,   0, 
+      0,   0,  50,   0,   0,  10, 
+     66,   0,  16,   0,   2,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 103,  10, 149,  63, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+     56,   0,   0,   7,  66,   0, 
+     16,   0,   3,   0,   0,   0, 
+     26,   0,  16,   0,   3,   0, 
+      0,   0,   1,  64,   0,   0, 
+     76,  26,   1,  64,  50,   0, 
+      0,  10,  34,   0,  16,   0, 
+      4,   0,   0,   0,  26,   0, 
+     16, 128,  65,   0,   0,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0, 196, 148, 200,  62, 
+     42,   0,  16,   0,   2,   0, 
+      0,   0,  50,   0,   0,   9, 
+     66,   0,  16,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,   1,  64, 
+      0,   0, 103,  10, 149,  63, 
+     42,   0,  16,   0,   3,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   4,   0,   0,   0, 
+      6, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     56,   0,   0,   7, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+      6,   0,  16,   0,   3,   0, 
+      0,   0,  70,  14,  16,   0, 
+      4,   0,   0,   0,  21,   0, 
+      0,   1,  21,   0,   0,   1, 
+     21,   0,   0,   1,  31,   0, 
+      0,   3,  26,   0,  16,   0, 
+      2,   0,   0,   0,  14,   0, 
+      0,   7,  98,   0,  16,   0, 
+      2,   0,   0,   0,   6,  17, 
+     16,   0,   2,   0,   0,   0, 
+    166,  26,  16,   0,   2,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   3,   0, 
+      0,   0, 150,   5,  16,   0, 
+      2,   0,   0,   0,  70, 126, 
+     16,   0,   5,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    242,   0,  16,   0,   1,   0, 
+      0,   0,   6,   0,  16,   0, 
+      3,   0,   0,   0,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  21,   0, 
+      0,   1,  21,   0,   0,   1, 
+     21,   0,   0,   1,  55,   0, 
+      0,  12, 242,   0,  16,   0, 
+      1,   0,   0,   0,   6,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 128,  63,  24,   0, 
+      0,   7,  18,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  31,   0,   4,   3, 
+     10,   0,  16,   0,   2,   0, 
+      0,   0,  54,   0,   0,   5, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  21,   0,   0,   1, 
+     24,   0,   0,   7,  18,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  31,   0, 
+      4,   3,  10,   0,  16,   0, 
+      2,   0,   0,   0,  54,   0, 
+      0,   5, 242,  32,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   0,   0,   0,   0, 
+     62,   0,   0,   1,  21,   0, 
+      0,   1,  14,   0,   0,   7, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16,   0,   0,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0, 246,  15,  16,   0, 
+      1,   0,   0,   0,  55,   0, 
+      0,  10, 114,   0,  16,   0, 
+      1,   0,   0,   0, 246, 143, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  70,   2, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  56,   0,   0,   7, 
+    114,   0,  16,   0,   2,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  50,   0, 
+      0,  10, 114,   0,  16,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   3,   0, 
+      0,   0,  29,   0,   0,  10, 
+    242,   0,  16,   0,   5,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,  63,   0,   0, 
+      0,  63,   0,   0,   0,  63, 
+      0,   0, 128,  62,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,   6,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      7,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   6,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+     50,   0,   0,  12, 114,   0, 
+     16,   0,   9,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,  64,   0,   0, 
+      0,  64,   0,   0,   0,  64, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   6,   0,   0,   0, 
+      0,   0,   0,  10, 114,   0, 
+     16,   0,   9,   0,   0,   0, 
+     70,   2,  16,   0,   9,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128, 191,   0,   0, 
+    128, 191,   0,   0, 128, 191, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     10,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   8,   0, 
+      0,   0,  50,   0,   0,  10, 
+    114,   0,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16, 128, 
+     65,   0,   0,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   9,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   5,   0,   0,   0, 
+     70,   2,  16,   0,   5,   0, 
+      0,   0,  70,   2,  16,   0, 
+      7,   0,   0,   0,  70,   2, 
+     16,   0,   8,   0,   0,   0, 
+     51,   0,   0,   7, 114,   0, 
+     16,   0,   7,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  32,   0, 
+      0,  11, 242,   0,  16,   0, 
+      8,   0,   0,   0,   2,  64, 
+      0,   0,   1,   0,   0,   0, 
+      2,   0,   0,   0,   3,   0, 
+      0,   0,   4,   0,   0,   0, 
+    166, 138,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     52,   0,   0,   7, 114,   0, 
+     16,   0,  11,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  24,   0, 
+      0,  10, 242,   0,  16,   0, 
+     12,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  63,  24,   0,   0,  10, 
+    242,   0,  16,   0,  13,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,  11, 114,   0, 
+     16,   0,  14,   0,   0,   0, 
+     70,   2,  16, 128,  65,   0, 
+      0,   0,   1,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,  14,   0,   0,   0, 
+     51,   0,   0,  10, 114,   0, 
+     16,   0,  14,   0,   0,   0, 
+     70,   2,  16,   0,  14,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0,   0,   0,  55,   0, 
+      0,  12, 114,   0,  16,   0, 
+     13,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+     14,   0,   0,   0,  55,   0, 
+      0,  12, 114,   0,  16,   0, 
+     12,   0,   0,   0,  70,   2, 
+     16,   0,  12,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+     13,   0,   0,   0,   0,   0, 
+      0,  11, 114,   0,  16,   0, 
+     13,   0,   0,   0,  70,   2, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,  14,   0,   0,   0, 
+     70,   2,  16,   0,  13,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  51,   0, 
+      0,  10, 114,   0,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  14,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,  11, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0,  70,   2,  16, 128, 
+     65,   0,   0,   0,  14,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0,   0,   0,  55,   0, 
+      0,   9, 130,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,  13,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+     14,   0,   0,   0,  55,   0, 
+      0,   9,  18,   0,  16,   0, 
+     15,   0,   0,   0,  58,   0, 
+     16,   0,  12,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  58,   0,  16,   0, 
+      2,   0,   0,   0,  24,   0, 
+      0,  10, 146,   0,  16,   0, 
+     14,   0,   0,   0,  86,   9, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  63,  24,   0,   0,  10, 
+     50,   0,  16,   0,  16,   0, 
+      0,   0, 150,   5,  16,   0, 
+      1,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     55,   0,   0,  12,  98,   0, 
+     16,   0,  14,   0,   0,   0, 
+      6,   1,  16,   0,  16,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  86,   6, 
+     16,   0,  14,   0,   0,   0, 
+     55,   0,   0,  12,  98,   0, 
+     16,   0,  15,   0,   0,   0, 
+      6,   3,  16,   0,  14,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0,   0,   0,  86,   6, 
+     16,   0,  14,   0,   0,   0, 
+     29,   0,   0,  10, 114,   0, 
+     16,   0,  14,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,  63,   0,   0,   0,  63, 
+      0,   0,   0,  63,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  50,   0, 
+      0,  10, 114,   0,  16,   0, 
+      6,   0,   0,   0,  70,   2, 
+     16, 128,  65,   0,   0,   0, 
+      1,   0,   0,   0,  70,   2, 
+     16,   0,   6,   0,   0,   0, 
+     70,   2,  16,   0,   9,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,   6,   0, 
+      0,   0,  70,   2,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  10,   0,   0,   0, 
+     70,   2,  16,   0,   6,   0, 
+      0,   0,  32,   0,   0,  11, 
+    242,   0,  16,   0,   9,   0, 
+      0,   0,   2,  64,   0,   0, 
+      5,   0,   0,   0,   6,   0, 
+      0,   0,   7,   0,   0,   0, 
+      8,   0,   0,   0, 166, 138, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  50,   0, 
+      0,  16, 114,   0,  16,   0, 
+     10,   0,   0,   0,  70,   2, 
+     16, 128,  65,   0,   0,   0, 
+      1,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,  64, 
+      0,   0,   0,  64,   0,   0, 
+      0,  64,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+    114,   0,  16,   0,  10,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,  10,   0,   0,   0, 
+     50,   0,   0,  10, 114,   0, 
+     16,   0,  10,   0,   0,   0, 
+     70,   2,  16, 128,  65,   0, 
+      0,   0,  10,   0,   0,   0, 
+     70,   2,  16,   0,  13,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  50,   0, 
+      0,  15, 114,   0,  16,   0, 
+     13,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,  64,   0,   0,   0,  64, 
+      0,   0,   0,  64,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128, 191,   0,   0, 
+    128, 191,   0,   0, 128, 191, 
+      0,   0,   0,   0,  50,   0, 
+      0,  15, 114,   0,  16,   0, 
+     16,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  65,   0,   0, 128,  65, 
+      0,   0, 128,  65,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,  64, 193,   0,   0, 
+     64, 193,   0,   0,  64, 193, 
+      0,   0,   0,   0,  50,   0, 
+      0,  12, 114,   0,  16,   0, 
+     16,   0,   0,   0,  70,   2, 
+     16,   0,  16,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  64,   0,   0, 
+    128,  64,   0,   0, 128,  64, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     16,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,  75,   0,   0,   5, 
+    114,   0,  16,   0,  17,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  55,   0, 
+      0,   9, 130,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   5,   0,   0,   0, 
+     10,   0,  16,   0,  16,   0, 
+      0,   0,  10,   0,  16,   0, 
+     17,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+      2,   0,   0,   0,  10,   0, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     50,   0,   0,   9, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     10,   0,  16,   0,  13,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9,  18,   0, 
+     16,   0,  18,   0,   0,   0, 
+     10,   0,  16,   0,  14,   0, 
+      0,   0,  10,   0,  16,   0, 
+     10,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     29,   0,   0,  10, 146,   0, 
+     16,   0,  10,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+    128,  62,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  62,  86,   9,  16,   0, 
+      0,   0,   0,   0,  55,   0, 
+      0,   9, 146,   0,  16,   0, 
+     10,   0,   0,   0,   6,  12, 
+     16,   0,  10,   0,   0,   0, 
+     86,   9,  16,   0,  16,   0, 
+      0,   0,  86,   9,  16,   0, 
+     17,   0,   0,   0,   0,   0, 
+      0,   8, 146,   0,  16,   0, 
+     10,   0,   0,   0,  86,   9, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,   6,  12, 
+     16,   0,  10,   0,   0,   0, 
+     50,   0,   0,   9, 146,   0, 
+     16,   0,  10,   0,   0,   0, 
+     86,   9,  16,   0,  13,   0, 
+      0,   0,   6,  12,  16,   0, 
+     10,   0,   0,   0,  86,   9, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9,  98,   0, 
+     16,   0,  18,   0,   0,   0, 
+     86,   6,  16,   0,  14,   0, 
+      0,   0,  86,   6,  16,   0, 
+     10,   0,   0,   0,   6,   3, 
+     16,   0,  10,   0,   0,   0, 
+      0,   0,   0,   8, 114,   0, 
+     16,   0,  10,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16, 128, 
+     65,   0,   0,   0,   1,   0, 
+      0,   0,  50,   0,   0,  13, 
+    114,   0,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16, 128, 
+     65,   0,   0,   0,   2,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,  64,   0,   0, 
+      0,  64,   0,   0,   0,  64, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   3,   0,   0,   0, 
+     52,   0,   0,   7, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     26,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  52,   0, 
+      0,   7, 130,   0,  16,   0, 
+      2,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   2,   0, 
+      0,   0,  51,   0,   0,   7, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  26,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     42,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+     13,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+     29,   0,   0,   7, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     26,   0,  16,   0,   1,   0, 
+      0,   0,  10,   0,  16,   0, 
+      1,   0,   0,   0,  31,   0, 
+      4,   3,  58,   0,  16,   0, 
+      2,   0,   0,   0,  49,   0, 
+      0,   7, 114,   0,  16,   0, 
+     14,   0,   0,   0,   6,   2, 
+     16,   0,   1,   0,   0,   0, 
+    102,   9,  16,   0,   1,   0, 
+      0,   0,   0,   0,   0,   8, 
+    242,   0,  16,   0,  16,   0, 
+      0,   0,   6,  10,  16, 128, 
+     65,   0,   0,   0,   1,   0, 
+      0,   0, 150,   4,  16,   0, 
+      1,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     17,   0,   0,   0, 246,  15, 
+     16,   0,  13,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,  13,   0, 
+      0,   0,  70,   2,  16,   0, 
+     17,   0,   0,   0,  22,   7, 
+     16,   0,  16,   0,   0,   0, 
+      1,   0,   0,   7,  98,   0, 
+     16,   0,  16,   0,   0,   0, 
+      6,   3,  16,   0,  13,   0, 
+      0,   0,   6,   0,  16,   0, 
+     14,   0,   0,   0,  29,   0, 
+      0,   7, 146,   0,  16,   0, 
+     14,   0,   0,   0, 166,  10, 
+     16,   0,   1,   0,   0,   0, 
+     86,   1,  16,   0,   1,   0, 
+      0,   0,   1,   0,   0,   7, 
+     98,   0,  16,   0,  17,   0, 
+      0,   0, 246,  13,  16,   0, 
+     13,   0,   0,   0,  86,   5, 
+     16,   0,  14,   0,   0,   0, 
+      1,   0,   0,   7,  50,   0, 
+     16,   0,  19,   0,   0,   0, 
+    230,  10,  16,   0,  13,   0, 
+      0,   0, 166,  10,  16,   0, 
+     14,   0,   0,   0,  54,   0, 
+      0,   5,  18,   0,  16,   0, 
+     17,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5,  66,   0, 
+     16,   0,  19,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    226,   0,  16,   0,  14,   0, 
+      0,   0, 246,  15,  16,   0, 
+     14,   0,   0,   0,   6,   9, 
+     16,   0,  17,   0,   0,   0, 
+      6,   9,  16,   0,  19,   0, 
+      0,   0,  54,   0,   0,   5, 
+     18,   0,  16,   0,  16,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  55,   0, 
+      0,   9, 114,   0,  16,   0, 
+     14,   0,   0,   0,   6,   0, 
+     16,   0,  14,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0, 150,   7,  16,   0, 
+     14,   0,   0,   0,  18,   0, 
+      0,   1,  49,   0,   0,   7, 
+    114,   0,  16,   0,  16,   0, 
+      0,   0,  86,   6,  16,   0, 
+      1,   0,   0,   0,  38,   8, 
+     16,   0,   1,   0,   0,   0, 
+      0,   0,   0,   8, 242,   0, 
+     16,   0,  17,   0,   0,   0, 
+     86,  10,  16, 128,  65,   0, 
+      0,   0,   1,   0,   0,   0, 
+    134,   1,  16,   0,   1,   0, 
+      0,   0,  56,   0,   0,   7, 
+    114,   0,  16,   0,  19,   0, 
+      0,   0, 246,  15,  16,   0, 
+     13,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,  13,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0,  22,   7,  16,   0, 
+     17,   0,   0,   0,   1,   0, 
+      0,   7,  82,   0,  16,   0, 
+     17,   0,   0,   0,   6,   3, 
+     16,   0,  13,   0,   0,   0, 
+      6,   0,  16,   0,  16,   0, 
+      0,   0,  29,   0,   0,   7, 
+    146,   0,  16,   0,  16,   0, 
+      0,   0, 166,  10,  16,   0, 
+      1,   0,   0,   0,   6,   4, 
+     16,   0,   1,   0,   0,   0, 
+      1,   0,   0,   7,  82,   0, 
+     16,   0,  19,   0,   0,   0, 
+    246,  13,  16,   0,  13,   0, 
+      0,   0,  86,   5,  16,   0, 
+     16,   0,   0,   0,   1,   0, 
+      0,   7,  50,   0,  16,   0, 
+     13,   0,   0,   0, 182,  15, 
+     16,   0,  13,   0,   0,   0, 
+    166,  10,  16,   0,  16,   0, 
+      0,   0,  54,   0,   0,   5, 
+     34,   0,  16,   0,  19,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  66,   0,  16,   0, 
+     13,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,  13,   0,   0,   0, 
+    246,  15,  16,   0,  16,   0, 
+      0,   0,  70,   2,  16,   0, 
+     19,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+     54,   0,   0,   5,  34,   0, 
+     16,   0,  17,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0,   6,   0,  16,   0, 
+     16,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,  13,   0, 
+      0,   0,  21,   0,   0,   1, 
+     16,   0,   0,  10, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+      2,  64,   0,   0, 154, 153, 
+    153,  62,  61,  10,  23,  63, 
+    174,  71, 225,  61,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,  10, 130,   0,  16,   0, 
+      3,   0,   0,   0,   2,  64, 
+      0,   0, 154, 153, 153,  62, 
+     61,  10,  23,  63, 174,  71, 
+    225,  61,   0,   0,   0,   0, 
+     70,   2,  16,   0,  14,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16, 128,  65,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
+     13,   0,   0,   0, 246,  15, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,  14,   0, 
+      0,   0,  16,   0,   0,  10, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,   2,  64,   0,   0, 
+    154, 153, 153,  62,  61,  10, 
+     23,  63, 174,  71, 225,  61, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     26,   0,  16,   0,  13,   0, 
+      0,   0,  10,   0,  16,   0, 
+     13,   0,   0,   0,  51,   0, 
+      0,   7, 130,   0,  16,   0, 
+      4,   0,   0,   0,  42,   0, 
+     16,   0,  13,   0,   0,   0, 
+     58,   0,  16,   0,   4,   0, 
+      0,   0,  52,   0,   0,   7, 
+    130,   0,  16,   0,   5,   0, 
+      0,   0,  26,   0,  16,   0, 
+     13,   0,   0,   0,  10,   0, 
+     16,   0,  13,   0,   0,   0, 
+     52,   0,   0,   7, 130,   0, 
+     16,   0,   5,   0,   0,   0, 
+     42,   0,  16,   0,  13,   0, 
+      0,   0,  58,   0,  16,   0, 
+      5,   0,   0,   0,  49,   0, 
+      0,   7, 130,   0,  16,   0, 
+      6,   0,   0,   0,  58,   0, 
+     16,   0,   4,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0, 246,  15,  16, 128, 
+     65,   0,   0,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+     13,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     14,   0,   0,   0, 246,  15, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,  14,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
+     16, 128,  65,   0,   0,   0, 
+      4,   0,   0,   0,  14,   0, 
+      0,   7, 114,   0,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  14,   0,   0,   0, 
+    246,  15,  16,   0,   4,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0, 246,  15,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,  14,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,  13,   0,   0,   0, 
+    246,  15,  16,   0,   6,   0, 
+      0,   0,  70,   2,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+     49,   0,   0,   7, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  58,   0,  16,   0, 
+      5,   0,   0,   0,   0,   0, 
+      0,   8, 114,   0,  16,   0, 
+     14,   0,   0,   0, 246,  15, 
+     16, 128,  65,   0,   0,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+      0,   0,   0,   8, 130,   0, 
+     16,   0,   6,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  56,   0,   0,   7, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0, 246,  15,  16,   0, 
+      6,   0,   0,   0,  70,   2, 
+     16,   0,  14,   0,   0,   0, 
+      0,   0,   0,   8, 130,   0, 
+     16,   0,   5,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   5,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,  14,   0, 
+      0,   0,  70,   2,  16,   0, 
+     14,   0,   0,   0, 246,  15, 
+     16,   0,   5,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,  14,   0,   0,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+     14,   0,   0,   0,  55,   0, 
+      0,   9, 114,   0,  16,   0, 
+     13,   0,   0,   0, 246,  15, 
+     16,   0,   4,   0,   0,   0, 
+     70,   2,  16,   0,  14,   0, 
+      0,   0,  70,   2,  16,   0, 
+     13,   0,   0,   0,  32,   0, 
+      0,  11, 242,   0,  16,   0, 
+     14,   0,   0,   0,   2,  64, 
+      0,   0,   9,   0,   0,   0, 
+     10,   0,   0,   0,  11,   0, 
+      0,   0,  12,   0,   0,   0, 
+    166, 138,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     52,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     26,   0,  16,   0,   1,   0, 
+      0,   0,  10,   0,  16,   0, 
+      1,   0,   0,   0,  52,   0, 
+      0,   7, 130,   0,  16,   0, 
+      3,   0,   0,   0,  42,   0, 
+     16,   0,   1,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  51,   0,   0,   7, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,  26,   0,  16,   0, 
+      1,   0,   0,   0,  10,   0, 
+     16,   0,   1,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     42,   0,  16,   0,   1,   0, 
+      0,   0,  58,   0,  16,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+     16,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   4,   0,   0,   0, 
+     29,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     26,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  31,   0, 
+      4,   3,  58,   0,  16,   0, 
+      3,   0,   0,   0,  49,   0, 
+      0,   7, 114,   0,  16,   0, 
+     17,   0,   0,   0,   6,   2, 
+     16,   0,   0,   0,   0,   0, 
+    102,   9,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    242,   0,  16,   0,  19,   0, 
+      0,   0,   6,  10,  16, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0, 150,   4,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     20,   0,   0,   0, 246,  15, 
+     16,   0,  16,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,  16,   0, 
+      0,   0,  70,   2,  16,   0, 
+     20,   0,   0,   0,  22,   7, 
+     16,   0,  19,   0,   0,   0, 
+      1,   0,   0,   7,  98,   0, 
+     16,   0,  19,   0,   0,   0, 
+      6,   3,  16,   0,  16,   0, 
+      0,   0,   6,   0,  16,   0, 
+     17,   0,   0,   0,  29,   0, 
+      0,   7, 146,   0,  16,   0, 
+     17,   0,   0,   0, 166,  10, 
+     16,   0,   0,   0,   0,   0, 
+     86,   1,  16,   0,   0,   0, 
+      0,   0,   1,   0,   0,   7, 
+     98,   0,  16,   0,  20,   0, 
+      0,   0, 246,  13,  16,   0, 
+     16,   0,   0,   0,  86,   5, 
+     16,   0,  17,   0,   0,   0, 
+      1,   0,   0,   7,  50,   0, 
+     16,   0,  21,   0,   0,   0, 
+    230,  10,  16,   0,  16,   0, 
+      0,   0, 166,  10,  16,   0, 
+     17,   0,   0,   0,  54,   0, 
+      0,   5,  18,   0,  16,   0, 
+     20,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5,  66,   0, 
+     16,   0,  21,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    226,   0,  16,   0,  17,   0, 
+      0,   0, 246,  15,  16,   0, 
+     17,   0,   0,   0,   6,   9, 
+     16,   0,  20,   0,   0,   0, 
+      6,   9,  16,   0,  21,   0, 
+      0,   0,  54,   0,   0,   5, 
+     18,   0,  16,   0,  19,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  55,   0, 
+      0,   9, 114,   0,  16,   0, 
+     17,   0,   0,   0,   6,   0, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0, 150,   7,  16,   0, 
+     17,   0,   0,   0,  18,   0, 
+      0,   1,  49,   0,   0,   7, 
+    114,   0,  16,   0,  19,   0, 
+      0,   0,  86,   6,  16,   0, 
+      0,   0,   0,   0,  38,   8, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   8, 242,   0, 
+     16,   0,  20,   0,   0,   0, 
+     86,  10,  16, 128,  65,   0, 
+      0,   0,   0,   0,   0,   0, 
+    134,   1,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+    114,   0,  16,   0,  21,   0, 
+      0,   0, 246,  15,  16,   0, 
+     16,   0,   0,   0,  70,   2, 
+     16,   0,  20,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,  16,   0,   0,   0, 
+     70,   2,  16,   0,  21,   0, 
+      0,   0,  22,   7,  16,   0, 
+     20,   0,   0,   0,   1,   0, 
+      0,   7,  82,   0,  16,   0, 
+     20,   0,   0,   0,   6,   3, 
+     16,   0,  16,   0,   0,   0, 
+      6,   0,  16,   0,  19,   0, 
+      0,   0,  29,   0,   0,   7, 
+    146,   0,  16,   0,  19,   0, 
+      0,   0, 166,  10,  16,   0, 
+      0,   0,   0,   0,   6,   4, 
+     16,   0,   0,   0,   0,   0, 
+      1,   0,   0,   7,  82,   0, 
+     16,   0,  21,   0,   0,   0, 
+    246,  13,  16,   0,  16,   0, 
+      0,   0,  86,   5,  16,   0, 
+     19,   0,   0,   0,   1,   0, 
+      0,   7,  50,   0,  16,   0, 
+     16,   0,   0,   0, 182,  15, 
+     16,   0,  16,   0,   0,   0, 
+    166,  10,  16,   0,  19,   0, 
+      0,   0,  54,   0,   0,   5, 
+     34,   0,  16,   0,  21,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  66,   0,  16,   0, 
+     16,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,  16,   0,   0,   0, 
+    246,  15,  16,   0,  19,   0, 
+      0,   0,  70,   2,  16,   0, 
+     21,   0,   0,   0,  70,   2, 
+     16,   0,  16,   0,   0,   0, 
+     54,   0,   0,   5,  34,   0, 
+     16,   0,  20,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,  17,   0, 
+      0,   0,   6,   0,  16,   0, 
+     19,   0,   0,   0,  70,   2, 
+     16,   0,  20,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,  21,   0,   0,   1, 
+     16,   0,   0,  10, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+      2,  64,   0,   0, 154, 153, 
+    153,  62,  61,  10,  23,  63, 
+    174,  71, 225,  61,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+     17,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,  16,   0,   0,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+     17,   0,   0,   0,  16,   0, 
+      0,  10, 130,   0,  16,   0, 
+      3,   0,   0,   0,   2,  64, 
+      0,   0, 154, 153, 153,  62, 
+     61,  10,  23,  63, 174,  71, 
+    225,  61,   0,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,  51,   0,   0,   7, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,  26,   0,  16,   0, 
+     16,   0,   0,   0,  10,   0, 
+     16,   0,  16,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     42,   0,  16,   0,  16,   0, 
+      0,   0,  58,   0,  16,   0, 
+      4,   0,   0,   0,  52,   0, 
+      0,   7, 130,   0,  16,   0, 
+      5,   0,   0,   0,  26,   0, 
+     16,   0,  16,   0,   0,   0, 
+     10,   0,  16,   0,  16,   0, 
+      0,   0,  52,   0,   0,   7, 
+    130,   0,  16,   0,   5,   0, 
+      0,   0,  42,   0,  16,   0, 
+     16,   0,   0,   0,  58,   0, 
+     16,   0,   5,   0,   0,   0, 
+     49,   0,   0,   7, 130,   0, 
+     16,   0,   6,   0,   0,   0, 
+     58,   0,  16,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   8, 114,   0,  16,   0, 
+     17,   0,   0,   0, 246,  15, 
+     16, 128,  65,   0,   0,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,  16,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,  17,   0,   0,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+     17,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   4,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0, 246,  15,  16,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
+     17,   0,   0,   0, 246,  15, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,  16,   0, 
+      0,   0, 246,  15,  16,   0, 
+      6,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,  49,   0,   0,   7, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  58,   0, 
+     16,   0,   5,   0,   0,   0, 
+      0,   0,   0,   8, 114,   0, 
+     16,   0,  17,   0,   0,   0, 
+    246,  15,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,  16,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   6,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   3,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     17,   0,   0,   0, 246,  15, 
+     16,   0,   6,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   5,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      5,   0,   0,   0,  14,   0, 
+      0,   7, 114,   0,  16,   0, 
+     17,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+    246,  15,  16,   0,   5,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,  17,   0, 
+      0,   0, 246,  15,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,  16,   0,   0,   0, 
+    246,  15,  16,   0,   4,   0, 
+      0,   0,  70,   2,  16,   0, 
+     17,   0,   0,   0,  70,   2, 
+     16,   0,  16,   0,   0,   0, 
+     16,   0,   0,  10, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+      2,  64,   0,   0, 154, 153, 
+    153,  62,  61,  10,  23,  63, 
+    174,  71, 225,  61,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0, 246,  15,  16,   0, 
+      4,   0,   0,   0,  16,   0, 
+      0,  10, 130,   0,  16,   0, 
+      4,   0,   0,   0,   2,  64, 
+      0,   0, 154, 153, 153,  62, 
+     61,  10,  23,  63, 174,  71, 
+    225,  61,   0,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0,  51,   0,   0,   7, 
+    130,   0,  16,   0,   5,   0, 
+      0,   0,  26,   0,  16,   0, 
+     17,   0,   0,   0,  10,   0, 
+     16,   0,  17,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   5,   0,   0,   0, 
+     42,   0,  16,   0,  17,   0, 
+      0,   0,  58,   0,  16,   0, 
+      5,   0,   0,   0,  52,   0, 
+      0,   7, 130,   0,  16,   0, 
+      6,   0,   0,   0,  26,   0, 
+     16,   0,  17,   0,   0,   0, 
+     10,   0,  16,   0,  17,   0, 
+      0,   0,  52,   0,   0,   7, 
+    130,   0,  16,   0,   6,   0, 
+      0,   0,  42,   0,  16,   0, 
+     17,   0,   0,   0,  58,   0, 
+     16,   0,   6,   0,   0,   0, 
+     49,   0,   0,   7, 130,   0, 
+     16,   0,   7,   0,   0,   0, 
+     58,   0,  16,   0,   5,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   8, 114,   0,  16,   0, 
+     19,   0,   0,   0, 246,  15, 
+     16, 128,  65,   0,   0,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,  19,   0,   0,   0, 
+    246,  15,  16,   0,   4,   0, 
+      0,   0,  70,   2,  16,   0, 
+     19,   0,   0,   0,   0,   0, 
+      0,   8, 130,   0,  16,   0, 
+      5,   0,   0,   0,  58,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   5,   0,   0,   0, 
+     14,   0,   0,   7, 114,   0, 
+     16,   0,  19,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0, 246,  15,  16,   0, 
+      5,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
+     19,   0,   0,   0, 246,  15, 
+     16,   0,   4,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,  17,   0, 
+      0,   0, 246,  15,  16,   0, 
+      7,   0,   0,   0,  70,   2, 
+     16,   0,  19,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0,  49,   0,   0,   7, 
+    130,   0,  16,   0,   5,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  58,   0, 
+     16,   0,   6,   0,   0,   0, 
+      0,   0,   0,   8, 114,   0, 
+     16,   0,  19,   0,   0,   0, 
+    246,  15,  16, 128,  65,   0, 
+      0,   0,   4,   0,   0,   0, 
+     70,   2,  16,   0,  17,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   7,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     19,   0,   0,   0, 246,  15, 
+     16,   0,   7,   0,   0,   0, 
+     70,   2,  16,   0,  19,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   6,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      6,   0,   0,   0,  14,   0, 
+      0,   7, 114,   0,  16,   0, 
+     19,   0,   0,   0,  70,   2, 
+     16,   0,  19,   0,   0,   0, 
+    246,  15,  16,   0,   6,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,  19,   0, 
+      0,   0, 246,  15,  16,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16,   0,  19,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,  17,   0,   0,   0, 
+    246,  15,  16,   0,   5,   0, 
+      0,   0,  70,   2,  16,   0, 
+     19,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     32,   0,   0,  11,  50,   0, 
+     16,   0,  19,   0,   0,   0, 
+      2,  64,   0,   0,  13,   0, 
+      0,   0,  14,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 166, 138,  32,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   2,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   2,   0, 
+      0,   0,  58,   0,  16,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   2,   0, 
+      0,   0,  16,   0,   0,  10, 
+    130,   0,  16,   0,   2,   0, 
+      0,   0,   2,  64,   0,   0, 
+    154, 153, 153,  62,  61,  10, 
+     23,  63, 174,  71, 225,  61, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     51,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     26,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  51,   0, 
+      0,   7, 130,   0,  16,   0, 
+      3,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  52,   0,   0,   7, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,  26,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     52,   0,   0,   7, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     42,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      4,   0,   0,   0,  49,   0, 
+      0,   7, 130,   0,  16,   0, 
+      5,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    114,   0,  16,   0,  20,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16, 128,  65,   0,   0,   0, 
+      2,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+     20,   0,   0,   0, 246,  15, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,  20,   0, 
+      0,   0,   0,   0,   0,   8, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16, 128,  65,   0,   0,   0, 
+      3,   0,   0,   0,  14,   0, 
+      0,   7, 114,   0,  16,   0, 
+     20,   0,   0,   0,  70,   2, 
+     16,   0,  20,   0,   0,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,  20,   0, 
+      0,   0, 246,  15,  16,   0, 
+      2,   0,   0,   0,  70,   2, 
+     16,   0,  20,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   5,   0, 
+      0,   0,  70,   2,  16,   0, 
+     20,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     49,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  58,   0,  16,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   8, 114,   0,  16,   0, 
+     20,   0,   0,   0, 246,  15, 
+     16, 128,  65,   0,   0,   0, 
+      2,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   8, 130,   0, 
+     16,   0,   5,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  56,   0,   0,   7, 
+    114,   0,  16,   0,  20,   0, 
+      0,   0, 246,  15,  16,   0, 
+      5,   0,   0,   0,  70,   2, 
+     16,   0,  20,   0,   0,   0, 
+      0,   0,   0,   8, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16, 128,  65,   0, 
+      0,   0,   2,   0,   0,   0, 
+     58,   0,  16,   0,   4,   0, 
+      0,   0,  14,   0,   0,   7, 
+    114,   0,  16,   0,  20,   0, 
+      0,   0,  70,   2,  16,   0, 
+     20,   0,   0,   0, 246,  15, 
+     16,   0,   4,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,  20,   0,   0,   0, 
+    246,  15,  16,   0,   2,   0, 
+      0,   0,  70,   2,  16,   0, 
+     20,   0,   0,   0,  55,   0, 
+      0,   9, 114,   0,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,  20,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     86,   5,  16,   0,  19,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,   6,   0,  16,   0, 
+     19,   0,   0,   0,  70,   2, 
+     16,   0,  17,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0, 246,  15,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  16,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0, 166,  10,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,  13,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  55,   0,   0,   9, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,  86,   5,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  55,   0,   0,  10, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,   6,   0,  16,   0, 
+     14,   0,   0,   0,  70,   2, 
+     16, 128, 129,   0,   0,   0, 
+     10,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   9,   0, 
+      0,   0,  70,   2,  16,   0, 
+     18,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    166,  10,  16,   0,   9,   0, 
+      0,   0,  70,   2,  16,   0, 
+      6,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     86,   5,  16,   0,   9,   0, 
+      0,   0,  70,   2,  16,   0, 
+     15,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   9,   0, 
+      0,   0,  70,   2,  16,   0, 
+     12,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    246,  15,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+     11,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    166,  10,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+      7,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     86,   5,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+      5,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   8,   0, 
+      0,   0,  70,   2,  16,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     55,   0,   0,  10, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+    166, 138,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   8,  18,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16, 128,  65,   0,   0,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0, 246,  15,  16,   0, 
+      0,   0,   0,   0,  50,   0, 
+      0,   9, 114,   0,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,  32,  16,   0, 
+      0,   0,   0,   0, 246,  15, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,  32,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,  83,   1, 
+      0,   0,  22,   0,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
+      0,   0, 197,   0,   0,   0, 
+      9,   0,   0,   0,  13,   0, 
+      0,   0,  13,   0,   0,   0, 
+     10,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  24,   0,   0,   0, 
+     45,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     82,  68,  69,  70, 112,   3, 
+      0,   0,   1,   0,   0,   0, 
+     80,   1,   0,   0,   8,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 255, 255,   0,   1, 
+      0,   0,  60,   3,   0,   0, 
+     28,   1,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  37,   1,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0,  42,   1, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+     45,   1,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   2,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0,  49,   1,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0,  53,   1, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      5,   0,   0,   0,   1,   0, 
+      0,   0,  13,   0,   0,   0, 
+     59,   1,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   6,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0,  69,   1,   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, 115,  83, 
+     97, 109, 112, 108, 101, 114, 
+      0, 116,  82,  71,  66,   0, 
+    116,  89,   0, 116,  67,  98, 
+      0, 116,  67, 114,   0, 116, 
+     77,  97, 115, 107,   0, 116, 
+     66,  97,  99, 107, 100, 114, 
+    111, 112,   0,  36,  71, 108, 
+    111,  98,  97, 108, 115,   0, 
+    171, 171,  69,   1,   0,   0, 
+     10,   0,   0,   0, 104,   1, 
+      0,   0,  48,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  88,   2,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+    100,   2,   0,   0,   0,   0, 
+      0,   0, 116,   2,   0,   0, 
+     16,   0,   0,   0,   4,   0, 
+      0,   0,   2,   0,   0,   0, 
+    132,   2,   0,   0,   0,   0, 
+      0,   0, 148,   2,   0,   0, 
+     32,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+    164,   2,   0,   0,   0,   0, 
+      0,   0, 180,   2,   0,   0, 
+     48,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    196,   2,   0,   0,   0,   0, 
+      0,   0, 212,   2,   0,   0, 
+    112,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    196,   2,   0,   0,   0,   0, 
+      0,   0, 224,   2,   0,   0, 
+    176,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+    100,   2,   0,   0,   0,   0, 
+      0,   0, 244,   2,   0,   0, 
+    192,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      4,   3,   0,   0,   0,   0, 
+      0,   0,  20,   3,   0,   0, 
+    208,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      4,   3,   0,   0,   0,   0, 
+      0,   0,  31,   3,   0,   0, 
+    224,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      4,   3,   0,   0,   0,   0, 
+      0,   0,  41,   3,   0,   0, 
+    240,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+    196,   2,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 105,  66, 108, 101, 
+    110, 100,  67, 111, 110, 102, 
+    105, 103,   0, 171, 171, 171, 
+      1,   0,  19,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  82, 101, 110, 100, 101, 
+    114,  84,  97, 114, 103, 101, 
+    116,  79, 102, 102, 115, 101, 
+    116,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 118,  77,  97, 
+    115, 107,  81, 117,  97, 100, 
+      0, 109,  66,  97,  99, 107, 
+    100, 114, 111, 112,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 128,   0, 
+      0,   0,   4,   0,   0,   0, 
+      8,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0, 116,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0, 116,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+     12,  12,   0,   0, 116,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0, 171, 171, 171,  79,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  84, 
+     97, 114, 103, 101, 116,   0, 
+    171, 171
+};
 ShaderBytes sBlendShader = { BlendShader, sizeof(BlendShader) };
--- a/gfx/layers/d3d11/CompositorD3D11ShadersVR.h
+++ b/gfx/layers/d3d11/CompositorD3D11ShadersVR.h
@@ -1,638 +1,638 @@
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Buffer Definitions: 
-//
-// cbuffer $Globals
-// {
-//
-//   float4 VREyeToSource;              // Offset:    0 Size:    16
-//   float4 VRDestinationScaleAndOffset;// Offset:   16 Size:    16
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// $Globals                          cbuffer      NA          NA            cb0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// POSITION                 0   xy          0     NONE   float   xy  
-// TEXCOORD                 0   xy          1     NONE   float   xy  
-// TEXCOORD                 1   xy          2     NONE   float   xy  
-// TEXCOORD                 2   xy          3     NONE   float   xy  
-// COLOR                    0   xyzw        4     NONE   float   xyzw
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float   xyzw
-// TEXCOORD                 0   xyz         1     NONE   float   xyz 
-// TEXCOORD                 1   xyz         2     NONE   float   xyz 
-// TEXCOORD                 2   xyz         3     NONE   float   xyz 
-// COLOR                    0   xyzw        4     NONE   float   xyzw
-//
-//
-// Constant buffer to DX9 shader constant mappings:
-//
-// Target Reg Buffer  Start Reg # of Regs        Data Conversion
-// ---------- ------- --------- --------- ----------------------
-// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
-//
-//
-// Runtime generated constant mappings:
-//
-// Target Reg                               Constant Description
-// ---------- --------------------------------------------------
-// c0                              Vertex Shader position offset
-//
-//
-// Level9 shader bytecode:
-//
-    vs_2_x
-    def c3, 0.5, 1, 0, 0
-    dcl_texcoord v0
-    dcl_texcoord1 v1
-    dcl_texcoord2 v2
-    dcl_texcoord3 v3
-    dcl_texcoord4 v4
-    mad oT0.xy, v1, c1.zwzw, c1
-    mad oT1.xy, v2, c1.zwzw, c1
-    mad oT2.xy, v3, c1.zwzw, c1
-    mad r0.xy, v0, c2.zwzw, c2
-    add oPos.xy, r0, c0
-    mov oPos.zw, c3.xyxy
-    mov oT0.z, c3.y
-    mov oT1.z, c3.y
-    mov oT2.z, c3.y
-    mov oT3, v4
-
-// approximately 10 instruction slots used
-vs_4_0
-dcl_constantbuffer CB0[2], immediateIndexed
-dcl_input v0.xy
-dcl_input v1.xy
-dcl_input v2.xy
-dcl_input v3.xy
-dcl_input v4.xyzw
-dcl_output_siv o0.xyzw, position
-dcl_output o1.xyz
-dcl_output o2.xyz
-dcl_output o3.xyz
-dcl_output o4.xyzw
-mad o0.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx
-mov o0.zw, l(0,0,0.500000,1.000000)
-mad o1.xy, v1.xyxx, cb0[0].zwzz, cb0[0].xyxx
-mov o1.z, l(1.000000)
-mad o2.xy, v2.xyxx, cb0[0].zwzz, cb0[0].xyxx
-mov o2.z, l(1.000000)
-mad o3.xy, v3.xyxx, cb0[0].zwzz, cb0[0].xyxx
-mov o3.z, l(1.000000)
-mov o4.xyzw, v4.xyzw
-ret 
-// Approximately 10 instruction slots used
-#endif
-
-const BYTE Oculus050VRDistortionVS[] =
-{
-     68,  88,  66,  67,  92, 195, 
-    173, 230,  45,  84,  78,  45, 
-    143, 175,  88,  53,  65, 235, 
-    243, 174,   1,   0,   0,   0, 
-    244,   5,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-    108,   1,   0,   0,  44,   3, 
-      0,   0, 168,   3,   0,   0, 
-    176,   4,   0,   0,  80,   5, 
-      0,   0,  65, 111, 110,  57, 
-     44,   1,   0,   0,  44,   1, 
-      0,   0,   0,   2, 254, 255, 
-    248,   0,   0,   0,  52,   0, 
-      0,   0,   1,   0,  36,   0, 
-      0,   0,  48,   0,   0,   0, 
-     48,   0,   0,   0,  36,   0, 
-      1,   0,  48,   0,   0,   0, 
-      0,   0,   2,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 254, 255, 
-     81,   0,   0,   5,   3,   0, 
-     15, 160,   0,   0,   0,  63, 
-      0,   0, 128,  63,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   5,   0, 
-      0, 128,   0,   0,  15, 144, 
-     31,   0,   0,   2,   5,   0, 
-      1, 128,   1,   0,  15, 144, 
-     31,   0,   0,   2,   5,   0, 
-      2, 128,   2,   0,  15, 144, 
-     31,   0,   0,   2,   5,   0, 
-      3, 128,   3,   0,  15, 144, 
-     31,   0,   0,   2,   5,   0, 
-      4, 128,   4,   0,  15, 144, 
-      4,   0,   0,   4,   0,   0, 
-      3, 224,   1,   0, 228, 144, 
-      1,   0, 238, 160,   1,   0, 
-    228, 160,   4,   0,   0,   4, 
-      1,   0,   3, 224,   2,   0, 
-    228, 144,   1,   0, 238, 160, 
-      1,   0, 228, 160,   4,   0, 
-      0,   4,   2,   0,   3, 224, 
-      3,   0, 228, 144,   1,   0, 
-    238, 160,   1,   0, 228, 160, 
-      4,   0,   0,   4,   0,   0, 
-      3, 128,   0,   0, 228, 144, 
-      2,   0, 238, 160,   2,   0, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   3, 192,   0,   0, 
-    228, 128,   0,   0, 228, 160, 
-      1,   0,   0,   2,   0,   0, 
-     12, 192,   3,   0,  68, 160, 
-      1,   0,   0,   2,   0,   0, 
-      4, 224,   3,   0,  85, 160, 
-      1,   0,   0,   2,   1,   0, 
-      4, 224,   3,   0,  85, 160, 
-      1,   0,   0,   2,   2,   0, 
-      4, 224,   3,   0,  85, 160, 
-      1,   0,   0,   2,   3,   0, 
-     15, 224,   4,   0, 228, 144, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82, 184,   1,   0,   0, 
-     64,   0,   1,   0, 110,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   0,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   2,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   3,   0,   0,   0, 
-     95,   0,   0,   3, 242,  16, 
-     16,   0,   4,   0,   0,   0, 
-    103,   0,   0,   4, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 114,  32,  16,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 114,  32,  16,   0, 
-      2,   0,   0,   0, 101,   0, 
-      0,   3, 114,  32,  16,   0, 
-      3,   0,   0,   0, 101,   0, 
-      0,   3, 242,  32,  16,   0, 
-      4,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     54,   0,   0,   8, 194,  32, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,  63,   0,   0, 
-    128,  63,  50,   0,   0,  11, 
-     50,  32,  16,   0,   1,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0, 230, 138, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  70, 128, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5,  66,  32,  16,   0, 
-      1,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 128,  63, 
-     50,   0,   0,  11,  50,  32, 
-     16,   0,   2,   0,   0,   0, 
-     70,  16,  16,   0,   2,   0, 
-      0,   0, 230, 138,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  70, 128,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  54,   0,   0,   5, 
-     66,  32,  16,   0,   2,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      3,   0,   0,   0,  70,  16, 
-     16,   0,   3,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5,  66,  32, 
-     16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-    128,  63,  54,   0,   0,   5, 
-    242,  32,  16,   0,   4,   0, 
-      0,   0,  70,  30,  16,   0, 
-      4,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    116,   0,   0,   0,  10,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  10,   0, 
-      0,   0,   4,   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,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   5,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     82,  68,  69,  70,   0,   1, 
-      0,   0,   1,   0,   0,   0, 
-     72,   0,   0,   0,   1,   0, 
-      0,   0,  28,   0,   0,   0, 
-      0,   4, 254, 255,   0,   1, 
-      0,   0, 204,   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,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,  36,  71, 108, 111, 
-     98,  97, 108, 115,   0, 171, 
-    171, 171,  60,   0,   0,   0, 
-      2,   0,   0,   0,  96,   0, 
-      0,   0,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 144,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    160,   0,   0,   0,   0,   0, 
-      0,   0, 176,   0,   0,   0, 
-     16,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    160,   0,   0,   0,   0,   0, 
-      0,   0,  86,  82,  69, 121, 
-    101,  84, 111,  83, 111, 117, 
-    114,  99, 101,   0, 171, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  86,  82, 
-     68, 101, 115, 116, 105, 110, 
-     97, 116, 105, 111, 110,  83, 
-     99,  97, 108, 101,  65, 110, 
-    100,  79, 102, 102, 115, 101, 
-    116,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-     73,  83,  71,  78, 152,   0, 
-      0,   0,   5,   0,   0,   0, 
-      8,   0,   0,   0, 128,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   3,   0,   0, 137,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0, 137,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      3,   3,   0,   0, 137,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   3,   0,   0,   0, 
-      3,   3,   0,   0, 146,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   4,   0,   0,   0, 
-     15,  15,   0,   0,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-      0,  84,  69,  88,  67,  79, 
-     79,  82,  68,   0,  67,  79, 
-     76,  79,  82,   0,  79,  83, 
-     71,  78, 156,   0,   0,   0, 
-      5,   0,   0,   0,   8,   0, 
-      0,   0, 128,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0, 140,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   7,   8, 
-      0,   0, 140,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      2,   0,   0,   0,   7,   8, 
-      0,   0, 140,   0,   0,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      3,   0,   0,   0,   7,   8, 
-      0,   0, 149,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      4,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0,  67, 
-     79,  76,  79,  82,   0, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer $Globals
+// {
+//
+//   float4 VREyeToSource;              // Offset:    0 Size:    16
+//   float4 VRDestinationScaleAndOffset;// Offset:   16 Size:    16
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// $Globals                          cbuffer      NA          NA            cb0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xy          0     NONE   float   xy  
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// TEXCOORD                 1   xy          2     NONE   float   xy  
+// TEXCOORD                 2   xy          3     NONE   float   xy  
+// COLOR                    0   xyzw        4     NONE   float   xyzw
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float   xyzw
+// TEXCOORD                 0   xyz         1     NONE   float   xyz 
+// TEXCOORD                 1   xyz         2     NONE   float   xyz 
+// TEXCOORD                 2   xyz         3     NONE   float   xyz 
+// COLOR                    0   xyzw        4     NONE   float   xyzw
+//
+//
+// Constant buffer to DX9 shader constant mappings:
+//
+// Target Reg Buffer  Start Reg # of Regs        Data Conversion
+// ---------- ------- --------- --------- ----------------------
+// c1         cb0             0         2  ( FLT, FLT, FLT, FLT)
+//
+//
+// Runtime generated constant mappings:
+//
+// Target Reg                               Constant Description
+// ---------- --------------------------------------------------
+// c0                              Vertex Shader position offset
+//
+//
+// Level9 shader bytecode:
+//
+    vs_2_x
+    def c3, 0.5, 1, 0, 0
+    dcl_texcoord v0
+    dcl_texcoord1 v1
+    dcl_texcoord2 v2
+    dcl_texcoord3 v3
+    dcl_texcoord4 v4
+    mad oT0.xy, v1, c1.zwzw, c1
+    mad oT1.xy, v2, c1.zwzw, c1
+    mad oT2.xy, v3, c1.zwzw, c1
+    mad r0.xy, v0, c2.zwzw, c2
+    add oPos.xy, r0, c0
+    mov oPos.zw, c3.xyxy
+    mov oT0.z, c3.y
+    mov oT1.z, c3.y
+    mov oT2.z, c3.y
+    mov oT3, v4
+
+// approximately 10 instruction slots used
+vs_4_0
+dcl_constantbuffer CB0[2], immediateIndexed
+dcl_input v0.xy
+dcl_input v1.xy
+dcl_input v2.xy
+dcl_input v3.xy
+dcl_input v4.xyzw
+dcl_output_siv o0.xyzw, position
+dcl_output o1.xyz
+dcl_output o2.xyz
+dcl_output o3.xyz
+dcl_output o4.xyzw
+mad o0.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx
+mov o0.zw, l(0,0,0.500000,1.000000)
+mad o1.xy, v1.xyxx, cb0[0].zwzz, cb0[0].xyxx
+mov o1.z, l(1.000000)
+mad o2.xy, v2.xyxx, cb0[0].zwzz, cb0[0].xyxx
+mov o2.z, l(1.000000)
+mad o3.xy, v3.xyxx, cb0[0].zwzz, cb0[0].xyxx
+mov o3.z, l(1.000000)
+mov o4.xyzw, v4.xyzw
+ret 
+// Approximately 10 instruction slots used
+#endif
+
+const BYTE Oculus050VRDistortionVS[] =
+{
+     68,  88,  66,  67,  92, 195, 
+    173, 230,  45,  84,  78,  45, 
+    143, 175,  88,  53,  65, 235, 
+    243, 174,   1,   0,   0,   0, 
+    244,   5,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    108,   1,   0,   0,  44,   3, 
+      0,   0, 168,   3,   0,   0, 
+    176,   4,   0,   0,  80,   5, 
+      0,   0,  65, 111, 110,  57, 
+     44,   1,   0,   0,  44,   1, 
+      0,   0,   0,   2, 254, 255, 
+    248,   0,   0,   0,  52,   0, 
+      0,   0,   1,   0,  36,   0, 
+      0,   0,  48,   0,   0,   0, 
+     48,   0,   0,   0,  36,   0, 
+      1,   0,  48,   0,   0,   0, 
+      0,   0,   2,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     81,   0,   0,   5,   3,   0, 
+     15, 160,   0,   0,   0,  63, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
+     31,   0,   0,   2,   5,   0, 
+      1, 128,   1,   0,  15, 144, 
+     31,   0,   0,   2,   5,   0, 
+      2, 128,   2,   0,  15, 144, 
+     31,   0,   0,   2,   5,   0, 
+      3, 128,   3,   0,  15, 144, 
+     31,   0,   0,   2,   5,   0, 
+      4, 128,   4,   0,  15, 144, 
+      4,   0,   0,   4,   0,   0, 
+      3, 224,   1,   0, 228, 144, 
+      1,   0, 238, 160,   1,   0, 
+    228, 160,   4,   0,   0,   4, 
+      1,   0,   3, 224,   2,   0, 
+    228, 144,   1,   0, 238, 160, 
+      1,   0, 228, 160,   4,   0, 
+      0,   4,   2,   0,   3, 224, 
+      3,   0, 228, 144,   1,   0, 
+    238, 160,   1,   0, 228, 160, 
+      4,   0,   0,   4,   0,   0, 
+      3, 128,   0,   0, 228, 144, 
+      2,   0, 238, 160,   2,   0, 
+    228, 160,   2,   0,   0,   3, 
+      0,   0,   3, 192,   0,   0, 
+    228, 128,   0,   0, 228, 160, 
+      1,   0,   0,   2,   0,   0, 
+     12, 192,   3,   0,  68, 160, 
+      1,   0,   0,   2,   0,   0, 
+      4, 224,   3,   0,  85, 160, 
+      1,   0,   0,   2,   1,   0, 
+      4, 224,   3,   0,  85, 160, 
+      1,   0,   0,   2,   2,   0, 
+      4, 224,   3,   0,  85, 160, 
+      1,   0,   0,   2,   3,   0, 
+     15, 224,   4,   0, 228, 144, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82, 184,   1,   0,   0, 
+     64,   0,   1,   0, 110,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   0,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   2,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   3,   0,   0,   0, 
+     95,   0,   0,   3, 242,  16, 
+     16,   0,   4,   0,   0,   0, 
+    103,   0,   0,   4, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3, 114,  32,  16,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3, 114,  32,  16,   0, 
+      2,   0,   0,   0, 101,   0, 
+      0,   3, 114,  32,  16,   0, 
+      3,   0,   0,   0, 101,   0, 
+      0,   3, 242,  32,  16,   0, 
+      4,   0,   0,   0,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   0,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     54,   0,   0,   8, 194,  32, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  63,   0,   0, 
+    128,  63,  50,   0,   0,  11, 
+     50,  32,  16,   0,   1,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0, 230, 138, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  70, 128, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  66,  32,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     50,   0,   0,  11,  50,  32, 
+     16,   0,   2,   0,   0,   0, 
+     70,  16,  16,   0,   2,   0, 
+      0,   0, 230, 138,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  70, 128,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+     66,  32,  16,   0,   2,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  50,   0, 
+      0,  11,  50,  32,  16,   0, 
+      3,   0,   0,   0,  70,  16, 
+     16,   0,   3,   0,   0,   0, 
+    230, 138,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     70, 128,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5,  66,  32, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+    128,  63,  54,   0,   0,   5, 
+    242,  32,  16,   0,   4,   0, 
+      0,   0,  70,  30,  16,   0, 
+      4,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,  10,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  10,   0, 
+      0,   0,   4,   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,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     82,  68,  69,  70,   0,   1, 
+      0,   0,   1,   0,   0,   0, 
+     72,   0,   0,   0,   1,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 254, 255,   0,   1, 
+      0,   0, 204,   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,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,  36,  71, 108, 111, 
+     98,  97, 108, 115,   0, 171, 
+    171, 171,  60,   0,   0,   0, 
+      2,   0,   0,   0,  96,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 144,   0,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+    160,   0,   0,   0,   0,   0, 
+      0,   0, 176,   0,   0,   0, 
+     16,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+    160,   0,   0,   0,   0,   0, 
+      0,   0,  86,  82,  69, 121, 
+    101,  84, 111,  83, 111, 117, 
+    114,  99, 101,   0, 171, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  86,  82, 
+     68, 101, 115, 116, 105, 110, 
+     97, 116, 105, 111, 110,  83, 
+     99,  97, 108, 101,  65, 110, 
+    100,  79, 102, 102, 115, 101, 
+    116,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+     73,  83,  71,  78, 152,   0, 
+      0,   0,   5,   0,   0,   0, 
+      8,   0,   0,   0, 128,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   3,   0,   0, 137,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0, 137,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      3,   3,   0,   0, 137,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   3,   0,   0, 146,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   4,   0,   0,   0, 
+     15,  15,   0,   0,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+      0,  84,  69,  88,  67,  79, 
+     79,  82,  68,   0,  67,  79, 
+     76,  79,  82,   0,  79,  83, 
+     71,  78, 156,   0,   0,   0, 
+      5,   0,   0,   0,   8,   0, 
+      0,   0, 128,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0, 140,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   7,   8, 
+      0,   0, 140,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      2,   0,   0,   0,   7,   8, 
+      0,   0, 140,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   0,   0,   0,   7,   8, 
+      0,   0, 149,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      4,   0,   0,   0,  15,   0, 
+      0,   0,  83,  86,  95,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,  84,  69,  88,  67, 
+     79,  79,  82,  68,   0,  67, 
+     79,  76,  79,  82,   0, 171
+};
 ShaderBytes sOculus050VRDistortionVS = { Oculus050VRDistortionVS, sizeof(Oculus050VRDistortionVS) };
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-//
-// Resource Bindings:
-//
-// Name                                 Type  Format         Dim      HLSL Bind  Count
-// ------------------------------ ---------- ------- ----------- -------------- ------
-// Linear                            sampler      NA          NA             s0      1 
-// Texture                           texture  float4          2d             t0      1 
-//
-//
-//
-// Input signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Position              0   xyzw        0      POS   float       
-// TEXCOORD                 0   xyz         1     NONE   float   xy  
-// TEXCOORD                 1   xyz         2     NONE   float   xy  
-// TEXCOORD                 2   xyz         3     NONE   float   xy  
-// COLOR                    0   xyzw        4     NONE   float   x   
-//
-//
-// Output signature:
-//
-// Name                 Index   Mask Register SysValue  Format   Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// SV_Target                0   xyzw        0   TARGET   float   xyzw
-//
-//
-// Sampler/Resource to DX9 shader sampler mappings:
-//
-// Target Sampler Source Sampler  Source Resource
-// -------------- --------------- ----------------
-// s0             s0              t0               
-//
-//
-// Level9 shader bytecode:
-//
-    ps_2_x
-    def c0, 1, 0, 0, 0
-    dcl t0.xyz
-    dcl t1.xyz
-    dcl t2.xyz
-    dcl t3
-    dcl_2d s0
-    texld r0, t1, s0
-    texld r1, t0, s0
-    mul r1.x, r1.x, t3.x
-    mul r1.y, r0.y, t3.x
-    texld r0, t2, s0
-    mul r1.z, r0.z, t3.x
-    mov r1.w, c0.x
-    mov oC0, r1
-
-// approximately 8 instruction slots used (3 texture, 5 arithmetic)
-ps_4_0
-dcl_sampler s0, mode_default
-dcl_resource_texture2d (float,float,float,float) t0
-dcl_input_ps linear v1.xy
-dcl_input_ps linear v2.xy
-dcl_input_ps linear v3.xy
-dcl_input_ps linear v4.x
-dcl_output o0.xyzw
-dcl_temps 1
-sample r0.xyzw, v1.xyxx, t0.xyzw, s0
-mul o0.x, r0.x, v4.x
-sample r0.xyzw, v2.xyxx, t0.xyzw, s0
-mul o0.y, r0.y, v4.x
-sample r0.xyzw, v3.xyxx, t0.xyzw, s0
-mul o0.z, r0.z, v4.x
-mov o0.w, l(1.000000)
-ret 
-// Approximately 8 instruction slots used
-#endif
-
-const BYTE Oculus050VRDistortionPS[] =
-{
-     68,  88,  66,  67,  17, 210, 
-    217, 234, 219,  61,  77,  84, 
-      3,  36,  81, 127, 138,  35, 
-    252,  53,   1,   0,   0,   0, 
-    128,   4,   0,   0,   6,   0, 
-      0,   0,  56,   0,   0,   0, 
-     60,   1,   0,   0, 132,   2, 
-      0,   0,   0,   3,   0,   0, 
-    168,   3,   0,   0,  76,   4, 
-      0,   0,  65, 111, 110,  57, 
-    252,   0,   0,   0, 252,   0, 
-      0,   0,   0,   2, 255, 255, 
-    212,   0,   0,   0,  40,   0, 
-      0,   0,   0,   0,  40,   0, 
-      0,   0,  40,   0,   0,   0, 
-     40,   0,   1,   0,  36,   0, 
-      0,   0,  40,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     81,   0,   0,   5,   0,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   1,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   2,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   3,   0,  15, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   1,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,   5,   0,   0,   3, 
-      1,   0,   1, 128,   1,   0, 
-      0, 128,   3,   0,   0, 176, 
-      5,   0,   0,   3,   1,   0, 
-      2, 128,   0,   0,  85, 128, 
-      3,   0,   0, 176,  66,   0, 
-      0,   3,   0,   0,  15, 128, 
-      2,   0, 228, 176,   0,   8, 
-    228, 160,   5,   0,   0,   3, 
-      1,   0,   4, 128,   0,   0, 
-    170, 128,   3,   0,   0, 176, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   0,   0,   0, 160, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   1,   0, 228, 128, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82,  64,   1,   0,   0, 
-     64,   0,   0,   0,  80,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
-      0,   0,  85,  85,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   1,   0,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   2,   0,   0,   0, 
-     98,  16,   0,   3,  50,  16, 
-     16,   0,   3,   0,   0,   0, 
-     98,  16,   0,   3,  18,  16, 
-     16,   0,   4,   0,   0,   0, 
-    101,   0,   0,   3, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    104,   0,   0,   2,   1,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-     18,  32,  16,   0,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      0,   0,   0,   0,  10,  16, 
-     16,   0,   4,   0,   0,   0, 
-     69,   0,   0,   9, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  16,  16,   0,   2,   0, 
-      0,   0,  70, 126,  16,   0, 
-      0,   0,   0,   0,   0,  96, 
-     16,   0,   0,   0,   0,   0, 
-     56,   0,   0,   7,  34,  32, 
-     16,   0,   0,   0,   0,   0, 
-     26,   0,  16,   0,   0,   0, 
-      0,   0,  10,  16,  16,   0, 
-      4,   0,   0,   0,  69,   0, 
-      0,   9, 242,   0,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   3,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
-      0,   0,   0,  96,  16,   0, 
-      0,   0,   0,   0,  56,   0, 
-      0,   7,  66,  32,  16,   0, 
-      0,   0,   0,   0,  42,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,  16,  16,   0,   4,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,  32,  16,   0,   0,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    116,   0,   0,   0,   8,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   5,   0, 
-      0,   0,   3,   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,   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,   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, 
-     82,  68,  69,  70, 160,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  28,   0,   0,   0, 
-      0,   4, 255, 255,   0,   1, 
-      0,   0, 107,   0,   0,   0, 
-     92,   0,   0,   0,   3,   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,  99,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0,  76, 105, 
-    110, 101,  97, 114,   0,  84, 
-    101, 120, 116, 117, 114, 101, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     73,  83,  71,  78, 156,   0, 
-      0,   0,   5,   0,   0,   0, 
-      8,   0,   0,   0, 128,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0, 140,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      7,   3,   0,   0, 140,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   3,   0,   0, 140,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   3,   0,   0,   0, 
-      7,   3,   0,   0, 149,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   4,   0,   0,   0, 
-     15,   1,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0,  67,  79,  76,  79,  82, 
-      0, 171,  79,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  97, 114, 
-    103, 101, 116,   0, 171, 171
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- -------------- ------
+// Linear                            sampler      NA          NA             s0      1 
+// Texture                           texture  float4          2d             t0      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Position              0   xyzw        0      POS   float       
+// TEXCOORD                 0   xyz         1     NONE   float   xy  
+// TEXCOORD                 1   xyz         2     NONE   float   xy  
+// TEXCOORD                 2   xyz         3     NONE   float   xy  
+// COLOR                    0   xyzw        4     NONE   float   x   
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_Target                0   xyzw        0   TARGET   float   xyzw
+//
+//
+// Sampler/Resource to DX9 shader sampler mappings:
+//
+// Target Sampler Source Sampler  Source Resource
+// -------------- --------------- ----------------
+// s0             s0              t0               
+//
+//
+// Level9 shader bytecode:
+//
+    ps_2_x
+    def c0, 1, 0, 0, 0
+    dcl t0.xyz
+    dcl t1.xyz
+    dcl t2.xyz
+    dcl t3
+    dcl_2d s0
+    texld r0, t1, s0
+    texld r1, t0, s0
+    mul r1.x, r1.x, t3.x
+    mul r1.y, r0.y, t3.x
+    texld r0, t2, s0
+    mul r1.z, r0.z, t3.x
+    mov r1.w, c0.x
+    mov oC0, r1
+
+// approximately 8 instruction slots used (3 texture, 5 arithmetic)
+ps_4_0
+dcl_sampler s0, mode_default
+dcl_resource_texture2d (float,float,float,float) t0
+dcl_input_ps linear v1.xy
+dcl_input_ps linear v2.xy
+dcl_input_ps linear v3.xy
+dcl_input_ps linear v4.x
+dcl_output o0.xyzw
+dcl_temps 1
+sample r0.xyzw, v1.xyxx, t0.xyzw, s0
+mul o0.x, r0.x, v4.x
+sample r0.xyzw, v2.xyxx, t0.xyzw, s0
+mul o0.y, r0.y, v4.x
+sample r0.xyzw, v3.xyxx, t0.xyzw, s0
+mul o0.z, r0.z, v4.x
+mov o0.w, l(1.000000)
+ret 
+// Approximately 8 instruction slots used
+#endif
+
+const BYTE Oculus050VRDistortionPS[] =
+{
+     68,  88,  66,  67,  17, 210, 
+    217, 234, 219,  61,  77,  84, 
+      3,  36,  81, 127, 138,  35, 
+    252,  53,   1,   0,   0,   0, 
+    128,   4,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     60,   1,   0,   0, 132,   2, 
+      0,   0,   0,   3,   0,   0, 
+    168,   3,   0,   0,  76,   4, 
+      0,   0,  65, 111, 110,  57, 
+    252,   0,   0,   0, 252,   0, 
+      0,   0,   0,   2, 255, 255, 
+    212,   0,   0,   0,  40,   0, 
+      0,   0,   0,   0,  40,   0, 
+      0,   0,  40,   0,   0,   0, 
+     40,   0,   1,   0,  36,   0, 
+      0,   0,  40,   0,   0,   0, 
+      0,   0,   1,   2, 255, 255, 
+     81,   0,   0,   5,   0,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   1,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   2,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   3,   0,  15, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   1,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,   5,   0,   0,   3, 
+      1,   0,   1, 128,   1,   0, 
+      0, 128,   3,   0,   0, 176, 
+      5,   0,   0,   3,   1,   0, 
+      2, 128,   0,   0,  85, 128, 
+      3,   0,   0, 176,  66,   0, 
+      0,   3,   0,   0,  15, 128, 
+      2,   0, 228, 176,   0,   8, 
+    228, 160,   5,   0,   0,   3, 
+      1,   0,   4, 128,   0,   0, 
+    170, 128,   3,   0,   0, 176, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   0,   0,   0, 160, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   1,   0, 228, 128, 
+    255, 255,   0,   0,  83,  72, 
+     68,  82,  64,   1,   0,   0, 
+     64,   0,   0,   0,  80,   0, 
+      0,   0,  90,   0,   0,   3, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  88,  24,   0,   4, 
+      0, 112,  16,   0,   0,   0, 
+      0,   0,  85,  85,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   2,   0,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   3,   0,   0,   0, 
+     98,  16,   0,   3,  18,  16, 
+     16,   0,   4,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,   1,   0, 
+      0,   0,  69,   0,   0,   9, 
+    242,   0,  16,   0,   0,   0, 
+      0,   0,  70,  16,  16,   0, 
+      1,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   0,   0, 
+      0,  96,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+     18,  32,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  10,  16, 
+     16,   0,   4,   0,   0,   0, 
+     69,   0,   0,   9, 242,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,  16,  16,   0,   2,   0, 
+      0,   0,  70, 126,  16,   0, 
+      0,   0,   0,   0,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     56,   0,   0,   7,  34,  32, 
+     16,   0,   0,   0,   0,   0, 
+     26,   0,  16,   0,   0,   0, 
+      0,   0,  10,  16,  16,   0, 
+      4,   0,   0,   0,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   3,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7,  66,  32,  16,   0, 
+      0,   0,   0,   0,  42,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,  16,  16,   0,   4,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,  32,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,   8,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   5,   0, 
+      0,   0,   3,   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,   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,   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, 
+     82,  68,  69,  70, 160,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 255, 255,   0,   1, 
+      0,   0, 107,   0,   0,   0, 
+     92,   0,   0,   0,   3,   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,  99,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     13,   0,   0,   0,  76, 105, 
+    110, 101,  97, 114,   0,  84, 
+    101, 120, 116, 117, 114, 101, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     73,  83,  71,  78, 156,   0, 
+      0,   0,   5,   0,   0,   0, 
+      8,   0,   0,   0, 128,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0, 140,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      7,   3,   0,   0, 140,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   3,   0,   0, 140,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   3,   0,   0,   0, 
+      7,   3,   0,   0, 149,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   4,   0,   0,   0, 
+     15,   1,   0,   0,  83,  86, 
+     95,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+      0,  67,  79,  76,  79,  82, 
+      0, 171,  79,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  97, 114, 
+    103, 101, 116,   0, 171, 171
+};
 ShaderBytes sOculus050VRDistortionPS = { Oculus050VRDistortionPS, sizeof(Oculus050VRDistortionPS) };
--- a/gfx/layers/d3d9/LayerManagerD3D9Shaders.h
+++ b/gfx/layers/d3d9/LayerManagerD3D9Shaders.h
@@ -1,1667 +1,1667 @@
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float4x4 mLayerTransform;
-//   float4x4 mProjection;
-//   float4 vLayerQuad;
-//   float4 vRenderTargetOffset;
-//   float4 vTextureCoords;
-//
-//
-// Registers:
-//
-//   Name                Reg   Size
-//   ------------------- ----- ----
-//   mLayerTransform     c0       4
-//   mProjection         c4       4
-//   vRenderTargetOffset c8       1
-//   vTextureCoords      c9       1
-//   vLayerQuad          c10      1
-//
-
-    vs_2_0
-    def c11, -0.5, 0, 0, 0
-    dcl_position v0
-    mad r0.xy, v0, c10.zwzw, c10
-    mul r1, r0.y, c1
-    mad r0, c0, r0.x, r1
-    mad r0, c2, v0.z, r0
-    mad r0, c3, v0.w, r0
-    rcp r1.x, r0.w
-    mul r0.xyz, r0, r1.x
-    add r0, r0, -c8
-    mad r0.xy, r0, r0.w, c11.x
-    mul r1, r0.y, c5
-    mad r1, c4, r0.x, r1
-    mul r0.x, r0.w, r0.z
-    mad r1, c6, r0.x, r1
-    mad oPos, c7, r0.w, r1
-    mad oT0.xy, v0, c9.zwzw, c9
-
-// approximately 15 instruction slots used
-#endif
-
-const BYTE LayerQuadVS[] =
-{
-      0,   2, 254, 255, 254, 255, 
-     79,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0,   2,   1, 
-      0,   0,   0,   2, 254, 255, 
-      5,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    251,   0,   0,   0, 128,   0, 
-      0,   0,   2,   0,   0,   0, 
-      4,   0,   0,   0, 144,   0, 
-      0,   0,   0,   0,   0,   0, 
-    160,   0,   0,   0,   2,   0, 
-      4,   0,   4,   0,   0,   0, 
-    144,   0,   0,   0,   0,   0, 
-      0,   0, 172,   0,   0,   0, 
-      2,   0,  10,   0,   1,   0, 
-      0,   0, 184,   0,   0,   0, 
-      0,   0,   0,   0, 200,   0, 
-      0,   0,   2,   0,   8,   0, 
-      1,   0,   0,   0, 220,   0, 
-      0,   0,   0,   0,   0,   0, 
-    236,   0,   0,   0,   2,   0, 
-      9,   0,   1,   0,   0,   0, 
-    184,   0,   0,   0,   0,   0, 
-      0,   0, 109,  76,  97, 121, 
-    101, 114,  84, 114,  97, 110, 
-    115, 102, 111, 114, 109,   0, 
-      3,   0,   3,   0,   4,   0, 
-      4,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 109,  80, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,   0, 118,  76, 
-     97, 121, 101, 114,  81, 117, 
-     97, 100,   0, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 118,  84, 101, 120, 
-    116, 117, 114, 101,  67, 111, 
-    111, 114, 100, 115,   0, 118, 
-    115,  95,  50,  95,  48,   0, 
-     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,  48,  46,  49,  48, 
-     48,  49,  49,  46,  49,  54, 
-     51,  56,  52,   0, 171, 171, 
-     81,   0,   0,   5,  11,   0, 
-     15, 160,   0,   0,   0, 191, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,  15, 144, 
-      4,   0,   0,   4,   0,   0, 
-      3, 128,   0,   0, 228, 144, 
-     10,   0, 238, 160,  10,   0, 
-    228, 160,   5,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-     85, 128,   1,   0, 228, 160, 
-      4,   0,   0,   4,   0,   0, 
-     15, 128,   0,   0, 228, 160, 
-      0,   0,   0, 128,   1,   0, 
-    228, 128,   4,   0,   0,   4, 
-      0,   0,  15, 128,   2,   0, 
-    228, 160,   0,   0, 170, 144, 
-      0,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,  15, 128, 
-      3,   0, 228, 160,   0,   0, 
-    255, 144,   0,   0, 228, 128, 
-      6,   0,   0,   2,   1,   0, 
-      1, 128,   0,   0, 255, 128, 
-      5,   0,   0,   3,   0,   0, 
-      7, 128,   0,   0, 228, 128, 
-      1,   0,   0, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   8,   0, 
-    228, 161,   4,   0,   0,   4, 
-      0,   0,   3, 128,   0,   0, 
-    228, 128,   0,   0, 255, 128, 
-     11,   0,   0, 160,   5,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0,  85, 128,   5,   0, 
-    228, 160,   4,   0,   0,   4, 
-      1,   0,  15, 128,   4,   0, 
-    228, 160,   0,   0,   0, 128, 
-      1,   0, 228, 128,   5,   0, 
-      0,   3,   0,   0,   1, 128, 
-      0,   0, 255, 128,   0,   0, 
-    170, 128,   4,   0,   0,   4, 
-      1,   0,  15, 128,   6,   0, 
-    228, 160,   0,   0,   0, 128, 
-      1,   0, 228, 128,   4,   0, 
-      0,   4,   0,   0,  15, 192, 
-      7,   0, 228, 160,   0,   0, 
-    255, 128,   1,   0, 228, 128, 
-      4,   0,   0,   4,   0,   0, 
-      3, 224,   0,   0, 228, 144, 
-      9,   0, 238, 160,   9,   0, 
-    228, 160, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//
-
-    ps_2_0
-    dcl t0.xy
-    dcl_2d s0
-    texld r0, t0, s0
-    mul r0, r0, c0.x
-    mov oC0, r0
-
-// approximately 3 instruction slots used (1 texture, 2 arithmetic)
-#endif
-
-const BYTE RGBAShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     46,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 127,   0, 
-      0,   0,   0,   2, 255, 255, 
-      2,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    120,   0,   0,   0,  68,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,  84,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,   0,   4,   0,  12,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112, 115,  95,  50,  95,  48, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DWhite;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DWhite      s1       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl_2d s0
-    dcl_2d s1
-    texld r0, t0, s0
-    texld r1, t0, s1
-    add r0.xyz, r0, -r1
-    add r0.xyz, r0, c1.x
-    mul r0.xyz, r0, c0.x
-    mov r0.w, r0.y
-    mov oC0, r0
-
-// approximately 7 instruction slots used (2 texture, 5 arithmetic)
-#endif
-
-const BYTE ComponentPass1ShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     58,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 175,   0, 
-      0,   0,   0,   2, 255, 255, 
-      3,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    168,   0,   0,   0,  88,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 104,   0, 
-      0,   0,   0,   0,   0,   0, 
-    120,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    124,   0,   0,   0,   0,   0, 
-      0,   0, 140,   0,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0, 152,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    115,  50,  68,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  87, 
-    104, 105, 116, 101,   0, 171, 
-    171, 171,   4,   0,  12,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112, 115,  95,  50,  95,  48, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     81,   0,   0,   5,   1,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   1,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0, 228, 176,   1,   8, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    228, 128,   1,   0, 228, 129, 
-      2,   0,   0,   3,   0,   0, 
-      7, 128,   0,   0, 228, 128, 
-      1,   0,   0, 160,   5,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   0,   8, 128,   0,   0, 
-     85, 128,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DWhite;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DWhite      s1       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl_2d s0
-    dcl_2d s1
-    texld r0, t0, s1
-    texld r1, t0, s0
-    add r0.x, -r0.y, r1.y
-    add r1.w, r0.x, c1.x
-    mul r0, r1, c0.x
-    mov oC0, r0
-
-// approximately 6 instruction slots used (2 texture, 4 arithmetic)
-#endif
-
-const BYTE ComponentPass2ShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     58,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 175,   0, 
-      0,   0,   0,   2, 255, 255, 
-      3,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    168,   0,   0,   0,  88,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 104,   0, 
-      0,   0,   0,   0,   0,   0, 
-    120,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    124,   0,   0,   0,   0,   0, 
-      0,   0, 140,   0,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0, 152,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    115,  50,  68,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  87, 
-    104, 105, 116, 101,   0, 171, 
-    171, 171,   4,   0,  12,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112, 115,  95,  50,  95,  48, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     81,   0,   0,   5,   1,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   1,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      1,   8, 228, 160,  66,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   1, 128,   0,   0, 
-     85, 129,   1,   0,  85, 128, 
-      2,   0,   0,   3,   1,   0, 
-      8, 128,   0,   0,   0, 128, 
-      1,   0,   0, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      1,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl_2d s0
-    texld r0, t0, s0
-    mov r0.w, c1.x
-    mul r0, r0, c0.x
-    mov oC0, r0
-
-// approximately 4 instruction slots used (1 texture, 3 arithmetic)
-#endif
-
-const BYTE RGBShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     46,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 127,   0, 
-      0,   0,   0,   2, 255, 255, 
-      2,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    120,   0,   0,   0,  68,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,  84,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,   0,   4,   0,  12,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112, 115,  95,  50,  95,  48, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     81,   0,   0,   5,   1,   0, 
-     15, 160,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,   3, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,   1,   0, 
-      0,   2,   0,   0,   8, 128, 
-      1,   0,   0, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   0,   0, 
-      0, 160,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2DCb;
-//   sampler2D s2DCr;
-//   sampler2D s2DY;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2DY          s0       1
-//   s2DCb         s1       1
-//   s2DCr         s2       1
-//
-
-    ps_2_0
-    def c1, -0.5, -0.0625, 1.16400003, 1.59599996
-    def c2, 0.813000023, 0.391000003, 2.01799989, 1
-    dcl t0.xy
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    texld r0, t0, s2
-    texld r1, t0, s0
-    texld r2, t0, s1
-    add r0.x, r0.w, c1.x
-    add r0.y, r1.w, c1.y
-    mul r0.y, r0.y, c1.z
-    mad r0.z, r0.x, -c2.x, r0.y
-    mad r1.x, r0.x, c1.w, r0.y
-    add r0.x, r2.w, c1.x
-    mad r1.y, r0.x, -c2.y, r0.z
-    mad r1.z, r0.x, c2.z, r0.y
-    mov r1.w, c2.w
-    mul r0, r1, c0.x
-    mov oC0, r0
-
-// approximately 14 instruction slots used (3 texture, 11 arithmetic)
-#endif
-
-const BYTE YCbCrShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     69,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 219,   0, 
-      0,   0,   0,   2, 255, 255, 
-      4,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    212,   0,   0,   0, 108,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 124,   0, 
-      0,   0,   0,   0,   0,   0, 
-    140,   0,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-    148,   0,   0,   0,   0,   0, 
-      0,   0, 164,   0,   0,   0, 
-      3,   0,   2,   0,   1,   0, 
-      0,   0, 172,   0,   0,   0, 
-      0,   0,   0,   0, 188,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0, 196,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  67, 
-     98,   0, 171, 171,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  67, 
-    114,   0, 171, 171,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  89, 
-      0, 171, 171, 171,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 112, 115,  95,  50, 
-     95,  48,   0,  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,  48, 
-     46,  49,  48,  48,  49,  49, 
-     46,  49,  54,  51,  56,  52, 
-      0, 171,  81,   0,   0,   5, 
-      1,   0,  15, 160,   0,   0, 
-      0, 191,   0,   0, 128, 189, 
-    244, 253, 148,  63, 186,  73, 
-    204,  63,  81,   0,   0,   5, 
-      2,   0,  15, 160, 197,  32, 
-     80,  63,  39,  49, 200,  62, 
-    233,  38,   1,  64,   0,   0, 
-    128,  63,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,  66,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    228, 176,   2,   8, 228, 160, 
-     66,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   2,   0,  15, 128, 
-      0,   0, 228, 176,   1,   8, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   1, 128,   0,   0, 
-    255, 128,   1,   0,   0, 160, 
-      2,   0,   0,   3,   0,   0, 
-      2, 128,   1,   0, 255, 128, 
-      1,   0,  85, 160,   5,   0, 
-      0,   3,   0,   0,   2, 128, 
-      0,   0,  85, 128,   1,   0, 
-    170, 160,   4,   0,   0,   4, 
-      0,   0,   4, 128,   0,   0, 
-      0, 128,   2,   0,   0, 161, 
-      0,   0,  85, 128,   4,   0, 
-      0,   4,   1,   0,   1, 128, 
-      0,   0,   0, 128,   1,   0, 
-    255, 160,   0,   0,  85, 128, 
-      2,   0,   0,   3,   0,   0, 
-      1, 128,   2,   0, 255, 128, 
-      1,   0,   0, 160,   4,   0, 
-      0,   4,   1,   0,   2, 128, 
-      0,   0,   0, 128,   2,   0, 
-     85, 161,   0,   0, 170, 128, 
-      4,   0,   0,   4,   1,   0, 
-      4, 128,   0,   0,   0, 128, 
-      2,   0, 170, 160,   0,   0, 
-     85, 128,   1,   0,   0,   2, 
-      1,   0,   8, 128,   2,   0, 
-    255, 160,   5,   0,   0,   3, 
-      0,   0,  15, 128,   1,   0, 
-    228, 128,   0,   0,   0, 160, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float4 fLayerColor;
-//
-//
-// Registers:
-//
-//   Name         Reg   Size
-//   ------------ ----- ----
-//   fLayerColor  c0       1
-//
-
-    ps_2_0
-    mov oC0, c0
-
-// approximately 1 instruction slot used
-#endif
-
-const BYTE SolidColorShaderPS[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     35,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0,  83,   0, 
-      0,   0,   0,   2, 255, 255, 
-      1,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-     76,   0,   0,   0,  48,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,  60,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     67, 111, 108, 111, 114,   0, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 112, 115, 
-     95,  50,  95,  48,   0,  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,  48,  46,  49,  48,  48, 
-     49,  49,  46,  49,  54,  51, 
-     56,  52,   0, 171,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 160, 255, 255, 
-      0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float4x4 mLayerTransform;
-//   float4x4 mProjection;
-//   float4 vLayerQuad;
-//   float4 vMaskQuad;
-//   float4 vRenderTargetOffset;
-//   float4 vTextureCoords;
-//
-//
-// Registers:
-//
-//   Name                Reg   Size
-//   ------------------- ----- ----
-//   mLayerTransform     c0       4
-//   mProjection         c4       4
-//   vRenderTargetOffset c8       1
-//   vTextureCoords      c9       1
-//   vLayerQuad          c10      1
-//   vMaskQuad           c11      1
-//
-
-    vs_2_0
-    def c12, -0.5, 1, 0, 0
-    dcl_position v0
-    mad r0.xy, v0, c10.zwzw, c10
-    mul r1, r0.y, c1
-    mad r0, c0, r0.x, r1
-    add r0, r0, c3
-    rcp r1.x, r0.w
-    mul r1.xyz, r0, r1.x
-    mov r1.w, r0.w
-    add r2, r1, -c8
-    mad r0.zw, r2.xyxy, r2.w, c12.x
-    mul r3, r0.w, c5
-    mad r3, c4, r0.z, r3
-    mul r0.z, r2.w, r2.z
-    mad r3, c6, r0.z, r3
-    mad oPos, c7, r2.w, r3
-    add r0.xy, r0, -c11
-    rcp r0.z, c11.z
-    mul r1.x, r0.z, r0.x
-    rcp r0.x, c11.w
-    mul r1.y, r0.x, r0.y
-    mov r1.z, c12.y
-    mul oT1.xyz, r1.w, r1
-    mad oT0.xy, v0, c9.zwzw, c9
-
-// approximately 22 instruction slots used
-#endif
-
-const BYTE LayerQuadVSMask[] =
-{
-      0,   2, 254, 255, 254, 255, 
-     87,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0,  34,   1, 
-      0,   0,   0,   2, 254, 255, 
-      6,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-     27,   1,   0,   0, 148,   0, 
-      0,   0,   2,   0,   0,   0, 
-      4,   0,   0,   0, 164,   0, 
-      0,   0,   0,   0,   0,   0, 
-    180,   0,   0,   0,   2,   0, 
-      4,   0,   4,   0,   0,   0, 
-    164,   0,   0,   0,   0,   0, 
-      0,   0, 192,   0,   0,   0, 
-      2,   0,  10,   0,   1,   0, 
-      0,   0, 204,   0,   0,   0, 
-      0,   0,   0,   0, 220,   0, 
-      0,   0,   2,   0,  11,   0, 
-      1,   0,   0,   0, 204,   0, 
-      0,   0,   0,   0,   0,   0, 
-    230,   0,   0,   0,   2,   0, 
-      8,   0,   1,   0,   0,   0, 
-    252,   0,   0,   0,   0,   0, 
-      0,   0,  12,   1,   0,   0, 
-      2,   0,   9,   0,   1,   0, 
-      0,   0, 204,   0,   0,   0, 
-      0,   0,   0,   0, 109,  76, 
-     97, 121, 101, 114,  84, 114, 
-     97, 110, 115, 102, 111, 114, 
-    109,   0,   3,   0,   3,   0, 
-      4,   0,   4,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    109,  80, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,   0, 
-    118,  76,  97, 121, 101, 114, 
-     81, 117,  97, 100,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 118,  77, 
-     97, 115, 107,  81, 117,  97, 
-    100,   0, 118,  82, 101, 110, 
-    100, 101, 114,  84,  97, 114, 
-    103, 101, 116,  79, 102, 102, 
-    115, 101, 116,   0, 171, 171, 
-      1,   0,   3,   0,   1,   0, 
-      4,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 118,  84, 
-    101, 120, 116, 117, 114, 101, 
-     67, 111, 111, 114, 100, 115, 
-      0, 118, 115,  95,  50,  95, 
-     48,   0,  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,  48,  46, 
-     49,  48,  48,  49,  49,  46, 
-     49,  54,  51,  56,  52,   0, 
-    171, 171,  81,   0,   0,   5, 
-     12,   0,  15, 160,   0,   0, 
-      0, 191,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-     15, 144,   4,   0,   0,   4, 
-      0,   0,   3, 128,   0,   0, 
-    228, 144,  10,   0, 238, 160, 
-     10,   0, 228, 160,   5,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0,  85, 128,   1,   0, 
-    228, 160,   4,   0,   0,   4, 
-      0,   0,  15, 128,   0,   0, 
-    228, 160,   0,   0,   0, 128, 
-      1,   0, 228, 128,   2,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   3,   0, 
-    228, 160,   6,   0,   0,   2, 
-      1,   0,   1, 128,   0,   0, 
-    255, 128,   5,   0,   0,   3, 
-      1,   0,   7, 128,   0,   0, 
-    228, 128,   1,   0,   0, 128, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   0,   0, 255, 128, 
-      2,   0,   0,   3,   2,   0, 
-     15, 128,   1,   0, 228, 128, 
-      8,   0, 228, 161,   4,   0, 
-      0,   4,   0,   0,  12, 128, 
-      2,   0,  68, 128,   2,   0, 
-    255, 128,  12,   0,   0, 160, 
-      5,   0,   0,   3,   3,   0, 
-     15, 128,   0,   0, 255, 128, 
-      5,   0, 228, 160,   4,   0, 
-      0,   4,   3,   0,  15, 128, 
-      4,   0, 228, 160,   0,   0, 
-    170, 128,   3,   0, 228, 128, 
-      5,   0,   0,   3,   0,   0, 
-      4, 128,   2,   0, 255, 128, 
-      2,   0, 170, 128,   4,   0, 
-      0,   4,   3,   0,  15, 128, 
-      6,   0, 228, 160,   0,   0, 
-    170, 128,   3,   0, 228, 128, 
-      4,   0,   0,   4,   0,   0, 
-     15, 192,   7,   0, 228, 160, 
-      2,   0, 255, 128,   3,   0, 
-    228, 128,   2,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    228, 128,  11,   0, 228, 161, 
-      6,   0,   0,   2,   0,   0, 
-      4, 128,  11,   0, 170, 160, 
-      5,   0,   0,   3,   1,   0, 
-      1, 128,   0,   0, 170, 128, 
-      0,   0,   0, 128,   6,   0, 
-      0,   2,   0,   0,   1, 128, 
-     11,   0, 255, 160,   5,   0, 
-      0,   3,   1,   0,   2, 128, 
-      0,   0,   0, 128,   0,   0, 
-     85, 128,   1,   0,   0,   2, 
-      1,   0,   4, 128,  12,   0, 
-     85, 160,   5,   0,   0,   3, 
-      1,   0,   7, 224,   1,   0, 
-    255, 128,   1,   0, 228, 128, 
-      4,   0,   0,   4,   0,   0, 
-      3, 224,   0,   0, 228, 144, 
-      9,   0, 238, 160,   9,   0, 
-    228, 160, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DMask;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DMask       s1       1
-//
-
-    ps_2_0
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r0, r0, s1
-    texld r1, t0, s0
-    mul r1, r1, c0.x
-    mul r0, r0.w, r1
-    mov oC0, r0
-
-// approximately 7 instruction slots used (2 texture, 5 arithmetic)
-#endif
-
-const BYTE RGBAShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     57,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 171,   0, 
-      0,   0,   0,   2, 255, 255, 
-      3,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    164,   0,   0,   0,  88,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 104,   0, 
-      0,   0,   0,   0,   0,   0, 
-    120,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    124,   0,   0,   0,   0,   0, 
-      0,   0, 140,   0,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0, 148,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    115,  50,  68,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  77, 
-     97, 115, 107,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 112, 115,  95,  50, 
-     95,  48,   0,  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,  48, 
-     46,  49,  48,  48,  49,  49, 
-     46,  49,  54,  51,  56,  52, 
-      0, 171,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,   6,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 228, 128, 
-      1,   8, 228, 160,  66,   0, 
-      0,   3,   1,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,   5,   0,   0,   3, 
-      1,   0,  15, 128,   1,   0, 
-    228, 128,   0,   0,   0, 160, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 255, 128, 
-      1,   0, 228, 128,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DMask;
-//   sampler2D s2DWhite;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DWhite      s1       1
-//   s2DMask       s2       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s0
-    texld r2, t0, s1
-    texld r0, r0, s2
-    add r0.xyz, r1, -r2
-    add r0.xyz, r0, c1.x
-    mul r0.xyz, r0, c0.x
-    mul r0.xyz, r0.w, r0
-    mov r0.w, r0.y
-    mov oC0, r0
-
-// approximately 11 instruction slots used (3 texture, 8 arithmetic)
-#endif
-
-const BYTE ComponentPass1ShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     69,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 219,   0, 
-      0,   0,   0,   2, 255, 255, 
-      4,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    212,   0,   0,   0, 108,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 124,   0, 
-      0,   0,   0,   0,   0,   0, 
-    140,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    144,   0,   0,   0,   0,   0, 
-      0,   0, 160,   0,   0,   0, 
-      3,   0,   2,   0,   1,   0, 
-      0,   0, 168,   0,   0,   0, 
-      0,   0,   0,   0, 184,   0, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0, 196,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,   0, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  77,  97, 115, 107,   0, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  87, 104, 105, 116, 101, 
-      0, 171, 171, 171,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 112, 115,  95,  50, 
-     95,  48,   0,  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,  48, 
-     46,  49,  48,  48,  49,  49, 
-     46,  49,  54,  51,  56,  52, 
-      0, 171,  81,   0,   0,   5, 
-      1,   0,  15, 160,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,   6,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   2,   0,  15, 128, 
-      0,   0, 228, 176,   1,   8, 
-    228, 160,  66,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    228, 128,   2,   8, 228, 160, 
-      2,   0,   0,   3,   0,   0, 
-      7, 128,   1,   0, 228, 128, 
-      2,   0, 228, 129,   2,   0, 
-      0,   3,   0,   0,   7, 128, 
-      0,   0, 228, 128,   1,   0, 
-      0, 160,   5,   0,   0,   3, 
-      0,   0,   7, 128,   0,   0, 
-    228, 128,   0,   0,   0, 160, 
-      5,   0,   0,   3,   0,   0, 
-      7, 128,   0,   0, 255, 128, 
-      0,   0, 228, 128,   1,   0, 
-      0,   2,   0,   0,   8, 128, 
-      0,   0,  85, 128,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DMask;
-//   sampler2D s2DWhite;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DWhite      s1       1
-//   s2DMask       s2       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s1
-    texld r2, t0, s0
-    texld r0, r0, s2
-    add r0.x, -r1.y, r2.y
-    add r2.w, r0.x, c1.x
-    mul r1, r2, c0.x
-    mul r0, r0.w, r1
-    mov oC0, r0
-
-// approximately 10 instruction slots used (3 texture, 7 arithmetic)
-#endif
-
-const BYTE ComponentPass2ShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     69,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 219,   0, 
-      0,   0,   0,   2, 255, 255, 
-      4,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    212,   0,   0,   0, 108,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 124,   0, 
-      0,   0,   0,   0,   0,   0, 
-    140,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    144,   0,   0,   0,   0,   0, 
-      0,   0, 160,   0,   0,   0, 
-      3,   0,   2,   0,   1,   0, 
-      0,   0, 168,   0,   0,   0, 
-      0,   0,   0,   0, 184,   0, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0, 196,   0, 
-      0,   0,   0,   0,   0,   0, 
-    102,  76,  97, 121, 101, 114, 
-     79, 112,  97,  99, 105, 116, 
-    121,   0, 171, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,   0, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  77,  97, 115, 107,   0, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  87, 104, 105, 116, 101, 
-      0, 171, 171, 171,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 112, 115,  95,  50, 
-     95,  48,   0,  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,  48, 
-     46,  49,  48,  48,  49,  49, 
-     46,  49,  54,  51,  56,  52, 
-      0, 171,  81,   0,   0,   5, 
-      1,   0,  15, 160,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   2,   8, 
-     15, 160,   6,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 176, 
-      1,   8, 228, 160,  66,   0, 
-      0,   3,   2,   0,  15, 128, 
-      0,   0, 228, 176,   0,   8, 
-    228, 160,  66,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    228, 128,   2,   8, 228, 160, 
-      2,   0,   0,   3,   0,   0, 
-      1, 128,   1,   0,  85, 129, 
-      2,   0,  85, 128,   2,   0, 
-      0,   3,   2,   0,   8, 128, 
-      0,   0,   0, 128,   1,   0, 
-      0, 160,   5,   0,   0,   3, 
-      1,   0,  15, 128,   2,   0, 
-    228, 128,   0,   0,   0, 160, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 255, 128, 
-      1,   0, 228, 128,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2D;
-//   sampler2D s2DMask;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2D           s0       1
-//   s2DMask       s1       1
-//
-
-    ps_2_0
-    def c1, 1, 0, 0, 0
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s0
-    texld r0, r0, s1
-    mov r1.w, c1.x
-    mul r1, r1, c0.x
-    mul r0, r0.w, r1
-    mov oC0, r0
-
-// approximately 8 instruction slots used (2 texture, 6 arithmetic)
-#endif
-
-const BYTE RGBShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     57,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 171,   0, 
-      0,   0,   0,   2, 255, 255, 
-      3,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    164,   0,   0,   0,  88,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 104,   0, 
-      0,   0,   0,   0,   0,   0, 
-    120,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    124,   0,   0,   0,   0,   0, 
-      0,   0, 140,   0,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
-      0,   0, 148,   0,   0,   0, 
-      0,   0,   0,   0, 102,  76, 
-     97, 121, 101, 114,  79, 112, 
-     97,  99, 105, 116, 121,   0, 
-    171, 171,   0,   0,   3,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    115,  50,  68,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  50,  68,  77, 
-     97, 115, 107,   0,   4,   0, 
-     12,   0,   1,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 112, 115,  95,  50, 
-     95,  48,   0,  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,  48, 
-     46,  49,  48,  48,  49,  49, 
-     46,  49,  54,  51,  56,  52, 
-      0, 171,  81,   0,   0,   5, 
-      1,   0,  15, 160,   0,   0, 
-    128,  63,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      0,   0,   0, 128,   0,   0, 
-      3, 176,  31,   0,   0,   2, 
-      0,   0,   0, 128,   1,   0, 
-      7, 176,  31,   0,   0,   2, 
-      0,   0,   0, 144,   0,   8, 
-     15, 160,  31,   0,   0,   2, 
-      0,   0,   0, 144,   1,   8, 
-     15, 160,   6,   0,   0,   2, 
-      0,   0,   8, 128,   1,   0, 
-    170, 176,   5,   0,   0,   3, 
-      0,   0,   3, 128,   0,   0, 
-    255, 128,   1,   0, 228, 176, 
-     66,   0,   0,   3,   1,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   1,   8, 
-    228, 160,   1,   0,   0,   2, 
-      1,   0,   8, 128,   1,   0, 
-      0, 160,   5,   0,   0,   3, 
-      1,   0,  15, 128,   1,   0, 
-    228, 128,   0,   0,   0, 160, 
-      5,   0,   0,   3,   0,   0, 
-     15, 128,   0,   0, 255, 128, 
-      1,   0, 228, 128,   1,   0, 
-      0,   2,   0,   8,  15, 128, 
-      0,   0, 228, 128, 255, 255, 
-      0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float fLayerOpacity;
-//   sampler2D s2DCb;
-//   sampler2D s2DCr;
-//   sampler2D s2DMask;
-//   sampler2D s2DY;
-//
-//
-// Registers:
-//
-//   Name          Reg   Size
-//   ------------- ----- ----
-//   fLayerOpacity c0       1
-//   s2DY          s0       1
-//   s2DCb         s1       1
-//   s2DCr         s2       1
-//   s2DMask       s3       1
-//
-
-    ps_2_0
-    def c1, -0.50195998, -0.0627499968, 1.16437995, 1.59603
-    def c2, 0.812969983, 0.391759992, 2.01723003, 1
-    dcl t0.xy
-    dcl t1.xyz
-    dcl_2d s0
-    dcl_2d s1
-    dcl_2d s2
-    dcl_2d s3
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r1, t0, s2
-    texld r2, t0, s0
-    texld r3, t0, s1
-    texld r0, r0, s3
-    add r0.x, r1.w, c1.x
-    add r0.y, r2.w, c1.y
-    mul r0.y, r0.y, c1.z
-    mad r0.z, r0.x, -c2.x, r0.y
-    mad r1.x, r0.x, c1.w, r0.y
-    add r0.x, r3.w, c1.x
-    mad r1.y, r0.x, -c2.y, r0.z
-    mad r1.z, r0.x, c2.z, r0.y
-    mov r1.w, c2.w
-    mul r1, r1, c0.x
-    mul r0, r0.w, r1
-    mov oC0, r0
-
-// approximately 18 instruction slots used (4 texture, 14 arithmetic)
-#endif
-
-const BYTE YCbCrShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     80,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0,   7,   1, 
-      0,   0,   0,   2, 255, 255, 
-      5,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-      0,   1,   0,   0, 128,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0, 144,   0, 
-      0,   0,   0,   0,   0,   0, 
-    160,   0,   0,   0,   3,   0, 
-      1,   0,   1,   0,   0,   0, 
-    168,   0,   0,   0,   0,   0, 
-      0,   0, 184,   0,   0,   0, 
-      3,   0,   2,   0,   1,   0, 
-      0,   0, 192,   0,   0,   0, 
-      0,   0,   0,   0, 208,   0, 
-      0,   0,   3,   0,   3,   0, 
-      1,   0,   0,   0, 216,   0, 
-      0,   0,   0,   0,   0,   0, 
-    232,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    240,   0,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  79, 112,  97,  99, 
-    105, 116, 121,   0, 171, 171, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  67,  98,   0, 171, 171, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  67, 114,   0, 171, 171, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  77,  97, 115, 107,   0, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 115,  50, 
-     68,  89,   0, 171, 171, 171, 
-      4,   0,  12,   0,   1,   0, 
-      1,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0, 112, 115, 
-     95,  50,  95,  48,   0,  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,  48,  46,  49,  48,  48, 
-     49,  49,  46,  49,  54,  51, 
-     56,  52,   0, 171,  81,   0, 
-      0,   5,   1,   0,  15, 160, 
-    115, 128,   0, 191,  18, 131, 
-    128, 189, 103,  10, 149,  63, 
-    182,  74, 204,  63,  81,   0, 
-      0,   5,   2,   0,  15, 160, 
-    205,  30,  80,  63, 196, 148, 
-    200,  62,  76,  26,   1,  64, 
-      0,   0, 128,  63,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      0,   0,   3, 176,  31,   0, 
-      0,   2,   0,   0,   0, 128, 
-      1,   0,   7, 176,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      0,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      1,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      2,   8,  15, 160,  31,   0, 
-      0,   2,   0,   0,   0, 144, 
-      3,   8,  15, 160,   6,   0, 
-      0,   2,   0,   0,   8, 128, 
-      1,   0, 170, 176,   5,   0, 
-      0,   3,   0,   0,   3, 128, 
-      0,   0, 255, 128,   1,   0, 
-    228, 176,  66,   0,   0,   3, 
-      1,   0,  15, 128,   0,   0, 
-    228, 176,   2,   8, 228, 160, 
-     66,   0,   0,   3,   2,   0, 
-     15, 128,   0,   0, 228, 176, 
-      0,   8, 228, 160,  66,   0, 
-      0,   3,   3,   0,  15, 128, 
-      0,   0, 228, 176,   1,   8, 
-    228, 160,  66,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    228, 128,   3,   8, 228, 160, 
-      2,   0,   0,   3,   0,   0, 
-      1, 128,   1,   0, 255, 128, 
-      1,   0,   0, 160,   2,   0, 
-      0,   3,   0,   0,   2, 128, 
-      2,   0, 255, 128,   1,   0, 
-     85, 160,   5,   0,   0,   3, 
-      0,   0,   2, 128,   0,   0, 
-     85, 128,   1,   0, 170, 160, 
-      4,   0,   0,   4,   0,   0, 
-      4, 128,   0,   0,   0, 128, 
-      2,   0,   0, 161,   0,   0, 
-     85, 128,   4,   0,   0,   4, 
-      1,   0,   1, 128,   0,   0, 
-      0, 128,   1,   0, 255, 160, 
-      0,   0,  85, 128,   2,   0, 
-      0,   3,   0,   0,   1, 128, 
-      3,   0, 255, 128,   1,   0, 
-      0, 160,   4,   0,   0,   4, 
-      1,   0,   2, 128,   0,   0, 
-      0, 128,   2,   0,  85, 161, 
-      0,   0, 170, 128,   4,   0, 
-      0,   4,   1,   0,   4, 128, 
-      0,   0,   0, 128,   2,   0, 
-    170, 160,   0,   0,  85, 128, 
-      1,   0,   0,   2,   1,   0, 
-      8, 128,   2,   0, 255, 160, 
-      5,   0,   0,   3,   1,   0, 
-     15, 128,   1,   0, 228, 128, 
-      0,   0,   0, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 255, 128,   1,   0, 
-    228, 128,   1,   0,   0,   2, 
-      0,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0
-};
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
-//
-// Parameters:
-//
-//   float4 fLayerColor;
-//   sampler2D s2DMask;
-//
-//
-// Registers:
-//
-//   Name         Reg   Size
-//   ------------ ----- ----
-//   fLayerColor  c0       1
-//   s2DMask      s0       1
-//
-
-    ps_2_0
-    dcl t1.xyz
-    dcl_2d s0
-    rcp r0.w, t1.z
-    mul r0.xy, r0.w, t1
-    texld r0, r0, s0
-    mul r0, r0.w, c0
-    mov oC0, r0
-
-// approximately 5 instruction slots used (1 texture, 4 arithmetic)
-#endif
-
-const BYTE SolidColorShaderPSMask[] =
-{
-      0,   2, 255, 255, 254, 255, 
-     46,   0,  67,  84,  65,  66, 
-     28,   0,   0,   0, 127,   0, 
-      0,   0,   0,   2, 255, 255, 
-      2,   0,   0,   0,  28,   0, 
-      0,   0,   0,   1,   0,   0, 
-    120,   0,   0,   0,  68,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-     96,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
-      0,   0, 102,  76,  97, 121, 
-    101, 114,  67, 111, 108, 111, 
-    114,   0,   1,   0,   3,   0, 
-      1,   0,   4,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    115,  50,  68,  77,  97, 115, 
-    107,   0,   4,   0,  12,   0, 
-      1,   0,   1,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    112, 115,  95,  50,  95,  48, 
-      0,  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,  48,  46,  49, 
-     48,  48,  49,  49,  46,  49, 
-     54,  51,  56,  52,   0, 171, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   1,   0,   7, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-      6,   0,   0,   2,   0,   0, 
-      8, 128,   1,   0, 170, 176, 
-      5,   0,   0,   3,   0,   0, 
-      3, 128,   0,   0, 255, 128, 
-      1,   0, 228, 176,  66,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 228, 128,   0,   8, 
-    228, 160,   5,   0,   0,   3, 
-      0,   0,  15, 128,   0,   0, 
-    255, 128,   0,   0, 228, 160, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   0,   0, 228, 128, 
-    255, 255,   0,   0
-};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float4x4 mLayerTransform;
+//   float4x4 mProjection;
+//   float4 vLayerQuad;
+//   float4 vRenderTargetOffset;
+//   float4 vTextureCoords;
+//
+//
+// Registers:
+//
+//   Name                Reg   Size
+//   ------------------- ----- ----
+//   mLayerTransform     c0       4
+//   mProjection         c4       4
+//   vRenderTargetOffset c8       1
+//   vTextureCoords      c9       1
+//   vLayerQuad          c10      1
+//
+
+    vs_2_0
+    def c11, -0.5, 0, 0, 0
+    dcl_position v0
+    mad r0.xy, v0, c10.zwzw, c10
+    mul r1, r0.y, c1
+    mad r0, c0, r0.x, r1
+    mad r0, c2, v0.z, r0
+    mad r0, c3, v0.w, r0
+    rcp r1.x, r0.w
+    mul r0.xyz, r0, r1.x
+    add r0, r0, -c8
+    mad r0.xy, r0, r0.w, c11.x
+    mul r1, r0.y, c5
+    mad r1, c4, r0.x, r1
+    mul r0.x, r0.w, r0.z
+    mad r1, c6, r0.x, r1
+    mad oPos, c7, r0.w, r1
+    mad oT0.xy, v0, c9.zwzw, c9
+
+// approximately 15 instruction slots used
+#endif
+
+const BYTE LayerQuadVS[] =
+{
+      0,   2, 254, 255, 254, 255, 
+     79,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0,   2,   1, 
+      0,   0,   0,   2, 254, 255, 
+      5,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    251,   0,   0,   0, 128,   0, 
+      0,   0,   2,   0,   0,   0, 
+      4,   0,   0,   0, 144,   0, 
+      0,   0,   0,   0,   0,   0, 
+    160,   0,   0,   0,   2,   0, 
+      4,   0,   4,   0,   0,   0, 
+    144,   0,   0,   0,   0,   0, 
+      0,   0, 172,   0,   0,   0, 
+      2,   0,  10,   0,   1,   0, 
+      0,   0, 184,   0,   0,   0, 
+      0,   0,   0,   0, 200,   0, 
+      0,   0,   2,   0,   8,   0, 
+      1,   0,   0,   0, 220,   0, 
+      0,   0,   0,   0,   0,   0, 
+    236,   0,   0,   0,   2,   0, 
+      9,   0,   1,   0,   0,   0, 
+    184,   0,   0,   0,   0,   0, 
+      0,   0, 109,  76,  97, 121, 
+    101, 114,  84, 114,  97, 110, 
+    115, 102, 111, 114, 109,   0, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 109,  80, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,   0, 118,  76, 
+     97, 121, 101, 114,  81, 117, 
+     97, 100,   0, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 118,  84, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    111, 114, 100, 115,   0, 118, 
+    115,  95,  50,  95,  48,   0, 
+     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,  48,  46,  49,  48, 
+     48,  49,  49,  46,  49,  54, 
+     51,  56,  52,   0, 171, 171, 
+     81,   0,   0,   5,  11,   0, 
+     15, 160,   0,   0,   0, 191, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,  15, 144, 
+      4,   0,   0,   4,   0,   0, 
+      3, 128,   0,   0, 228, 144, 
+     10,   0, 238, 160,  10,   0, 
+    228, 160,   5,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+     85, 128,   1,   0, 228, 160, 
+      4,   0,   0,   4,   0,   0, 
+     15, 128,   0,   0, 228, 160, 
+      0,   0,   0, 128,   1,   0, 
+    228, 128,   4,   0,   0,   4, 
+      0,   0,  15, 128,   2,   0, 
+    228, 160,   0,   0, 170, 144, 
+      0,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,  15, 128, 
+      3,   0, 228, 160,   0,   0, 
+    255, 144,   0,   0, 228, 128, 
+      6,   0,   0,   2,   1,   0, 
+      1, 128,   0,   0, 255, 128, 
+      5,   0,   0,   3,   0,   0, 
+      7, 128,   0,   0, 228, 128, 
+      1,   0,   0, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   8,   0, 
+    228, 161,   4,   0,   0,   4, 
+      0,   0,   3, 128,   0,   0, 
+    228, 128,   0,   0, 255, 128, 
+     11,   0,   0, 160,   5,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0,  85, 128,   5,   0, 
+    228, 160,   4,   0,   0,   4, 
+      1,   0,  15, 128,   4,   0, 
+    228, 160,   0,   0,   0, 128, 
+      1,   0, 228, 128,   5,   0, 
+      0,   3,   0,   0,   1, 128, 
+      0,   0, 255, 128,   0,   0, 
+    170, 128,   4,   0,   0,   4, 
+      1,   0,  15, 128,   6,   0, 
+    228, 160,   0,   0,   0, 128, 
+      1,   0, 228, 128,   4,   0, 
+      0,   4,   0,   0,  15, 192, 
+      7,   0, 228, 160,   0,   0, 
+    255, 128,   1,   0, 228, 128, 
+      4,   0,   0,   4,   0,   0, 
+      3, 224,   0,   0, 228, 144, 
+      9,   0, 238, 160,   9,   0, 
+    228, 160, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//
+
+    ps_2_0
+    dcl t0.xy
+    dcl_2d s0
+    texld r0, t0, s0
+    mul r0, r0, c0.x
+    mov oC0, r0
+
+// approximately 3 instruction slots used (1 texture, 2 arithmetic)
+#endif
+
+const BYTE RGBAShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     46,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 127,   0, 
+      0,   0,   0,   2, 255, 255, 
+      2,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    120,   0,   0,   0,  68,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,  84,   0, 
+      0,   0,   0,   0,   0,   0, 
+    100,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,   0,   4,   0,  12,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112, 115,  95,  50,  95,  48, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DWhite;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DWhite      s1       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl_2d s0
+    dcl_2d s1
+    texld r0, t0, s0
+    texld r1, t0, s1
+    add r0.xyz, r0, -r1
+    add r0.xyz, r0, c1.x
+    mul r0.xyz, r0, c0.x
+    mov r0.w, r0.y
+    mov oC0, r0
+
+// approximately 7 instruction slots used (2 texture, 5 arithmetic)
+#endif
+
+const BYTE ComponentPass1ShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     58,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 175,   0, 
+      0,   0,   0,   2, 255, 255, 
+      3,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    168,   0,   0,   0,  88,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+    120,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    124,   0,   0,   0,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0, 152,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    115,  50,  68,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  87, 
+    104, 105, 116, 101,   0, 171, 
+    171, 171,   4,   0,  12,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112, 115,  95,  50,  95,  48, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     81,   0,   0,   5,   1,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   1,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0, 228, 176,   1,   8, 
+    228, 160,   2,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    228, 128,   1,   0, 228, 129, 
+      2,   0,   0,   3,   0,   0, 
+      7, 128,   0,   0, 228, 128, 
+      1,   0,   0, 160,   5,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   0,   8, 128,   0,   0, 
+     85, 128,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DWhite;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DWhite      s1       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl_2d s0
+    dcl_2d s1
+    texld r0, t0, s1
+    texld r1, t0, s0
+    add r0.x, -r0.y, r1.y
+    add r1.w, r0.x, c1.x
+    mul r0, r1, c0.x
+    mov oC0, r0
+
+// approximately 6 instruction slots used (2 texture, 4 arithmetic)
+#endif
+
+const BYTE ComponentPass2ShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     58,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 175,   0, 
+      0,   0,   0,   2, 255, 255, 
+      3,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    168,   0,   0,   0,  88,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+    120,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    124,   0,   0,   0,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0, 152,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    115,  50,  68,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  87, 
+    104, 105, 116, 101,   0, 171, 
+    171, 171,   4,   0,  12,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112, 115,  95,  50,  95,  48, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     81,   0,   0,   5,   1,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   1,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      1,   8, 228, 160,  66,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,   2,   0,   0,   3, 
+      0,   0,   1, 128,   0,   0, 
+     85, 129,   1,   0,  85, 128, 
+      2,   0,   0,   3,   1,   0, 
+      8, 128,   0,   0,   0, 128, 
+      1,   0,   0, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      1,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl_2d s0
+    texld r0, t0, s0
+    mov r0.w, c1.x
+    mul r0, r0, c0.x
+    mov oC0, r0
+
+// approximately 4 instruction slots used (1 texture, 3 arithmetic)
+#endif
+
+const BYTE RGBShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     46,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 127,   0, 
+      0,   0,   0,   2, 255, 255, 
+      2,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    120,   0,   0,   0,  68,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,  84,   0, 
+      0,   0,   0,   0,   0,   0, 
+    100,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,   0,   4,   0,  12,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112, 115,  95,  50,  95,  48, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     81,   0,   0,   5,   1,   0, 
+     15, 160,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   0,   0,   3, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,   1,   0, 
+      0,   2,   0,   0,   8, 128, 
+      1,   0,   0, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   0,   0, 
+      0, 160,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2DCb;
+//   sampler2D s2DCr;
+//   sampler2D s2DY;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2DY          s0       1
+//   s2DCb         s1       1
+//   s2DCr         s2       1
+//
+
+    ps_2_0
+    def c1, -0.5, -0.0625, 1.16400003, 1.59599996
+    def c2, 0.813000023, 0.391000003, 2.01799989, 1
+    dcl t0.xy
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    texld r0, t0, s2
+    texld r1, t0, s0
+    texld r2, t0, s1
+    add r0.x, r0.w, c1.x
+    add r0.y, r1.w, c1.y
+    mul r0.y, r0.y, c1.z
+    mad r0.z, r0.x, -c2.x, r0.y
+    mad r1.x, r0.x, c1.w, r0.y
+    add r0.x, r2.w, c1.x
+    mad r1.y, r0.x, -c2.y, r0.z
+    mad r1.z, r0.x, c2.z, r0.y
+    mov r1.w, c2.w
+    mul r0, r1, c0.x
+    mov oC0, r0
+
+// approximately 14 instruction slots used (3 texture, 11 arithmetic)
+#endif
+
+const BYTE YCbCrShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     69,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 219,   0, 
+      0,   0,   0,   2, 255, 255, 
+      4,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    212,   0,   0,   0, 108,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 124,   0, 
+      0,   0,   0,   0,   0,   0, 
+    140,   0,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+    148,   0,   0,   0,   0,   0, 
+      0,   0, 164,   0,   0,   0, 
+      3,   0,   2,   0,   1,   0, 
+      0,   0, 172,   0,   0,   0, 
+      0,   0,   0,   0, 188,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  67, 
+     98,   0, 171, 171,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  67, 
+    114,   0, 171, 171,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  89, 
+      0, 171, 171, 171,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 112, 115,  95,  50, 
+     95,  48,   0,  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,  48, 
+     46,  49,  48,  48,  49,  49, 
+     46,  49,  54,  51,  56,  52, 
+      0, 171,  81,   0,   0,   5, 
+      1,   0,  15, 160,   0,   0, 
+      0, 191,   0,   0, 128, 189, 
+    244, 253, 148,  63, 186,  73, 
+    204,  63,  81,   0,   0,   5, 
+      2,   0,  15, 160, 197,  32, 
+     80,  63,  39,  49, 200,  62, 
+    233,  38,   1,  64,   0,   0, 
+    128,  63,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,  66,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    228, 176,   2,   8, 228, 160, 
+     66,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   2,   0,  15, 128, 
+      0,   0, 228, 176,   1,   8, 
+    228, 160,   2,   0,   0,   3, 
+      0,   0,   1, 128,   0,   0, 
+    255, 128,   1,   0,   0, 160, 
+      2,   0,   0,   3,   0,   0, 
+      2, 128,   1,   0, 255, 128, 
+      1,   0,  85, 160,   5,   0, 
+      0,   3,   0,   0,   2, 128, 
+      0,   0,  85, 128,   1,   0, 
+    170, 160,   4,   0,   0,   4, 
+      0,   0,   4, 128,   0,   0, 
+      0, 128,   2,   0,   0, 161, 
+      0,   0,  85, 128,   4,   0, 
+      0,   4,   1,   0,   1, 128, 
+      0,   0,   0, 128,   1,   0, 
+    255, 160,   0,   0,  85, 128, 
+      2,   0,   0,   3,   0,   0, 
+      1, 128,   2,   0, 255, 128, 
+      1,   0,   0, 160,   4,   0, 
+      0,   4,   1,   0,   2, 128, 
+      0,   0,   0, 128,   2,   0, 
+     85, 161,   0,   0, 170, 128, 
+      4,   0,   0,   4,   1,   0, 
+      4, 128,   0,   0,   0, 128, 
+      2,   0, 170, 160,   0,   0, 
+     85, 128,   1,   0,   0,   2, 
+      1,   0,   8, 128,   2,   0, 
+    255, 160,   5,   0,   0,   3, 
+      0,   0,  15, 128,   1,   0, 
+    228, 128,   0,   0,   0, 160, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float4 fLayerColor;
+//
+//
+// Registers:
+//
+//   Name         Reg   Size
+//   ------------ ----- ----
+//   fLayerColor  c0       1
+//
+
+    ps_2_0
+    mov oC0, c0
+
+// approximately 1 instruction slot used
+#endif
+
+const BYTE SolidColorShaderPS[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     35,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0,  83,   0, 
+      0,   0,   0,   2, 255, 255, 
+      1,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+     76,   0,   0,   0,  48,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,  60,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     67, 111, 108, 111, 114,   0, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 112, 115, 
+     95,  50,  95,  48,   0,  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,  48,  46,  49,  48,  48, 
+     49,  49,  46,  49,  54,  51, 
+     56,  52,   0, 171,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 160, 255, 255, 
+      0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float4x4 mLayerTransform;
+//   float4x4 mProjection;
+//   float4 vLayerQuad;
+//   float4 vMaskQuad;
+//   float4 vRenderTargetOffset;
+//   float4 vTextureCoords;
+//
+//
+// Registers:
+//
+//   Name                Reg   Size
+//   ------------------- ----- ----
+//   mLayerTransform     c0       4
+//   mProjection         c4       4
+//   vRenderTargetOffset c8       1
+//   vTextureCoords      c9       1
+//   vLayerQuad          c10      1
+//   vMaskQuad           c11      1
+//
+
+    vs_2_0
+    def c12, -0.5, 1, 0, 0
+    dcl_position v0
+    mad r0.xy, v0, c10.zwzw, c10
+    mul r1, r0.y, c1
+    mad r0, c0, r0.x, r1
+    add r0, r0, c3
+    rcp r1.x, r0.w
+    mul r1.xyz, r0, r1.x
+    mov r1.w, r0.w
+    add r2, r1, -c8
+    mad r0.zw, r2.xyxy, r2.w, c12.x
+    mul r3, r0.w, c5
+    mad r3, c4, r0.z, r3
+    mul r0.z, r2.w, r2.z
+    mad r3, c6, r0.z, r3
+    mad oPos, c7, r2.w, r3
+    add r0.xy, r0, -c11
+    rcp r0.z, c11.z
+    mul r1.x, r0.z, r0.x
+    rcp r0.x, c11.w
+    mul r1.y, r0.x, r0.y
+    mov r1.z, c12.y
+    mul oT1.xyz, r1.w, r1
+    mad oT0.xy, v0, c9.zwzw, c9
+
+// approximately 22 instruction slots used
+#endif
+
+const BYTE LayerQuadVSMask[] =
+{
+      0,   2, 254, 255, 254, 255, 
+     87,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0,  34,   1, 
+      0,   0,   0,   2, 254, 255, 
+      6,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+     27,   1,   0,   0, 148,   0, 
+      0,   0,   2,   0,   0,   0, 
+      4,   0,   0,   0, 164,   0, 
+      0,   0,   0,   0,   0,   0, 
+    180,   0,   0,   0,   2,   0, 
+      4,   0,   4,   0,   0,   0, 
+    164,   0,   0,   0,   0,   0, 
+      0,   0, 192,   0,   0,   0, 
+      2,   0,  10,   0,   1,   0, 
+      0,   0, 204,   0,   0,   0, 
+      0,   0,   0,   0, 220,   0, 
+      0,   0,   2,   0,  11,   0, 
+      1,   0,   0,   0, 204,   0, 
+      0,   0,   0,   0,   0,   0, 
+    230,   0,   0,   0,   2,   0, 
+      8,   0,   1,   0,   0,   0, 
+    252,   0,   0,   0,   0,   0, 
+      0,   0,  12,   1,   0,   0, 
+      2,   0,   9,   0,   1,   0, 
+      0,   0, 204,   0,   0,   0, 
+      0,   0,   0,   0, 109,  76, 
+     97, 121, 101, 114,  84, 114, 
+     97, 110, 115, 102, 111, 114, 
+    109,   0,   3,   0,   3,   0, 
+      4,   0,   4,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    109,  80, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,   0, 
+    118,  76,  97, 121, 101, 114, 
+     81, 117,  97, 100,   0, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 118,  77, 
+     97, 115, 107,  81, 117,  97, 
+    100,   0, 118,  82, 101, 110, 
+    100, 101, 114,  84,  97, 114, 
+    103, 101, 116,  79, 102, 102, 
+    115, 101, 116,   0, 171, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 118,  84, 
+    101, 120, 116, 117, 114, 101, 
+     67, 111, 111, 114, 100, 115, 
+      0, 118, 115,  95,  50,  95, 
+     48,   0,  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,  48,  46, 
+     49,  48,  48,  49,  49,  46, 
+     49,  54,  51,  56,  52,   0, 
+    171, 171,  81,   0,   0,   5, 
+     12,   0,  15, 160,   0,   0, 
+      0, 191,   0,   0, 128,  63, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+     15, 144,   4,   0,   0,   4, 
+      0,   0,   3, 128,   0,   0, 
+    228, 144,  10,   0, 238, 160, 
+     10,   0, 228, 160,   5,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0,  85, 128,   1,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,  15, 128,   0,   0, 
+    228, 160,   0,   0,   0, 128, 
+      1,   0, 228, 128,   2,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   3,   0, 
+    228, 160,   6,   0,   0,   2, 
+      1,   0,   1, 128,   0,   0, 
+    255, 128,   5,   0,   0,   3, 
+      1,   0,   7, 128,   0,   0, 
+    228, 128,   1,   0,   0, 128, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   0,   0, 255, 128, 
+      2,   0,   0,   3,   2,   0, 
+     15, 128,   1,   0, 228, 128, 
+      8,   0, 228, 161,   4,   0, 
+      0,   4,   0,   0,  12, 128, 
+      2,   0,  68, 128,   2,   0, 
+    255, 128,  12,   0,   0, 160, 
+      5,   0,   0,   3,   3,   0, 
+     15, 128,   0,   0, 255, 128, 
+      5,   0, 228, 160,   4,   0, 
+      0,   4,   3,   0,  15, 128, 
+      4,   0, 228, 160,   0,   0, 
+    170, 128,   3,   0, 228, 128, 
+      5,   0,   0,   3,   0,   0, 
+      4, 128,   2,   0, 255, 128, 
+      2,   0, 170, 128,   4,   0, 
+      0,   4,   3,   0,  15, 128, 
+      6,   0, 228, 160,   0,   0, 
+    170, 128,   3,   0, 228, 128, 
+      4,   0,   0,   4,   0,   0, 
+     15, 192,   7,   0, 228, 160, 
+      2,   0, 255, 128,   3,   0, 
+    228, 128,   2,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    228, 128,  11,   0, 228, 161, 
+      6,   0,   0,   2,   0,   0, 
+      4, 128,  11,   0, 170, 160, 
+      5,   0,   0,   3,   1,   0, 
+      1, 128,   0,   0, 170, 128, 
+      0,   0,   0, 128,   6,   0, 
+      0,   2,   0,   0,   1, 128, 
+     11,   0, 255, 160,   5,   0, 
+      0,   3,   1,   0,   2, 128, 
+      0,   0,   0, 128,   0,   0, 
+     85, 128,   1,   0,   0,   2, 
+      1,   0,   4, 128,  12,   0, 
+     85, 160,   5,   0,   0,   3, 
+      1,   0,   7, 224,   1,   0, 
+    255, 128,   1,   0, 228, 128, 
+      4,   0,   0,   4,   0,   0, 
+      3, 224,   0,   0, 228, 144, 
+      9,   0, 238, 160,   9,   0, 
+    228, 160, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DMask;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DMask       s1       1
+//
+
+    ps_2_0
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r0, r0, s1
+    texld r1, t0, s0
+    mul r1, r1, c0.x
+    mul r0, r0.w, r1
+    mov oC0, r0
+
+// approximately 7 instruction slots used (2 texture, 5 arithmetic)
+#endif
+
+const BYTE RGBAShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     57,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 171,   0, 
+      0,   0,   0,   2, 255, 255, 
+      3,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    164,   0,   0,   0,  88,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+    120,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    124,   0,   0,   0,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0, 148,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    115,  50,  68,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  77, 
+     97, 115, 107,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 112, 115,  95,  50, 
+     95,  48,   0,  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,  48, 
+     46,  49,  48,  48,  49,  49, 
+     46,  49,  54,  51,  56,  52, 
+      0, 171,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,   6,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 228, 128, 
+      1,   8, 228, 160,  66,   0, 
+      0,   3,   1,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,   5,   0,   0,   3, 
+      1,   0,  15, 128,   1,   0, 
+    228, 128,   0,   0,   0, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 255, 128, 
+      1,   0, 228, 128,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DMask;
+//   sampler2D s2DWhite;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DWhite      s1       1
+//   s2DMask       s2       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s0
+    texld r2, t0, s1
+    texld r0, r0, s2
+    add r0.xyz, r1, -r2
+    add r0.xyz, r0, c1.x
+    mul r0.xyz, r0, c0.x
+    mul r0.xyz, r0.w, r0
+    mov r0.w, r0.y
+    mov oC0, r0
+
+// approximately 11 instruction slots used (3 texture, 8 arithmetic)
+#endif
+
+const BYTE ComponentPass1ShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     69,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 219,   0, 
+      0,   0,   0,   2, 255, 255, 
+      4,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    212,   0,   0,   0, 108,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 124,   0, 
+      0,   0,   0,   0,   0,   0, 
+    140,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    144,   0,   0,   0,   0,   0, 
+      0,   0, 160,   0,   0,   0, 
+      3,   0,   2,   0,   1,   0, 
+      0,   0, 168,   0,   0,   0, 
+      0,   0,   0,   0, 184,   0, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,   0, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  77,  97, 115, 107,   0, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  87, 104, 105, 116, 101, 
+      0, 171, 171, 171,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 112, 115,  95,  50, 
+     95,  48,   0,  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,  48, 
+     46,  49,  48,  48,  49,  49, 
+     46,  49,  54,  51,  56,  52, 
+      0, 171,  81,   0,   0,   5, 
+      1,   0,  15, 160,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,   6,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   2,   0,  15, 128, 
+      0,   0, 228, 176,   1,   8, 
+    228, 160,  66,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    228, 128,   2,   8, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      7, 128,   1,   0, 228, 128, 
+      2,   0, 228, 129,   2,   0, 
+      0,   3,   0,   0,   7, 128, 
+      0,   0, 228, 128,   1,   0, 
+      0, 160,   5,   0,   0,   3, 
+      0,   0,   7, 128,   0,   0, 
+    228, 128,   0,   0,   0, 160, 
+      5,   0,   0,   3,   0,   0, 
+      7, 128,   0,   0, 255, 128, 
+      0,   0, 228, 128,   1,   0, 
+      0,   2,   0,   0,   8, 128, 
+      0,   0,  85, 128,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DMask;
+//   sampler2D s2DWhite;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DWhite      s1       1
+//   s2DMask       s2       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s1
+    texld r2, t0, s0
+    texld r0, r0, s2
+    add r0.x, -r1.y, r2.y
+    add r2.w, r0.x, c1.x
+    mul r1, r2, c0.x
+    mul r0, r0.w, r1
+    mov oC0, r0
+
+// approximately 10 instruction slots used (3 texture, 7 arithmetic)
+#endif
+
+const BYTE ComponentPass2ShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     69,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 219,   0, 
+      0,   0,   0,   2, 255, 255, 
+      4,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    212,   0,   0,   0, 108,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 124,   0, 
+      0,   0,   0,   0,   0,   0, 
+    140,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    144,   0,   0,   0,   0,   0, 
+      0,   0, 160,   0,   0,   0, 
+      3,   0,   2,   0,   1,   0, 
+      0,   0, 168,   0,   0,   0, 
+      0,   0,   0,   0, 184,   0, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    102,  76,  97, 121, 101, 114, 
+     79, 112,  97,  99, 105, 116, 
+    121,   0, 171, 171,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,   0, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  77,  97, 115, 107,   0, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  87, 104, 105, 116, 101, 
+      0, 171, 171, 171,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 112, 115,  95,  50, 
+     95,  48,   0,  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,  48, 
+     46,  49,  48,  48,  49,  49, 
+     46,  49,  54,  51,  56,  52, 
+      0, 171,  81,   0,   0,   5, 
+      1,   0,  15, 160,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   2,   8, 
+     15, 160,   6,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 176, 
+      1,   8, 228, 160,  66,   0, 
+      0,   3,   2,   0,  15, 128, 
+      0,   0, 228, 176,   0,   8, 
+    228, 160,  66,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    228, 128,   2,   8, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      1, 128,   1,   0,  85, 129, 
+      2,   0,  85, 128,   2,   0, 
+      0,   3,   2,   0,   8, 128, 
+      0,   0,   0, 128,   1,   0, 
+      0, 160,   5,   0,   0,   3, 
+      1,   0,  15, 128,   2,   0, 
+    228, 128,   0,   0,   0, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 255, 128, 
+      1,   0, 228, 128,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2D;
+//   sampler2D s2DMask;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2D           s0       1
+//   s2DMask       s1       1
+//
+
+    ps_2_0
+    def c1, 1, 0, 0, 0
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s0
+    texld r0, r0, s1
+    mov r1.w, c1.x
+    mul r1, r1, c0.x
+    mul r0, r0.w, r1
+    mov oC0, r0
+
+// approximately 8 instruction slots used (2 texture, 6 arithmetic)
+#endif
+
+const BYTE RGBShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     57,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 171,   0, 
+      0,   0,   0,   2, 255, 255, 
+      3,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    164,   0,   0,   0,  88,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+    120,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    124,   0,   0,   0,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0, 148,   0,   0,   0, 
+      0,   0,   0,   0, 102,  76, 
+     97, 121, 101, 114,  79, 112, 
+     97,  99, 105, 116, 121,   0, 
+    171, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    115,  50,  68,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 115,  50,  68,  77, 
+     97, 115, 107,   0,   4,   0, 
+     12,   0,   1,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 112, 115,  95,  50, 
+     95,  48,   0,  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,  48, 
+     46,  49,  48,  48,  49,  49, 
+     46,  49,  54,  51,  56,  52, 
+      0, 171,  81,   0,   0,   5, 
+      1,   0,  15, 160,   0,   0, 
+    128,  63,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   2, 
+      0,   0,   0, 128,   0,   0, 
+      3, 176,  31,   0,   0,   2, 
+      0,   0,   0, 128,   1,   0, 
+      7, 176,  31,   0,   0,   2, 
+      0,   0,   0, 144,   0,   8, 
+     15, 160,  31,   0,   0,   2, 
+      0,   0,   0, 144,   1,   8, 
+     15, 160,   6,   0,   0,   2, 
+      0,   0,   8, 128,   1,   0, 
+    170, 176,   5,   0,   0,   3, 
+      0,   0,   3, 128,   0,   0, 
+    255, 128,   1,   0, 228, 176, 
+     66,   0,   0,   3,   1,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   1,   8, 
+    228, 160,   1,   0,   0,   2, 
+      1,   0,   8, 128,   1,   0, 
+      0, 160,   5,   0,   0,   3, 
+      1,   0,  15, 128,   1,   0, 
+    228, 128,   0,   0,   0, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 255, 128, 
+      1,   0, 228, 128,   1,   0, 
+      0,   2,   0,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float fLayerOpacity;
+//   sampler2D s2DCb;
+//   sampler2D s2DCr;
+//   sampler2D s2DMask;
+//   sampler2D s2DY;
+//
+//
+// Registers:
+//
+//   Name          Reg   Size
+//   ------------- ----- ----
+//   fLayerOpacity c0       1
+//   s2DY          s0       1
+//   s2DCb         s1       1
+//   s2DCr         s2       1
+//   s2DMask       s3       1
+//
+
+    ps_2_0
+    def c1, -0.50195998, -0.0627499968, 1.16437995, 1.59603
+    def c2, 0.812969983, 0.391759992, 2.01723003, 1
+    dcl t0.xy
+    dcl t1.xyz
+    dcl_2d s0
+    dcl_2d s1
+    dcl_2d s2
+    dcl_2d s3
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r1, t0, s2
+    texld r2, t0, s0
+    texld r3, t0, s1
+    texld r0, r0, s3
+    add r0.x, r1.w, c1.x
+    add r0.y, r2.w, c1.y
+    mul r0.y, r0.y, c1.z
+    mad r0.z, r0.x, -c2.x, r0.y
+    mad r1.x, r0.x, c1.w, r0.y
+    add r0.x, r3.w, c1.x
+    mad r1.y, r0.x, -c2.y, r0.z
+    mad r1.z, r0.x, c2.z, r0.y
+    mov r1.w, c2.w
+    mul r1, r1, c0.x
+    mul r0, r0.w, r1
+    mov oC0, r0
+
+// approximately 18 instruction slots used (4 texture, 14 arithmetic)
+#endif
+
+const BYTE YCbCrShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     80,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0,   7,   1, 
+      0,   0,   0,   2, 255, 255, 
+      5,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+      0,   1,   0,   0, 128,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0, 144,   0, 
+      0,   0,   0,   0,   0,   0, 
+    160,   0,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
+    168,   0,   0,   0,   0,   0, 
+      0,   0, 184,   0,   0,   0, 
+      3,   0,   2,   0,   1,   0, 
+      0,   0, 192,   0,   0,   0, 
+      0,   0,   0,   0, 208,   0, 
+      0,   0,   3,   0,   3,   0, 
+      1,   0,   0,   0, 216,   0, 
+      0,   0,   0,   0,   0,   0, 
+    232,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    240,   0,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  79, 112,  97,  99, 
+    105, 116, 121,   0, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  67,  98,   0, 171, 171, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  67, 114,   0, 171, 171, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  77,  97, 115, 107,   0, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  50, 
+     68,  89,   0, 171, 171, 171, 
+      4,   0,  12,   0,   1,   0, 
+      1,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 112, 115, 
+     95,  50,  95,  48,   0,  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,  48,  46,  49,  48,  48, 
+     49,  49,  46,  49,  54,  51, 
+     56,  52,   0, 171,  81,   0, 
+      0,   5,   1,   0,  15, 160, 
+    115, 128,   0, 191,  18, 131, 
+    128, 189, 103,  10, 149,  63, 
+    182,  74, 204,  63,  81,   0, 
+      0,   5,   2,   0,  15, 160, 
+    205,  30,  80,  63, 196, 148, 
+    200,  62,  76,  26,   1,  64, 
+      0,   0, 128,  63,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      0,   0,   3, 176,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      1,   0,   7, 176,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      0,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      1,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      2,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      3,   8,  15, 160,   6,   0, 
+      0,   2,   0,   0,   8, 128, 
+      1,   0, 170, 176,   5,   0, 
+      0,   3,   0,   0,   3, 128, 
+      0,   0, 255, 128,   1,   0, 
+    228, 176,  66,   0,   0,   3, 
+      1,   0,  15, 128,   0,   0, 
+    228, 176,   2,   8, 228, 160, 
+     66,   0,   0,   3,   2,   0, 
+     15, 128,   0,   0, 228, 176, 
+      0,   8, 228, 160,  66,   0, 
+      0,   3,   3,   0,  15, 128, 
+      0,   0, 228, 176,   1,   8, 
+    228, 160,  66,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    228, 128,   3,   8, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      1, 128,   1,   0, 255, 128, 
+      1,   0,   0, 160,   2,   0, 
+      0,   3,   0,   0,   2, 128, 
+      2,   0, 255, 128,   1,   0, 
+     85, 160,   5,   0,   0,   3, 
+      0,   0,   2, 128,   0,   0, 
+     85, 128,   1,   0, 170, 160, 
+      4,   0,   0,   4,   0,   0, 
+      4, 128,   0,   0,   0, 128, 
+      2,   0,   0, 161,   0,   0, 
+     85, 128,   4,   0,   0,   4, 
+      1,   0,   1, 128,   0,   0, 
+      0, 128,   1,   0, 255, 160, 
+      0,   0,  85, 128,   2,   0, 
+      0,   3,   0,   0,   1, 128, 
+      3,   0, 255, 128,   1,   0, 
+      0, 160,   4,   0,   0,   4, 
+      1,   0,   2, 128,   0,   0, 
+      0, 128,   2,   0,  85, 161, 
+      0,   0, 170, 128,   4,   0, 
+      0,   4,   1,   0,   4, 128, 
+      0,   0,   0, 128,   2,   0, 
+    170, 160,   0,   0,  85, 128, 
+      1,   0,   0,   2,   1,   0, 
+      8, 128,   2,   0, 255, 160, 
+      5,   0,   0,   3,   1,   0, 
+     15, 128,   1,   0, 228, 128, 
+      0,   0,   0, 160,   5,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 255, 128,   1,   0, 
+    228, 128,   1,   0,   0,   2, 
+      0,   8,  15, 128,   0,   0, 
+    228, 128, 255, 255,   0,   0
+};
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
+//
+// Parameters:
+//
+//   float4 fLayerColor;
+//   sampler2D s2DMask;
+//
+//
+// Registers:
+//
+//   Name         Reg   Size
+//   ------------ ----- ----
+//   fLayerColor  c0       1
+//   s2DMask      s0       1
+//
+
+    ps_2_0
+    dcl t1.xyz
+    dcl_2d s0
+    rcp r0.w, t1.z
+    mul r0.xy, r0.w, t1
+    texld r0, r0, s0
+    mul r0, r0.w, c0
+    mov oC0, r0
+
+// approximately 5 instruction slots used (1 texture, 4 arithmetic)
+#endif
+
+const BYTE SolidColorShaderPSMask[] =
+{
+      0,   2, 255, 255, 254, 255, 
+     46,   0,  67,  84,  65,  66, 
+     28,   0,   0,   0, 127,   0, 
+      0,   0,   0,   2, 255, 255, 
+      2,   0,   0,   0,  28,   0, 
+      0,   0,   0,   1,   0,   0, 
+    120,   0,   0,   0,  68,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,  80,   0, 
+      0,   0,   0,   0,   0,   0, 
+     96,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0, 102,  76,  97, 121, 
+    101, 114,  67, 111, 108, 111, 
+    114,   0,   1,   0,   3,   0, 
+      1,   0,   4,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    115,  50,  68,  77,  97, 115, 
+    107,   0,   4,   0,  12,   0, 
+      1,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    112, 115,  95,  50,  95,  48, 
+      0,  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,  48,  46,  49, 
+     48,  48,  49,  49,  46,  49, 
+     54,  51,  56,  52,   0, 171, 
+     31,   0,   0,   2,   0,   0, 
+      0, 128,   1,   0,   7, 176, 
+     31,   0,   0,   2,   0,   0, 
+      0, 144,   0,   8,  15, 160, 
+      6,   0,   0,   2,   0,   0, 
+      8, 128,   1,   0, 170, 176, 
+      5,   0,   0,   3,   0,   0, 
+      3, 128,   0,   0, 255, 128, 
+      1,   0, 228, 176,  66,   0, 
+      0,   3,   0,   0,  15, 128, 
+      0,   0, 228, 128,   0,   8, 
+    228, 160,   5,   0,   0,   3, 
+      0,   0,  15, 128,   0,   0, 
+    255, 128,   0,   0, 228, 160, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
+    255, 255,   0,   0
+};
--- a/gfx/src/DriverCrashGuard.cpp
+++ b/gfx/src/DriverCrashGuard.cpp
@@ -1,615 +1,615 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#include "DriverCrashGuard.h"
-#include "gfxEnv.h"
-#include "gfxPrefs.h"
-#include "nsAppDirectoryServiceDefs.h"
-#include "nsDirectoryServiceUtils.h"
-#ifdef MOZ_CRASHREPORTER
-#include "nsExceptionHandler.h"
-#endif
-#include "nsServiceManagerUtils.h"
-#include "nsString.h"
-#include "nsXULAppAPI.h"
-#include "mozilla/Preferences.h"
-#include "mozilla/Telemetry.h"
-#include "mozilla/Services.h"
-#include "mozilla/gfx/Logging.h"
-#include "mozilla/dom/ContentChild.h"
-
-namespace mozilla {
-namespace gfx {
-
-static const size_t NUM_CRASH_GUARD_TYPES = size_t(CrashGuardType::NUM_TYPES);
-static const char* sCrashGuardNames[] = {
-  "d3d11layers",
-  "d3d9video",
-  "glcontext",
-  "d3d11video",
-};
-static_assert(MOZ_ARRAY_LENGTH(sCrashGuardNames) == NUM_CRASH_GUARD_TYPES,
-              "CrashGuardType updated without a name string");
-
-static inline void
-BuildCrashGuardPrefName(CrashGuardType aType, nsCString& aOutPrefName)
-{
-  MOZ_ASSERT(aType < CrashGuardType::NUM_TYPES);
-  MOZ_ASSERT(sCrashGuardNames[size_t(aType)]);
-
-  aOutPrefName.Assign("gfx.crash-guard.status.");
-  aOutPrefName.Append(sCrashGuardNames[size_t(aType)]);
-}
-
-DriverCrashGuard::DriverCrashGuard(CrashGuardType aType, dom::ContentParent* aContentParent)
- : mType(aType)
- , mMode(aContentParent ? Mode::Proxy : Mode::Normal)
- , mInitialized(false)
- , mGuardActivated(false)
- , mCrashDetected(false)
-{
-  BuildCrashGuardPrefName(aType, mStatusPref);
-}
-
-void
-DriverCrashGuard::InitializeIfNeeded()
-{
-  if (mInitialized) {
-    return;
-  }
-
-  mInitialized = true;
-  Initialize();
-}
-
-static inline bool
-AreCrashGuardsEnabled()
-{
-#ifdef NIGHTLY_BUILD
-  // We only use the crash guard on non-nightly channels, since the nightly
-  // channel is for development and having graphics features perma-disabled
-  // is rather annoying.  Unless the user forces is with an environment
-  // variable, which comes in handy for testing.
-  return gfxEnv::ForceCrashGuardNightly();
-#else
-  // Check to see if all guards have been disabled through the environment.
-  if (gfxEnv::DisableCrashGuard()) {
-    return false;
-  }
-  return true;
-#endif
-}
-
-void
-DriverCrashGuard::Initialize()
-{
-  if (!AreCrashGuardsEnabled()) {
-    return;
-  }
-
-  // Using DriverCrashGuard off the main thread currently does not work. Under
-  // e10s it could conceivably work by dispatching the IPC calls via the main
-  // thread. In the parent process this would be harder. For now, we simply
-  // exit early instead.
-  if (!NS_IsMainThread()) {
-    return;
-  }
-
-  mGfxInfo = services::GetGfxInfo();
-
-  if (XRE_IsContentProcess()) {
-    // Ask the parent whether or not activating the guard is okay. The parent
-    // won't bother if it detected a crash.
-    dom::ContentChild* cc = dom::ContentChild::GetSingleton();
-    cc->SendBeginDriverCrashGuard(uint32_t(mType), &mCrashDetected);
-    if (mCrashDetected) {
-      LogFeatureDisabled();
-      return;
-    }
-
-    ActivateGuard();
-    return;
-  }
-
-  // Always check whether or not the lock file exists. For example, we could
-  // have crashed creating a D3D9 device in the parent process, and on restart
-  // are now requesting one in the child process. We catch everything here.
-  if (RecoverFromCrash()) {
-    mCrashDetected = true;
-    return;
-  }
-
-  // If the environment has changed, we always activate the guard. In the
-  // parent process this performs main-thread disk I/O. Child process guards
-  // only incur an IPC cost, so if we're proxying for a child process, we
-  // play it safe and activate the guard as long as we don't expect it to
-  // crash.
-  if (CheckOrRefreshEnvironment() ||
-      (mMode == Mode::Proxy && GetStatus() != DriverInitStatus::Crashed))
-  {
-    ActivateGuard();
-    return;
-  }
-
-  // If we got here and our status is "crashed", then the environment has not
-  // updated and we do not want to attempt to use the driver again.
-  if (GetStatus() == DriverInitStatus::Crashed) {
-    mCrashDetected = true;
-    LogFeatureDisabled();
-  }
-}
-
-DriverCrashGuard::~DriverCrashGuard()
-{
-  if (!mGuardActivated) {
-    return;
-  }
-
-  if (XRE_IsParentProcess()) {
-    if (mGuardFile) {
-      mGuardFile->Remove(false);
-    }
-
-    // If during our initialization, no other process encountered a crash, we
-    // proceed to mark the status as okay.
-    if (GetStatus() != DriverInitStatus::Crashed) {
-      SetStatus(DriverInitStatus::Okay);
-    }
-  } else {
-    dom::ContentChild::GetSingleton()->SendEndDriverCrashGuard(uint32_t(mType));
-  }
-
-#ifdef MOZ_CRASHREPORTER
-  // Remove the crash report annotation.
-  CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GraphicsStartupTest"),
-                                     NS_LITERAL_CSTRING(""));
-#endif
-}
-
-bool
-DriverCrashGuard::Crashed()
-{
-  InitializeIfNeeded();
-
-  // Note, we read mCrashDetected instead of GetStatus(), since in child
-  // processes we're not guaranteed that the prefs have been synced in
-  // time.
-  return mCrashDetected;
-}
-
-nsCOMPtr<nsIFile>
-DriverCrashGuard::GetGuardFile()
-{
-  MOZ_ASSERT(XRE_IsParentProcess());
-
-  nsCString filename;
-  filename.Assign(sCrashGuardNames[size_t(mType)]);
-  filename.Append(".guard");
-
-  nsCOMPtr<nsIFile> file;
-  NS_GetSpecialDirectory(NS_APP_USER_PROFILE_LOCAL_50_DIR, getter_AddRefs(file));
-  if (!file) {
-    return nullptr;
-  }
-  if (!NS_SUCCEEDED(file->AppendNative(filename))) {
-    return nullptr;
-  }
-  return file;
-}
-
-void
-DriverCrashGuard::ActivateGuard()
-{
-  mGuardActivated = true;
-
-#ifdef MOZ_CRASHREPORTER
-  // Anotate crash reports only if we're a real guard. Otherwise, we could
-  // attribute a random parent process crash to a graphics problem in a child
-  // process.
-  if (mMode != Mode::Proxy) {
-    CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GraphicsStartupTest"),
-                                       NS_LITERAL_CSTRING("1"));
-  }
-#endif
-
-  // If we're in the content process, the rest of the guarding is handled
-  // in the parent.
-  if (XRE_IsContentProcess()) {
-    return;
-  }
-
-  SetStatus(DriverInitStatus::Attempting);
-
-  if (mMode != Mode::Proxy) {
-    // In parent process guards, we use two tombstones to detect crashes: a
-    // preferences and a zero-byte file on the filesystem.
-    FlushPreferences();
-
-    // Create a temporary tombstone/lockfile.
-    FILE* fp = nullptr;
-    mGuardFile = GetGuardFile();
-    if (!mGuardFile || !NS_SUCCEEDED(mGuardFile->OpenANSIFileDesc("w", &fp))) {
-      return;
-    }
-    fclose(fp);
-  }
-}
-
-void
-DriverCrashGuard::NotifyCrashed()
-{
-  CheckOrRefreshEnvironment();
-  SetStatus(DriverInitStatus::Crashed);
-  FlushPreferences();
-  LogCrashRecovery();
-}
-
-bool
-DriverCrashGuard::RecoverFromCrash()
-{
-  MOZ_ASSERT(XRE_IsParentProcess());
-
-  nsCOMPtr<nsIFile> file = GetGuardFile();
-  bool exists;
-  if ((file &&
-       NS_SUCCEEDED(file->Exists(&exists)) &&
-       exists) ||
-      (GetStatus() == DriverInitStatus::Attempting))
-  {
-    // If we get here, we've just recovered from a crash. Disable acceleration
-    // until the environment changes.
-    if (file) {
-      file->Remove(false);
-    }
-    NotifyCrashed();
-    return true;
-  }
-  return false;
-}
-
-// Return true if the caller should proceed to guard for crashes. False if
-// the environment has not changed. We persist the "changed" status across
-// calls, so that after an environment changes, all guards for the new
-// session are activated rather than just the first.
-bool
-DriverCrashGuard::CheckOrRefreshEnvironment()
-{
-  // Our result can be cached statically since we don't check live prefs.
-  static bool sBaseInfoChanged = false;
-  static bool sBaseInfoChecked = false;
-
-  if (!sBaseInfoChecked) {
-    // None of the prefs we care about, so we cache the result statically.
-    sBaseInfoChecked = true;
-    sBaseInfoChanged = UpdateBaseEnvironment();
-  }
-
-  // Always update the full environment, even if the base info didn't change.
-  return UpdateEnvironment() ||
-         sBaseInfoChanged ||
-         GetStatus() == DriverInitStatus::Unknown;
-}
-
-bool
-DriverCrashGuard::UpdateBaseEnvironment()
-{
-  bool changed = false;
-  if (mGfxInfo) {
-    nsString value;
-
-    // Driver properties.
-    mGfxInfo->GetAdapterDriverVersion(value);
-    changed |= CheckAndUpdatePref("driverVersion", value);
-    mGfxInfo->GetAdapterDeviceID(value);
-    changed |= CheckAndUpdatePref("deviceID", value);
-  }
-
-  // Firefox properties.
-  changed |= CheckAndUpdatePref("appVersion", NS_LITERAL_STRING(MOZ_APP_VERSION));
-
-  return changed;
-}
-
-bool
-DriverCrashGuard::FeatureEnabled(int aFeature, bool aDefault)
-{
-  if (!mGfxInfo) {
-    return aDefault;
-  }
-  int32_t status;
-  nsCString discardFailureId;
-  if (!NS_SUCCEEDED(mGfxInfo->GetFeatureStatus(aFeature, discardFailureId, &status))) {
-    return false;
-  }
-  return status == nsIGfxInfo::FEATURE_STATUS_OK;
-}
-
-bool
-DriverCrashGuard::CheckAndUpdateBoolPref(const char* aPrefName, bool aCurrentValue)
-{
-  std::string pref = GetFullPrefName(aPrefName);
-
-  bool oldValue;
-  if (NS_SUCCEEDED(Preferences::GetBool(pref.c_str(), &oldValue)) &&
-      oldValue == aCurrentValue)
-  {
-    return false;
-  }
-  Preferences::SetBool(pref.c_str(), aCurrentValue);
-  return true;
-}
-
-bool
-DriverCrashGuard::CheckAndUpdatePref(const char* aPrefName, const nsAString& aCurrentValue)
-{
-  std::string pref = GetFullPrefName(aPrefName);
-
-  nsAdoptingString oldValue = Preferences::GetString(pref.c_str());
-  if (oldValue == aCurrentValue) {
-    return false;
-  }
-  Preferences::SetString(pref.c_str(), aCurrentValue);
-  return true;
-}
-
-std::string
-DriverCrashGuard::GetFullPrefName(const char* aPref)
-{
-  return std::string("gfx.crash-guard.") +
-         std::string(sCrashGuardNames[uint32_t(mType)]) +
-         std::string(".") +
-         std::string(aPref);
-}
-
-DriverInitStatus
-DriverCrashGuard::GetStatus() const
-{
-  return (DriverInitStatus)Preferences::GetInt(mStatusPref.get(), 0);
-}
-
-void
-DriverCrashGuard::SetStatus(DriverInitStatus aStatus)
-{
-  MOZ_ASSERT(XRE_IsParentProcess());
-
-  Preferences::SetInt(mStatusPref.get(), int32_t(aStatus));
-}
-
-void
-DriverCrashGuard::FlushPreferences()
-{
-  MOZ_ASSERT(XRE_IsParentProcess());
-
-  if (nsIPrefService* prefService = Preferences::GetService()) {
-    prefService->SavePrefFile(nullptr);
-  }
-}
-
-void
-DriverCrashGuard::ForEachActiveCrashGuard(const CrashGuardCallback& aCallback)
-{
-  if (!AreCrashGuardsEnabled()) {
-    // Even if guards look active (via prefs), they can be ignored if globally
-    // disabled.
-    return;
-  }
-
-  for (size_t i = 0; i < NUM_CRASH_GUARD_TYPES; i++) {
-    CrashGuardType type = static_cast<CrashGuardType>(i);
-
-    nsCString prefName;
-    BuildCrashGuardPrefName(type, prefName);
-
-    auto status =
-      static_cast<DriverInitStatus>(Preferences::GetInt(prefName.get(), 0));
-    if (status != DriverInitStatus::Crashed) {
-      continue;
-    }
-
-    aCallback(sCrashGuardNames[i], prefName.get());
-  }
-}
-
-D3D11LayersCrashGuard::D3D11LayersCrashGuard(dom::ContentParent* aContentParent)
- : DriverCrashGuard(CrashGuardType::D3D11Layers, aContentParent)
-{
-}
-
-void
-D3D11LayersCrashGuard::Initialize()
-{
-  if (!XRE_IsParentProcess()) {
-    // We assume the parent process already performed crash detection for
-    // graphics devices.
-    return;
-  }
-
-  DriverCrashGuard::Initialize();
-
-  // If no telemetry states have been recorded, this will set the state to okay.
-  // Otherwise, it will have no effect.
-  RecordTelemetry(TelemetryState::Okay);
-}
-
-bool
-D3D11LayersCrashGuard::UpdateEnvironment()
-{
-  // Our result can be cached statically since we don't check live prefs.
-  static bool checked = false;
-  static bool changed = false;
-
-  if (checked) {
-    return changed;
-  }
-
-  checked = true;
-
-  // Feature status.
-#if defined(XP_WIN)
-  bool d2dEnabled = gfxPrefs::Direct2DForceEnabled() ||
-                    (!gfxPrefs::Direct2DDisabled() && FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT2D));
-  changed |= CheckAndUpdateBoolPref("feature-d2d", d2dEnabled);
-
-  bool d3d11Enabled = !gfxPrefs::LayersPreferD3D9();
-  if (!FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS)) {
-    d3d11Enabled = false;
-  }
-  changed |= CheckAndUpdateBoolPref("feature-d3d11", d3d11Enabled);
-#endif
-
-  if (!changed) {
-    return false;
-  }
-
-  RecordTelemetry(TelemetryState::EnvironmentChanged);
-  return true;
-}
-
-void
-D3D11LayersCrashGuard::LogCrashRecovery()
-{
-  RecordTelemetry(TelemetryState::RecoveredFromCrash);
-  gfxCriticalNote << "D3D11 layers just crashed; D3D11 will be disabled.";
-}
-
-void
-D3D11LayersCrashGuard::LogFeatureDisabled()
-{
-  RecordTelemetry(TelemetryState::FeatureDisabled);
-  gfxCriticalNote << "D3D11 layers disabled due to a prior crash.";
-}
-
-void
-D3D11LayersCrashGuard::RecordTelemetry(TelemetryState aState)
-{
-  // D3D11LayersCrashGuard is a no-op in the child process.
-  if (!XRE_IsParentProcess()) {
-    return;
-  }
-
-  // Since we instantiate this class more than once, make sure we only record
-  // the first state (since that is really all we care about).
-  static bool sTelemetryStateRecorded = false;
-  if (sTelemetryStateRecorded) {
-    return;
-  }
-
-  Telemetry::Accumulate(Telemetry::GRAPHICS_DRIVER_STARTUP_TEST, int32_t(aState));
-  sTelemetryStateRecorded = true;
-}
-
-D3D9VideoCrashGuard::D3D9VideoCrashGuard(dom::ContentParent* aContentParent)
- : DriverCrashGuard(CrashGuardType::D3D9Video, aContentParent)
-{
-}
-
-bool
-D3D9VideoCrashGuard::UpdateEnvironment()
-{
-  // We don't care about any extra preferences here.
-  return false;
-}
-
-void
-D3D9VideoCrashGuard::LogCrashRecovery()
-{
-  gfxCriticalNote << "DXVA2D3D9 just crashed; hardware video will be disabled.";
-}
-
-void
-D3D9VideoCrashGuard::LogFeatureDisabled()
-{
-  gfxCriticalNote << "DXVA2D3D9 video decoding is disabled due to a previous crash.";
-}
-
-D3D11VideoCrashGuard::D3D11VideoCrashGuard(dom::ContentParent* aContentParent)
- : DriverCrashGuard(CrashGuardType::D3D11Video, aContentParent)
-{
-}
-
-bool
-D3D11VideoCrashGuard::UpdateEnvironment()
-{
-  // We don't care about any extra preferences here.
-  return false;
-}
-
-void
-D3D11VideoCrashGuard::LogCrashRecovery()
-{
-  gfxCriticalNote << "DXVA2D3D11 just crashed; hardware video will be disabled.";
-}
-
-void
-D3D11VideoCrashGuard::LogFeatureDisabled()
-{
-  gfxCriticalNote << "DXVA2D3D11 video decoding is disabled due to a previous crash.";
-}
-
-GLContextCrashGuard::GLContextCrashGuard(dom::ContentParent* aContentParent)
- : DriverCrashGuard(CrashGuardType::GLContext, aContentParent)
-{
-}
-
-void
-GLContextCrashGuard::Initialize()
-{
-  if (XRE_IsContentProcess()) {
-    // Disable the GL crash guard in content processes, since we're not going
-    // to lose the entire browser and we don't want to hinder WebGL availability.
-    return;
-  }
-
-#if defined(MOZ_WIDGET_ANDROID)
-  // Disable the WebGL crash guard on Android - it doesn't use E10S, and
-  // its drivers will essentially never change, so the crash guard could
-  // permanently disable WebGL.
-  return;
-#endif
-
-  DriverCrashGuard::Initialize();
-}
-
-bool
-GLContextCrashGuard::UpdateEnvironment()
-{
-  static bool checked = false;
-  static bool changed = false;
-
-  if (checked) {
-    return changed;
-  }
-
-  checked = true;
-
-#if defined(XP_WIN)
-  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-force-d3d11",
-                                    gfxPrefs::WebGLANGLEForceD3D11());
-  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-try-d3d11",
-                                    gfxPrefs::WebGLANGLETryD3D11());
-  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-force-warp",
-                                    gfxPrefs::WebGLANGLEForceWARP());
-  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle",
-                                    FeatureEnabled(nsIGfxInfo::FEATURE_WEBGL_ANGLE, false));
-  changed |= CheckAndUpdateBoolPref("gfx.driver-init.direct3d11-angle",
-                                    FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT3D_11_ANGLE, false));
-#endif
-
-  return changed;
-}
-
-void
-GLContextCrashGuard::LogCrashRecovery()
-{
-  gfxCriticalNote << "GLContext just crashed.";
-}
-
-void
-GLContextCrashGuard::LogFeatureDisabled()
-{
-  gfxCriticalNote << "GLContext remains enabled despite a previous crash.";
-}
-
-} // namespace gfx
-} // namespace mozilla
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#include "DriverCrashGuard.h"
+#include "gfxEnv.h"
+#include "gfxPrefs.h"
+#include "nsAppDirectoryServiceDefs.h"
+#include "nsDirectoryServiceUtils.h"
+#ifdef MOZ_CRASHREPORTER
+#include "nsExceptionHandler.h"
+#endif
+#include "nsServiceManagerUtils.h"
+#include "nsString.h"
+#include "nsXULAppAPI.h"
+#include "mozilla/Preferences.h"
+#include "mozilla/Telemetry.h"
+#include "mozilla/Services.h"
+#include "mozilla/gfx/Logging.h"
+#include "mozilla/dom/ContentChild.h"
+
+namespace mozilla {
+namespace gfx {
+
+static const size_t NUM_CRASH_GUARD_TYPES = size_t(CrashGuardType::NUM_TYPES);
+static const char* sCrashGuardNames[] = {
+  "d3d11layers",
+  "d3d9video",
+  "glcontext",
+  "d3d11video",
+};
+static_assert(MOZ_ARRAY_LENGTH(sCrashGuardNames) == NUM_CRASH_GUARD_TYPES,
+              "CrashGuardType updated without a name string");
+
+static inline void
+BuildCrashGuardPrefName(CrashGuardType aType, nsCString& aOutPrefName)
+{
+  MOZ_ASSERT(aType < CrashGuardType::NUM_TYPES);
+  MOZ_ASSERT(sCrashGuardNames[size_t(aType)]);
+
+  aOutPrefName.Assign("gfx.crash-guard.status.");
+  aOutPrefName.Append(sCrashGuardNames[size_t(aType)]);
+}
+
+DriverCrashGuard::DriverCrashGuard(CrashGuardType aType, dom::ContentParent* aContentParent)
+ : mType(aType)
+ , mMode(aContentParent ? Mode::Proxy : Mode::Normal)
+ , mInitialized(false)
+ , mGuardActivated(false)
+ , mCrashDetected(false)
+{
+  BuildCrashGuardPrefName(aType, mStatusPref);
+}
+
+void
+DriverCrashGuard::InitializeIfNeeded()
+{
+  if (mInitialized) {
+    return;
+  }
+
+  mInitialized = true;
+  Initialize();
+}
+
+static inline bool
+AreCrashGuardsEnabled()
+{
+#ifdef NIGHTLY_BUILD
+  // We only use the crash guard on non-nightly channels, since the nightly
+  // channel is for development and having graphics features perma-disabled
+  // is rather annoying.  Unless the user forces is with an environment
+  // variable, which comes in handy for testing.
+  return gfxEnv::ForceCrashGuardNightly();
+#else
+  // Check to see if all guards have been disabled through the environment.
+  if (gfxEnv::DisableCrashGuard()) {
+    return false;
+  }
+  return true;
+#endif
+}
+
+void
+DriverCrashGuard::Initialize()
+{
+  if (!AreCrashGuardsEnabled()) {
+    return;
+  }
+
+  // Using DriverCrashGuard off the main thread currently does not work. Under
+  // e10s it could conceivably work by dispatching the IPC calls via the main
+  // thread. In the parent process this would be harder. For now, we simply
+  // exit early instead.
+  if (!NS_IsMainThread()) {
+    return;
+  }
+
+  mGfxInfo = services::GetGfxInfo();
+
+  if (XRE_IsContentProcess()) {
+    // Ask the parent whether or not activating the guard is okay. The parent
+    // won't bother if it detected a crash.
+    dom::ContentChild* cc = dom::ContentChild::GetSingleton();
+    cc->SendBeginDriverCrashGuard(uint32_t(mType), &mCrashDetected);
+    if (mCrashDetected) {
+      LogFeatureDisabled();
+      return;
+    }
+
+    ActivateGuard();
+    return;
+  }
+
+  // Always check whether or not the lock file exists. For example, we could
+  // have crashed creating a D3D9 device in the parent process, and on restart
+  // are now requesting one in the child process. We catch everything here.
+  if (RecoverFromCrash()) {
+    mCrashDetected = true;
+    return;
+  }
+
+  // If the environment has changed, we always activate the guard. In the
+  // parent process this performs main-thread disk I/O. Child process guards
+  // only incur an IPC cost, so if we're proxying for a child process, we
+  // play it safe and activate the guard as long as we don't expect it to
+  // crash.
+  if (CheckOrRefreshEnvironment() ||
+      (mMode == Mode::Proxy && GetStatus() != DriverInitStatus::Crashed))
+  {
+    ActivateGuard();
+    return;
+  }
+
+  // If we got here and our status is "crashed", then the environment has not
+  // updated and we do not want to attempt to use the driver again.
+  if (GetStatus() == DriverInitStatus::Crashed) {
+    mCrashDetected = true;
+    LogFeatureDisabled();
+  }
+}
+
+DriverCrashGuard::~DriverCrashGuard()
+{
+  if (!mGuardActivated) {
+    return;
+  }
+
+  if (XRE_IsParentProcess()) {
+    if (mGuardFile) {
+      mGuardFile->Remove(false);
+    }
+
+    // If during our initialization, no other process encountered a crash, we
+    // proceed to mark the status as okay.
+    if (GetStatus() != DriverInitStatus::Crashed) {
+      SetStatus(DriverInitStatus::Okay);
+    }
+  } else {
+    dom::ContentChild::GetSingleton()->SendEndDriverCrashGuard(uint32_t(mType));
+  }
+
+#ifdef MOZ_CRASHREPORTER
+  // Remove the crash report annotation.
+  CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GraphicsStartupTest"),
+                                     NS_LITERAL_CSTRING(""));
+#endif
+}
+
+bool
+DriverCrashGuard::Crashed()
+{
+  InitializeIfNeeded();
+
+  // Note, we read mCrashDetected instead of GetStatus(), since in child
+  // processes we're not guaranteed that the prefs have been synced in
+  // time.
+  return mCrashDetected;
+}
+
+nsCOMPtr<nsIFile>
+DriverCrashGuard::GetGuardFile()
+{
+  MOZ_ASSERT(XRE_IsParentProcess());
+
+  nsCString filename;
+  filename.Assign(sCrashGuardNames[size_t(mType)]);
+  filename.Append(".guard");
+
+  nsCOMPtr<nsIFile> file;
+  NS_GetSpecialDirectory(NS_APP_USER_PROFILE_LOCAL_50_DIR, getter_AddRefs(file));
+  if (!file) {
+    return nullptr;
+  }
+  if (!NS_SUCCEEDED(file->AppendNative(filename))) {
+    return nullptr;
+  }
+  return file;
+}
+
+void
+DriverCrashGuard::ActivateGuard()
+{
+  mGuardActivated = true;
+
+#ifdef MOZ_CRASHREPORTER
+  // Anotate crash reports only if we're a real guard. Otherwise, we could
+  // attribute a random parent process crash to a graphics problem in a child
+  // process.
+  if (mMode != Mode::Proxy) {
+    CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GraphicsStartupTest"),
+                                       NS_LITERAL_CSTRING("1"));
+  }
+#endif
+
+  // If we're in the content process, the rest of the guarding is handled
+  // in the parent.
+  if (XRE_IsContentProcess()) {
+    return;
+  }
+
+  SetStatus(DriverInitStatus::Attempting);
+
+  if (mMode != Mode::Proxy) {
+    // In parent process guards, we use two tombstones to detect crashes: a
+    // preferences and a zero-byte file on the filesystem.
+    FlushPreferences();
+
+    // Create a temporary tombstone/lockfile.
+    FILE* fp = nullptr;
+    mGuardFile = GetGuardFile();
+    if (!mGuardFile || !NS_SUCCEEDED(mGuardFile->OpenANSIFileDesc("w", &fp))) {
+      return;
+    }
+    fclose(fp);
+  }
+}
+
+void
+DriverCrashGuard::NotifyCrashed()
+{
+  CheckOrRefreshEnvironment();
+  SetStatus(DriverInitStatus::Crashed);
+  FlushPreferences();
+  LogCrashRecovery();
+}
+
+bool
+DriverCrashGuard::RecoverFromCrash()
+{
+  MOZ_ASSERT(XRE_IsParentProcess());
+
+  nsCOMPtr<nsIFile> file = GetGuardFile();
+  bool exists;
+  if ((file &&
+       NS_SUCCEEDED(file->Exists(&exists)) &&
+       exists) ||
+      (GetStatus() == DriverInitStatus::Attempting))
+  {
+    // If we get here, we've just recovered from a crash. Disable acceleration
+    // until the environment changes.
+    if (file) {
+      file->Remove(false);
+    }
+    NotifyCrashed();
+    return true;
+  }
+  return false;
+}
+
+// Return true if the caller should proceed to guard for crashes. False if
+// the environment has not changed. We persist the "changed" status across
+// calls, so that after an environment changes, all guards for the new
+// session are activated rather than just the first.
+bool
+DriverCrashGuard::CheckOrRefreshEnvironment()
+{
+  // Our result can be cached statically since we don't check live prefs.
+  static bool sBaseInfoChanged = false;
+  static bool sBaseInfoChecked = false;
+
+  if (!sBaseInfoChecked) {
+    // None of the prefs we care about, so we cache the result statically.
+    sBaseInfoChecked = true;
+    sBaseInfoChanged = UpdateBaseEnvironment();
+  }
+
+  // Always update the full environment, even if the base info didn't change.
+  return UpdateEnvironment() ||
+         sBaseInfoChanged ||
+         GetStatus() == DriverInitStatus::Unknown;
+}
+
+bool
+DriverCrashGuard::UpdateBaseEnvironment()
+{
+  bool changed = false;
+  if (mGfxInfo) {
+    nsString value;
+
+    // Driver properties.
+    mGfxInfo->GetAdapterDriverVersion(value);
+    changed |= CheckAndUpdatePref("driverVersion", value);
+    mGfxInfo->GetAdapterDeviceID(value);
+    changed |= CheckAndUpdatePref("deviceID", value);
+  }
+
+  // Firefox properties.
+  changed |= CheckAndUpdatePref("appVersion", NS_LITERAL_STRING(MOZ_APP_VERSION));
+
+  return changed;
+}
+
+bool
+DriverCrashGuard::FeatureEnabled(int aFeature, bool aDefault)
+{
+  if (!mGfxInfo) {
+    return aDefault;
+  }
+  int32_t status;
+  nsCString discardFailureId;
+  if (!NS_SUCCEEDED(mGfxInfo->GetFeatureStatus(aFeature, discardFailureId, &status))) {
+    return false;
+  }
+  return status == nsIGfxInfo::FEATURE_STATUS_OK;
+}
+
+bool
+DriverCrashGuard::CheckAndUpdateBoolPref(const char* aPrefName, bool aCurrentValue)
+{
+  std::string pref = GetFullPrefName(aPrefName);
+
+  bool oldValue;
+  if (NS_SUCCEEDED(Preferences::GetBool(pref.c_str(), &oldValue)) &&
+      oldValue == aCurrentValue)
+  {
+    return false;
+  }
+  Preferences::SetBool(pref.c_str(), aCurrentValue);
+  return true;
+}
+
+bool
+DriverCrashGuard::CheckAndUpdatePref(const char* aPrefName, const nsAString& aCurrentValue)
+{
+  std::string pref = GetFullPrefName(aPrefName);
+
+  nsAdoptingString oldValue = Preferences::GetString(pref.c_str());
+  if (oldValue == aCurrentValue) {
+    return false;
+  }
+  Preferences::SetString(pref.c_str(), aCurrentValue);
+  return true;
+}
+
+std::string
+DriverCrashGuard::GetFullPrefName(const char* aPref)
+{
+  return std::string("gfx.crash-guard.") +
+         std::string(sCrashGuardNames[uint32_t(mType)]) +
+         std::string(".") +
+         std::string(aPref);
+}
+
+DriverInitStatus
+DriverCrashGuard::GetStatus() const
+{
+  return (DriverInitStatus)Preferences::GetInt(mStatusPref.get(), 0);
+}
+
+void
+DriverCrashGuard::SetStatus(DriverInitStatus aStatus)
+{
+  MOZ_ASSERT(XRE_IsParentProcess());
+
+  Preferences::SetInt(mStatusPref.get(), int32_t(aStatus));
+}
+
+void
+DriverCrashGuard::FlushPreferences()
+{
+  MOZ_ASSERT(XRE_IsParentProcess());
+
+  if (nsIPrefService* prefService = Preferences::GetService()) {
+    prefService->SavePrefFile(nullptr);
+  }
+}
+
+void
+DriverCrashGuard::ForEachActiveCrashGuard(const CrashGuardCallback& aCallback)
+{
+  if (!AreCrashGuardsEnabled()) {
+    // Even if guards look active (via prefs), they can be ignored if globally
+    // disabled.
+    return;
+  }
+
+  for (size_t i = 0; i < NUM_CRASH_GUARD_TYPES; i++) {
+    CrashGuardType type = static_cast<CrashGuardType>(i);
+
+    nsCString prefName;
+    BuildCrashGuardPrefName(type, prefName);
+
+    auto status =
+      static_cast<DriverInitStatus>(Preferences::GetInt(prefName.get(), 0));
+    if (status != DriverInitStatus::Crashed) {
+      continue;
+    }
+
+    aCallback(sCrashGuardNames[i], prefName.get());
+  }
+}
+
+D3D11LayersCrashGuard::D3D11LayersCrashGuard(dom::ContentParent* aContentParent)
+ : DriverCrashGuard(CrashGuardType::D3D11Layers, aContentParent)
+{
+}
+
+void
+D3D11LayersCrashGuard::Initialize()
+{
+  if (!XRE_IsParentProcess()) {
+    // We assume the parent process already performed crash detection for
+    // graphics devices.
+    return;
+  }
+
+  DriverCrashGuard::Initialize();
+
+  // If no telemetry states have been recorded, this will set the state to okay.
+  // Otherwise, it will have no effect.
+  RecordTelemetry(TelemetryState::Okay);
+}
+
+bool
+D3D11LayersCrashGuard::UpdateEnvironment()
+{
+  // Our result can be cached statically since we don't check live prefs.
+  static bool checked = false;
+  static bool changed = false;
+
+  if (checked) {
+    return changed;
+  }
+
+  checked = true;
+
+  // Feature status.
+#if defined(XP_WIN)
+  bool d2dEnabled = gfxPrefs::Direct2DForceEnabled() ||
+                    (!gfxPrefs::Direct2DDisabled() && FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT2D));
+  changed |= CheckAndUpdateBoolPref("feature-d2d", d2dEnabled);
+
+  bool d3d11Enabled = !gfxPrefs::LayersPreferD3D9();
+  if (!FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS)) {
+    d3d11Enabled = false;
+  }
+  changed |= CheckAndUpdateBoolPref("feature-d3d11", d3d11Enabled);
+#endif
+
+  if (!changed) {
+    return false;
+  }
+
+  RecordTelemetry(TelemetryState::EnvironmentChanged);
+  return true;
+}
+
+void
+D3D11LayersCrashGuard::LogCrashRecovery()
+{
+  RecordTelemetry(TelemetryState::RecoveredFromCrash);
+  gfxCriticalNote << "D3D11 layers just crashed; D3D11 will be disabled.";
+}
+
+void
+D3D11LayersCrashGuard::LogFeatureDisabled()
+{
+  RecordTelemetry(TelemetryState::FeatureDisabled);
+  gfxCriticalNote << "D3D11 layers disabled due to a prior crash.";
+}
+
+void
+D3D11LayersCrashGuard::RecordTelemetry(TelemetryState aState)
+{
+  // D3D11LayersCrashGuard is a no-op in the child process.
+  if (!XRE_IsParentProcess()) {
+    return;
+  }
+
+  // Since we instantiate this class more than once, make sure we only record
+  // the first state (since that is really all we care about).
+  static bool sTelemetryStateRecorded = false;
+  if (sTelemetryStateRecorded) {
+    return;
+  }
+
+  Telemetry::Accumulate(Telemetry::GRAPHICS_DRIVER_STARTUP_TEST, int32_t(aState));
+  sTelemetryStateRecorded = true;
+}
+
+D3D9VideoCrashGuard::D3D9VideoCrashGuard(dom::ContentParent* aContentParent)
+ : DriverCrashGuard(CrashGuardType::D3D9Video, aContentParent)
+{
+}
+
+bool
+D3D9VideoCrashGuard::UpdateEnvironment()
+{
+  // We don't care about any extra preferences here.
+  return false;
+}
+
+void
+D3D9VideoCrashGuard::LogCrashRecovery()
+{
+  gfxCriticalNote << "DXVA2D3D9 just crashed; hardware video will be disabled.";
+}
+
+void
+D3D9VideoCrashGuard::LogFeatureDisabled()
+{
+  gfxCriticalNote << "DXVA2D3D9 video decoding is disabled due to a previous crash.";
+}
+
+D3D11VideoCrashGuard::D3D11VideoCrashGuard(dom::ContentParent* aContentParent)
+ : DriverCrashGuard(CrashGuardType::D3D11Video, aContentParent)
+{
+}
+
+bool
+D3D11VideoCrashGuard::UpdateEnvironment()
+{
+  // We don't care about any extra preferences here.
+  return false;
+}
+
+void
+D3D11VideoCrashGuard::LogCrashRecovery()
+{
+  gfxCriticalNote << "DXVA2D3D11 just crashed; hardware video will be disabled.";
+}
+
+void
+D3D11VideoCrashGuard::LogFeatureDisabled()
+{
+  gfxCriticalNote << "DXVA2D3D11 video decoding is disabled due to a previous crash.";
+}
+
+GLContextCrashGuard::GLContextCrashGuard(dom::ContentParent* aContentParent)
+ : DriverCrashGuard(CrashGuardType::GLContext, aContentParent)
+{
+}
+
+void
+GLContextCrashGuard::Initialize()
+{
+  if (XRE_IsContentProcess()) {
+    // Disable the GL crash guard in content processes, since we're not going
+    // to lose the entire browser and we don't want to hinder WebGL availability.
+    return;
+  }
+
+#if defined(MOZ_WIDGET_ANDROID)
+  // Disable the WebGL crash guard on Android - it doesn't use E10S, and
+  // its drivers will essentially never change, so the crash guard could
+  // permanently disable WebGL.
+  return;
+#endif
+
+  DriverCrashGuard::Initialize();
+}
+
+bool
+GLContextCrashGuard::UpdateEnvironment()
+{
+  static bool checked = false;
+  static bool changed = false;
+
+  if (checked) {
+    return changed;
+  }
+
+  checked = true;
+
+#if defined(XP_WIN)
+  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-force-d3d11",
+                                    gfxPrefs::WebGLANGLEForceD3D11());
+  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-try-d3d11",
+                                    gfxPrefs::WebGLANGLETryD3D11());
+  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle-force-warp",
+                                    gfxPrefs::WebGLANGLEForceWARP());
+  changed |= CheckAndUpdateBoolPref("gfx.driver-init.webgl-angle",
+                                    FeatureEnabled(nsIGfxInfo::FEATURE_WEBGL_ANGLE, false));
+  changed |= CheckAndUpdateBoolPref("gfx.driver-init.direct3d11-angle",
+                                    FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT3D_11_ANGLE, false));
+#endif
+
+  return changed;
+}
+
+void
+GLContextCrashGuard::LogCrashRecovery()
+{
+  gfxCriticalNote << "GLContext just crashed.";
+}
+
+void
+GLContextCrashGuard::LogFeatureDisabled()
+{
+  gfxCriticalNote << "GLContext remains enabled despite a previous crash.";
+}
+
+} // namespace gfx
+} // namespace mozilla
--- a/gfx/src/DriverCrashGuard.h
+++ b/gfx/src/DriverCrashGuard.h
@@ -1,182 +1,182 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#ifndef gfx_src_DriverCrashGuard_h__
-#define gfx_src_DriverCrashGuard_h__
-
-#include "nsCOMPtr.h"
-#include "nsIGfxInfo.h"
-#include "nsIFile.h"
-#include "nsString.h"
-#include "mozilla/Function.h"
-#include <string>
-
-namespace mozilla {
-
-namespace dom {
-class ContentParent;
-} // namespace dom
-
-namespace gfx {
-
-enum class DriverInitStatus
-{
-  // Drivers have not been initialized yet.
-  Unknown,
-
-  // We're attempting to initialize drivers.
-  Attempting,
-
-  // Drivers were successfully initialized last run.
-  Okay,
-
-  // We crashed during driver initialization, and have restarted.
-  Crashed
-};
-
-enum class CrashGuardType : uint32_t
-{
-  D3D11Layers,
-  D3D9Video,
-  GLContext,
-  D3D11Video,
-  // Add new entries above this line, update the name array in
-  // DriverCrashGuard.cpp, and make sure to add an entry in
-  // ContentParent.cpp.
-
-  NUM_TYPES
-};
-
-// DriverCrashGuard is used to detect crashes at graphics driver callsites.
-// 
-// If the graphics environment is unrecognized or has changed since the last
-// session, the crash guard will activate and will detect any crashes within
-// the scope of the guard object.
-//
-// If a callsite has a previously encountered crash, and the environment has
-// not changed since the last session, then the guard will set a status flag
-// indicating that the driver should not be used.
-class DriverCrashGuard
-{
-public:
-  DriverCrashGuard(CrashGuardType aType, dom::ContentParent* aContentParent);
-  virtual ~DriverCrashGuard();
-
-  bool Crashed();
-  void NotifyCrashed();
-
-  // These are the values reported to Telemetry (GRAPHICS_DRIVER_STARTUP_TEST).
-  // Values should not change; add new values to the end.
-  enum class TelemetryState {
-    Okay = 0,
-    EnvironmentChanged = 1,
-    RecoveredFromCrash = 2,
-    FeatureDisabled = 3
-  };
-
-  enum class Mode {
-    // Normal operation.
-    Normal,
-
-    // Acting as a proxy between the parent and child process.
-    Proxy
-  };
-
-  typedef mozilla::function<void(const char* aName, const char* aPrefName)>
-    CrashGuardCallback;
-  static void ForEachActiveCrashGuard(const CrashGuardCallback& aCallback);
-
-protected:
-  virtual void Initialize();
-  virtual bool UpdateEnvironment() = 0;
-  virtual void LogCrashRecovery() = 0;
-  virtual void LogFeatureDisabled() = 0;
-
-  // Helper functions.
-  bool FeatureEnabled(int aFeature, bool aDefault=true);
-  bool CheckAndUpdatePref(const char* aPrefName, const nsAString& aCurrentValue);
-  bool CheckAndUpdateBoolPref(const char* aPrefName, bool aCurrentValue);
-  std::string GetFullPrefName(const char* aPref);
-
-private:
-  // Either process.
-  void InitializeIfNeeded();
-  bool CheckOrRefreshEnvironment();
-  bool UpdateBaseEnvironment();
-  DriverInitStatus GetStatus() const;
-
-  // Parent process only.
-  nsCOMPtr<nsIFile> GetGuardFile();
-  bool RecoverFromCrash();
-  void ActivateGuard();
-  void FlushPreferences();
-  void SetStatus(DriverInitStatus aStatus);
-
-private:
-  CrashGuardType mType;
-  Mode mMode;
-  bool mInitialized;
-  bool mGuardActivated;
-  bool mCrashDetected;
-  nsCOMPtr<nsIFile> mGuardFile;
-
-protected:
-  nsCString mStatusPref;
-  nsCOMPtr<nsIGfxInfo> mGfxInfo;
-};
-
-class D3D11LayersCrashGuard final : public DriverCrashGuard
-{
- public:
-  explicit D3D11LayersCrashGuard(dom::ContentParent* aContentParent = nullptr);
-
- protected:
-  void Initialize() override;
-  bool UpdateEnvironment() override;
-  void LogCrashRecovery() override;
-  void LogFeatureDisabled() override;
-
- private:
-  void RecordTelemetry(TelemetryState aState);
-};
-
-class D3D9VideoCrashGuard final : public DriverCrashGuard
-{
- public:
-  explicit D3D9VideoCrashGuard(dom::ContentParent* aContentParent = nullptr);
-
- protected:
-  bool UpdateEnvironment() override;
-  void LogCrashRecovery() override;
-  void LogFeatureDisabled() override;
-};
-
-class D3D11VideoCrashGuard final : public DriverCrashGuard
-{
- public:
-  explicit D3D11VideoCrashGuard(dom::ContentParent* aContentParent = nullptr);
-
- protected:
-  bool UpdateEnvironment() override;
-  void LogCrashRecovery() override;
-  void LogFeatureDisabled() override;
-};
-
-class GLContextCrashGuard final : public DriverCrashGuard
-{
- public:
-  explicit GLContextCrashGuard(dom::ContentParent* aContentParent = nullptr);
-  void Initialize() override;
-
- protected:
-  bool UpdateEnvironment() override;
-  void LogCrashRecovery() override;
-  void LogFeatureDisabled() override;
-};
-
-} // namespace gfx
-} // namespace mozilla
-
-#endif // gfx_src_DriverCrashGuard_h__
-
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#ifndef gfx_src_DriverCrashGuard_h__
+#define gfx_src_DriverCrashGuard_h__
+
+#include "nsCOMPtr.h"
+#include "nsIGfxInfo.h"
+#include "nsIFile.h"
+#include "nsString.h"
+#include "mozilla/Function.h"
+#include <string>
+
+namespace mozilla {
+
+namespace dom {
+class ContentParent;
+} // namespace dom
+
+namespace gfx {
+
+enum class DriverInitStatus
+{
+  // Drivers have not been initialized yet.
+  Unknown,
+
+  // We're attempting to initialize drivers.
+  Attempting,
+
+  // Drivers were successfully initialized last run.
+  Okay,
+
+  // We crashed during driver initialization, and have restarted.
+  Crashed
+};
+
+enum class CrashGuardType : uint32_t
+{
+  D3D11Layers,
+  D3D9Video,
+  GLContext,
+  D3D11Video,
+  // Add new entries above this line, update the name array in
+  // DriverCrashGuard.cpp, and make sure to add an entry in
+  // ContentParent.cpp.
+
+  NUM_TYPES
+};
+
+// DriverCrashGuard is used to detect crashes at graphics driver callsites.
+// 
+// If the graphics environment is unrecognized or has changed since the last
+// session, the crash guard will activate and will detect any crashes within
+// the scope of the guard object.
+//
+// If a callsite has a previously encountered crash, and the environment has
+// not changed since the last session, then the guard will set a status flag
+// indicating that the driver should not be used.
+class DriverCrashGuard
+{
+public:
+  DriverCrashGuard(CrashGuardType aType, dom::ContentParent* aContentParent);
+  virtual ~DriverCrashGuard();
+
+  bool Crashed();
+  void NotifyCrashed();
+
+  // These are the values reported to Telemetry (GRAPHICS_DRIVER_STARTUP_TEST).
+  // Values should not change; add new values to the end.
+  enum class TelemetryState {
+    Okay = 0,
+    EnvironmentChanged = 1,
+    RecoveredFromCrash = 2,
+    FeatureDisabled = 3
+  };
+
+  enum class Mode {
+    // Normal operation.
+    Normal,
+
+    // Acting as a proxy between the parent and child process.
+    Proxy
+  };
+
+  typedef mozilla::function<void(const char* aName, const char* aPrefName)>
+    CrashGuardCallback;
+  static void ForEachActiveCrashGuard(const CrashGuardCallback& aCallback);
+
+protected:
+  virtual void Initialize();
+  virtual bool UpdateEnvironment() = 0;
+  virtual void LogCrashRecovery() = 0;
+  virtual void LogFeatureDisabled() = 0;
+
+  // Helper functions.
+  bool FeatureEnabled(int aFeature, bool aDefault=true);
+  bool CheckAndUpdatePref(const char* aPrefName, const nsAString& aCurrentValue);
+  bool CheckAndUpdateBoolPref(const char* aPrefName, bool aCurrentValue);
+  std::string GetFullPrefName(const char* aPref);
+
+private:
+  // Either process.
+  void InitializeIfNeeded();
+  bool CheckOrRefreshEnvironment();
+  bool UpdateBaseEnvironment();
+  DriverInitStatus GetStatus() const;
+
+  // Parent process only.
+  nsCOMPtr<nsIFile> GetGuardFile();
+  bool RecoverFromCrash();
+  void ActivateGuard();
+  void FlushPreferences();
+  void SetStatus(DriverInitStatus aStatus);
+
+private:
+  CrashGuardType mType;
+  Mode mMode;
+  bool mInitialized;
+  bool mGuardActivated;
+  bool mCrashDetected;
+  nsCOMPtr<nsIFile> mGuardFile;
+
+protected:
+  nsCString mStatusPref;
+  nsCOMPtr<nsIGfxInfo> mGfxInfo;
+};
+
+class D3D11LayersCrashGuard final : public DriverCrashGuard
+{
+ public:
+  explicit D3D11LayersCrashGuard(dom::ContentParent* aContentParent = nullptr);
+
+ protected:
+  void Initialize() override;
+  bool UpdateEnvironment() override;
+  void LogCrashRecovery() override;
+  void LogFeatureDisabled() override;
+
+ private:
+  void RecordTelemetry(TelemetryState aState);
+};
+
+class D3D9VideoCrashGuard final : public DriverCrashGuard
+{
+ public:
+  explicit D3D9VideoCrashGuard(dom::ContentParent* aContentParent = nullptr);
+
+ protected:
+  bool UpdateEnvironment() override;
+  void LogCrashRecovery() override;
+  void LogFeatureDisabled() override;
+};
+
+class D3D11VideoCrashGuard final : public DriverCrashGuard
+{
+ public:
+  explicit D3D11VideoCrashGuard(dom::ContentParent* aContentParent = nullptr);
+
+ protected:
+  bool UpdateEnvironment() override;
+  void LogCrashRecovery() override;
+  void LogFeatureDisabled() override;
+};
+
+class GLContextCrashGuard final : public DriverCrashGuard
+{
+ public:
+  explicit GLContextCrashGuard(dom::ContentParent* aContentParent = nullptr);
+  void Initialize() override;
+
+ protected:
+  bool UpdateEnvironment() override;
+  void LogCrashRecovery() override;
+  void LogFeatureDisabled() override;
+};
+
+} // namespace gfx
+} // namespace mozilla
+
+#endif // gfx_src_DriverCrashGuard_h__
+
--- a/gfx/src/gfxTelemetry.cpp
+++ b/gfx/src/gfxTelemetry.cpp
@@ -1,59 +1,59 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#include "gfxTelemetry.h"
-
-namespace mozilla {
-namespace gfx {
-
-const char*
-FeatureStatusToString(FeatureStatus aStatus)
-{
-  switch (aStatus) {
-    case FeatureStatus::Unused:
-      return "unused";
-    case FeatureStatus::Unavailable:
-      return "unavailable";
-    case FeatureStatus::CrashedInHandler:
-      return "crashed";
-    case FeatureStatus::Blocked:
-      return "blocked";
-    case FeatureStatus::Blacklisted:
-      return "blacklisted";
-    case FeatureStatus::Failed:
-      return "failed";
-    case FeatureStatus::Disabled:
-      return "disabled";
-    case FeatureStatus::Available:
-      return "available";
-    case FeatureStatus::ForceEnabled:
-      return "force_enabled";
-    case FeatureStatus::CrashedOnStartup:
-      return "crashed_on_startup";
-    case FeatureStatus::Broken:
-      return "broken";
-    default:
-      MOZ_ASSERT_UNREACHABLE("missing status case");
-      return "unknown";
-  }
-}
-
-bool
-IsFeatureStatusFailure(FeatureStatus aStatus)
-{
-  return !(aStatus == FeatureStatus::Unused ||
-           aStatus == FeatureStatus::Available ||
-           aStatus == FeatureStatus::ForceEnabled);
-}
-
-bool
-IsFeatureStatusSuccess(FeatureStatus aStatus)
-{
-  return aStatus == FeatureStatus::Available ||
-         aStatus == FeatureStatus::ForceEnabled;
-}
-
-} // namespace gfx
-} // namespace mozilla
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#include "gfxTelemetry.h"
+
+namespace mozilla {
+namespace gfx {
+
+const char*
+FeatureStatusToString(FeatureStatus aStatus)
+{
+  switch (aStatus) {
+    case FeatureStatus::Unused:
+      return "unused";
+    case FeatureStatus::Unavailable:
+      return "unavailable";
+    case FeatureStatus::CrashedInHandler:
+      return "crashed";
+    case FeatureStatus::Blocked:
+      return "blocked";
+    case FeatureStatus::Blacklisted:
+      return "blacklisted";
+    case FeatureStatus::Failed:
+      return "failed";
+    case FeatureStatus::Disabled:
+      return "disabled";
+    case FeatureStatus::Available:
+      return "available";
+    case FeatureStatus::ForceEnabled:
+      return "force_enabled";
+    case FeatureStatus::CrashedOnStartup:
+      return "crashed_on_startup";
+    case FeatureStatus::Broken:
+      return "broken";
+    default:
+      MOZ_ASSERT_UNREACHABLE("missing status case");
+      return "unknown";
+  }
+}
+
+bool
+IsFeatureStatusFailure(FeatureStatus aStatus)
+{
+  return !(aStatus == FeatureStatus::Unused ||
+           aStatus == FeatureStatus::Available ||
+           aStatus == FeatureStatus::ForceEnabled);
+}
+
+bool
+IsFeatureStatusSuccess(FeatureStatus aStatus)
+{
+  return aStatus == FeatureStatus::Available ||
+         aStatus == FeatureStatus::ForceEnabled;
+}
+
+} // namespace gfx
+} // namespace mozilla
--- a/gfx/src/gfxTelemetry.h
+++ b/gfx/src/gfxTelemetry.h
@@ -1,61 +1,61 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#ifndef gfx_src_gfxTelemetry_h__
-#define gfx_src_gfxTelemetry_h__
-
-namespace mozilla {
-namespace gfx {
-
-// Describes the status of a graphics feature, in terms of whether or not we've
-// attempted to initialize the feature, and if so, whether or not it succeeded
-// (and if not, why).
-enum class FeatureStatus
-{
-  // This feature has not been requested.
-  Unused,
-
-  // This feature is unavailable due to Safe Mode, not being included with
-  // the operating system, or a dependent feature being disabled.
-  Unavailable,
-
-  // This feature crashed immediately when we tried to initialize it, but we
-  // were able to recover via SEH (or something similar).
-  CrashedInHandler,
-
-  // This feature was blocked for reasons outside the blacklist, such as a
-  // runtime test failing.
-  Blocked,
-
-  // This feature has been blocked by the graphics blacklist.
-  Blacklisted,
-
-  // This feature was attempted but failed to activate.
-  Failed,
-
-  // This feature was explicitly disabled by the user.
-  Disabled,
-
-  // This feature is available for use.
-  Available,
-
-  // This feature was explicitly force-enabled by the user.
-  ForceEnabled,
-
-  // This feature was disabled due to the startup crash guard.
-  CrashedOnStartup,
-
-  // This feature was attempted but later determined to be broken.
-  Broken
-};
-
-const char* FeatureStatusToString(FeatureStatus aStatus);
-bool IsFeatureStatusFailure(FeatureStatus aStatus);
-bool IsFeatureStatusSuccess(FeatureStatus aStatus);
-
-} // namespace gfx
-} // namespace mozilla
-
-#endif // gfx_src_gfxTelemetry_h__
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#ifndef gfx_src_gfxTelemetry_h__
+#define gfx_src_gfxTelemetry_h__
+
+namespace mozilla {
+namespace gfx {
+
+// Describes the status of a graphics feature, in terms of whether or not we've
+// attempted to initialize the feature, and if so, whether or not it succeeded
+// (and if not, why).
+enum class FeatureStatus
+{
+  // This feature has not been requested.
+  Unused,
+
+  // This feature is unavailable due to Safe Mode, not being included with
+  // the operating system, or a dependent feature being disabled.
+  Unavailable,
+
+  // This feature crashed immediately when we tried to initialize it, but we
+  // were able to recover via SEH (or something similar).
+  CrashedInHandler,
+
+  // This feature was blocked for reasons outside the blacklist, such as a
+  // runtime test failing.
+  Blocked,
+
+  // This feature has been blocked by the graphics blacklist.
+  Blacklisted,
+
+  // This feature was attempted but failed to activate.
+  Failed,
+
+  // This feature was explicitly disabled by the user.
+  Disabled,
+
+  // This feature is available for use.
+  Available,
+
+  // This feature was explicitly force-enabled by the user.
+  ForceEnabled,
+
+  // This feature was disabled due to the startup crash guard.
+  CrashedOnStartup,
+
+  // This feature was attempted but later determined to be broken.
+  Broken
+};
+
+const char* FeatureStatusToString(FeatureStatus aStatus);
+bool IsFeatureStatusFailure(FeatureStatus aStatus);
+bool IsFeatureStatusSuccess(FeatureStatus aStatus);
+
+} // namespace gfx
+} // namespace mozilla
+
+#endif // gfx_src_gfxTelemetry_h__
--- a/gfx/vr/osvr/Util/ClientCallbackTypesC.h
+++ b/gfx/vr/osvr/Util/ClientCallbackTypesC.h
@@ -1,140 +1,140 @@
-/** @file
-    @brief Header
-
-    Must be c-safe!
-
-    GENERATED - do not edit by hand!
-
-    @date 2014
-
-    @author
-    Sensics, Inc.
-    <http://sensics.com/osvr>
-*/
-
-/*
-// Copyright 2014 Sensics, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-*/
-
-#ifndef INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
-#define INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
-
-/* Internal Includes */
-#include <osvr/Util/ClientReportTypesC.h>
-#include <osvr/Util/ImagingReportTypesC.h>
-#include <osvr/Util/ReturnCodesC.h>
-#include <osvr/Util/TimeValueC.h>
-
-/* Library/third-party includes */
-/* none */
-
-/* Standard includes */
-/* none */
-
-OSVR_EXTERN_C_BEGIN
-
-/** @addtogroup ClientKit
-    @{
-*/
-
-/** @name Report callback types
-    @{
-*/
-
-/* generated file - do not edit! */
-/** @brief C function type for a Pose callback */
-typedef void (*OSVR_PoseCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_PoseReport *report);
-/** @brief C function type for a Position callback */
-typedef void (*OSVR_PositionCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_PositionReport *report);
-/** @brief C function type for a Orientation callback */
-typedef void (*OSVR_OrientationCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_OrientationReport *report);
-/** @brief C function type for a Velocity callback */
-typedef void (*OSVR_VelocityCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_VelocityReport *report);
-/** @brief C function type for a LinearVelocity callback */
-typedef void (*OSVR_LinearVelocityCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_LinearVelocityReport *report);
-/** @brief C function type for a AngularVelocity callback */
-typedef void (*OSVR_AngularVelocityCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_AngularVelocityReport *report);
-/** @brief C function type for a Acceleration callback */
-typedef void (*OSVR_AccelerationCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_AccelerationReport *report);
-/** @brief C function type for a LinearAcceleration callback */
-typedef void (*OSVR_LinearAccelerationCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_LinearAccelerationReport *report);
-/** @brief C function type for a AngularAcceleration callback */
-typedef void (*OSVR_AngularAccelerationCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_AngularAccelerationReport *report);
-/** @brief C function type for a Button callback */
-typedef void (*OSVR_ButtonCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_ButtonReport *report);
-/** @brief C function type for a Analog callback */
-typedef void (*OSVR_AnalogCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_AnalogReport *report);
-/** @brief C function type for a Imaging callback */
-typedef void (*OSVR_ImagingCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_ImagingReport *report);
-/** @brief C function type for a Location2D callback */
-typedef void (*OSVR_Location2DCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_Location2DReport *report);
-/** @brief C function type for a Direction callback */
-typedef void (*OSVR_DirectionCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_DirectionReport *report);
-/** @brief C function type for a EyeTracker2D callback */
-typedef void (*OSVR_EyeTracker2DCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_EyeTracker2DReport *report);
-/** @brief C function type for a EyeTracker3D callback */
-typedef void (*OSVR_EyeTracker3DCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_EyeTracker3DReport *report);
-/** @brief C function type for a EyeTrackerBlink callback */
-typedef void (*OSVR_EyeTrackerBlinkCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_EyeTrackerBlinkReport *report);
-/** @brief C function type for a NaviVelocity callback */
-typedef void (*OSVR_NaviVelocityCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_NaviVelocityReport *report);
-/** @brief C function type for a NaviPosition callback */
-typedef void (*OSVR_NaviPositionCallback)(void *userdata,
-                                     const struct OSVR_TimeValue *timestamp,
-                                     const struct OSVR_NaviPositionReport *report);
-
-/** @} */
-
-/** @} */
-
-OSVR_EXTERN_C_END
-
-#endif
+/** @file
+    @brief Header
+
+    Must be c-safe!
+
+    GENERATED - do not edit by hand!
+
+    @date 2014
+
+    @author
+    Sensics, Inc.
+    <http://sensics.com/osvr>
+*/
+
+/*
+// Copyright 2014 Sensics, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+*/
+
+#ifndef INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
+#define INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
+
+/* Internal Includes */
+#include <osvr/Util/ClientReportTypesC.h>
+#include <osvr/Util/ImagingReportTypesC.h>
+#include <osvr/Util/ReturnCodesC.h>
+#include <osvr/Util/TimeValueC.h>
+
+/* Library/third-party includes */
+/* none */
+
+/* Standard includes */
+/* none */
+
+OSVR_EXTERN_C_BEGIN
+
+/** @addtogroup ClientKit
+    @{
+*/
+
+/** @name Report callback types
+    @{
+*/
+
+/* generated file - do not edit! */
+/** @brief C function type for a Pose callback */
+typedef void (*OSVR_PoseCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_PoseReport *report);
+/** @brief C function type for a Position callback */
+typedef void (*OSVR_PositionCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_PositionReport *report);
+/** @brief C function type for a Orientation callback */
+typedef void (*OSVR_OrientationCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_OrientationReport *report);
+/** @brief C function type for a Velocity callback */
+typedef void (*OSVR_VelocityCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_VelocityReport *report);
+/** @brief C function type for a LinearVelocity callback */
+typedef void (*OSVR_LinearVelocityCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_LinearVelocityReport *report);
+/** @brief C function type for a AngularVelocity callback */
+typedef void (*OSVR_AngularVelocityCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_AngularVelocityReport *report);
+/** @brief C function type for a Acceleration callback */
+typedef void (*OSVR_AccelerationCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_AccelerationReport *report);
+/** @brief C function type for a LinearAcceleration callback */
+typedef void (*OSVR_LinearAccelerationCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_LinearAccelerationReport *report);
+/** @brief C function type for a AngularAcceleration callback */
+typedef void (*OSVR_AngularAccelerationCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_AngularAccelerationReport *report);
+/** @brief C function type for a Button callback */
+typedef void (*OSVR_ButtonCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_ButtonReport *report);
+/** @brief C function type for a Analog callback */
+typedef void (*OSVR_AnalogCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_AnalogReport *report);
+/** @brief C function type for a Imaging callback */
+typedef void (*OSVR_ImagingCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_ImagingReport *report);
+/** @brief C function type for a Location2D callback */
+typedef void (*OSVR_Location2DCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_Location2DReport *report);
+/** @brief C function type for a Direction callback */
+typedef void (*OSVR_DirectionCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_DirectionReport *report);
+/** @brief C function type for a EyeTracker2D callback */
+typedef void (*OSVR_EyeTracker2DCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_EyeTracker2DReport *report);
+/** @brief C function type for a EyeTracker3D callback */
+typedef void (*OSVR_EyeTracker3DCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_EyeTracker3DReport *report);
+/** @brief C function type for a EyeTrackerBlink callback */
+typedef void (*OSVR_EyeTrackerBlinkCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_EyeTrackerBlinkReport *report);
+/** @brief C function type for a NaviVelocity callback */
+typedef void (*OSVR_NaviVelocityCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_NaviVelocityReport *report);
+/** @brief C function type for a NaviPosition callback */
+typedef void (*OSVR_NaviPositionCallback)(void *userdata,
+                                     const struct OSVR_TimeValue *timestamp,
+                                     const struct OSVR_NaviPositionReport *report);
+
+/** @} */
+
+/** @} */
+
+OSVR_EXTERN_C_END
+
+#endif
--- a/gfx/vr/osvr/Util/PlatformConfig.h
+++ b/gfx/vr/osvr/Util/PlatformConfig.h
@@ -1,88 +1,88 @@
-/** @file
-    @brief Auto-configured header
-
-    If this filename ends in `.h`, don't edit it: your edits will
-    be lost next time this file is regenerated!
-
-    Must be c-safe!
-
-    @date 2014
-
-    @author
-    Sensics, Inc.
-    <http://sensics.com/osvr>
-*/
-
-/*
-// Copyright 2014 Sensics, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-*/
-
-#ifndef INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
-#define INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
-
-/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
-    @brief Does the system have struct timeval in <winsock2.h>?
-*/
-#define OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
-
-/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H
-    @brief Does the system have struct timeval in <sys/time.h>?
-*/
-
-/*
-    MinGW and similar environments have both winsock and sys/time.h, so
-    we hide this define for disambiguation at the top level.
-*/
-#ifndef OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
-/* #undef OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H */
-#endif
-
-#if defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H) ||                         \
-    defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H)
-#define OSVR_HAVE_STRUCT_TIMEVAL
-#endif
-
-/**
- * Platform-specific variables.
- *
- * Prefer testing for specific compiler or platform features instead of relying
- * on these variables.
- *
- */
-//@{
-/* #undef OSVR_AIX */
-/* #undef OSVR_ANDROID */
-/* #undef OSVR_BSDOS */
-/* #undef OSVR_FREEBSD */
-/* #undef OSVR_HPUX */
-/* #undef OSVR_IRIX */
-/* #undef OSVR_LINUX */
-/* #undef OSVR_KFREEBSD */
-/* #undef OSVR_NETBSD */
-/* #undef OSVR_OPENBSD */
-/* #undef OSVR_OFS1 */
-/* #undef OSVR_SCO_SV */
-/* #undef OSVR_UNIXWARE */
-/* #undef OSVR_XENIX */
-/* #undef OSVR_SUNOS */
-/* #undef OSVR_TRU64 */
-/* #undef OSVR_ULTRIX */
-/* #undef OSVR_CYGWIN */
-/* #undef OSVR_MACOSX */
-#define OSVR_WINDOWS
-//@}
-
-#endif
-
+/** @file
+    @brief Auto-configured header
+
+    If this filename ends in `.h`, don't edit it: your edits will
+    be lost next time this file is regenerated!
+
+    Must be c-safe!
+
+    @date 2014
+
+    @author
+    Sensics, Inc.
+    <http://sensics.com/osvr>
+*/
+
+/*
+// Copyright 2014 Sensics, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+*/
+
+#ifndef INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
+#define INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
+
+/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
+    @brief Does the system have struct timeval in <winsock2.h>?
+*/
+#define OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
+
+/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H
+    @brief Does the system have struct timeval in <sys/time.h>?
+*/
+
+/*
+    MinGW and similar environments have both winsock and sys/time.h, so
+    we hide this define for disambiguation at the top level.
+*/
+#ifndef OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
+/* #undef OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H */
+#endif
+
+#if defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H) ||                         \
+    defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H)
+#define OSVR_HAVE_STRUCT_TIMEVAL
+#endif
+
+/**
+ * Platform-specific variables.
+ *
+ * Prefer testing for specific compiler or platform features instead of relying
+ * on these variables.
+ *
+ */
+//@{
+/* #undef OSVR_AIX */
+/* #undef OSVR_ANDROID */
+/* #undef OSVR_BSDOS */
+/* #undef OSVR_FREEBSD */
+/* #undef OSVR_HPUX */
+/* #undef OSVR_IRIX */
+/* #undef OSVR_LINUX */
+/* #undef OSVR_KFREEBSD */
+/* #undef OSVR_NETBSD */
+/* #undef OSVR_OPENBSD */
+/* #undef OSVR_OFS1 */
+/* #undef OSVR_SCO_SV */
+/* #undef OSVR_UNIXWARE */
+/* #undef OSVR_XENIX */
+/* #undef OSVR_SUNOS */
+/* #undef OSVR_TRU64 */
+/* #undef OSVR_ULTRIX */
+/* #undef OSVR_CYGWIN */
+/* #undef OSVR_MACOSX */
+#define OSVR_WINDOWS
+//@}
+
+#endif
+