#if 0 // // Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // // Buffer Definitions: // // cbuffer Constants // { // // float scRGB_output; // Offset: 0 Size: 4 // float texture_type; // Offset: 4 Size: 4 // float input_type; // Offset: 8 Size: 4 // float color_scale; // Offset: 12 Size: 4 // float tonemap_method; // Offset: 16 Size: 4 // float tonemap_factor1; // Offset: 20 Size: 4 // float tonemap_factor2; // Offset: 24 Size: 4 // float sdr_white_point; // Offset: 28 Size: 4 // float4 Yoffset; // Offset: 32 Size: 16 // float4 Rcoeff; // Offset: 48 Size: 16 // float4 Gcoeff; // Offset: 64 Size: 16 // float4 Bcoeff; // Offset: 80 Size: 16 // // } // // // Resource Bindings: // // Name Type Format Dim HLSL Bind Count // ------------------------------ ---------- ------- ----------- -------------- ------ // sampler0 sampler NA NA s0 1 // texture0 texture float4 2d t0 1 // texture1 texture float4 2d t1 1 // texture2 texture float4 2d t2 1 // Constants 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 // COLOR 0 xyzw 2 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer CB0[6], 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_input_ps linear v1.xy dcl_input_ps linear v2.xyzw dcl_output o0.xyzw dcl_temps 7 eq r0.xyzw, cb0[0].yzzz, l(0.000000, 3.000000, 2.000000, 1.000000) if_nz r0.x mov r1.xyzw, l(1.000000,1.000000,1.000000,1.000000) else eq r0.x, cb0[0].y, l(1.000000) if_nz r0.x sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v1.xyxx, t0.xyzw, s0 else eq r0.x, cb0[0].y, l(2.000000) if_nz r0.x sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zxyw, s0 add r2.xyz, r2.xyzx, cb0[2].xyzx dp3 r1.x, r2.xyzx, cb0[3].xyzx dp3 r1.y, r2.xyzx, cb0[4].xyzx dp3 r1.z, r2.xyzx, cb0[5].xyzx else eq r0.x, cb0[0].y, l(3.000000) if_nz r0.x sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zyxw, s0 add r2.xyz, r2.xyzx, cb0[2].xyzx dp3 r1.x, r2.xyzx, cb0[3].xyzx dp3 r1.y, r2.xyzx, cb0[4].xyzx dp3 r1.z, r2.xyzx, cb0[5].xyzx else eq r0.x, cb0[0].y, l(4.000000) if_nz r0.x sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.y, v1.xyxx, t1.yxzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.z, v1.xyxx, t2.yzxw, s0 add r2.xyz, r2.xyzx, cb0[2].xyzx dp3 r1.x, r2.xyzx, cb0[3].xyzx dp3 r1.y, r2.xyzx, cb0[4].xyzx dp3 r1.z, r2.xyzx, cb0[5].xyzx else mov r1.xyz, l(1.000000,0,0,0) endif endif endif mov r1.w, l(1.000000) endif endif log r2.xyz, |r1.xyzx| mul r2.xyz, r2.xyzx, l(0.012683, 0.012683, 0.012683, 0.000000) exp r2.xyz, r2.xyzx add r3.xyz, r2.xyzx, l(-0.835938, -0.835938, -0.835938, 0.000000) max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) mad r2.xyz, -r2.xyzx, l(18.687500, 18.687500, 18.687500, 0.000000), l(18.851562, 18.851562, 18.851562, 0.000000) div r2.xyz, r3.xyzx, r2.xyzx log r2.xyz, |r2.xyzx| mul r2.xyz, r2.xyzx, l(6.277395, 6.277395, 6.277395, 0.000000) exp r2.xyz, r2.xyzx mul r2.xyz, r2.xyzx, l(10000.000000, 10000.000000, 10000.000000, 0.000000) div r2.xyz, r2.xyzx, cb0[1].wwww movc r2.xyz, r0.yyyy, r2.xyzx, r1.xyzx ne r0.x, cb0[1].x, l(0.000000) mul r3.xyz, r2.xyzx, cb0[1].yyyy eq r4.xy, cb0[1].xxxx, l(1.000000, 2.000000, 0.000000, 0.000000) dp3 r5.x, l(0.627404, 0.329283, 0.043313, 0.000000), r2.xyzx dp3 r5.y, l(0.069097, 0.919541, 0.011362, 0.000000), r2.xyzx dp3 r5.z, l(0.016391, 0.088013, 0.895595, 0.000000), r2.xyzx movc r5.xyz, r0.zzzz, r5.xyzx, r2.xyzx max r2.w, r5.z, r5.y max r2.w, r2.w, r5.x lt r3.w, l(0.000000), r2.w mad r4.zw, cb0[1].yyyz, r2.wwww, l(0.000000, 0.000000, 1.000000, 1.000000) div r2.w, r4.z, r4.w mul r6.xyz, r2.wwww, r5.xyzx movc r5.xyz, r3.wwww, r6.xyzx, r5.xyzx dp3 r6.x, l(1.660496, -0.587656, -0.072840, 0.000000), r5.xyzx dp3 r6.y, l(-0.124547, 1.132895, -0.008348, 0.000000), r5.xyzx dp3 r6.z, l(-0.018154, -0.100597, 1.118751, 0.000000), r5.xyzx movc r5.xyz, r0.zzzz, r6.xyzx, r5.xyzx movc r4.yzw, r4.yyyy, r5.xxyz, r2.xxyz movc r3.xyz, r4.xxxx, r3.xyzx, r4.yzwy movc r2.xyz, r0.xxxx, r3.xyzx, r2.xyzx if_nz r0.w ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x if_nz r0.x ge r3.xyz, l(0.040450, 0.040450, 0.040450, 0.000000), r2.xyzx mul r4.xyz, r2.xyzx, l(0.077399, 0.077399, 0.077399, 0.000000) add r5.xyz, r2.xyzx, l(0.055000, 0.055000, 0.055000, 0.000000) mul r5.xyz, |r5.xyzx|, l(0.947867, 0.947867, 0.947867, 0.000000) log r5.xyz, r5.xyzx mul r5.xyz, r5.xyzx, l(2.400000, 2.400000, 2.400000, 0.000000) exp r5.xyz, r5.xyzx movc r2.xyz, r3.xyzx, r4.xyzx, r5.xyzx endif mul r1.xyz, r2.xyzx, cb0[0].wwww else if_nz r0.z mul r1.xyz, r2.xyzx, cb0[0].wwww ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x if_z r0.x ge r0.xzw, l(0.003131, 0.000000, 0.003131, 0.003131), r1.xxyz mul r3.xyz, r1.xyzx, l(12.920000, 12.920000, 12.920000, 0.000000) log r4.xyz, |r1.xyzx| mul r4.xyz, r4.xyzx, l(0.416667, 0.416667, 0.416667, 0.000000) exp r4.xyz, r4.xyzx mad r4.xyz, r4.xyzx, l(1.055000, 1.055000, 1.055000, 0.000000), l(-0.055000, -0.055000, -0.055000, 0.000000) movc_sat r1.xyz, r0.xzwx, r3.xyzx, r4.xyzx endif else if_nz r0.y dp3 r0.x, l(1.660496, -0.587656, -0.072840, 0.000000), r2.xyzx dp3 r0.y, l(-0.124547, 1.132895, -0.008348, 0.000000), r2.xyzx dp3 r0.z, l(-0.018154, -0.100597, 1.118751, 0.000000), r2.xyzx mul r1.xyz, r0.xyzx, cb0[0].wwww ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x if_z r0.x ge r0.xyz, l(0.003131, 0.003131, 0.003131, 0.000000), r1.xyzx mul r3.xyz, r1.xyzx, l(12.920000, 12.920000, 12.920000, 0.000000) log r4.xyz, |r1.xyzx| mul r4.xyz, r4.xyzx, l(0.416667, 0.416667, 0.416667, 0.000000) exp r4.xyz, r4.xyzx mad r4.xyz, r4.xyzx, l(1.055000, 1.055000, 1.055000, 0.000000), l(-0.055000, -0.055000, -0.055000, 0.000000) movc_sat r1.xyz, r0.xyzx, r3.xyzx, r4.xyzx endif else mul r1.xyz, r2.xyzx, cb0[0].wwww endif endif endif mul o0.xyzw, r1.xyzw, v2.xyzw ret // Approximately 126 instruction slots used #endif const BYTE g_main[] = { 68, 88, 66, 67, 154, 200, 28, 25, 30, 140, 0, 183, 251, 32, 6, 185, 210, 29, 251, 110, 1, 0, 0, 0, 64, 20, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, 80, 4, 0, 0, 196, 4, 0, 0, 248, 4, 0, 0, 164, 19, 0, 0, 82, 68, 69, 70, 20, 4, 0, 0, 1, 0, 0, 0, 12, 1, 0, 0, 5, 0, 0, 0, 60, 0, 0, 0, 0, 5, 255, 255, 0, 1, 0, 0, 233, 3, 0, 0, 82, 68, 49, 49, 60, 0, 0, 0, 24, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 36, 0, 0, 0, 12, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 1, 0, 0, 0, 13, 0, 0, 0, 238, 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, 247, 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, 0, 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, 1, 0, 0, 0, 115, 97, 109, 112, 108, 101, 114, 48, 0, 116, 101, 120, 116, 117, 114, 101, 48, 0, 116, 101, 120, 116, 117, 114, 101, 49, 0, 116, 101, 120, 116, 117, 114, 101, 50, 0, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 171, 171, 0, 1, 0, 0, 12, 0, 0, 0, 36, 1, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 60, 3, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 73, 3, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 84, 3, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 96, 3, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 3, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 127, 3, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 143, 3, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 24, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 159, 3, 0, 0, 32, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 176, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 212, 3, 0, 0, 48, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 176, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 219, 3, 0, 0, 64, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 176, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 226, 3, 0, 0, 80, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 176, 3, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 115, 99, 82, 71, 66, 95, 111, 117, 116, 112, 117, 116, 0, 102, 108, 111, 97, 116, 0, 171, 0, 0, 3, 0, 1, 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, 17, 3, 0, 0, 116, 101, 120, 116, 117, 114, 101, 95, 116, 121, 112, 101, 0, 105, 110, 112, 117, 116, 95, 116, 121, 112, 101, 0, 99, 111, 108, 111, 114, 95, 115, 99, 97, 108, 101, 0, 116, 111, 110, 101, 109, 97, 112, 95, 109, 101, 116, 104, 111, 100, 0, 116, 111, 110, 101, 109, 97, 112, 95, 102, 97, 99, 116, 111, 114, 49, 0, 116, 111, 110, 101, 109, 97, 112, 95, 102, 97, 99, 116, 111, 114, 50, 0, 115, 100, 114, 95, 119, 104, 105, 116, 101, 95, 112, 111, 105, 110, 116, 0, 89, 111, 102, 102, 115, 101, 116, 0, 102, 108, 111, 97, 116, 52, 0, 171, 171, 1, 0, 3, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 3, 0, 0, 82, 99, 111, 101, 102, 102, 0, 71, 99, 111, 101, 102, 102, 0, 66, 99, 111, 101, 102, 102, 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, 49, 0, 171, 171, 171, 73, 83, 71, 78, 108, 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, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 15, 15, 0, 0, 83, 86, 95, 80, 79, 83, 73, 84, 73, 79, 78, 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, 65, 82, 71, 69, 84, 0, 171, 171, 83, 72, 69, 88, 164, 14, 0, 0, 80, 0, 0, 0, 169, 3, 0, 0, 106, 8, 0, 1, 89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 6, 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, 98, 16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0, 98, 16, 0, 3, 242, 16, 16, 0, 2, 0, 0, 0, 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0, 2, 7, 0, 0, 0, 24, 0, 0, 11, 242, 0, 16, 0, 0, 0, 0, 0, 150, 138, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 0, 64, 0, 0, 128, 63, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 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, 18, 0, 0, 1, 24, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 26, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 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, 18, 0, 0, 1, 24, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 26, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 64, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 18, 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, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 98, 0, 16, 0, 2, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 38, 125, 16, 0, 1, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 8, 18, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 16, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 8, 66, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 1, 24, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 26, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 64, 64, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 18, 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, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 98, 0, 16, 0, 2, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 102, 124, 16, 0, 1, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 8, 18, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 16, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 8, 66, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 1, 24, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 26, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 64, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 18, 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, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 34, 0, 16, 0, 2, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 22, 126, 16, 0, 1, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, 69, 0, 0, 139, 194, 0, 0, 128, 67, 85, 21, 0, 66, 0, 16, 0, 2, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 150, 124, 16, 0, 2, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 8, 18, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 16, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 8, 66, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 21, 0, 0, 1, 54, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 21, 0, 0, 1, 21, 0, 0, 1, 47, 0, 0, 6, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 128, 129, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 172, 205, 79, 60, 172, 205, 79, 60, 172, 205, 79, 60, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 0, 0, 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 0, 0, 86, 191, 0, 0, 86, 191, 0, 0, 86, 191, 0, 0, 0, 0, 52, 0, 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 16, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 2, 0, 0, 0, 2, 64, 0, 0, 0, 128, 149, 65, 0, 128, 149, 65, 0, 128, 149, 65, 0, 0, 0, 0, 2, 64, 0, 0, 0, 208, 150, 65, 0, 208, 150, 65, 0, 208, 150, 65, 0, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 47, 0, 0, 6, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 128, 129, 0, 0, 0, 2, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 107, 224, 200, 64, 107, 224, 200, 64, 107, 224, 200, 64, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 0, 64, 28, 70, 0, 64, 28, 70, 0, 64, 28, 70, 0, 0, 0, 0, 14, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 57, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 86, 133, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 11, 50, 0, 16, 0, 4, 0, 0, 0, 6, 128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 10, 18, 0, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 140, 157, 32, 63, 200, 151, 168, 62, 249, 104, 49, 61, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 10, 34, 0, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 186, 130, 141, 61, 10, 103, 107, 63, 175, 39, 58, 60, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 10, 66, 0, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 107, 70, 134, 60, 41, 64, 180, 61, 183, 69, 101, 63, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 5, 0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 5, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 50, 0, 0, 13, 194, 0, 16, 0, 4, 0, 0, 0, 86, 137, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 246, 15, 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, 14, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 6, 0, 0, 0, 246, 15, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 16, 0, 0, 10, 18, 0, 16, 0, 6, 0, 0, 0, 2, 64, 0, 0, 34, 139, 212, 63, 160, 112, 22, 191, 35, 45, 149, 189, 0, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 16, 0, 0, 10, 34, 0, 16, 0, 6, 0, 0, 0, 2, 64, 0, 0, 127, 18, 255, 189, 180, 2, 145, 63, 13, 198, 8, 188, 0, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 16, 0, 0, 10, 66, 0, 16, 0, 6, 0, 0, 0, 2, 64, 0, 0, 179, 183, 148, 188, 205, 5, 206, 189, 60, 51, 143, 63, 0, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 5, 0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 6, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 4, 0, 0, 0, 86, 5, 16, 0, 4, 0, 0, 0, 6, 9, 16, 0, 5, 0, 0, 0, 6, 9, 16, 0, 2, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 3, 0, 0, 0, 6, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 150, 7, 16, 0, 4, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 0, 0, 0, 0, 57, 0, 0, 11, 18, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, 29, 0, 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 2, 64, 0, 0, 230, 174, 37, 61, 230, 174, 37, 61, 230, 174, 37, 61, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 145, 131, 158, 61, 145, 131, 158, 61, 145, 131, 158, 61, 0, 0, 0, 0, 0, 0, 0, 10, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 174, 71, 97, 61, 174, 71, 97, 61, 174, 71, 97, 61, 0, 0, 0, 0, 56, 0, 0, 11, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 128, 129, 0, 0, 0, 5, 0, 0, 0, 2, 64, 0, 0, 111, 167, 114, 63, 111, 167, 114, 63, 111, 167, 114, 63, 0, 0, 0, 0, 47, 0, 0, 5, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 154, 153, 25, 64, 154, 153, 25, 64, 154, 153, 25, 64, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 5, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, 21, 0, 0, 1, 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 11, 18, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 3, 10, 0, 16, 0, 0, 0, 0, 0, 29, 0, 0, 10, 210, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 28, 46, 77, 59, 0, 0, 0, 0, 28, 46, 77, 59, 28, 46, 77, 59, 6, 9, 16, 0, 1, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 82, 184, 78, 65, 82, 184, 78, 65, 82, 184, 78, 65, 0, 0, 0, 0, 47, 0, 0, 6, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 128, 129, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 85, 85, 213, 62, 85, 85, 213, 62, 85, 85, 213, 62, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 50, 0, 0, 15, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 61, 10, 135, 63, 61, 10, 135, 63, 61, 10, 135, 63, 0, 0, 0, 0, 2, 64, 0, 0, 174, 71, 97, 189, 174, 71, 97, 189, 174, 71, 97, 189, 0, 0, 0, 0, 55, 32, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 134, 3, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 21, 0, 0, 1, 18, 0, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 0, 0, 0, 0, 16, 0, 0, 10, 18, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 34, 139, 212, 63, 160, 112, 22, 191, 35, 45, 149, 189, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 10, 34, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 127, 18, 255, 189, 180, 2, 145, 63, 13, 198, 8, 188, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 10, 66, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 179, 183, 148, 188, 205, 5, 206, 189, 60, 51, 143, 63, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 11, 18, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 3, 10, 0, 16, 0, 0, 0, 0, 0, 29, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 28, 46, 77, 59, 28, 46, 77, 59, 28, 46, 77, 59, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 82, 184, 78, 65, 82, 184, 78, 65, 82, 184, 78, 65, 0, 0, 0, 0, 47, 0, 0, 6, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 128, 129, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 85, 85, 213, 62, 85, 85, 213, 62, 85, 85, 213, 62, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 50, 0, 0, 15, 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 61, 10, 135, 63, 61, 10, 135, 63, 61, 10, 135, 63, 0, 0, 0, 0, 2, 64, 0, 0, 174, 71, 97, 189, 174, 71, 97, 189, 174, 71, 97, 189, 0, 0, 0, 0, 55, 32, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 21, 0, 0, 1, 18, 0, 0, 1, 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 242, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 2, 0, 0, 0, 62, 0, 0, 1, 83, 84, 65, 84, 148, 0, 0, 0, 126, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };