• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// GENERATED FILE - DO NOT EDIT.
2// Generated by gen_vk_internal_shaders.py.
3//
4// Copyright 2018 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8// shaders/gen/EtcToBc.comp.00000000.inc:
9//   Pre-generated shader for the ANGLE Vulkan back-end.
10
11#pragma once
12constexpr uint8_t kEtcToBc_comp_00000000[] = {
13    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x5c,0x09,0xb8,0x54,0xc5,
14    0x95,0xee,0x7e,0xfd,0xfa,0xae,0xdd,0x71,0x8b,0xb8,0x06,0x44,0xa2,0xa0,0x22,0xe2,
15    0x1a,0x47,0x5c,0x13,0x15,0xe3,0x44,0x51,0x1c,0x93,0x90,0x51,0x50,0x30,0x92,0xc0,
16    0x88,0x8a,0x1b,0x46,0x88,0xca,0xa2,0x06,0x67,0x54,0x02,0x2a,0xe0,0x63,0x31,0x68,
17    0x00,0x11,0xdc,0x63,0x40,0x40,0x76,0xb7,0xc4,0x05,0x5c,0x50,0x51,0xdc,0x40,0x05,
18    0x54,0x34,0xd1,0x80,0x44,0x99,0xfb,0xf7,0xff,0x9f,0x77,0xcf,0x6b,0xe1,0xfb,0x8a,
19    0xee,0xfa,0xcf,0x7f,0x4e,0x9d,0x3a,0x55,0xf7,0x54,0xdd,0xba,0xb7,0x5f,0xa9,0xa1,
20    0x5d,0x58,0x28,0x15,0x0b,0x49,0x21,0x2a,0x2c,0xae,0x16,0x6a,0xff,0x76,0x28,0x34,
21    0x14,0x8a,0xfa,0xec,0xa4,0xcf,0x63,0xf4,0x79,0x82,0x3e,0x7f,0x92,0x7d,0xa6,0x85,
22    0xa0,0xc6,0xeb,0xfa,0xb3,0xb3,0x7e,0xd6,0xe9,0xb2,0xcb,0x2f,0xe8,0x74,0xd8,0xe1,
23    0x9d,0xa1,0xff,0xbd,0x42,0xa9,0x66,0x07,0xb2,0xed,0x32,0xbb,0xe5,0xec,0xb3,0x31,
24    0x2b,0x17,0x9d,0xff,0xdb,0x01,0xc0,0xcf,0xca,0xc4,0x3d,0xb2,0x72,0x59,0x06,0x6e,
25    0x9f,0xd9,0x68,0xac,0xd9,0x2c,0x14,0x8e,0x97,0x0e,0xca,0x29,0x99,0xd6,0x72,0xba,
26    0x53,0x68,0xa7,0x4f,0xc3,0x8a,0xc2,0x1a,0x1d,0xd6,0x20,0x2c,0x72,0x58,0x49,0x58,
27    0xc5,0x61,0x8d,0xc2,0xb6,0x77,0x58,0x59,0xd8,0xf7,0x1d,0x16,0x08,0xdb,0xd5,0x61,
28    0xa1,0xb0,0x3d,0xd1,0xe7,0xcc,0xba,0xb5,0xdb,0x35,0xb3,0x8a,0x3e,0xa5,0xd9,0xf7,
29    0xdd,0x55,0xef,0xa1,0xfa,0x1e,0xe2,0xa2,0xaf,0x05,0xc9,0xf0,0x1d,0xb2,0xfd,0x54,
30    0x9f,0x93,0x39,0xb0,0x77,0x21,0x97,0xa3,0xde,0xb6,0xb9,0x5e,0x2a,0x8c,0x0a,0x72,
31    0xd9,0x73,0x41,0x4b,0x2e,0xea,0x6d,0x15,0x13,0x70,0x51,0xdf,0x4d,0xb2,0x17,0x03,
32    0xb6,0xb3,0x9b,0x64,0xff,0x4e,0xa8,0xb7,0x53,0xe6,0x35,0xfc,0x6e,0x9b,0x61,0x25,
33    0xf5,0x61,0xe7,0x8c,0x8f,0x66,0xf6,0x92,0xed,0x5d,0xb2,0x7a,0xa8,0x38,0x34,0xd4,
34    0xf0,0xc6,0x5a,0x6c,0x43,0x15,0xf0,0x63,0xf1,0x8b,0x92,0x27,0x92,0xc5,0xd2,0xdf,
35    0x5e,0xdf,0x4d,0x7f,0x07,0xc9,0xb7,0xaf,0xc5,0xba,0xa1,0xb0,0xa3,0x78,0xdf,0x17,
36    0xaf,0x51,0xbc,0x36,0xe2,0xa1,0xed,0x56,0x99,0x87,0x1d,0xd4,0x0e,0xb8,0x88,0x59,
37    0x07,0x8d,0x2d,0xea,0x87,0x88,0x87,0xfa,0x01,0xf2,0xe9,0xfc,0xac,0x1c,0xe8,0xea,
38    0xbd,0x9d,0x1c,0xdc,0xbe,0xf2,0xd9,0xe4,0xfd,0x34,0xce,0x56,0xef,0xaf,0x79,0x64,
39    0xf5,0x4b,0x35,0x37,0xac,0x3e,0x50,0xbe,0x5a,0x7d,0x90,0xfa,0x64,0xf5,0x21,0x9a,
40    0x53,0x56,0x1f,0x9a,0x95,0x36,0xae,0x3e,0x5c,0x31,0x31,0x7f,0xc6,0x48,0x7f,0xcf,
41    0xac,0x7e,0xbb,0xda,0x1a,0xe3,0xf8,0x77,0xd4,0xae,0xa9,0x42,0xa1,0x63,0x16,0x15,
42    0xc8,0xee,0x94,0x8d,0x21,0xf2,0xf5,0x0e,0xc7,0x1d,0xab,0x78,0x58,0x7d,0x9c,0x62,
43    0x6b,0xf5,0xf1,0xba,0x1e,0xcc,0xd6,0x5d,0xb2,0x35,0x56,0xdc,0xf1,0x8e,0xdb,0x54,
44    0x17,0xa7,0x09,0x1a,0x17,0xd3,0x9d,0x28,0xce,0x40,0xc9,0xc6,0x3b,0xd9,0x24,0xc9,
45    0x7a,0xcb,0x4f,0x6f,0x77,0x72,0x81,0xf3,0xd2,0xb8,0x77,0xbb,0xfe,0x4c,0x90,0xdc,
46    0xb8,0x7f,0xca,0x4a,0xe2,0xb8,0x53,0x9c,0xbf,0xfd,0x25,0x37,0xd9,0x3d,0x6a,0x6f,
47    0xac,0xec,0x78,0xd9,0xbd,0xd2,0x1b,0xb8,0x0d,0xd9,0x9f,0xe5,0xab,0xb5,0x3f,0xce,
48    0xc9,0xa6,0xd6,0xf5,0xd1,0xcb,0xa6,0xb9,0x3e,0xd6,0xcb,0xa6,0x3b,0xbd,0xb1,0x75,
49    0xb2,0xfb,0xe4,0x4b,0x6f,0x27,0xb3,0xfe,0xce,0xd0,0xf5,0x67,0xdc,0xfb,0x85,0x35,
50    0x49,0xc7,0xdb,0x99,0xe9,0xe2,0x3b,0x41,0xf1,0x30,0xd9,0x2c,0xd7,0xdf,0xb1,0xcd,
51    0xb2,0x9d,0x6a,0xf3,0xeb,0x01,0xcd,0xa1,0xbb,0x34,0x86,0x93,0x34,0x06,0x53,0x14,
52    0xc3,0x7b,0x15,0x93,0xa9,0xea,0xe3,0x74,0xf9,0x7c,0xbf,0xda,0x9c,0xa5,0xeb,0xf4,
53    0x61,0xcd,0x87,0xdb,0x9d,0xff,0x0b,0xb2,0xb2,0x35,0x2b,0xfb,0x67,0x57,0x1c,0xae,
54    0xef,0x97,0xb2,0xd2,0x3a,0x1b,0x41,0xcb,0xa9,0x81,0xe6,0x63,0xb0,0x8d,0x02,0x9b,
55    0x2b,0x24,0x07,0xbf,0x8b,0xea,0x2f,0x0b,0x83,0xfc,0x15,0xa7,0x6f,0xd7,0xcf,0x5b,
56    0x75,0xd7,0xd3,0x6a,0xc5,0x70,0x3f,0xf9,0xf0,0x81,0x72,0xc5,0x1a,0xe9,0xfa,0x5c,
57    0xb0,0x4e,0xf9,0xdc,0xea,0xeb,0xdd,0xb5,0x8e,0xfa,0x86,0xe6,0xeb,0x25,0xa8,0xe5,
58    0x9a,0x4f,0xa4,0xb3,0x5e,0x32,0xe3,0x7d,0x5a,0x97,0x13,0xbe,0xac,0xad,0x7d,0x79,
59    0x7d,0xb3,0xd6,0x38,0xab,0x17,0x8b,0x5c,0x1b,0xac,0x5e,0x29,0x22,0x2f,0xe7,0xf6,
60    0x3a,0x16,0xf3,0x9c,0x81,0x7a,0xcf,0x22,0x73,0x12,0x72,0x44,0xaf,0x22,0xfb,0x01,
61    0xcc,0xf4,0xcf,0x2b,0xa2,0x8f,0x2e,0x07,0x16,0x99,0x33,0x9b,0x73,0x60,0x91,0xeb,
62    0x8d,0xd5,0xfb,0x14,0xb9,0xde,0x76,0xcc,0xae,0x44,0xd8,0xbb,0xa0,0x98,0xcf,0xc7,
63    0xc9,0xca,0x69,0xb0,0x09,0x3b,0xd0,0xed,0x53,0x64,0xfc,0x2f,0x2c,0x72,0xcc,0xa1,
64    0x83,0x98,0x20,0xa6,0x93,0x8a,0x9c,0xa3,0x56,0x0c,0x9f,0x5c,0xe4,0x7c,0xb0,0x62,
65    0x6d,0xaf,0x29,0x72,0x77,0x60,0xf5,0x8f,0xb4,0xe8,0x5b,0xfd,0xb8,0x06,0xae,0x59,
66    0x56,0xff,0x69,0x56,0xdf,0xd1,0xd5,0x2f,0xca,0xea,0x55,0xc5,0x62,0xcf,0x12,0x73,
67    0x67,0xcf,0x9a,0x3f,0xe5,0xda,0xf7,0x1f,0x94,0x38,0xf7,0x39,0xe7,0x89,0xb5,0x2e,
68    0xf1,0x3a,0xd9,0xec,0xec,0xb4,0xc9,0xb0,0x1f,0x38,0xce,0x5e,0x25,0x5e,0x5f,0xc0,
69    0x8d,0xd3,0xb6,0x84,0xb9,0x9c,0x73,0xf6,0x2e,0xb1,0xfd,0xb6,0x8e,0xd3,0x2e,0xfb,
70    0x7e,0xb4,0xe3,0xfc,0xb0,0x44,0x9f,0xdb,0x39,0xce,0x3e,0xd9,0xf7,0x33,0x1c,0x67,
71    0xdf,0x12,0xd7,0x9d,0x7d,0x1c,0xa7,0x7d,0x89,0x6b,0xb9,0xd5,0x3b,0x88,0x63,0x3a,
72    0xfb,0x95,0xc8,0xe9,0xe0,0x74,0xf6,0xcf,0xbe,0x1f,0xe4,0x74,0x0e,0xc8,0xea,0x8f,
73    0x3b,0x9d,0x8e,0x25,0x72,0x80,0x63,0xac,0x11,0xaf,0x03,0x4b,0x8c,0x11,0x62,0x82,
74    0x3e,0xa3,0x4f,0xf0,0x19,0x3e,0xa1,0x0d,0xe8,0x60,0xac,0x3b,0x97,0x38,0xd6,0x7b,
75    0xaa,0xde,0xbd,0xc4,0xf5,0xe0,0x10,0x5d,0x9b,0xa8,0x9f,0x25,0xcc,0xea,0x3d,0x4a,
76    0xf9,0x7e,0xe0,0x57,0xfa,0xee,0xaf,0xd5,0xf3,0x4b,0xf9,0x75,0x81,0xfa,0xc0,0x52,
77    0xbe,0x96,0x0f,0x29,0x91,0xdb,0xe8,0xe4,0x43,0x4b,0x5c,0x9b,0x91,0xd7,0x20,0x1f,
78    0x56,0xe2,0xf5,0x8d,0xf1,0x1e,0x23,0xb9,0x71,0x47,0x94,0x98,0x7b,0x50,0xc7,0x1e,
79    0x61,0x3e,0xb7,0xa1,0xcd,0xf5,0x27,0x6b,0xf5,0xeb,0x8e,0xb3,0xfa,0x22,0xca,0x8f,
80    0xb7,0xfa,0xe2,0x5a,0xfd,0xf8,0xe3,0xcd,0xde,0x33,0x25,0xee,0x23,0x76,0xcd,0xea,
81    0xd5,0x46,0x5e,0x3f,0x25,0x67,0xef,0xd4,0xda,0x9e,0xee,0xda,0x13,0xad,0x7e,0x7a,
82    0x56,0xbf,0xb1,0xd5,0xb8,0x63,0xad,0xde,0x2d,0xab,0xff,0xe9,0xa4,0x56,0xcd,0xed,
83    0x9d,0x91,0xd5,0x5f,0x19,0xf4,0xf1,0x31,0xb8,0x3e,0x60,0xeb,0xcc,0x46,0xea,0x80,
84    0x07,0x99,0xf1,0x7a,0x65,0xdf,0x2f,0xde,0xb1,0x74,0x5c,0x17,0xc5,0x10,0xfb,0xc5,
85    0xa2,0x6b,0x77,0x74,0xad,0xdd,0x77,0x9a,0xfd,0x1c,0x9b,0xd5,0x2f,0xfd,0xf9,0x61,
86    0x0d,0x56,0x9f,0xdb,0x98,0xef,0x3f,0xc0,0xff,0x38,0xab,0x6f,0xde,0xb4,0xe9,0x18,
87    0xab,0xaf,0xcb,0xea,0xdf,0xfc,0x7b,0xf0,0xb1,0xe6,0xc7,0xfa,0x46,0x72,0xd6,0xe9,
88    0x13,0x63,0xd1,0xa6,0xcc,0x6b,0xce,0xc6,0x66,0xbc,0xea,0x0d,0xb5,0xfd,0x64,0x5c,
89    0x78,0xbc,0xcc,0xb1,0x2a,0x17,0x5a,0xfe,0x2b,0xea,0x73,0x8f,0x4c,0xf3,0xaf,0x99,
90    0x10,0x3c,0xcc,0x85,0xd9,0x22,0x02,0xeb,0xa2,0xfa,0x1c,0x61,0x90,0x3f,0x55,0x66,
91    0x4e,0x8b,0x35,0x77,0x31,0xef,0x5a,0x05,0x1c,0xeb,0xd5,0x6e,0x7e,0x8f,0xc9,0xb0,
92    0xad,0xd9,0x3f,0xf8,0xf0,0x4c,0x40,0x1f,0x8a,0x75,0x3e,0x34,0xd4,0xd6,0x1c,0xda,
93    0x7d,0x56,0x7b,0x67,0x70,0xbb,0xa8,0xfe,0x5c,0x90,0xcf,0x0b,0x7c,0x7d,0x21,0xb0,
94    0x5c,0xc8,0x1c,0x8f,0x7d,0x33,0xb0,0xbe,0xda,0x2b,0x9a,0x3f,0x73,0x2a,0x9c,0x77,
95    0x3e,0xd7,0x3c,0x51,0x61,0xae,0x19,0xee,0xae,0xb9,0xb9,0x15,0xe6,0xd2,0xde,0x6e,
96    0xde,0xce,0xab,0x70,0x7e,0xfa,0x62,0x79,0x72,0xbe,0xe3,0xf7,0x76,0xf9,0xf3,0x49,
97    0x67,0x7b,0xb8,0xc3,0x17,0x54,0x98,0xc7,0xac,0x18,0xbe,0xb0,0xc2,0x75,0xc7,0x8a,
98    0xf5,0x67,0x91,0xf3,0xbb,0xa7,0xcb,0xdb,0x8b,0x2b,0xdc,0x1f,0x58,0x31,0xfe,0x92,
99    0x0a,0xd7,0x54,0x2b,0xc5,0x6c,0x2c,0xc1,0x7f,0xaf,0xc2,0xef,0x35,0x9b,0x59,0x02,
100    0x3e,0x22,0xeb,0x6f,0x83,0xae,0xd7,0x82,0xe6,0xca,0xa6,0x0c,0x29,0x2b,0x1f,0x60,
101    0x7f,0xf0,0x7c,0xcc,0x1c,0xd2,0x45,0x6b,0xc7,0x7f,0x86,0x2d,0xeb,0xe7,0xb8,0x3a,
102    0xf2,0xcd,0x65,0xae,0x8e,0xf5,0x72,0x7d,0x39,0xaf,0x63,0xfd,0xdb,0xaa,0xfa,0xbf,
103    0xb2,0xd6,0x5e,0xd2,0x38,0x6e,0xc9,0xbe,0x63,0x8e,0x2c,0x0f,0xd8,0x3e,0x3e,0x8f,
104    0xd1,0xbd,0xc1,0xeb,0x01,0x73,0x54,0xb7,0x4c,0x0b,0x7a,0x6f,0x04,0xc4,0x5e,0x0f,
105    0xf2,0xf9,0x3a,0x5c,0xe3,0xbb,0x2a,0xa0,0x1c,0xe3,0x7c,0x42,0x86,0xe1,0xda,0x7b,
106    0x2b,0x60,0x4e,0x83,0xfd,0x63,0x34,0x5f,0xde,0x0e,0x88,0x2f,0xca,0x38,0xb5,0xfd,
107    0x46,0x40,0x0c,0x7b,0x80,0xa7,0x84,0xbd,0x27,0x0c,0xf9,0xce,0xb0,0x0f,0x02,0x72,
108    0xfb,0xaa,0x4d,0x60,0x6b,0xa4,0x07,0xd9,0x99,0xc2,0x3e,0x0c,0xe8,0x4b,0x2d,0x5b,
109    0x09,0xfb,0x28,0x20,0x0e,0x7e,0xf7,0x0c,0x81,0xbf,0xad,0x2b,0xc4,0x8d,0x6b,0xed,
110    0xac,0x57,0x3b,0x6f,0xb9,0x76,0x36,0xa8,0xbe,0xde,0xb5,0xf3,0xa9,0x74,0x8b,0xae,
111    0x9d,0xcf,0x02,0xe2,0x1b,0x5c,0x3b,0x6d,0x2b,0xc4,0x5b,0x57,0xc8,0xb5,0x76,0xbe,
112    0x08,0xd8,0x4f,0xe4,0x70,0x8b,0xc5,0x3f,0x85,0x61,0xbe,0x9e,0xa1,0xb8,0x7e,0x19,
113    0x90,0x0b,0xd9,0x75,0xc2,0xfe,0x15,0xd0,0x2e,0x64,0x83,0x75,0xaf,0xb8,0x39,0x20,
114    0x8e,0xd8,0x63,0x9f,0x37,0xba,0xcc,0xbd,0x5f,0x6f,0x17,0xfb,0x31,0x65,0xe2,0x83,
115    0x95,0x0f,0x6e,0x2f,0x13,0x33,0x9d,0x3b,0xa4,0x33,0xd0,0xe9,0xdc,0x59,0x26,0x6e,
116    0x3a,0x63,0xcb,0xc4,0xce,0xd0,0xf5,0x3a,0xae,0x4c,0x3b,0xc0,0x1f,0xc8,0x30,0xe4,
117    0xba,0xbb,0xca,0xf4,0x07,0xb2,0xf1,0x99,0x1e,0x72,0x5f,0x93,0x70,0xcc,0xbd,0x89,
118    0xca,0x5d,0x5f,0x67,0x32,0xe0,0x13,0xb2,0x02,0x0c,0xf3,0x0f,0xdf,0x37,0x67,0x9f,
119    0x2f,0x69,0x3e,0x02,0x5f,0xac,0xb6,0xa6,0xc8,0x2e,0xf2,0xc6,0x53,0xc2,0xa6,0x0a,
120    0x43,0xde,0xc0,0xd8,0xc0,0xc7,0xfb,0xca,0xc4,0x0b,0x1a,0xc3,0xda,0xbd,0x41,0x99,
121    0xfd,0x82,0xcc,0x78,0x33,0xc5,0xb3,0x31,0x04,0x36,0xab,0x4c,0x2e,0x64,0xa6,0xfb,
122    0xb0,0x74,0x81,0x19,0xef,0xb1,0x32,0x71,0xd8,0x43,0xac,0x90,0x9b,0x9f,0x50,0x5e,
123    0x36,0xfb,0xf3,0xca,0xf4,0xd9,0xcf,0x91,0x05,0x8a,0xb9,0x1f,0xf7,0x85,0x65,0xe2,
124    0x18,0x77,0x8b,0xf3,0xa2,0x32,0x71,0xf3,0x61,0x71,0x99,0xf6,0x16,0x39,0xfb,0x4b,
125    0x65,0xbf,0xe0,0xfc,0x5f,0x56,0x26,0x77,0xa9,0xc6,0x15,0x6b,0xc3,0xd3,0x1a,0xd7,
126    0xe1,0x1a,0x57,0xf0,0x9e,0x11,0x6e,0x7a,0xcf,0x96,0xa9,0x0b,0xfc,0x82,0x8c,0x83,
127    0xb5,0xe7,0x39,0xf5,0xa9,0x57,0xc6,0x41,0x1e,0xfe,0x9b,0xb0,0x67,0xdd,0x9c,0x79,
128    0x5e,0xb6,0x87,0xb8,0x39,0xf3,0x42,0x99,0xf8,0x7d,0x19,0x07,0x63,0xff,0x62,0x99,
129    0x18,0xf2,0x27,0xc6,0x7f,0x85,0x1b,0x7f,0xc8,0x96,0x67,0xe5,0x55,0x8d,0x3f,0xbe,
130    0x5b,0xbe,0x79,0xa5,0xcc,0x36,0x51,0x1a,0x94,0x23,0x31,0x37,0x56,0x88,0xfb,0xaa,
131    0xe3,0xae,0x74,0x5c,0xcb,0x4d,0x9e,0x8b,0xcf,0x2f,0xc5,0x5d,0x5a,0xa1,0x6d,0xb4,
132    0xb5,0x52,0x6d,0xdb,0x75,0xbd,0x35,0xa0,0xbc,0x58,0xbb,0x06,0xb9,0xfe,0xc4,0x21,
133    0x71,0x5f,0x16,0x29,0x26,0x49,0x48,0xf9,0x30,0xe5,0x2a,0x60,0xd5,0x90,0xf8,0xbc,
134    0x4a,0x6e,0x77,0xbb,0x90,0x38,0xfe,0x2d,0x11,0xb6,0x7d,0x48,0x1c,0xfb,0x30,0xe3,
135    0xed,0x28,0x5e,0xd1,0xf1,0x76,0x0a,0x89,0x63,0xcf,0xb6,0x54,0xd8,0xf7,0x43,0xea,
136    0x43,0x66,0xba,0xad,0xa4,0xdb,0xe0,0x74,0x77,0x09,0x89,0x23,0xf6,0xa6,0xbb,0x6b,
137    0x48,0xfd,0x5d,0x9c,0xee,0xee,0xd2,0x2d,0x39,0xdd,0x3d,0x42,0xe2,0xab,0x5d,0xbb,
138    0x7b,0x86,0xd4,0xdf,0xc3,0xe9,0x36,0x84,0x8c,0x59,0xc1,0xc5,0xac,0x6d,0x48,0xdc,
139    0x17,0x8b,0xd9,0xde,0x21,0xe5,0x3e,0x66,0xfb,0x84,0xc4,0x7d,0xcc,0xda,0x87,0xc4,
140    0x7d,0xcc,0x3a,0x84,0xc4,0x7d,0xcc,0xf6,0x17,0xcf,0xc7,0xec,0x80,0x90,0xb8,0x8f,
141    0x59,0xc7,0x90,0xfa,0x07,0x38,0xdf,0x3b,0x49,0xd7,0xc7,0xec,0xa0,0x90,0xb8,0x8f,
142    0x59,0xe7,0x90,0xfa,0x07,0x39,0xdd,0x43,0xa4,0xeb,0x63,0x76,0x68,0x48,0xdc,0xc7,
143    0xec,0xb0,0x90,0xfa,0x90,0x59,0x5e,0x6f,0x0c,0x19,0x4b,0xc8,0xec,0x3a,0x59,0xad,
144    0xeb,0xa4,0xaf,0xd6,0xe8,0x77,0xdd,0x75,0x02,0xd9,0x3b,0x59,0x79,0x57,0xf3,0x19,
145    0xdf,0x9b,0xd7,0xc6,0x32,0xed,0xbc,0x55,0xc8,0x6d,0xad,0x29,0x13,0x5f,0xad,0xeb,
146    0xc0,0xf4,0xde,0xd5,0x75,0x00,0xce,0xda,0x32,0xdb,0xc4,0xb5,0xb1,0x46,0xf6,0x8f,
147    0xcd,0xda,0x5d,0xaf,0xbc,0x68,0xf6,0x07,0xc9,0x4f,0xf8,0x85,0xeb,0x1e,0x67,0x4a,
148    0xbf,0x0b,0xb9,0xbf,0x80,0xcc,0x72,0xca,0x35,0x21,0xf1,0xa7,0x94,0x53,0x06,0x87,
149    0xc4,0x90,0x77,0x16,0x0b,0x1b,0x12,0x12,0x6f,0x52,0xae,0x83,0xfd,0xdf,0x87,0xc4,
150    0x67,0xc8,0xf7,0xeb,0xc3,0x96,0x71,0xb8,0x31,0xcc,0xe3,0x00,0xd9,0xd0,0xac,0x00,
151    0x43,0x7f,0x86,0x86,0xb9,0x9f,0x23,0xc2,0xef,0xc6,0xe1,0x86,0x90,0xb8,0xc5,0xc1,
152    0xf4,0xf0,0x69,0x71,0xb8,0x29,0x64,0x9b,0x88,0xcd,0x0d,0xb2,0x8f,0x76,0x4f,0x89,
153    0xf3,0x76,0xc1,0xf9,0x43,0x56,0xc6,0x4a,0x1f,0xdf,0xbb,0x65,0xbb,0x2a,0xec,0x93,
154    0x6e,0x0e,0x39,0x9e,0x8d,0x61,0x7e,0x06,0x5f,0x74,0xfb,0x87,0xff,0x0b,0xb9,0x4f,
155    0xf9,0x7d,0x6d,0xfc,0xb9,0x4f,0xbc,0x25,0x24,0x6e,0x65,0x68,0xc6,0x05,0x7e,0x6b,
156    0xc8,0x73,0x92,0x5b,0x74,0xbd,0x00,0xbb,0x2d,0x64,0x1b,0x90,0x0d,0xd6,0x59,0xcc,
157    0xa8,0x90,0x38,0xfa,0x8e,0xfa,0x98,0x90,0xd8,0xc2,0x0a,0xdb,0x05,0x76,0x67,0x48,
158    0x9c,0x7b,0xde,0x86,0x5a,0x7f,0xe0,0x3b,0xfa,0xf0,0x5c,0xe6,0x07,0x7c,0xbb,0x4b,
159    0x31,0xc3,0x99,0xca,0x10,0xb7,0xfe,0x34,0x85,0x94,0x59,0x7d,0x92,0x78,0xcf,0x66,
160    0x5a,0xb5,0x73,0xc8,0x90,0x58,0x3f,0xed,0x31,0xcc,0xde,0x14,0xf1,0x2a,0x75,0xf6,
161    0xee,0x09,0x29,0x33,0xfd,0x69,0xd2,0x1f,0x54,0xa7,0x3f,0x43,0xfa,0x93,0x0b,0x2d,
162    0xf5,0xef,0x0f,0x29,0x33,0xfd,0x07,0xa5,0xdf,0x5f,0xfa,0xb6,0x8e,0x3d,0x12,0xd2,
163    0x77,0xf8,0x67,0xd8,0x5f,0x42,0xb6,0x3f,0xcd,0x61,0xb3,0x43,0xda,0x7c,0x30,0xcc,
164    0xe7,0xe1,0x13,0x21,0xf5,0xef,0xd7,0xdc,0x99,0x1b,0x12,0xeb,0xa8,0x75,0xab,0xab,
165    0x9b,0x0f,0x90,0xcd,0x43,0x1e,0x8c,0x18,0xd3,0x79,0x2e,0xa6,0x0b,0xd4,0x87,0x7e,
166    0x85,0x96,0x6b,0xfa,0xc2,0x90,0x32,0xe3,0x2d,0x71,0xb1,0xf7,0xbc,0xa5,0x21,0x65,
167    0x4b,0x6c,0x4d,0x0f,0x89,0x0d,0x57,0x4e,0x01,0xf6,0x54,0x48,0x7b,0xcb,0x9c,0xbd,
168    0x67,0x65,0xef,0x52,0xed,0xe1,0xcc,0xde,0x73,0x21,0x65,0xc6,0x7b,0x5e,0xbc,0x41,
169    0x75,0xbc,0x17,0x42,0xca,0x8c,0xb7,0x5c,0xbc,0xf1,0x75,0xbc,0x15,0x21,0x65,0xc6,
170    0x7b,0x55,0xbc,0xfe,0x75,0xbc,0xd7,0x42,0xca,0x8c,0xf7,0x86,0x78,0x03,0xeb,0x78,
171    0x6f,0x86,0x94,0x19,0xef,0x6d,0xf1,0xec,0xde,0xcd,0x72,0xeb,0xea,0x90,0xb2,0x26,
172    0x97,0x5b,0xdf,0x0f,0x89,0x23,0x0f,0x21,0x77,0xe1,0x1e,0x09,0xe7,0x71,0x96,0xa7,
173    0xd6,0x84,0xbc,0x6f,0x7a,0xdf,0xe5,0xa9,0xb5,0x21,0x71,0x9b,0x0b,0xeb,0x42,0xde,
174    0xf3,0x61,0xef,0x67,0x7b,0xb2,0xf5,0xca,0xcf,0xeb,0x5c,0x7e,0xd9,0x10,0x12,0x7f,
175    0xcb,0xf9,0xfe,0x49,0x48,0xdc,0xf4,0x3e,0x97,0xde,0x2c,0x97,0x3f,0xbf,0x08,0x89,
176    0xf7,0x75,0x7a,0xff,0x08,0x89,0xdb,0x78,0x7e,0x15,0xd2,0xd6,0x3f,0x94,0x7b,0xb6,
177    0xb8,0x9c,0x87,0x3c,0xbd,0x29,0xab,0x6f,0x51,0xee,0xd9,0xe4,0xd6,0x8c,0xaf,0x43,
178    0xea,0x0e,0x57,0x7e,0x33,0xce,0x16,0x97,0xdf,0x5e,0xae,0x30,0xd7,0x63,0x8e,0x82,
179    0xef,0xf5,0xbf,0x91,0xfe,0x0c,0xe5,0xda,0xdd,0xa3,0xbc,0x5d,0xc8,0xbe,0xcd,0x4a,
180    0xa0,0x39,0xfe,0xad,0xf2,0x17,0x72,0x4b,0x43,0xc4,0x39,0x88,0xb9,0xf5,0x42,0x98,
181    0xe7,0x9c,0x72,0x44,0x99,0xe5,0x9c,0xdd,0xa5,0x0b,0x1b,0x43,0xd5,0xd7,0x28,0xa2,
182    0xbf,0x5f,0x39,0x7b,0x95,0x88,0xf3,0x0a,0x73,0xe6,0x4d,0x67,0xef,0x7b,0x11,0x65,
183    0x0b,0x2a,0xf9,0x5e,0x78,0x87,0x88,0x36,0xd6,0x3a,0xfd,0x1d,0x23,0xe2,0x56,0xae,
184    0x93,0xfe,0x4e,0x11,0x6d,0x40,0x5e,0xc9,0xf2,0x35,0xb0,0x9d,0x23,0xe6,0xe7,0x03,
185    0x25,0xc7,0x19,0x2c,0xce,0x5b,0xbd,0xbf,0xf8,0x44,0xfc,0xc0,0xdf,0x58,0x61,0xbf,
186    0xd0,0x7f,0xe8,0xa2,0x2f,0xe0,0x76,0x55,0x3e,0x45,0x0e,0xb0,0x1c,0xf2,0x83,0x88,
187    0xf9,0xc6,0x72,0x48,0xeb,0x88,0x98,0xe5,0x90,0x93,0x5d,0x0e,0x81,0xac,0x4d,0x56,
188    0xc6,0xaa,0x4d,0x7c,0xb7,0x6b,0x60,0xef,0x28,0xcf,0x0d,0xfe,0x5a,0x69,0x17,0x51,
189    0x66,0xbc,0x7d,0xa3,0x3c,0xd7,0xf4,0x76,0xbc,0xf6,0x11,0x65,0x96,0x43,0x3a,0x44,
190    0xc4,0x70,0xed,0xd8,0x5c,0x3d,0x40,0xba,0xeb,0xdd,0x7d,0x69,0xc7,0x88,0xb8,0x9f,
191    0xab,0x07,0x46,0xc4,0x6d,0xae,0x76,0x8a,0x68,0xef,0x40,0xe7,0xc7,0xc1,0xb2,0xf5,
192    0x65,0x9d,0x1f,0x87,0x44,0x94,0x59,0x9b,0x87,0x8b,0x37,0xc6,0xb5,0x79,0x44,0x44,
193    0x1c,0xfb,0x2d,0xd3,0xfb,0x51,0x44,0xdc,0xda,0x3c,0x32,0xa2,0xad,0x1f,0xb9,0x36,
194    0xbb,0x44,0xf9,0x5a,0xe1,0x63,0x74,0x74,0x44,0x99,0xf1,0x8e,0x13,0x6f,0x42,0x1d,
195    0xef,0xf8,0x88,0x32,0xe3,0xfd,0x44,0xbc,0xde,0x75,0xbc,0x13,0x23,0xca,0xcc,0xdf,
196    0xae,0xe2,0x7d,0xea,0xd6,0xf8,0xd3,0x22,0xe6,0x85,0x41,0x61,0x7e,0xaf,0x77,0x7a,
197    0x44,0xee,0x69,0x51,0x3e,0x77,0xcf,0x88,0x38,0x86,0x6b,0x8a,0x39,0xd6,0x3d,0x62,
198    0x4c,0x71,0x96,0x6f,0x39,0xe9,0xac,0x88,0xdc,0xee,0x51,0x8e,0x9d,0x1d,0x11,0x3f,
199    0xd2,0xd9,0xfb,0x45,0xc4,0xfe,0x7a,0x7b,0x3d,0x22,0xf6,0xcd,0xdb,0xfb,0x55,0x44,
200    0x6e,0x0f,0x67,0xef,0x9c,0x88,0x38,0xfa,0xf7,0x80,0xe6,0xeb,0xb9,0x11,0xdb,0x81,
201    0x6c,0xba,0xe2,0xd2,0x33,0x22,0xde,0x57,0xe7,0x89,0xd6,0xbf,0xf3,0x22,0xf6,0x11,
202    0x72,0xe4,0xde,0x73,0xea,0x72,0x6f,0xef,0x88,0x67,0x54,0xe0,0x59,0xee,0xed,0x13,
203    0x11,0x37,0x1f,0xfa,0x46,0xdf,0xcd,0xbd,0xbf,0x89,0x98,0x43,0xfb,0xba,0x98,0xff,
204    0x36,0x22,0xee,0x73,0x6f,0xbf,0x88,0xb8,0xe9,0x0d,0x88,0xbe,0x9b,0x7b,0x2f,0x8e,
205    0x88,0xfb,0xf9,0x7c,0x49,0x44,0x1c,0xd7,0xe3,0x55,0x51,0xcb,0x3c,0x3b,0x30,0xab,
206    0x5f,0xa5,0xeb,0x71,0xa0,0xf3,0xf3,0x8a,0x88,0xed,0x41,0xd7,0x72,0xe7,0x95,0x11,
207    0x71,0xcb,0xbd,0xa6,0x77,0x55,0x94,0xe7,0xde,0xd7,0x94,0x7b,0x71,0x6d,0x83,0x0f,
208    0x9b,0xb6,0xcf,0xbd,0x5a,0x36,0x2d,0xf7,0x0e,0x77,0xbe,0x40,0xf6,0xbb,0xac,0x5c,
209    0x2b,0x9b,0xf8,0x6e,0xb9,0xee,0xf7,0x1a,0xf3,0xe3,0x35,0x76,0x68,0x7b,0xb8,0x78,
210    0xd7,0x3a,0xde,0x30,0xcd,0xb5,0x4e,0x9a,0x33,0x9e,0x37,0xdc,0xe5,0xb7,0xa7,0x2a,
211    0xb4,0x89,0x36,0x86,0xa9,0x4d,0xcb,0xbf,0x37,0x45,0x94,0xfb,0xfc,0x3b,0x52,0x7d,
212    0xbe,0xc4,0xe5,0xf4,0x9b,0x95,0x5b,0x46,0xba,0xb9,0x79,0x4b,0x44,0xbc,0x8f,0xf3,
213    0xe9,0xb6,0x88,0xb8,0x15,0xcb,0xd3,0xa3,0x22,0xb6,0x75,0x9b,0xcb,0xd3,0xa3,0x5d,
214    0x9e,0x1e,0x55,0x97,0xa7,0x4f,0xb6,0xbd,0xac,0xcb,0xbd,0xe3,0x23,0xed,0xeb,0x14,
215    0xdf,0xbb,0x22,0x62,0x96,0x7b,0x4f,0x72,0xb9,0x17,0xb2,0xa6,0xac,0x74,0x96,0x9d,
216    0x26,0x97,0x07,0x26,0xe9,0xfa,0xc6,0xb3,0xb4,0xb1,0x6e,0xde,0x4c,0x8e,0x28,0x6b,
217    0xde,0xeb,0x8a,0xb7,0xb9,0xd0,0x92,0x77,0x4f,0x44,0x99,0xcd,0xcb,0xa9,0xe2,0xe1,
218    0xb9,0x96,0x71,0xa6,0x45,0xc4,0xed,0x5e,0x69,0x7a,0x44,0xac,0x4f,0x31,0xcf,0x79,
219    0xf7,0x45,0xb4,0x35,0xdd,0xb5,0x39,0xd3,0xe5,0x32,0x9f,0x67,0x67,0x45,0x94,0x19,
220    0xef,0x21,0x97,0x1b,0xfd,0xde,0xf2,0xe1,0x88,0x32,0x5b,0x17,0x1e,0x89,0x88,0xf5,
221    0x76,0x7b,0xcb,0x47,0x23,0xda,0x7b,0xc4,0xf5,0xe1,0x71,0x67,0xcf,0x6c,0xfd,0x35,
222    0x22,0x6e,0x7d,0x98,0x1d,0x11,0x3b,0xdf,0xf5,0x61,0x4e,0x44,0x7b,0xb3,0xa3,0x5c,
223    0x6f,0x7e,0xc4,0x3c,0x69,0xbe,0x2e,0x8c,0xf2,0xfd,0x9e,0xdf,0xf3,0x2f,0x8a,0x28,
224    0x33,0x5f,0x17,0x47,0xc4,0x9a,0x9c,0xaf,0x4b,0x22,0xda,0x5b,0xec,0xfa,0xfe,0x94,
225    0xf2,0xc0,0x45,0x75,0xe3,0xf7,0x74,0x44,0x99,0xf1,0x9e,0x13,0x0f,0xe3,0x3c,0xc1,
226    0xf1,0xfe,0x16,0x51,0x66,0xbc,0x17,0xc4,0xb3,0x77,0x23,0x8c,0xf7,0x62,0x44,0x99,
227    0xf1,0x56,0x88,0x87,0x7b,0x1f,0xdf,0xee,0xcb,0x11,0x65,0xc6,0x7b,0x4d,0xbc,0x19,
228    0x75,0xf3,0x66,0x65,0x44,0x99,0xf5,0xf7,0x8d,0x88,0x73,0xce,0xdf,0x3f,0xaf,0x12,
229    0x36,0xd0,0xc5,0xe0,0xad,0x88,0xdc,0x55,0x4e,0x77,0x75,0xc4,0xd8,0x78,0xdd,0x77,
230    0x85,0x79,0xdd,0xf7,0x22,0x72,0xdf,0x75,0xba,0x1f,0x44,0x8c,0x95,0xd7,0x5d,0x2b,
231    0xcc,0xeb,0x7e,0x18,0x91,0xbb,0xd6,0xe9,0x7e,0x1c,0x71,0xde,0x36,0x39,0xdd,0xf5,
232    0xc2,0xc6,0x3a,0xdd,0x0d,0x11,0xb9,0xeb,0x9d,0xee,0xa7,0x11,0x63,0xef,0x75,0x37,
233    0x0a,0xf3,0xba,0x9f,0x47,0xe4,0x6e,0x74,0xba,0xff,0x88,0x38,0x1e,0x5e,0xf7,0x4b,
234    0x61,0x5e,0xf7,0xab,0x88,0xdc,0x2f,0x9d,0xee,0xa6,0x88,0xf3,0xd4,0xf7,0xf7,0x6b,
235    0x61,0xbe,0xbf,0x5b,0x22,0x72,0xbf,0x76,0xba,0xdf,0x44,0x1c,0x5f,0xaf,0xbb,0x55,
236    0x98,0xd7,0xc5,0x7f,0xe0,0x6e,0x75,0xba,0x0d,0x31,0xc7,0xdc,0xeb,0x36,0x0a,0xf3,
237    0xba,0xe5,0x98,0x5c,0xc8,0x2c,0x8f,0xc6,0x31,0xc7,0x1d,0x71,0xdc,0xe2,0xf2,0x6b,
238    0x35,0xe6,0x98,0x22,0x46,0x50,0x1e,0xaa,0xfc,0xba,0x5d,0x4c,0x59,0xec,0x6c,0xec,
239    0x14,0x73,0x0c,0x11,0x93,0xb2,0xe3,0xee,0x1c,0x53,0x06,0xae,0xad,0xe5,0xad,0x62,
240    0x9e,0xf7,0xac,0x76,0x67,0xc8,0xbb,0xc4,0xc4,0xcd,0xde,0x6e,0x31,0x31,0x2b,0xb6,
241    0x86,0xec,0x1e,0xb3,0xfd,0xdd,0x9c,0xbd,0x3d,0x64,0xaf,0xaf,0xb3,0xb7,0x67,0x4c,
242    0xdc,0xec,0xb5,0x8e,0x89,0x59,0x31,0x7b,0x6d,0x62,0xfa,0x08,0xb9,0xad,0x1f,0xed,
243    0x62,0xb6,0xd3,0xc6,0x61,0xfb,0xc4,0xc4,0xf1,0x2c,0x70,0xb1,0xb0,0xf6,0x31,0x71,
244    0x60,0xc6,0xeb,0xa0,0xbe,0x42,0x66,0x6b,0xcf,0xfe,0x71,0xbe,0xf6,0x40,0xee,0xd7,
245    0x9e,0x93,0xb4,0x66,0x74,0x76,0xbe,0x1e,0x16,0xf3,0xdc,0xe1,0x1e,0x9d,0x2b,0xd8,
246    0x35,0x7d,0x44,0x9c,0x9f,0xfb,0x80,0x77,0x54,0xcc,0xb3,0x89,0x69,0x3a,0x7b,0x30,
247    0xbc,0x4b,0x4c,0xae,0x15,0xeb,0xeb,0xd1,0x31,0x65,0x47,0xb9,0x7e,0x1d,0x13,0xb3,
248    0x3d,0xc8,0x96,0x08,0x3b,0x3e,0x26,0x3e,0xdf,0xf5,0xf5,0x27,0xc2,0xd0,0xd7,0xa5,
249    0xc2,0x4e,0x8c,0xc9,0x85,0xcc,0xf7,0x05,0x9f,0xb6,0x1f,0xf8,0xa2,0xc2,0xfe,0x63,
250    0x4d,0xc4,0x73,0xcb,0xce,0x4e,0xb6,0xb6,0x42,0x0c,0x32,0xd8,0x82,0x0c,0xfb,0x44,
251    0xac,0xb7,0xb3,0xab,0x5c,0x73,0x5f,0xd2,0xd9,0xa2,0xe1,0x73,0x1c,0xfe,0x41,0xa1,
252    0xe5,0xfa,0x7d,0xb2,0xb3,0xfd,0x79,0x85,0x6b,0x3e,0xf6,0x26,0xf0,0xc1,0xfb,0xf4,
253    0xbe,0xda,0x85,0x6c,0xad,0x93,0xc1,0xfe,0x2b,0x15,0xee,0xb3,0x20,0x83,0x0f,0x5e,
254    0xf6,0xf7,0x0a,0xdb,0x85,0x6c,0x8e,0x64,0xfe,0xde,0xad,0xab,0x6b,0xe3,0xb3,0x0a,
255    0xef,0xf5,0x70,0xef,0x07,0x5f,0xbc,0x6f,0xab,0xd4,0x3e,0x64,0xef,0x3b,0x19,0xda,
256    0x58,0x5e,0xe1,0x3d,0x36,0x64,0xaf,0xd4,0xc9,0x9e,0x51,0xfb,0x90,0xfd,0x5d,0x32,
257    0x7f,0x16,0x77,0x8a,0x6b,0x63,0xbd,0xda,0xc0,0xd9,0x22,0x7c,0xf1,0xbe,0xbd,0x59,
258    0xe1,0x79,0x1e,0x64,0xab,0x9c,0xac,0xf6,0x9e,0x98,0xf6,0x98,0x90,0x2d,0xaf,0x93,
259    0x3d,0x5d,0x61,0xcc,0x21,0x7b,0x46,0x32,0xec,0x85,0x06,0xbb,0xbd,0x10,0x38,0xa7,
260    0x66,0xf5,0xc1,0xf2,0x09,0xdf,0x6d,0x8f,0x7a,0xba,0xe6,0xef,0xea,0x02,0xc7,0x13,
261    0x6a,0xdd,0x62,0xe2,0x4d,0x7a,0x67,0xa9,0xf9,0xde,0x26,0xe6,0x3e,0xa2,0x5b,0x9c,
262    0xef,0x0b,0xcf,0x8c,0xb9,0xa6,0x43,0x66,0xeb,0x5f,0xf7,0x98,0xeb,0xfd,0x99,0x71,
263    0xcb,0xb3,0xbb,0x9f,0xc7,0xdf,0xbd,0x17,0xf8,0x45,0xcc,0xb5,0x12,0x32,0xdb,0xd3,
264    0xff,0x32,0x26,0xee,0xef,0x05,0x7a,0xc4,0xc4,0x4d,0xef,0xdc,0xf8,0xbb,0xf7,0x02,
265    0x3d,0x63,0xe2,0xfe,0x5e,0xa0,0x57,0x4c,0xdc,0xfc,0x3d,0x5f,0xfd,0xea,0xa1,0x38,
266    0xf5,0x77,0x71,0x42,0x9c,0xfb,0x64,0xf5,0xfe,0x8a,0x53,0x9f,0x38,0xef,0xfb,0x85,
267    0x31,0x75,0x7b,0xc5,0x79,0x7f,0x7e,0x1b,0xd3,0x0e,0x30,0xbb,0x67,0xe8,0x17,0x13,
268    0xb7,0x7b,0x06,0xb3,0xd5,0xdf,0x8d,0xd9,0x47,0x15,0x8e,0x29,0xc6,0x01,0xfc,0x3e,
269    0x92,0xc1,0xe6,0xeb,0x15,0xb6,0x03,0xd9,0x85,0x92,0xe1,0xde,0x0b,0xcf,0xfe,0xf1,
270    0x6e,0xd2,0x09,0x59,0x4f,0x91,0x5f,0x07,0xc4,0x7c,0x1f,0xa0,0xbb,0xda,0xb7,0x1c,
271    0x7b,0x71,0x4c,0x99,0xf9,0x7d,0x69,0x4c,0x0c,0x76,0x2d,0x17,0x5d,0x1e,0x13,0xb7,
272    0x62,0x79,0xe7,0x8a,0x98,0xf3,0xf0,0x72,0x97,0x27,0xaf,0x74,0x79,0xf2,0x8a,0xba,
273    0x3c,0x69,0xf3,0x69,0xb0,0x9b,0xc7,0xeb,0x2a,0x9c,0xe7,0x98,0xf7,0x57,0x2a,0x96,
274    0xd6,0xef,0x0f,0xd5,0x6f,0xc8,0x10,0x03,0xc8,0xa6,0xda,0x33,0x81,0x98,0xcf,0x2a,
275    0x3e,0xd4,0xb9,0xd2,0x30,0xd9,0x1e,0x16,0xe7,0xf3,0xf2,0x89,0x2a,0x79,0x33,0xf4,
276    0xce,0x1c,0xfa,0x83,0x77,0x71,0xe6,0x0a,0xb7,0x32,0x5d,0xfd,0x9c,0x57,0xa5,0x0c,
277    0x3e,0xaf,0x73,0xcf,0x8f,0x47,0xc4,0x94,0xe1,0x9f,0x61,0x37,0x0a,0x2b,0x3a,0xec,
278    0x0f,0xc2,0x1a,0xf4,0xdc,0x0b,0xef,0x3e,0xde,0x1c,0x53,0x1f,0x7c,0xc8,0xe1,0x13,
279    0xe6,0xd1,0xe6,0xba,0x67,0x9e,0x9b,0xf0,0xdc,0x5a,0xcf,0x64,0x36,0xb9,0xe7,0x8f,
280    0xa3,0x62,0x3e,0xc3,0xf4,0xcf,0x1f,0xef,0x8a,0x89,0xfb,0x62,0xcf,0xd2,0x9a,0x62,
281    0xca,0xfd,0xb3,0xb4,0x49,0x31,0x71,0xff,0x2c,0xed,0xee,0x98,0xb8,0x7f,0x96,0xf6,
282    0xa7,0x98,0xb8,0x7f,0x96,0x76,0x8f,0x78,0xfe,0x59,0xda,0xbd,0x31,0x71,0xff,0x2c,
283    0xed,0xcf,0x31,0xf5,0x21,0x33,0xdd,0x69,0xd2,0xf5,0xcf,0xd2,0xa6,0xc7,0xc4,0xfd,
284    0xb3,0xb4,0xfb,0x62,0xea,0x4f,0x77,0xba,0xf7,0x4b,0xd7,0x3f,0x4b,0x9b,0x19,0x13,
285    0xf7,0xcf,0xd2,0x66,0xc5,0xd4,0x9f,0xe9,0x74,0xc7,0xc4,0xf9,0x73,0x5f,0x8b,0xd9,
286    0x23,0x31,0x71,0x5f,0x2c,0x66,0x8f,0xc6,0x94,0xfb,0x98,0x3d,0x1e,0x13,0xf7,0x31,
287    0x9b,0x1d,0x13,0xf7,0x31,0x9b,0x13,0x13,0xf7,0x31,0x9b,0x2b,0x9e,0x8f,0xd9,0xbc,
288    0x98,0xb8,0x8f,0xd9,0xfc,0x98,0xfa,0xf3,0x9c,0xef,0x0b,0xa4,0xeb,0x63,0xb6,0x30,
289    0x26,0xee,0x63,0xb6,0x28,0xa6,0xfe,0x42,0xa7,0xbb,0x44,0xba,0x3e,0x66,0x4b,0x63,
290    0xe2,0x3e,0x66,0xcb,0x62,0xea,0x2f,0x8d,0xf3,0xe7,0x8f,0x77,0xc4,0x8c,0xe5,0x32,
291    0xe5,0x0f,0xbc,0x1b,0x74,0x87,0xcb,0x0b,0x2b,0x94,0x9b,0x91,0x3f,0x2d,0x37,0xbe,
292    0x1c,0xf3,0xf7,0x01,0x2b,0xb4,0x8f,0xc3,0x3b,0xb6,0xaf,0xc4,0x7c,0xaf,0xa8,0xaf,
293    0x7b,0xfe,0xff,0x6a,0x4c,0xbc,0xf9,0x7e,0x27,0x26,0xd6,0x4f,0xef,0x95,0x36,0xdf,
294    0xef,0xc4,0x94,0x99,0xde,0x1b,0x75,0x7a,0x6f,0xc6,0xc4,0xea,0x9f,0x67,0xac,0x8a,
295    0x29,0x6b,0x7e,0xa7,0xa8,0x4e,0x6f,0x75,0x4c,0xac,0xfe,0xf9,0xc6,0x3b,0x31,0x65,
296    0xb6,0xd7,0x7e,0x2f,0x66,0x9f,0x86,0x14,0xf2,0xfe,0xbc,0xaf,0xfe,0xbc,0xe7,0xec,
297    0x7f,0x10,0x13,0xb7,0xfb,0xdc,0xb5,0xd2,0x1b,0xea,0x9e,0x5b,0x7d,0x18,0x93,0xb7,
298    0x36,0x6e,0x79,0xbf,0xfd,0x51,0x4c,0x99,0xc5,0x70,0x5d,0xcc,0x77,0x4a,0x57,0x38,
299    0x3f,0x36,0xc4,0xc4,0xbd,0x1f,0x9f,0xc8,0x8f,0x0d,0xce,0x8f,0x4f,0x63,0xe2,0xe6,
300    0xc7,0x46,0xe9,0x0d,0x75,0x67,0xba,0x9f,0xc7,0xe4,0x6d,0x74,0xeb,0xe5,0x17,0x31,
301    0xf1,0x16,0xcf,0x1f,0x62,0xe2,0x18,0x7b,0xbc,0x67,0xf6,0x40,0x21,0x5f,0x3b,0xbe,
302    0x8a,0xf9,0xee,0x19,0xe2,0xf5,0x91,0x5b,0x3b,0xfe,0x15,0x53,0x66,0x7d,0xd9,0x1c,
303    0xd3,0x0e,0xd6,0xcb,0x65,0x76,0xdf,0x14,0x93,0xb7,0xd9,0xcd,0xa5,0x6f,0x63,0xe2,
304    0xab,0xdc,0xda,0xb8,0x35,0xe6,0xf8,0x7f,0xab,0xb5,0xa4,0xf6,0x5e,0x77,0x92,0xaf,
305    0x25,0x5b,0x5d,0x1e,0xc7,0xbb,0x54,0xc8,0xad,0x97,0x54,0xc8,0xb9,0x39,0xce,0xdf,
306    0x05,0xb1,0x1c,0xba,0x59,0xcf,0xb5,0xc1,0xc3,0x0b,0xce,0xe0,0x60,0x6d,0x80,0xce,
307    0x26,0xbd,0x77,0x54,0x0d,0x5a,0xe6,0xe0,0x4a,0x56,0xdf,0x59,0xef,0x19,0x55,0x82,
308    0xfc,0x1c,0x69,0xbb,0x80,0xef,0xf7,0x58,0x9e,0xdf,0x31,0xa0,0xcd,0x52,0xed,0xdd,
309    0x70,0xae,0xc3,0xa7,0x24,0xf9,0xfb,0xb7,0x90,0xe3,0x3a,0xbf,0x40,0xb2,0x53,0xb7,
310    0x21,0xb3,0xfd,0xd4,0xae,0x09,0x75,0xc1,0x81,0x4f,0xad,0x93,0xdc,0x27,0xc8,0x76,
311    0xcb,0x0a,0x30,0xf8,0x84,0xef,0xcd,0xfb,0x28,0xe9,0x40,0xf7,0x62,0xbd,0x8b,0xda,
312    0x3d,0x21,0x6e,0x9c,0xb3,0x13,0xb6,0xe7,0x39,0x3f,0x4f,0x88,0xdf,0x94,0x71,0x50,
313    0xff,0x65,0x42,0x0c,0xba,0x23,0x84,0xf5,0x48,0x88,0xe3,0xdd,0x58,0x8c,0x05,0xb0,
314    0x5f,0x25,0xf6,0xde,0x2c,0xe5,0x78,0x1f,0x98,0xf2,0xa0,0x26,0xff,0xef,0x24,0x7f,
315    0xce,0x0d,0xee,0x00,0xcd,0x91,0x73,0x12,0xca,0x6c,0xec,0x7b,0x26,0xc4,0x06,0xba,
316    0x6b,0xa5,0x57,0xc2,0xf7,0x6e,0x7b,0x0a,0xc7,0x38,0x5a,0x9f,0xf1,0x89,0x71,0xac,
317    0xbd,0x9b,0x5a,0x65,0x1e,0xc3,0xd8,0xf4,0x52,0x6c,0x1e,0x56,0x1c,0xf7,0x4a,0x38,
318    0x4e,0x78,0x5f,0x17,0x71,0xec,0xe0,0xe2,0x08,0x59,0xdb,0xac,0xb4,0x97,0xcd,0xb6,
319    0x49,0x7e,0x4e,0xff,0x43,0x8d,0xcd,0x76,0x41,0x7e,0x8e,0xbd,0x4f,0xc2,0x31,0x82,
320    0xcc,0xf2,0xe8,0xbe,0x09,0xdb,0x87,0x0c,0xfe,0x75,0x90,0xad,0xf6,0x75,0xf5,0x0e,
321    0xce,0xdf,0x86,0x2a,0xf5,0xd0,0x1e,0xfc,0x06,0x77,0x96,0xfc,0x3d,0xa0,0xce,0xdf,
322    0xc3,0x9c,0xbf,0x90,0x75,0xcc,0xca,0xa1,0xb2,0xd9,0xd1,0xf9,0xd1,0x49,0x7e,0xb4,
323    0x29,0xe5,0x7d,0xe8,0xec,0xfa,0x30,0x54,0xd8,0xc1,0x09,0xdf,0xb9,0x86,0xcc,0x72,
324    0xc1,0x21,0x09,0xf5,0x0f,0x96,0xcf,0x87,0xc9,0xfe,0xa1,0x75,0xf5,0xc3,0x5c,0x1f,
325    0x1a,0xab,0xd4,0xeb,0xa8,0x3e,0x80,0x6b,0x6b,0xc6,0x11,0x09,0xfb,0x08,0xce,0x6f,
326    0x8a,0x7c,0x97,0xea,0x48,0x37,0xd7,0x8f,0x48,0xf2,0xe7,0x3a,0x18,0xfb,0xa3,0x34,
327    0x67,0x17,0x38,0xec,0x68,0xcd,0xe1,0x05,0x85,0xfc,0x1c,0xe4,0x98,0x84,0x78,0x7f,
328    0x77,0xe6,0x71,0x6c,0x42,0x7d,0xc8,0xec,0xba,0x3c,0x2e,0x21,0x6e,0xeb,0xdf,0x09,
329    0x09,0xdb,0x2f,0xb8,0xb5,0xee,0xc7,0x09,0x79,0x27,0x38,0xde,0x89,0xe2,0x15,0xdd,
330    0x7b,0x95,0x27,0x25,0xe4,0x9e,0xa8,0x58,0x54,0x95,0x07,0x90,0x0f,0x7c,0x1d,0x9f,
331    0xf6,0xde,0x58,0xb9,0x4a,0x3d,0xc4,0xab,0x95,0x72,0xc7,0x34,0xbd,0xdf,0xd8,0x3a,
332    0xe0,0x3b,0x24,0x18,0xdb,0xbd,0x5c,0x9e,0x01,0xde,0x26,0x2b,0x7b,0xc9,0x5e,0x9b,
333    0x20,0xcf,0x2b,0x7b,0xbb,0xbc,0x32,0x53,0xf3,0xa4,0x5d,0x40,0x7c,0x86,0xae,0x0b,
334    0xd3,0xdb,0x2b,0xc8,0xf7,0xc9,0x3f,0x54,0x5b,0xf0,0xad,0x9d,0xec,0xa3,0xdd,0xf6,
335    0xae,0x5d,0x70,0xf6,0xcd,0x4a,0x7b,0xe9,0xef,0xeb,0xda,0xdd,0x4f,0xed,0x16,0xdc,
336    0x3b,0x38,0xfb,0x07,0xc4,0x8d,0xd3,0x51,0x9c,0xa2,0xe3,0x1c,0x18,0x10,0x37,0xce,
337    0x41,0xe2,0x34,0x38,0x4e,0xe7,0x80,0xb8,0xbd,0xe7,0x72,0x70,0x40,0xdb,0xd0,0xed,
338    0x2c,0x3f,0x47,0x27,0x2d,0xdf,0x6b,0xba,0x1c,0xf9,0x49,0x73,0x11,0xdf,0xcf,0x55,
339    0x1e,0xbd,0xc2,0xcd,0xad,0x26,0xfd,0xae,0x0f,0x32,0xd8,0xbd,0xca,0xc9,0x0e,0x56,
340    0x8e,0x1d,0xae,0xf7,0x65,0xae,0x4e,0x28,0xc7,0xbb,0xd8,0xe6,0xd7,0x35,0x09,0xed,
341    0x99,0x5f,0x83,0x13,0x62,0x56,0xae,0x93,0xee,0x90,0x84,0xfa,0x83,0x5d,0x0e,0xbb,
342    0x36,0xe1,0x9a,0x7e,0x85,0x9b,0x8b,0xd7,0x25,0xc4,0xcd,0xde,0xf5,0x09,0x31,0x2b,
343    0x37,0xc8,0xde,0xd0,0x84,0x36,0xaf,0x4f,0xf2,0x77,0x77,0x86,0x25,0xc4,0xad,0x3e,
344    0x22,0x61,0x1f,0xec,0xfc,0xed,0xc6,0x84,0xd8,0x30,0xcd,0xcd,0xd1,0x8a,0xcd,0x4d,
345    0x4e,0x67,0xa4,0x74,0x2c,0x1e,0xff,0xbb,0x8d,0x78,0x58,0x9f,0x6e,0x49,0x28,0xc7,
346    0xbb,0xec,0xcd,0xef,0x14,0x25,0xc4,0x17,0x57,0xdc,0x3b,0x45,0x09,0x71,0xf3,0xe3,
347    0x8f,0x09,0xdb,0x19,0x55,0xe7,0xc7,0xe8,0x24,0xbf,0x9f,0x6b,0x53,0xa5,0xbf,0x18,
348    0xb7,0x3f,0x6a,0x1c,0x6d,0x7e,0xdc,0x9e,0x50,0x5e,0x28,0xe4,0xf7,0x96,0x77,0x26,
349    0xc4,0xad,0xd8,0x39,0xd7,0xd8,0x84,0x32,0xf0,0xd1,0x27,0x60,0xe3,0x5c,0x9f,0xc6,
350    0x2a,0xb7,0x5c,0xac,0xdf,0xb1,0x8e,0x4f,0x28,0xef,0xa6,0xfb,0xd0,0x26,0xe9,0xb6,
351    0xa9,0xe6,0xeb,0x12,0xe6,0xa5,0xc9,0x27,0xd6,0xc9,0x1b,0x54,0xac,0xfd,0x49,0x09,
352    0x6d,0x4c,0x4c,0xf2,0xf6,0x27,0xbb,0xf6,0x27,0xd5,0xb5,0x7f,0x77,0x42,0xf9,0xaf,
353    0x15,0xff,0x29,0xdb,0x88,0x7f,0x6f,0xc9,0xee,0xdd,0x86,0xcc,0xde,0xf7,0xfa,0x73,
354    0x42,0x5d,0x70,0x2e,0x91,0xed,0xa9,0x09,0xf1,0x33,0xb5,0x3e,0xdf,0x97,0xb0,0xbf,
355    0x76,0xef,0x09,0x6c,0x66,0x42,0x1f,0x0a,0x0e,0x9b,0x25,0xcc,0xf3,0x1e,0x92,0x6e,
356    0x83,0xc3,0x1e,0x13,0xaf,0x41,0xe3,0x82,0x36,0x17,0x26,0x6c,0x07,0x76,0x67,0x25,
357    0x39,0xbe,0x28,0xa1,0x0d,0x60,0x8f,0x09,0xc7,0xef,0x79,0x16,0xcb,0x2e,0xf4,0x16,
358    0x69,0x7e,0x2c,0xd1,0xfc,0x58,0xa2,0xf9,0x01,0xfd,0xbd,0xab,0xec,0x0f,0xe6,0xcc,
359    0x23,0xd9,0xf7,0xd7,0x25,0x83,0x1f,0x6d,0xab,0xda,0x57,0x64,0xd8,0x0b,0x49,0x2e,
360    0xab,0xfd,0x5e,0xb1,0xca,0x1c,0x08,0xd9,0x9b,0x92,0x3d,0xa4,0x1c,0xf9,0x54,0x42,
361    0x39,0xf6,0x0e,0x5f,0x65,0x31,0x5b,0x25,0xb9,0xe5,0x14,0xc8,0x9f,0xce,0xca,0x2a,
362    0xf9,0x83,0xef,0xa3,0x32,0x5d,0xf8,0xf3,0x5c,0x42,0xdf,0xe1,0xd7,0x18,0xc5,0xe3,
363    0xf9,0x84,0x38,0x8a,0xed,0x6f,0x5e,0x50,0x1c,0xdb,0x48,0x3e,0x47,0x6d,0xbf,0x24,
364    0x5f,0xe1,0x37,0x72,0xd9,0x4a,0xd7,0x2e,0x64,0xcb,0xb3,0xb2,0x52,0xed,0x2e,0x77,
365    0xfb,0xae,0x97,0x13,0xfe,0x86,0x0a,0xba,0xb7,0xc8,0x97,0xd7,0xd4,0xe6,0xcb,0x8a,
366    0x9f,0xe9,0xad,0x74,0xf1,0x43,0xcc,0x9e,0x53,0x7f,0x5e,0x93,0x7d,0x70,0x5f,0x17,
367    0xf7,0xf5,0x24,0xdf,0x53,0xbf,0xa9,0xb8,0x34,0x15,0x5a,0x8e,0x07,0xe2,0xf0,0x57,
368    0xf9,0xff,0x76,0xc2,0xb8,0x9f,0xaa,0x7d,0xc8,0x46,0xe7,0x3f,0x64,0xab,0xb3,0xf2,
369    0x8e,0xf4,0x56,0xab,0xad,0x8d,0xaa,0xbf,0xe3,0xe6,0xe4,0x7b,0x8a,0x61,0xa1,0x90,
370    0xc7,0xec,0x7d,0xc5,0xac,0x51,0x72,0xe3,0xae,0x11,0xb7,0xe8,0xb8,0x6b,0x1d,0x77,
371    0x4d,0x2d,0xee,0x9c,0x13,0x1f,0x0a,0x37,0x7b,0x6b,0x9d,0x9d,0x8f,0x65,0xa7,0xc1,
372    0xd9,0x59,0xe7,0xec,0x7c,0xec,0xec,0xac,0x77,0x76,0x60,0x73,0x9d,0x1b,0x8b,0x4f,
373    0x12,0xfe,0x4e,0x6c,0xbd,0x1b,0x8b,0xcf,0x64,0xfb,0x93,0xba,0x3e,0x6f,0x74,0x63,
374    0xd1,0xae,0xca,0xdf,0x9d,0x21,0x2e,0x9f,0x29,0x4e,0x76,0xcd,0x7e,0x91,0xd8,0xb5,
375    0xcd,0x36,0xfe,0x99,0x10,0x83,0x4e,0x9f,0x22,0x7d,0xfa,0xca,0xe5,0x81,0x7f,0x2a,
376    0x9f,0x5c,0x28,0xd9,0xa6,0x6d,0xc8,0x1e,0xd5,0x98,0x6d,0x49,0x88,0x41,0xdf,0xee,
377    0x05,0xf1,0xf7,0x08,0xf0,0xdb,0x36,0x7b,0x47,0xe3,0x9b,0x84,0xbc,0x7f,0x6b,0xdf,
378    0x66,0xba,0xf8,0xb1,0x38,0x74,0x61,0xdf,0xb8,0x0d,0x29,0x71,0xe3,0xda,0x9e,0xa8,
379    0x94,0xd2,0x0e,0xe4,0xbf,0xd6,0xfe,0xae,0x9c,0xe6,0x7e,0x41,0x3e,0xa6,0x90,0xef,
380    0xab,0xa2,0x94,0x72,0xfc,0xeb,0x51,0xe4,0x3a,0x18,0x8b,0x8f,0x58,0x40,0x6e,0xdc,
381    0x8a,0xb8,0x45,0xc7,0xad,0x3a,0x2e,0xe4,0x16,0xcb,0x1b,0x53,0xda,0x19,0xa1,0xb1,
382    0xb9,0x29,0x25,0xb6,0x5e,0xf7,0x1f,0xc0,0xfe,0x90,0xe6,0x79,0x1e,0xf2,0x8b,0xf4,
383    0x9b,0xa5,0x91,0x29,0x65,0x66,0xeb,0x96,0x94,0xed,0x98,0xad,0x5b,0x53,0x62,0xde,
384    0xd6,0x6d,0xce,0xd6,0xad,0xce,0xd6,0xa8,0x94,0x32,0x9c,0xdd,0xe2,0x1c,0xb1,0x4d,
385    0x4a,0xfb,0xc0,0xef,0xd2,0xbe,0x6f,0xaf,0x94,0x38,0xae,0xa5,0xeb,0x53,0x77,0x0f,
386    0x92,0x7d,0x6f,0x9b,0x15,0x60,0xb5,0x7b,0x10,0x17,0x8b,0xdb,0x65,0xc7,0x9f,0x2b,
387    0xdd,0x91,0x12,0xef,0xed,0xee,0xe5,0xc7,0x09,0x1b,0xee,0xf6,0xb7,0xe3,0x53,0x72,
388    0xc7,0x39,0x7b,0x4d,0xb2,0xe7,0xcf,0x9f,0x26,0xa4,0xc4,0x87,0x3b,0x7b,0x93,0x85,
389    0x0d,0x74,0xf6,0xee,0x4e,0xc9,0x9d,0xec,0xec,0x4d,0x91,0x3d,0x7f,0x26,0x75,0x4f,
390    0x4a,0xdc,0xfb,0x37,0x55,0x98,0xf7,0x6f,0x5a,0x4a,0x2e,0x64,0xb6,0x37,0x9a,0x9e,
391    0xd2,0x6f,0xb4,0x05,0xb9,0xed,0x37,0xf6,0xd1,0xd8,0x58,0xbd,0x7d,0x4a,0xae,0xed,
392    0x3f,0x3a,0xa4,0xe4,0x00,0xaf,0x68,0xff,0xb0,0x9f,0xfa,0x19,0x4a,0x6e,0xba,0x07,
393    0x68,0xce,0x98,0x6e,0xa7,0x94,0x98,0xd7,0x3d,0xc8,0xe9,0x76,0x4a,0xf3,0xb5,0xff,
394    0x90,0x94,0x76,0x21,0x9f,0xa9,0xb1,0x3e,0x34,0x25,0x8e,0xb3,0x61,0xc3,0x0e,0x17,
395    0x07,0xd8,0x99,0xba,0xbe,0x7e,0x94,0x92,0x6b,0xeb,0x30,0xb0,0xff,0x48,0xc9,0x2d,
396    0x14,0xf2,0xf3,0xeb,0xa3,0x52,0x72,0x21,0xb3,0xf3,0xea,0x2e,0x29,0x71,0x7b,0x8e,
397    0x62,0x7b,0xcb,0xa3,0x53,0xca,0x6c,0x3c,0x8e,0xd5,0x9c,0xf3,0xbf,0x69,0x3b,0x2e,
398    0x25,0x0e,0x6e,0x77,0xc5,0x79,0x64,0x85,0xf8,0xa2,0x6a,0x4b,0x7f,0x7e,0x2c,0x1f,
399    0x8b,0x0e,0x3b,0x51,0x3e,0x16,0x9d,0x8f,0x27,0xa5,0xe4,0x9e,0xe8,0x7c,0x3c,0x39,
400    0x25,0x5e,0xef,0x63,0xd7,0x94,0x32,0xf3,0xf1,0xa7,0xf2,0xd1,0xff,0xd6,0xe9,0xd4,
401    0x94,0x78,0x57,0xe7,0xe3,0xad,0x15,0xe2,0x23,0x2b,0x2d,0xfd,0x39,0x4d,0x3e,0x36,
402    0x38,0xac,0x9b,0x7c,0x6c,0x70,0x3e,0x9e,0x91,0x92,0xdb,0xcd,0xf9,0x78,0x66,0x4a,
403    0xbc,0xde,0xc7,0xee,0x29,0x65,0xe6,0xe3,0x7f,0xc9,0xc7,0x06,0xe7,0xe3,0xd9,0x29,
404    0xf1,0xee,0xce,0xc7,0x31,0x15,0xe2,0xf0,0xb5,0x41,0xef,0x66,0x9d,0xeb,0xae,0x6d,
405    0x8c,0x63,0x8f,0xac,0x9c,0xab,0x6b,0x1b,0xdf,0xed,0x3e,0xf0,0x1c,0x8d,0x31,0xd6,
406    0x10,0x93,0xe3,0xd3,0xee,0xdd,0x7a,0x6a,0x1e,0x20,0x1f,0x9c,0x23,0x3b,0xd6,0x8f,
407    0x5e,0x29,0xe5,0xf5,0xfd,0x38,0x2f,0xa5,0xcc,0xee,0xf5,0xfb,0x28,0x2f,0x9c,0xe7,
408    0x7c,0x1e,0x57,0x21,0x6e,0x63,0x5f,0x7b,0x76,0xe5,0x7c,0xc6,0xb8,0xf6,0xcd,0x4a,
409    0x7f,0xf9,0xd4,0xd7,0xf9,0xdc,0x4f,0x63,0x5e,0x7b,0x1e,0x25,0x79,0x7f,0xe7,0xf3,
410    0xff,0x68,0x5e,0xa0,0x1f,0xfd,0x64,0xc7,0x7c,0xbe,0x28,0xa5,0xbc,0xde,0xe7,0x01,
411    0x29,0x65,0xe6,0xf3,0xa5,0xca,0x3d,0x03,0x9c,0xcf,0x13,0x2b,0xc4,0xc7,0x69,0x2e,
412    0xc0,0xe7,0xab,0x9d,0xcf,0x18,0xe7,0x2b,0xb2,0x72,0xb5,0x7c,0xba,0xc2,0xf9,0x3c,
413    0x48,0x73,0x00,0x3e,0x9b,0xfc,0x6a,0xe7,0xf3,0xef,0x34,0x4f,0xd0,0x8f,0x41,0xb2,
414    0x63,0x3e,0x5f,0x93,0x52,0x5e,0xef,0xf3,0xe0,0x94,0x32,0xf3,0xf9,0x5a,0xe5,0xb7,
415    0xc1,0xce,0xe7,0x29,0x15,0xe2,0x13,0x35,0x37,0xd0,0xbe,0xe5,0xf8,0xeb,0xd5,0x3e,
416    0x78,0x1d,0xaa,0x9c,0x6b,0xd8,0x3f,0x60,0x3e,0x5d,0xed,0x64,0xed,0xab,0xcc,0xaf,
417    0x90,0x4d,0x91,0xcc,0xe6,0xe8,0xcc,0x94,0x72,0xbf,0x36,0xcc,0x4a,0x89,0x4f,0x76,
418    0x6b,0xef,0x83,0xe2,0xf9,0x9c,0xff,0x50,0x4a,0x7c,0x88,0xcb,0xc7,0x0f,0xa7,0xd4,
419    0x7f,0xc8,0xb5,0xf1,0xa8,0x74,0x1b,0x1c,0xef,0xb1,0x94,0xdc,0x47,0x1d,0x6f,0x76,
420    0xca,0x7e,0xb4,0x78,0xfe,0x91,0x12,0xf7,0xbe,0xcc,0x15,0xaf,0xc5,0xf3,0x8f,0x94,
421    0xb8,0xf7,0x65,0x7e,0x4a,0xfd,0x79,0xae,0x8d,0x05,0xd2,0xf5,0xbe,0x2c,0x4c,0xc9,
422    0x85,0xcc,0xce,0x4d,0x4f,0x0b,0xe8,0xe3,0x42,0xad,0xb5,0xdd,0xdc,0x59,0x07,0x64,
423    0xa7,0x67,0xa5,0x9b,0xce,0x3a,0xf0,0xbd,0xf9,0x8c,0x54,0xe7,0x1a,0x56,0x3f,0x5b,
424    0x67,0x18,0x56,0xff,0xa5,0x3b,0xaf,0xc0,0x5e,0xa0,0x47,0x40,0x1d,0xf0,0x20,0xb3,
425    0xfe,0x2c,0xd3,0x18,0xf8,0xf5,0xef,0x19,0x61,0x7e,0xfd,0x7b,0x36,0x25,0x17,0x32,
426    0xd3,0xfd,0xbb,0xc6,0xc5,0xaf,0xc5,0x2f,0x0a,0xf3,0x6b,0xf1,0x4b,0x29,0xb9,0x2f,
427    0x3a,0xdd,0x97,0x35,0x26,0xbe,0xdd,0xd7,0x84,0xf9,0x76,0x57,0xa6,0xe4,0xbe,0xe6,
428    0xd6,0xdd,0xd7,0x53,0xfa,0x03,0xbb,0x2b,0xdd,0x9e,0xe8,0xdc,0x80,0x32,0x6b,0xe3,
429    0x6d,0x8d,0xa9,0x6f,0xe3,0x5d,0x61,0xbe,0x8d,0xf7,0x52,0x72,0xdf,0x75,0xba,0x6b,
430    0x34,0xce,0xbe,0x6f,0x1f,0x09,0xf3,0x7d,0xfb,0x38,0x25,0xf7,0x23,0xa7,0xbb,0x41,
431    0x63,0xec,0xdb,0xfd,0x4c,0x98,0x6f,0x77,0x63,0x4a,0xee,0x67,0xae,0x6f,0x9f,0xa7,
432    0xf4,0x07,0x76,0x37,0xba,0xbe,0x9d,0x1f,0x50,0x36,0x4c,0xfb,0xbd,0x2d,0x29,0xb1,
433    0x73,0xdd,0xde,0xfc,0xdb,0x94,0xf5,0x2d,0x69,0x8e,0x15,0x2b,0xe4,0x79,0xac,0xb1,
434    0xc2,0xf9,0xb0,0x45,0xf6,0x80,0x85,0x15,0xe2,0xdf,0x3a,0x2c,0xa9,0x50,0x1f,0x98,
435    0xdd,0x63,0xa4,0x15,0x72,0x21,0xb3,0x33,0xf5,0x4a,0x25,0x3f,0x53,0x87,0x1c,0xf7,
436    0x90,0xb8,0x27,0x9c,0xae,0x7b,0x99,0xef,0xe9,0x3d,0x0e,0xfc,0x6d,0x0d,0xfc,0x3d,
437    0x0d,0x3b,0x9f,0xdf,0xae,0x42,0xdd,0xef,0x55,0xf2,0xfb,0x9e,0xed,0x2b,0xf9,0x9e,
438    0x15,0x72,0x3b,0x7f,0xdf,0xa1,0x42,0x99,0xed,0xf5,0x77,0x92,0x4d,0x3c,0xaf,0x7c,
439    0xa6,0x94,0x9f,0x69,0xed,0x5c,0x21,0x77,0xb8,0x3b,0x97,0x6f,0x55,0x21,0x7f,0xe7,
440    0x4a,0xfe,0x7e,0x82,0x5d,0x53,0xdd,0x82,0xfc,0x8c,0xf8,0x70,0x9d,0xcb,0x23,0xdf,
441    0x41,0x07,0xd7,0xdb,0x83,0xba,0x4e,0xfb,0x07,0xbc,0x46,0x1f,0xd3,0x75,0x3a,0xc0,
442    0x5d,0xa7,0x90,0x5d,0x94,0x95,0x01,0xb2,0x89,0xef,0xcb,0x34,0xc6,0x97,0x04,0xb4,
443    0xdb,0xd7,0xfd,0x76,0xef,0xb2,0x80,0x38,0xee,0x11,0x6c,0xfd,0xbf,0x3c,0x60,0x7f,
444    0x2e,0xd3,0x39,0xed,0x95,0xb2,0x85,0x4f,0xeb,0xf3,0xfc,0x2a,0x79,0x6f,0xc9,0x2e,
445    0x78,0xd6,0xe6,0x00,0xd7,0x8f,0x01,0x55,0xb6,0x89,0xbe,0x41,0x07,0x36,0xee,0xb5,
446    0x77,0xb3,0x03,0xf6,0x65,0xad,0x7e,0x8f,0x7e,0x8d,0xf4,0xaf,0x71,0xed,0x3c,0x59,
447    0x25,0xcf,0xfa,0x6b,0xf8,0x02,0xe1,0x96,0xaf,0x6c,0xbe,0x8f,0x08,0xa8,0x33,0xc8,
448    0xcd,0xed,0x1b,0x02,0xf2,0x47,0xc8,0x4f,0x3b,0xaf,0x6d,0xef,0xfc,0xfc,0x1f,0xc5,
449    0x1b,0x67,0xc0,0xf0,0xf9,0x1a,0x27,0x3b,0xd5,0xc9,0x60,0xeb,0x1a,0x9d,0xb1,0xde,
450    0x1c,0xb4,0x3c,0x63,0x1d,0x99,0xd5,0x6f,0x96,0xed,0x91,0xe2,0xdc,0x56,0x77,0x5e,
451    0x7c,0x6b,0x56,0x46,0x8b,0x73,0x6b,0x90,0xdf,0x6b,0xe2,0x6f,0xe8,0xe1,0x5e,0xd3,
452    0x9e,0x1d,0xfe,0x31,0x20,0x06,0x7f,0x6f,0x13,0x7f,0x74,0x5d,0xfd,0xb6,0x20,0x3f,
453    0xcb,0x39,0xa5,0x4a,0x1d,0xd8,0x1c,0xa3,0x36,0xec,0x59,0xd9,0x1d,0x41,0x7e,0x7f,
454    0x79,0x4a,0xb5,0xe5,0xb3,0xb2,0xb1,0x01,0xe5,0x63,0xe4,0xef,0x78,0xe7,0x2f,0x64,
455    0xe3,0xb2,0x32,0x5e,0xed,0x8d,0x73,0xcf,0xef,0x26,0x48,0x0f,0xf7,0x99,0xa8,0x4f,
456    0x54,0x1b,0x88,0xd5,0x04,0xf9,0x69,0x7a,0xe3,0x5d,0x2c,0xaf,0xaa,0x92,0x03,0xdf,
457    0x27,0xca,0x3e,0xda,0xbd,0xdb,0xb5,0x8b,0xf7,0x4f,0x26,0x67,0xf5,0xbb,0xa5,0x3f,
458    0xd9,0x9d,0x87,0x4f,0x71,0xe7,0xf9,0x36,0x87,0xef,0x09,0x88,0xdb,0x79,0xbe,0xe9,
459    0xdd,0xed,0xce,0xf3,0xef,0x0d,0xf8,0x5e,0x0b,0x7c,0x01,0x7f,0xb2,0x7c,0x9c,0x2a,
460    0xee,0x54,0x37,0xe7,0x16,0x56,0xc9,0x47,0x7f,0x30,0x2f,0xc0,0xb3,0x71,0xbd,0xd9,
461    0xf5,0xe5,0x72,0xf5,0x05,0xf3,0x08,0xfd,0x9a,0xea,0x64,0xfd,0xab,0xd4,0x85,0x6c,
462    0xa1,0x64,0xcd,0x7f,0x27,0x41,0x7f,0x7f,0x02,0xcf,0x3f,0x6d,0xde,0xde,0x1f,0x50,
463    0x07,0x32,0x3c,0xf7,0xa9,0xed,0x53,0xdc,0xb8,0xdd,0xaf,0x33,0x4d,0x3b,0x47,0x78,
464    0x30,0x60,0xfb,0xe0,0x74,0xcb,0xac,0xe2,0xfd,0x8a,0x87,0x03,0x3e,0x3f,0x81,0xcc,
465    0x7e,0xcb,0x6f,0xbf,0xd3,0x47,0x8c,0x1f,0xaf,0x7b,0x36,0xfb,0x97,0xac,0xfe,0xb8,
466    0xfa,0xf5,0x17,0x67,0x67,0x76,0x40,0x5b,0x0f,0x6f,0xc3,0x0e,0x62,0x61,0x3a,0x8f,
467    0xab,0xbf,0xd0,0x79,0xb0,0x4a,0x3e,0xe2,0x03,0x7d,0xd8,0xb3,0xf1,0x79,0x42,0xcf,
468    0x7a,0xed,0x37,0x18,0xf3,0x9c,0x1f,0x90,0xcd,0xcd,0xca,0x3c,0xd9,0x9c,0xeb,0xfe,
469    0xbe,0xc6,0xfc,0x80,0x7f,0xf7,0x60,0x86,0x7b,0xef,0xe1,0xc9,0x80,0xf8,0x0d,0xb6,
470    0xb7,0x09,0x88,0x7d,0xea,0x7f,0x03,0x1a,0x10,0x37,0x3b,0x8b,0x64,0xa7,0xc9,0xd9,
471    0x59,0x1c,0x10,0x37,0x3b,0x4b,0x02,0x62,0xde,0xce,0xd2,0x80,0xb8,0xfd,0x1d,0x8e,
472    0x65,0x01,0x6d,0x2f,0xd5,0x73,0x4d,0x60,0x4f,0x07,0xfc,0xfb,0x10,0xcb,0x74,0x2d,
473    0xe3,0xef,0xf8,0xfc,0x4d,0x7f,0xc3,0xa7,0x4f,0x56,0xc7,0x77,0x70,0x1e,0xd4,0x3c,
474    0xb2,0x7e,0xce,0x0b,0x5a,0xfe,0x0d,0x0e,0x7c,0x7e,0x93,0x45,0xf8,0xc8,0xac,0xfc,
475    0x3f,0x7c,0xcd,0xfd,0x34,0xf4,0x54,0x00,0x00
476};
477
478// Generated from:
479//
480// #version 450 core
481//
482// #extension GL_GOOGLE_include_directive : require
483//
484// #extension GL_KHR_shader_subgroup_clustered : enable
485// #extension GL_KHR_shader_subgroup_shuffle : enable
486//
487// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
488// layout(binding = 0)uniform highp usamplerBuffer uInputBuffer;
489// layout(binding = 1, rgba32ui)writeonly uniform uimage2D uOutput;
490//
491// layout(push_constant)uniform imagInfo {
492//
493//     uint offsetX;
494//     uint offsetY;
495//     int texelOffset;
496//     uint width;
497//     uint height;
498//     uint alphaBits;
499//     uint isSigned;
500//     uint isEacRg;
501// };
502//
503// #line 1 "shaders/src/third_party/etc_decoder/etc_decoder.h"
504//
505//  const ivec2 etc1_color_modifier_table[8]= ivec2[](
506//     ivec2(2, 8),
507//     ivec2(5, 17),
508//     ivec2(9, 29),
509//     ivec2(13, 42),
510//     ivec2(18, 60),
511//     ivec2(24, 80),
512//     ivec2(33, 106),
513//     ivec2(47, 183));
514//
515// const ivec4 etc2_alpha_modifier_table[16]= ivec4[](
516//     ivec4(2, 5, 8, 14),
517//     ivec4(2, 6, 9, 12),
518//     ivec4(1, 4, 7, 12),
519//     ivec4(1, 3, 5, 12),
520//     ivec4(2, 5, 7, 11),
521//     ivec4(2, 6, 8, 10),
522//     ivec4(3, 6, 7, 10),
523//     ivec4(2, 4, 7, 10),
524//     ivec4(1, 5, 7, 9),
525//     ivec4(1, 4, 7, 9),
526//     ivec4(1, 3, 7, 9),
527//     ivec4(1, 4, 6, 9),
528//     ivec4(2, 3, 6, 9),
529//     ivec4(0, 1, 2, 9),
530//     ivec4(3, 5, 7, 8),
531//     ivec4(2, 4, 6, 8)
532// );
533//
534// const int etc2_distance_table[8]= int[](3, 6, 11, 16, 23, 32, 41, 64);
535//
536// int decode_etc2_alpha(uvec2 payload, int linear_pixel)
537// {
538//     int bit_offset = 45 - 3 * linear_pixel;
539//
540//     int base = int(bitfieldExtract(payload . y, 24, 8));
541//
542//     int multiplier = int(bitfieldExtract(payload . y, 20, 4));
543//     int table = int(bitfieldExtract(payload . y, 16, 4));
544//
545//     int lsb_index = int(bitfieldExtract(payload[bit_offset >> 5], bit_offset & 31, 2));
546//     bit_offset += 2;
547//     int msb = int((payload[bit_offset >> 5]>>(bit_offset & 31))& 1u);
548//     int mod = etc2_alpha_modifier_table[table][lsb_index]^(msb - 1);
549//
550//     int a = base + mod * multiplier;
551//     return clamp(a, 0, 0xff);
552//
553// }
554//
555//  ivec4 DecodeRGB(ivec2 pixel_coord, uvec2 color_payload, int linear_pixel, inout bool punchthrough){
556//     int alpha_result = 0xff;
557//     ivec3 rgb_result;
558//     ivec3 base_rgb;
559//     uint flip = color_payload . y & 1u;
560//     uint subblock = uint((pixel_coord[flip]& 2)>> 1);
561//     bool etc1_compat = false;
562//
563//     if(alphaBits != 1 &&(color_payload . y & 2u)== 0u)
564//     {
565//
566//         etc1_compat = true;
567//         base_rgb = ivec3(color_payload . yyy >>(uvec3(28, 20, 12)- 4u * subblock));
568//         base_rgb &= 0xf;
569//         base_rgb *= 0x11;
570//     }
571//     else
572//     {
573//         int r = int(bitfieldExtract(color_payload . y, 27, 5));
574//         int rd = bitfieldExtract(int(color_payload . y), 24, 3);
575//         int g = int(bitfieldExtract(color_payload . y, 19, 5));
576//         int gd = bitfieldExtract(int(color_payload . y), 16, 3);
577//         int b = int(bitfieldExtract(color_payload . y, 11, 5));
578//         int bd = bitfieldExtract(int(color_payload . y), 8, 3);
579//
580//         int r1 = r + rd;
581//         int g1 = g + gd;
582//         int b1 = b + bd;
583//
584//         if(uint(r1)> 31u)
585//         {
586//             int r1 = int(bitfieldExtract(color_payload . y, 56 - 32, 2))|
587//                     (int(bitfieldExtract(color_payload . y, 59 - 32, 2))<< 2);
588//             int g1 = int(bitfieldExtract(color_payload . y, 52 - 32, 4));
589//             int b1 = int(bitfieldExtract(color_payload . y, 48 - 32, 4));
590//             int r2 = int(bitfieldExtract(color_payload . y, 44 - 32, 4));
591//             int g2 = int(bitfieldExtract(color_payload . y, 40 - 32, 4));
592//             int b2 = int(bitfieldExtract(color_payload . y, 36 - 32, 4));
593//             uint da =(bitfieldExtract(color_payload . y, 34 - 32, 2)<< 1)|
594//                     (color_payload . y & 1u);
595//             int dist = etc2_distance_table[da];
596//
597//             int msb = int((color_payload . x >>(15 + linear_pixel))& 2u);
598//             int lsb = int((color_payload . x >> linear_pixel)& 1u);
599//             int index = msb | lsb;
600//
601//             if(punchthrough)
602//                 punchthrough = index == 2;
603//
604//             if(index == 0)
605//             {
606//                 rgb_result = ivec3(r1, g1, b1);
607//                 rgb_result *= 0x11;
608//             }
609//             else
610//             {
611//                 int mod = 2 - index;
612//                 ivec3 rgb = ivec3(r2, g2, b2)* 0x11 + mod * dist;
613//                 rgb_result = ivec3(clamp(rgb, ivec3(0), ivec3(255)));
614//             }
615//         }
616//         else if(uint(g1)> 31u)
617//         {
618//             int r1 = int(bitfieldExtract(color_payload . y, 59 - 32, 4));
619//             int g1 =(int(bitfieldExtract(color_payload . y, 56 - 32, 3))<< 1)|
620//                     int((color_payload . y >> 20u)& 1u);
621//             int b1 = int(bitfieldExtract(color_payload . y, 47 - 32, 3))|
622//                     int((color_payload . y >> 16u)& 8u);
623//             int r2 = int(bitfieldExtract(color_payload . y, 43 - 32, 4));
624//             int g2 = int(bitfieldExtract(color_payload . y, 39 - 32, 4));
625//             int b2 = int(bitfieldExtract(color_payload . y, 35 - 32, 4));
626//             uint da = color_payload . y & 4u;
627//             uint db = color_payload . y & 1u;
628//             uint d = da + 2u * db;
629//             d += uint((r1 * 0x10000 + g1 * 0x100 + b1)>=(r2 * 0x10000 + g2 * 0x100 + b2));
630//             int dist = etc2_distance_table[d];
631//             int msb = int((color_payload . x >>(15 + linear_pixel))& 2u);
632//             int lsb = int((color_payload . x >> linear_pixel)& 1u);
633//
634//             if(punchthrough)
635//                 punchthrough =(msb + lsb)== 2;
636//
637//             ivec3 base = msb != 0 ? ivec3(r2, g2, b2): ivec3(r1, g1, b1);
638//             base *= 0x11;
639//             int mod = 1 - 2 * lsb;
640//             base += mod * dist;
641//             rgb_result = ivec3(clamp(base, ivec3(0), ivec3(0xff)));
642//         }
643//         else if(uint(b1)> 31u)
644//         {
645//
646//             int r = int(bitfieldExtract(color_payload . y, 57 - 32, 6));
647//             int g = int(bitfieldExtract(color_payload . y, 49 - 32, 6))|
648//                     (int(color_payload . y >> 18)& 0x40);
649//             int b = int(bitfieldExtract(color_payload . y, 39 - 32, 3))|
650//                     (int(bitfieldExtract(color_payload . y, 43 - 32, 2))<< 3)|
651//                     (int(color_payload . y >> 11)& 0x20);
652//             int rh = int(color_payload . y & 1u)|
653//                     (int(bitfieldExtract(color_payload . y, 2, 5))<< 1);
654//             int rv = int(bitfieldExtract(color_payload . x, 13, 6));
655//             int gh = int(bitfieldExtract(color_payload . x, 25, 7));
656//             int gv = int(bitfieldExtract(color_payload . x, 6, 7));
657//             int bh = int(bitfieldExtract(color_payload . x, 19, 6));
658//             int bv = int(bitfieldExtract(color_payload . x, 0, 6));
659//
660//             r =(r << 2)|(r >> 4);
661//             rh =(rh << 2)|(rh >> 4);
662//             rv =(rv << 2)|(rv >> 4);
663//             g =(g << 1)|(g >> 6);
664//             gh =(gh << 1)|(gh >> 6);
665//             gv =(gv << 1)|(gv >> 6);
666//             b =(b << 2)|(b >> 4);
667//             bh =(bh << 2)|(bh >> 4);
668//             bv =(bv << 2)|(bv >> 4);
669//
670//             ivec3 rgb = ivec3(r, g, b);
671//             ivec3 dx = ivec3(rh, gh, bh)- rgb;
672//             ivec3 dy = ivec3(rv, gv, bv)- rgb;
673//             dx *= int(pixel_coord . x);
674//             dy *= int(pixel_coord . y);
675//             rgb = rgb +((dx + dy + 2)>> 2);
676//             rgb = clamp(rgb, ivec3(0), ivec3(255));
677//             rgb_result = ivec3(rgb);
678//
679//             punchthrough = false;
680//
681//         }
682//         else
683//         {
684//
685//             etc1_compat = true;
686//             base_rgb = ivec3(r, g, b)+ int(subblock)* ivec3(rd, gd, bd);
687//             base_rgb =(base_rgb << 3)|(base_rgb >> 2);
688//         }
689//     }
690//
691//     if(etc1_compat)
692//     {
693//         uint etc1_table_index = bitfieldExtract(color_payload . y, 5 - 3 * int(subblock != 0u), 3);
694//         int msb = int((color_payload . x >>(15 + linear_pixel))& 2u);
695//         int lsb = int((color_payload . x >> linear_pixel)& 1u);
696//         int sgn = 1 - msb;
697//
698//         if(punchthrough)
699//         {
700//             sgn *= lsb;
701//             punchthrough =(msb + lsb)== 2;
702//         }
703//
704//         int offset = etc1_color_modifier_table[etc1_table_index][lsb]* sgn;
705//         base_rgb = clamp(base_rgb + offset, ivec3(0), ivec3(255));
706//         rgb_result = ivec3(base_rgb);
707//     }
708//
709//     if(alphaBits == 1 && punchthrough)
710//     {
711//         rgb_result = ivec3(0);
712//         alpha_result = 0;
713//     }
714//
715//     return ivec4(rgb_result . r, rgb_result . g, rgb_result . b, alpha_result);
716// }
717// #line 77 "shaders/src/EtcToBc.comp"
718//
719// ivec2 build_coord()
720// {
721//     uvec2 base =(gl_WorkGroupID . xy)* 8;
722//     uint blockid = gl_LocalInvocationID . x >> 4u;
723//     uint blockxy = gl_LocalInvocationID . x & 0xfu;
724//     base . x += 4 *(blockid & 0x1);
725//     base . y += 2 *(blockid & 0x2);
726//     base += uvec2(blockxy & 0x3, blockxy >> 0x2);
727//     return ivec2(base);
728// }
729//
730// uint flip_endian(uint v)
731// {
732//     uvec4 words = uvec4(v)>> uvec4(0, 8, 16, 24);
733//     words &= 0xffu;
734//     return(words . x << 24u)|(words . y << 16u)|(words . z << 8u)|(words . w << 0u);
735// }
736//
737// uvec2 flip_endian(uvec2 v)
738// {
739//     return uvec2(flip_endian(v . y), flip_endian(v . x));
740// }
741//
742// uint GetIndicesRGB(vec3 color, vec3 minColor, vec3 maxColor, bool transparent)
743// {
744//     vec3 dir = maxColor - minColor;
745//     float distMin = dot(minColor, dir);
746//     float distMax = dot(maxColor, dir);
747//     float dist = dot(color, dir);
748//     int ind = int(round(clamp((dist - distMin)/(distMax - distMin), 0.0, 1.0)*(transparent ? 2.0 : 3.0)));
749//
750//     return bitfieldExtract(transparent ? 0x18u : 0x2du, ind * 2, 2);
751// }
752//
753// void ComputeMaxMinColor(uvec3 rgbColor, inout uvec3 minColor, inout uvec3 maxColor){
754//     ivec3 dx;
755//     if(alphaBits == 1){
756//         int count = subgroupClusteredAdd(1, 16);
757//         ivec3 avg = ivec3((subgroupClusteredAdd(rgbColor, 16)* 2 + count)/(2 * count));
758//         dx = ivec3(rgbColor)- avg;
759//     }
760//     else {
761//         dx = ivec3(rgbColor)- ivec3(subgroupClusteredAdd(rgbColor, 16)+ 8 >> 4);
762//     }
763//     vec3 cov0 = vec3(subgroupClusteredAdd(dx . r * dx, 16));
764//     vec3 cov1 = vec3(subgroupClusteredAdd(dx . ggb * dx . gbb, 16));
765//     vec3 vg = vec3(subgroupClusteredMax(rgbColor, 16)- subgroupClusteredMin(rgbColor, 16));
766//
767//     mat3 covMat = mat3(cov0,
768//                        vec3(cov0 . y, cov1 . xy),
769//                        vec3(cov0 . z, cov1 . yz));
770//
771//     float eigenvalue = 0.0f;
772//     for(int i = 0;i < 4;i ++){
773//         vg = covMat * vg;
774//         eigenvalue = sqrt(dot(vg, vg));
775//         if(eigenvalue > 0.0f){
776//             float invNorm = 1.0f / eigenvalue;
777//             vg *= invNorm;
778//         }
779//     }
780//     const float kDefaultLuminanceThreshold = 4.0f * 255;
781//     const float kQuantizeRange = 0.512f;
782//
783//     if(eigenvalue < kDefaultLuminanceThreshold){
784//         vg = vec3(0.299f, 0.587f, 0.114f);
785//     }
786//     else {
787//         float magn = max(max(abs(vg . r), abs(vg . g)), abs(vg . b));
788//         vg *= kQuantizeRange / magn;
789//     }
790//     float dist = dot(vec3(rgbColor), vg);
791//     float min_dist = subgroupClusteredMin(dist, 16);
792//     float max_dist = subgroupClusteredMax(dist, 16);
793//     uvec2 indices = uvec2(dist == min_dist ? gl_SubgroupInvocationID : 0,
794//                           dist == max_dist ? gl_SubgroupInvocationID : 0);
795//     uvec2 minMaxIndex = subgroupClusteredMax(indices, 16);
796//     minColor = subgroupShuffle(rgbColor, minMaxIndex . x);
797//     maxColor = subgroupShuffle(rgbColor, minMaxIndex . y);
798// }
799//
800// uint GetIndicesAlpha(int alpha, int minAlpha, int maxAlpha)
801// {
802//     float dist = float(maxAlpha - minAlpha);
803//     int ind = int(round(clamp((alpha - minAlpha)/ dist * 7.0f, 0.0, 7.0)));
804//
805//     return bitfieldExtract(0x2345671u, ind * 4, 4);
806// }
807//
808// void ComputeMaxMin(int alpha, inout int minAlpha, inout int maxAlpha){
809//     minAlpha = subgroupClusteredMin(alpha, 16);
810//     maxAlpha = subgroupClusteredMax(alpha, 16);
811// }
812// uvec2 EncodeBC4(int value, uint pid){
813//     int minValue, maxValue;
814//     ComputeMaxMin(value, minValue, maxValue);
815//     uint indices = 0;
816//     if(minValue != maxValue)
817//         indices = GetIndicesAlpha(value, minValue, maxValue);
818//
819//     uvec2 mask = uvec2(pid <= 5 ? indices <<(16 + 3 * pid): 0x0,
820//                         pid >= 5 ?(indices << 29)>>(45 - 3 * pid): 0x0);
821//
822//     mask = subgroupClusteredOr(mask, 16);
823//     return uvec2((maxValue & 0xff)|((minValue & 0xff)<< 8)| mask . x, mask . y);
824// }
825//
826// uvec3 scaleColorToRGB565(uvec3 color){
827//     return uvec3(round(vec3(color)* vec3(31.0 / 255.0, 63.0 / 255.0, 31.0 / 255.0)));
828// }
829//
830// uvec3 convertRGB565ToRGB888(uvec3 color){
831//     return uvec3(color . x << 3 |(color . x >> 2),
832//                  color . y << 2 |(color . y >> 4),
833//                  color . z << 3 |(color . z >> 2));
834// }
835//
836// uint packRGB565(uvec3 color565){
837//      return color565 . r << 11 |(color565 . g << 5)| color565 . b;
838// }
839//
840// void modifyMinMax(inout uvec3 minColor, inout uvec3 maxColor){
841//     uvec3 minColor565 = scaleColorToRGB565(minColor);
842//     uvec3 maxColor565 = scaleColorToRGB565(maxColor);
843//     if(all(equal(minColor565, maxColor565))){
844//         uvec3 simulatedColor = convertRGB565ToRGB888(minColor565);
845//         ivec3 signMax = sign(ivec3(maxColor)- ivec3(simulatedColor));
846//         ivec3 signMin = sign(ivec3(minColor)- ivec3(simulatedColor));
847//         bvec3 needCorrect = greaterThan(signMax * signMin, ivec3(0, 0, 0));
848//         bvec3 positive = greaterThan(signMin, ivec3(0, 0, 0));
849//         maxColor565 . r += needCorrect . r && positive . r ? 1 : 0;
850//         maxColor565 . g += needCorrect . g && positive . g ? 1 : 0;
851//         maxColor565 . b += needCorrect . b && positive . b ? 1 : 0;
852//         minColor565 . r -= needCorrect . r && ! positive . r ? 1 : 0;
853//         minColor565 . g -= needCorrect . g && ! positive . g ? 1 : 0;
854//         minColor565 . b -= needCorrect . b && ! positive . b ? 1 : 0;
855//     }
856//     minColor = minColor565;
857//     maxColor = maxColor565;
858// }
859//
860// void swap(inout uint a, inout uint b){
861//     uint t = a;
862//     a = b;
863//     b = t;
864// }
865//
866// void main()
867// {
868//     ivec2 coord = build_coord();
869//     if(any(greaterThanEqual(coord, ivec2(width, height))))
870//         return;
871//
872//     ivec2 tile_coord = coord >> 2;
873//     ivec2 pixel_coord = coord & 3;
874//     int linear_pixel = 4 * pixel_coord . x + pixel_coord . y;
875//     int pid = 4 * pixel_coord . y + pixel_coord . x;
876//     uvec4 payload = texelFetch(uInputBuffer, tile_coord . y * int((width + 3)>> 2)+ tile_coord . x + texelOffset);
877//
878//     ivec4 result;
879//
880//     uvec2 color_payload = flip_endian(alphaBits == 8 ? payload . zw : payload . xy);
881//     bool nonOpaque = alphaBits == 1 &&(color_payload . y & 2u)== 0u;
882//     bool punchthrough = nonOpaque;
883//     result = DecodeRGB(pixel_coord, color_payload, linear_pixel, punchthrough);
884//     if(alphaBits == 8){
885//         uvec2 alpha_payload = flip_endian(payload . xy);
886//         result . a = decode_etc2_alpha(alpha_payload, linear_pixel);
887//     }
888//
889//     uvec4 finalResult;
890//
891//     uvec3 minColor, maxColor;
892//     uint indices = 0;
893//     uint color565 = 0;
894//
895//     finalResult . ba = alphaBits == 8 ? EncodeBC4(result . a, pid): uvec2(0, 0);
896//
897//     bool controlFlag = alphaBits != 1 || result . a > 0;
898//     if(controlFlag)
899//     {
900//         ComputeMaxMinColor(uvec3(result . r, result . g, result . b), minColor, maxColor);
901//         modifyMinMax(minColor, maxColor);
902//         uint minColor565 = packRGB565(minColor);
903//         uint maxColor565 = packRGB565(maxColor);
904//
905//         if(minColor565 != maxColor565){
906//             indices = GetIndicesRGB(vec3(result . r, result . g, result . b),
907//                                     vec3(convertRGB565ToRGB888(minColor)),
908//                                     vec3(convertRGB565ToRGB888(maxColor)),
909//                                     nonOpaque);
910//         }
911//         bool flip = maxColor565 < minColor565;
912//         if(flip){
913//             indices ^= 1;
914//
915//             if(nonOpaque && indices == 3){
916//                 indices = 2;
917//             }
918//         }
919//         if(flip != nonOpaque){
920//             swap(maxColor565, minColor565);
921//         }
922//         color565 = maxColor565 |(minColor565 << 16);
923//     }
924//     if(alphaBits == 1){
925//         int active_lane_index = subgroupClusteredMax(controlFlag ? int(gl_SubgroupInvocationID): - 1, 16);
926//         if(active_lane_index != - 1){
927//             color565 = subgroupShuffle(color565, active_lane_index);
928//         }
929//         if(punchthrough && result . a == 0){
930//             indices = 3;
931//         }
932//     }
933//     uint mask = subgroupClusteredOr(indices <<(2 * pid), 16);
934//
935//     finalResult . rg = uvec2(color565, mask);
936//     if(alphaBits == 8){
937//         finalResult = finalResult . barg;
938//     }
939//
940//     if(pid == 0){
941//         tile_coord += ivec2(offsetX / 4, offsetY / 4);
942//         imageStore(uOutput, tile_coord, finalResult);
943//     }
944//
945// }
946