base64/
tables.rs

1pub const INVALID_VALUE: u8 = 255;
2#[rustfmt::skip]
3pub const STANDARD_ENCODE: &[u8; 64] = &[
4    65, // input 0 (0x0) => 'A' (0x41)
5    66, // input 1 (0x1) => 'B' (0x42)
6    67, // input 2 (0x2) => 'C' (0x43)
7    68, // input 3 (0x3) => 'D' (0x44)
8    69, // input 4 (0x4) => 'E' (0x45)
9    70, // input 5 (0x5) => 'F' (0x46)
10    71, // input 6 (0x6) => 'G' (0x47)
11    72, // input 7 (0x7) => 'H' (0x48)
12    73, // input 8 (0x8) => 'I' (0x49)
13    74, // input 9 (0x9) => 'J' (0x4A)
14    75, // input 10 (0xA) => 'K' (0x4B)
15    76, // input 11 (0xB) => 'L' (0x4C)
16    77, // input 12 (0xC) => 'M' (0x4D)
17    78, // input 13 (0xD) => 'N' (0x4E)
18    79, // input 14 (0xE) => 'O' (0x4F)
19    80, // input 15 (0xF) => 'P' (0x50)
20    81, // input 16 (0x10) => 'Q' (0x51)
21    82, // input 17 (0x11) => 'R' (0x52)
22    83, // input 18 (0x12) => 'S' (0x53)
23    84, // input 19 (0x13) => 'T' (0x54)
24    85, // input 20 (0x14) => 'U' (0x55)
25    86, // input 21 (0x15) => 'V' (0x56)
26    87, // input 22 (0x16) => 'W' (0x57)
27    88, // input 23 (0x17) => 'X' (0x58)
28    89, // input 24 (0x18) => 'Y' (0x59)
29    90, // input 25 (0x19) => 'Z' (0x5A)
30    97, // input 26 (0x1A) => 'a' (0x61)
31    98, // input 27 (0x1B) => 'b' (0x62)
32    99, // input 28 (0x1C) => 'c' (0x63)
33    100, // input 29 (0x1D) => 'd' (0x64)
34    101, // input 30 (0x1E) => 'e' (0x65)
35    102, // input 31 (0x1F) => 'f' (0x66)
36    103, // input 32 (0x20) => 'g' (0x67)
37    104, // input 33 (0x21) => 'h' (0x68)
38    105, // input 34 (0x22) => 'i' (0x69)
39    106, // input 35 (0x23) => 'j' (0x6A)
40    107, // input 36 (0x24) => 'k' (0x6B)
41    108, // input 37 (0x25) => 'l' (0x6C)
42    109, // input 38 (0x26) => 'm' (0x6D)
43    110, // input 39 (0x27) => 'n' (0x6E)
44    111, // input 40 (0x28) => 'o' (0x6F)
45    112, // input 41 (0x29) => 'p' (0x70)
46    113, // input 42 (0x2A) => 'q' (0x71)
47    114, // input 43 (0x2B) => 'r' (0x72)
48    115, // input 44 (0x2C) => 's' (0x73)
49    116, // input 45 (0x2D) => 't' (0x74)
50    117, // input 46 (0x2E) => 'u' (0x75)
51    118, // input 47 (0x2F) => 'v' (0x76)
52    119, // input 48 (0x30) => 'w' (0x77)
53    120, // input 49 (0x31) => 'x' (0x78)
54    121, // input 50 (0x32) => 'y' (0x79)
55    122, // input 51 (0x33) => 'z' (0x7A)
56    48, // input 52 (0x34) => '0' (0x30)
57    49, // input 53 (0x35) => '1' (0x31)
58    50, // input 54 (0x36) => '2' (0x32)
59    51, // input 55 (0x37) => '3' (0x33)
60    52, // input 56 (0x38) => '4' (0x34)
61    53, // input 57 (0x39) => '5' (0x35)
62    54, // input 58 (0x3A) => '6' (0x36)
63    55, // input 59 (0x3B) => '7' (0x37)
64    56, // input 60 (0x3C) => '8' (0x38)
65    57, // input 61 (0x3D) => '9' (0x39)
66    43, // input 62 (0x3E) => '+' (0x2B)
67    47, // input 63 (0x3F) => '/' (0x2F)
68];
69#[rustfmt::skip]
70pub const STANDARD_DECODE: &[u8; 256] = &[
71    INVALID_VALUE, // input 0 (0x0)
72    INVALID_VALUE, // input 1 (0x1)
73    INVALID_VALUE, // input 2 (0x2)
74    INVALID_VALUE, // input 3 (0x3)
75    INVALID_VALUE, // input 4 (0x4)
76    INVALID_VALUE, // input 5 (0x5)
77    INVALID_VALUE, // input 6 (0x6)
78    INVALID_VALUE, // input 7 (0x7)
79    INVALID_VALUE, // input 8 (0x8)
80    INVALID_VALUE, // input 9 (0x9)
81    INVALID_VALUE, // input 10 (0xA)
82    INVALID_VALUE, // input 11 (0xB)
83    INVALID_VALUE, // input 12 (0xC)
84    INVALID_VALUE, // input 13 (0xD)
85    INVALID_VALUE, // input 14 (0xE)
86    INVALID_VALUE, // input 15 (0xF)
87    INVALID_VALUE, // input 16 (0x10)
88    INVALID_VALUE, // input 17 (0x11)
89    INVALID_VALUE, // input 18 (0x12)
90    INVALID_VALUE, // input 19 (0x13)
91    INVALID_VALUE, // input 20 (0x14)
92    INVALID_VALUE, // input 21 (0x15)
93    INVALID_VALUE, // input 22 (0x16)
94    INVALID_VALUE, // input 23 (0x17)
95    INVALID_VALUE, // input 24 (0x18)
96    INVALID_VALUE, // input 25 (0x19)
97    INVALID_VALUE, // input 26 (0x1A)
98    INVALID_VALUE, // input 27 (0x1B)
99    INVALID_VALUE, // input 28 (0x1C)
100    INVALID_VALUE, // input 29 (0x1D)
101    INVALID_VALUE, // input 30 (0x1E)
102    INVALID_VALUE, // input 31 (0x1F)
103    INVALID_VALUE, // input 32 (0x20)
104    INVALID_VALUE, // input 33 (0x21)
105    INVALID_VALUE, // input 34 (0x22)
106    INVALID_VALUE, // input 35 (0x23)
107    INVALID_VALUE, // input 36 (0x24)
108    INVALID_VALUE, // input 37 (0x25)
109    INVALID_VALUE, // input 38 (0x26)
110    INVALID_VALUE, // input 39 (0x27)
111    INVALID_VALUE, // input 40 (0x28)
112    INVALID_VALUE, // input 41 (0x29)
113    INVALID_VALUE, // input 42 (0x2A)
114    62, // input 43 (0x2B char '+') => 62 (0x3E)
115    INVALID_VALUE, // input 44 (0x2C)
116    INVALID_VALUE, // input 45 (0x2D)
117    INVALID_VALUE, // input 46 (0x2E)
118    63, // input 47 (0x2F char '/') => 63 (0x3F)
119    52, // input 48 (0x30 char '0') => 52 (0x34)
120    53, // input 49 (0x31 char '1') => 53 (0x35)
121    54, // input 50 (0x32 char '2') => 54 (0x36)
122    55, // input 51 (0x33 char '3') => 55 (0x37)
123    56, // input 52 (0x34 char '4') => 56 (0x38)
124    57, // input 53 (0x35 char '5') => 57 (0x39)
125    58, // input 54 (0x36 char '6') => 58 (0x3A)
126    59, // input 55 (0x37 char '7') => 59 (0x3B)
127    60, // input 56 (0x38 char '8') => 60 (0x3C)
128    61, // input 57 (0x39 char '9') => 61 (0x3D)
129    INVALID_VALUE, // input 58 (0x3A)
130    INVALID_VALUE, // input 59 (0x3B)
131    INVALID_VALUE, // input 60 (0x3C)
132    INVALID_VALUE, // input 61 (0x3D)
133    INVALID_VALUE, // input 62 (0x3E)
134    INVALID_VALUE, // input 63 (0x3F)
135    INVALID_VALUE, // input 64 (0x40)
136    0, // input 65 (0x41 char 'A') => 0 (0x0)
137    1, // input 66 (0x42 char 'B') => 1 (0x1)
138    2, // input 67 (0x43 char 'C') => 2 (0x2)
139    3, // input 68 (0x44 char 'D') => 3 (0x3)
140    4, // input 69 (0x45 char 'E') => 4 (0x4)
141    5, // input 70 (0x46 char 'F') => 5 (0x5)
142    6, // input 71 (0x47 char 'G') => 6 (0x6)
143    7, // input 72 (0x48 char 'H') => 7 (0x7)
144    8, // input 73 (0x49 char 'I') => 8 (0x8)
145    9, // input 74 (0x4A char 'J') => 9 (0x9)
146    10, // input 75 (0x4B char 'K') => 10 (0xA)
147    11, // input 76 (0x4C char 'L') => 11 (0xB)
148    12, // input 77 (0x4D char 'M') => 12 (0xC)
149    13, // input 78 (0x4E char 'N') => 13 (0xD)
150    14, // input 79 (0x4F char 'O') => 14 (0xE)
151    15, // input 80 (0x50 char 'P') => 15 (0xF)
152    16, // input 81 (0x51 char 'Q') => 16 (0x10)
153    17, // input 82 (0x52 char 'R') => 17 (0x11)
154    18, // input 83 (0x53 char 'S') => 18 (0x12)
155    19, // input 84 (0x54 char 'T') => 19 (0x13)
156    20, // input 85 (0x55 char 'U') => 20 (0x14)
157    21, // input 86 (0x56 char 'V') => 21 (0x15)
158    22, // input 87 (0x57 char 'W') => 22 (0x16)
159    23, // input 88 (0x58 char 'X') => 23 (0x17)
160    24, // input 89 (0x59 char 'Y') => 24 (0x18)
161    25, // input 90 (0x5A char 'Z') => 25 (0x19)
162    INVALID_VALUE, // input 91 (0x5B)
163    INVALID_VALUE, // input 92 (0x5C)
164    INVALID_VALUE, // input 93 (0x5D)
165    INVALID_VALUE, // input 94 (0x5E)
166    INVALID_VALUE, // input 95 (0x5F)
167    INVALID_VALUE, // input 96 (0x60)
168    26, // input 97 (0x61 char 'a') => 26 (0x1A)
169    27, // input 98 (0x62 char 'b') => 27 (0x1B)
170    28, // input 99 (0x63 char 'c') => 28 (0x1C)
171    29, // input 100 (0x64 char 'd') => 29 (0x1D)
172    30, // input 101 (0x65 char 'e') => 30 (0x1E)
173    31, // input 102 (0x66 char 'f') => 31 (0x1F)
174    32, // input 103 (0x67 char 'g') => 32 (0x20)
175    33, // input 104 (0x68 char 'h') => 33 (0x21)
176    34, // input 105 (0x69 char 'i') => 34 (0x22)
177    35, // input 106 (0x6A char 'j') => 35 (0x23)
178    36, // input 107 (0x6B char 'k') => 36 (0x24)
179    37, // input 108 (0x6C char 'l') => 37 (0x25)
180    38, // input 109 (0x6D char 'm') => 38 (0x26)
181    39, // input 110 (0x6E char 'n') => 39 (0x27)
182    40, // input 111 (0x6F char 'o') => 40 (0x28)
183    41, // input 112 (0x70 char 'p') => 41 (0x29)
184    42, // input 113 (0x71 char 'q') => 42 (0x2A)
185    43, // input 114 (0x72 char 'r') => 43 (0x2B)
186    44, // input 115 (0x73 char 's') => 44 (0x2C)
187    45, // input 116 (0x74 char 't') => 45 (0x2D)
188    46, // input 117 (0x75 char 'u') => 46 (0x2E)
189    47, // input 118 (0x76 char 'v') => 47 (0x2F)
190    48, // input 119 (0x77 char 'w') => 48 (0x30)
191    49, // input 120 (0x78 char 'x') => 49 (0x31)
192    50, // input 121 (0x79 char 'y') => 50 (0x32)
193    51, // input 122 (0x7A char 'z') => 51 (0x33)
194    INVALID_VALUE, // input 123 (0x7B)
195    INVALID_VALUE, // input 124 (0x7C)
196    INVALID_VALUE, // input 125 (0x7D)
197    INVALID_VALUE, // input 126 (0x7E)
198    INVALID_VALUE, // input 127 (0x7F)
199    INVALID_VALUE, // input 128 (0x80)
200    INVALID_VALUE, // input 129 (0x81)
201    INVALID_VALUE, // input 130 (0x82)
202    INVALID_VALUE, // input 131 (0x83)
203    INVALID_VALUE, // input 132 (0x84)
204    INVALID_VALUE, // input 133 (0x85)
205    INVALID_VALUE, // input 134 (0x86)
206    INVALID_VALUE, // input 135 (0x87)
207    INVALID_VALUE, // input 136 (0x88)
208    INVALID_VALUE, // input 137 (0x89)
209    INVALID_VALUE, // input 138 (0x8A)
210    INVALID_VALUE, // input 139 (0x8B)
211    INVALID_VALUE, // input 140 (0x8C)
212    INVALID_VALUE, // input 141 (0x8D)
213    INVALID_VALUE, // input 142 (0x8E)
214    INVALID_VALUE, // input 143 (0x8F)
215    INVALID_VALUE, // input 144 (0x90)
216    INVALID_VALUE, // input 145 (0x91)
217    INVALID_VALUE, // input 146 (0x92)
218    INVALID_VALUE, // input 147 (0x93)
219    INVALID_VALUE, // input 148 (0x94)
220    INVALID_VALUE, // input 149 (0x95)
221    INVALID_VALUE, // input 150 (0x96)
222    INVALID_VALUE, // input 151 (0x97)
223    INVALID_VALUE, // input 152 (0x98)
224    INVALID_VALUE, // input 153 (0x99)
225    INVALID_VALUE, // input 154 (0x9A)
226    INVALID_VALUE, // input 155 (0x9B)
227    INVALID_VALUE, // input 156 (0x9C)
228    INVALID_VALUE, // input 157 (0x9D)
229    INVALID_VALUE, // input 158 (0x9E)
230    INVALID_VALUE, // input 159 (0x9F)
231    INVALID_VALUE, // input 160 (0xA0)
232    INVALID_VALUE, // input 161 (0xA1)
233    INVALID_VALUE, // input 162 (0xA2)
234    INVALID_VALUE, // input 163 (0xA3)
235    INVALID_VALUE, // input 164 (0xA4)
236    INVALID_VALUE, // input 165 (0xA5)
237    INVALID_VALUE, // input 166 (0xA6)
238    INVALID_VALUE, // input 167 (0xA7)
239    INVALID_VALUE, // input 168 (0xA8)
240    INVALID_VALUE, // input 169 (0xA9)
241    INVALID_VALUE, // input 170 (0xAA)
242    INVALID_VALUE, // input 171 (0xAB)
243    INVALID_VALUE, // input 172 (0xAC)
244    INVALID_VALUE, // input 173 (0xAD)
245    INVALID_VALUE, // input 174 (0xAE)
246    INVALID_VALUE, // input 175 (0xAF)
247    INVALID_VALUE, // input 176 (0xB0)
248    INVALID_VALUE, // input 177 (0xB1)
249    INVALID_VALUE, // input 178 (0xB2)
250    INVALID_VALUE, // input 179 (0xB3)
251    INVALID_VALUE, // input 180 (0xB4)
252    INVALID_VALUE, // input 181 (0xB5)
253    INVALID_VALUE, // input 182 (0xB6)
254    INVALID_VALUE, // input 183 (0xB7)
255    INVALID_VALUE, // input 184 (0xB8)
256    INVALID_VALUE, // input 185 (0xB9)
257    INVALID_VALUE, // input 186 (0xBA)
258    INVALID_VALUE, // input 187 (0xBB)
259    INVALID_VALUE, // input 188 (0xBC)
260    INVALID_VALUE, // input 189 (0xBD)
261    INVALID_VALUE, // input 190 (0xBE)
262    INVALID_VALUE, // input 191 (0xBF)
263    INVALID_VALUE, // input 192 (0xC0)
264    INVALID_VALUE, // input 193 (0xC1)
265    INVALID_VALUE, // input 194 (0xC2)
266    INVALID_VALUE, // input 195 (0xC3)
267    INVALID_VALUE, // input 196 (0xC4)
268    INVALID_VALUE, // input 197 (0xC5)
269    INVALID_VALUE, // input 198 (0xC6)
270    INVALID_VALUE, // input 199 (0xC7)
271    INVALID_VALUE, // input 200 (0xC8)
272    INVALID_VALUE, // input 201 (0xC9)
273    INVALID_VALUE, // input 202 (0xCA)
274    INVALID_VALUE, // input 203 (0xCB)
275    INVALID_VALUE, // input 204 (0xCC)
276    INVALID_VALUE, // input 205 (0xCD)
277    INVALID_VALUE, // input 206 (0xCE)
278    INVALID_VALUE, // input 207 (0xCF)
279    INVALID_VALUE, // input 208 (0xD0)
280    INVALID_VALUE, // input 209 (0xD1)
281    INVALID_VALUE, // input 210 (0xD2)
282    INVALID_VALUE, // input 211 (0xD3)
283    INVALID_VALUE, // input 212 (0xD4)
284    INVALID_VALUE, // input 213 (0xD5)
285    INVALID_VALUE, // input 214 (0xD6)
286    INVALID_VALUE, // input 215 (0xD7)
287    INVALID_VALUE, // input 216 (0xD8)
288    INVALID_VALUE, // input 217 (0xD9)
289    INVALID_VALUE, // input 218 (0xDA)
290    INVALID_VALUE, // input 219 (0xDB)
291    INVALID_VALUE, // input 220 (0xDC)
292    INVALID_VALUE, // input 221 (0xDD)
293    INVALID_VALUE, // input 222 (0xDE)
294    INVALID_VALUE, // input 223 (0xDF)
295    INVALID_VALUE, // input 224 (0xE0)
296    INVALID_VALUE, // input 225 (0xE1)
297    INVALID_VALUE, // input 226 (0xE2)
298    INVALID_VALUE, // input 227 (0xE3)
299    INVALID_VALUE, // input 228 (0xE4)
300    INVALID_VALUE, // input 229 (0xE5)
301    INVALID_VALUE, // input 230 (0xE6)
302    INVALID_VALUE, // input 231 (0xE7)
303    INVALID_VALUE, // input 232 (0xE8)
304    INVALID_VALUE, // input 233 (0xE9)
305    INVALID_VALUE, // input 234 (0xEA)
306    INVALID_VALUE, // input 235 (0xEB)
307    INVALID_VALUE, // input 236 (0xEC)
308    INVALID_VALUE, // input 237 (0xED)
309    INVALID_VALUE, // input 238 (0xEE)
310    INVALID_VALUE, // input 239 (0xEF)
311    INVALID_VALUE, // input 240 (0xF0)
312    INVALID_VALUE, // input 241 (0xF1)
313    INVALID_VALUE, // input 242 (0xF2)
314    INVALID_VALUE, // input 243 (0xF3)
315    INVALID_VALUE, // input 244 (0xF4)
316    INVALID_VALUE, // input 245 (0xF5)
317    INVALID_VALUE, // input 246 (0xF6)
318    INVALID_VALUE, // input 247 (0xF7)
319    INVALID_VALUE, // input 248 (0xF8)
320    INVALID_VALUE, // input 249 (0xF9)
321    INVALID_VALUE, // input 250 (0xFA)
322    INVALID_VALUE, // input 251 (0xFB)
323    INVALID_VALUE, // input 252 (0xFC)
324    INVALID_VALUE, // input 253 (0xFD)
325    INVALID_VALUE, // input 254 (0xFE)
326    INVALID_VALUE, // input 255 (0xFF)
327];
328#[rustfmt::skip]
329pub const URL_SAFE_ENCODE: &[u8; 64] = &[
330    65, // input 0 (0x0) => 'A' (0x41)
331    66, // input 1 (0x1) => 'B' (0x42)
332    67, // input 2 (0x2) => 'C' (0x43)
333    68, // input 3 (0x3) => 'D' (0x44)
334    69, // input 4 (0x4) => 'E' (0x45)
335    70, // input 5 (0x5) => 'F' (0x46)
336    71, // input 6 (0x6) => 'G' (0x47)
337    72, // input 7 (0x7) => 'H' (0x48)
338    73, // input 8 (0x8) => 'I' (0x49)
339    74, // input 9 (0x9) => 'J' (0x4A)
340    75, // input 10 (0xA) => 'K' (0x4B)
341    76, // input 11 (0xB) => 'L' (0x4C)
342    77, // input 12 (0xC) => 'M' (0x4D)
343    78, // input 13 (0xD) => 'N' (0x4E)
344    79, // input 14 (0xE) => 'O' (0x4F)
345    80, // input 15 (0xF) => 'P' (0x50)
346    81, // input 16 (0x10) => 'Q' (0x51)
347    82, // input 17 (0x11) => 'R' (0x52)
348    83, // input 18 (0x12) => 'S' (0x53)
349    84, // input 19 (0x13) => 'T' (0x54)
350    85, // input 20 (0x14) => 'U' (0x55)
351    86, // input 21 (0x15) => 'V' (0x56)
352    87, // input 22 (0x16) => 'W' (0x57)
353    88, // input 23 (0x17) => 'X' (0x58)
354    89, // input 24 (0x18) => 'Y' (0x59)
355    90, // input 25 (0x19) => 'Z' (0x5A)
356    97, // input 26 (0x1A) => 'a' (0x61)
357    98, // input 27 (0x1B) => 'b' (0x62)
358    99, // input 28 (0x1C) => 'c' (0x63)
359    100, // input 29 (0x1D) => 'd' (0x64)
360    101, // input 30 (0x1E) => 'e' (0x65)
361    102, // input 31 (0x1F) => 'f' (0x66)
362    103, // input 32 (0x20) => 'g' (0x67)
363    104, // input 33 (0x21) => 'h' (0x68)
364    105, // input 34 (0x22) => 'i' (0x69)
365    106, // input 35 (0x23) => 'j' (0x6A)
366    107, // input 36 (0x24) => 'k' (0x6B)
367    108, // input 37 (0x25) => 'l' (0x6C)
368    109, // input 38 (0x26) => 'm' (0x6D)
369    110, // input 39 (0x27) => 'n' (0x6E)
370    111, // input 40 (0x28) => 'o' (0x6F)
371    112, // input 41 (0x29) => 'p' (0x70)
372    113, // input 42 (0x2A) => 'q' (0x71)
373    114, // input 43 (0x2B) => 'r' (0x72)
374    115, // input 44 (0x2C) => 's' (0x73)
375    116, // input 45 (0x2D) => 't' (0x74)
376    117, // input 46 (0x2E) => 'u' (0x75)
377    118, // input 47 (0x2F) => 'v' (0x76)
378    119, // input 48 (0x30) => 'w' (0x77)
379    120, // input 49 (0x31) => 'x' (0x78)
380    121, // input 50 (0x32) => 'y' (0x79)
381    122, // input 51 (0x33) => 'z' (0x7A)
382    48, // input 52 (0x34) => '0' (0x30)
383    49, // input 53 (0x35) => '1' (0x31)
384    50, // input 54 (0x36) => '2' (0x32)
385    51, // input 55 (0x37) => '3' (0x33)
386    52, // input 56 (0x38) => '4' (0x34)
387    53, // input 57 (0x39) => '5' (0x35)
388    54, // input 58 (0x3A) => '6' (0x36)
389    55, // input 59 (0x3B) => '7' (0x37)
390    56, // input 60 (0x3C) => '8' (0x38)
391    57, // input 61 (0x3D) => '9' (0x39)
392    45, // input 62 (0x3E) => '-' (0x2D)
393    95, // input 63 (0x3F) => '_' (0x5F)
394];
395#[rustfmt::skip]
396pub const URL_SAFE_DECODE: &[u8; 256] = &[
397    INVALID_VALUE, // input 0 (0x0)
398    INVALID_VALUE, // input 1 (0x1)
399    INVALID_VALUE, // input 2 (0x2)
400    INVALID_VALUE, // input 3 (0x3)
401    INVALID_VALUE, // input 4 (0x4)
402    INVALID_VALUE, // input 5 (0x5)
403    INVALID_VALUE, // input 6 (0x6)
404    INVALID_VALUE, // input 7 (0x7)
405    INVALID_VALUE, // input 8 (0x8)
406    INVALID_VALUE, // input 9 (0x9)
407    INVALID_VALUE, // input 10 (0xA)
408    INVALID_VALUE, // input 11 (0xB)
409    INVALID_VALUE, // input 12 (0xC)
410    INVALID_VALUE, // input 13 (0xD)
411    INVALID_VALUE, // input 14 (0xE)
412    INVALID_VALUE, // input 15 (0xF)
413    INVALID_VALUE, // input 16 (0x10)
414    INVALID_VALUE, // input 17 (0x11)
415    INVALID_VALUE, // input 18 (0x12)
416    INVALID_VALUE, // input 19 (0x13)
417    INVALID_VALUE, // input 20 (0x14)
418    INVALID_VALUE, // input 21 (0x15)
419    INVALID_VALUE, // input 22 (0x16)
420    INVALID_VALUE, // input 23 (0x17)
421    INVALID_VALUE, // input 24 (0x18)
422    INVALID_VALUE, // input 25 (0x19)
423    INVALID_VALUE, // input 26 (0x1A)
424    INVALID_VALUE, // input 27 (0x1B)
425    INVALID_VALUE, // input 28 (0x1C)
426    INVALID_VALUE, // input 29 (0x1D)
427    INVALID_VALUE, // input 30 (0x1E)
428    INVALID_VALUE, // input 31 (0x1F)
429    INVALID_VALUE, // input 32 (0x20)
430    INVALID_VALUE, // input 33 (0x21)
431    INVALID_VALUE, // input 34 (0x22)
432    INVALID_VALUE, // input 35 (0x23)
433    INVALID_VALUE, // input 36 (0x24)
434    INVALID_VALUE, // input 37 (0x25)
435    INVALID_VALUE, // input 38 (0x26)
436    INVALID_VALUE, // input 39 (0x27)
437    INVALID_VALUE, // input 40 (0x28)
438    INVALID_VALUE, // input 41 (0x29)
439    INVALID_VALUE, // input 42 (0x2A)
440    INVALID_VALUE, // input 43 (0x2B)
441    INVALID_VALUE, // input 44 (0x2C)
442    62, // input 45 (0x2D char '-') => 62 (0x3E)
443    INVALID_VALUE, // input 46 (0x2E)
444    INVALID_VALUE, // input 47 (0x2F)
445    52, // input 48 (0x30 char '0') => 52 (0x34)
446    53, // input 49 (0x31 char '1') => 53 (0x35)
447    54, // input 50 (0x32 char '2') => 54 (0x36)
448    55, // input 51 (0x33 char '3') => 55 (0x37)
449    56, // input 52 (0x34 char '4') => 56 (0x38)
450    57, // input 53 (0x35 char '5') => 57 (0x39)
451    58, // input 54 (0x36 char '6') => 58 (0x3A)
452    59, // input 55 (0x37 char '7') => 59 (0x3B)
453    60, // input 56 (0x38 char '8') => 60 (0x3C)
454    61, // input 57 (0x39 char '9') => 61 (0x3D)
455    INVALID_VALUE, // input 58 (0x3A)
456    INVALID_VALUE, // input 59 (0x3B)
457    INVALID_VALUE, // input 60 (0x3C)
458    INVALID_VALUE, // input 61 (0x3D)
459    INVALID_VALUE, // input 62 (0x3E)
460    INVALID_VALUE, // input 63 (0x3F)
461    INVALID_VALUE, // input 64 (0x40)
462    0, // input 65 (0x41 char 'A') => 0 (0x0)
463    1, // input 66 (0x42 char 'B') => 1 (0x1)
464    2, // input 67 (0x43 char 'C') => 2 (0x2)
465    3, // input 68 (0x44 char 'D') => 3 (0x3)
466    4, // input 69 (0x45 char 'E') => 4 (0x4)
467    5, // input 70 (0x46 char 'F') => 5 (0x5)
468    6, // input 71 (0x47 char 'G') => 6 (0x6)
469    7, // input 72 (0x48 char 'H') => 7 (0x7)
470    8, // input 73 (0x49 char 'I') => 8 (0x8)
471    9, // input 74 (0x4A char 'J') => 9 (0x9)
472    10, // input 75 (0x4B char 'K') => 10 (0xA)
473    11, // input 76 (0x4C char 'L') => 11 (0xB)
474    12, // input 77 (0x4D char 'M') => 12 (0xC)
475    13, // input 78 (0x4E char 'N') => 13 (0xD)
476    14, // input 79 (0x4F char 'O') => 14 (0xE)
477    15, // input 80 (0x50 char 'P') => 15 (0xF)
478    16, // input 81 (0x51 char 'Q') => 16 (0x10)
479    17, // input 82 (0x52 char 'R') => 17 (0x11)
480    18, // input 83 (0x53 char 'S') => 18 (0x12)
481    19, // input 84 (0x54 char 'T') => 19 (0x13)
482    20, // input 85 (0x55 char 'U') => 20 (0x14)
483    21, // input 86 (0x56 char 'V') => 21 (0x15)
484    22, // input 87 (0x57 char 'W') => 22 (0x16)
485    23, // input 88 (0x58 char 'X') => 23 (0x17)
486    24, // input 89 (0x59 char 'Y') => 24 (0x18)
487    25, // input 90 (0x5A char 'Z') => 25 (0x19)
488    INVALID_VALUE, // input 91 (0x5B)
489    INVALID_VALUE, // input 92 (0x5C)
490    INVALID_VALUE, // input 93 (0x5D)
491    INVALID_VALUE, // input 94 (0x5E)
492    63, // input 95 (0x5F char '_') => 63 (0x3F)
493    INVALID_VALUE, // input 96 (0x60)
494    26, // input 97 (0x61 char 'a') => 26 (0x1A)
495    27, // input 98 (0x62 char 'b') => 27 (0x1B)
496    28, // input 99 (0x63 char 'c') => 28 (0x1C)
497    29, // input 100 (0x64 char 'd') => 29 (0x1D)
498    30, // input 101 (0x65 char 'e') => 30 (0x1E)
499    31, // input 102 (0x66 char 'f') => 31 (0x1F)
500    32, // input 103 (0x67 char 'g') => 32 (0x20)
501    33, // input 104 (0x68 char 'h') => 33 (0x21)
502    34, // input 105 (0x69 char 'i') => 34 (0x22)
503    35, // input 106 (0x6A char 'j') => 35 (0x23)
504    36, // input 107 (0x6B char 'k') => 36 (0x24)
505    37, // input 108 (0x6C char 'l') => 37 (0x25)
506    38, // input 109 (0x6D char 'm') => 38 (0x26)
507    39, // input 110 (0x6E char 'n') => 39 (0x27)
508    40, // input 111 (0x6F char 'o') => 40 (0x28)
509    41, // input 112 (0x70 char 'p') => 41 (0x29)
510    42, // input 113 (0x71 char 'q') => 42 (0x2A)
511    43, // input 114 (0x72 char 'r') => 43 (0x2B)
512    44, // input 115 (0x73 char 's') => 44 (0x2C)
513    45, // input 116 (0x74 char 't') => 45 (0x2D)
514    46, // input 117 (0x75 char 'u') => 46 (0x2E)
515    47, // input 118 (0x76 char 'v') => 47 (0x2F)
516    48, // input 119 (0x77 char 'w') => 48 (0x30)
517    49, // input 120 (0x78 char 'x') => 49 (0x31)
518    50, // input 121 (0x79 char 'y') => 50 (0x32)
519    51, // input 122 (0x7A char 'z') => 51 (0x33)
520    INVALID_VALUE, // input 123 (0x7B)
521    INVALID_VALUE, // input 124 (0x7C)
522    INVALID_VALUE, // input 125 (0x7D)
523    INVALID_VALUE, // input 126 (0x7E)
524    INVALID_VALUE, // input 127 (0x7F)
525    INVALID_VALUE, // input 128 (0x80)
526    INVALID_VALUE, // input 129 (0x81)
527    INVALID_VALUE, // input 130 (0x82)
528    INVALID_VALUE, // input 131 (0x83)
529    INVALID_VALUE, // input 132 (0x84)
530    INVALID_VALUE, // input 133 (0x85)
531    INVALID_VALUE, // input 134 (0x86)
532    INVALID_VALUE, // input 135 (0x87)
533    INVALID_VALUE, // input 136 (0x88)
534    INVALID_VALUE, // input 137 (0x89)
535    INVALID_VALUE, // input 138 (0x8A)
536    INVALID_VALUE, // input 139 (0x8B)
537    INVALID_VALUE, // input 140 (0x8C)
538    INVALID_VALUE, // input 141 (0x8D)
539    INVALID_VALUE, // input 142 (0x8E)
540    INVALID_VALUE, // input 143 (0x8F)
541    INVALID_VALUE, // input 144 (0x90)
542    INVALID_VALUE, // input 145 (0x91)
543    INVALID_VALUE, // input 146 (0x92)
544    INVALID_VALUE, // input 147 (0x93)
545    INVALID_VALUE, // input 148 (0x94)
546    INVALID_VALUE, // input 149 (0x95)
547    INVALID_VALUE, // input 150 (0x96)
548    INVALID_VALUE, // input 151 (0x97)
549    INVALID_VALUE, // input 152 (0x98)
550    INVALID_VALUE, // input 153 (0x99)
551    INVALID_VALUE, // input 154 (0x9A)
552    INVALID_VALUE, // input 155 (0x9B)
553    INVALID_VALUE, // input 156 (0x9C)
554    INVALID_VALUE, // input 157 (0x9D)
555    INVALID_VALUE, // input 158 (0x9E)
556    INVALID_VALUE, // input 159 (0x9F)
557    INVALID_VALUE, // input 160 (0xA0)
558    INVALID_VALUE, // input 161 (0xA1)
559    INVALID_VALUE, // input 162 (0xA2)
560    INVALID_VALUE, // input 163 (0xA3)
561    INVALID_VALUE, // input 164 (0xA4)
562    INVALID_VALUE, // input 165 (0xA5)
563    INVALID_VALUE, // input 166 (0xA6)
564    INVALID_VALUE, // input 167 (0xA7)
565    INVALID_VALUE, // input 168 (0xA8)
566    INVALID_VALUE, // input 169 (0xA9)
567    INVALID_VALUE, // input 170 (0xAA)
568    INVALID_VALUE, // input 171 (0xAB)
569    INVALID_VALUE, // input 172 (0xAC)
570    INVALID_VALUE, // input 173 (0xAD)
571    INVALID_VALUE, // input 174 (0xAE)
572    INVALID_VALUE, // input 175 (0xAF)
573    INVALID_VALUE, // input 176 (0xB0)
574    INVALID_VALUE, // input 177 (0xB1)
575    INVALID_VALUE, // input 178 (0xB2)
576    INVALID_VALUE, // input 179 (0xB3)
577    INVALID_VALUE, // input 180 (0xB4)
578    INVALID_VALUE, // input 181 (0xB5)
579    INVALID_VALUE, // input 182 (0xB6)
580    INVALID_VALUE, // input 183 (0xB7)
581    INVALID_VALUE, // input 184 (0xB8)
582    INVALID_VALUE, // input 185 (0xB9)
583    INVALID_VALUE, // input 186 (0xBA)
584    INVALID_VALUE, // input 187 (0xBB)
585    INVALID_VALUE, // input 188 (0xBC)
586    INVALID_VALUE, // input 189 (0xBD)
587    INVALID_VALUE, // input 190 (0xBE)
588    INVALID_VALUE, // input 191 (0xBF)
589    INVALID_VALUE, // input 192 (0xC0)
590    INVALID_VALUE, // input 193 (0xC1)
591    INVALID_VALUE, // input 194 (0xC2)
592    INVALID_VALUE, // input 195 (0xC3)
593    INVALID_VALUE, // input 196 (0xC4)
594    INVALID_VALUE, // input 197 (0xC5)
595    INVALID_VALUE, // input 198 (0xC6)
596    INVALID_VALUE, // input 199 (0xC7)
597    INVALID_VALUE, // input 200 (0xC8)
598    INVALID_VALUE, // input 201 (0xC9)
599    INVALID_VALUE, // input 202 (0xCA)
600    INVALID_VALUE, // input 203 (0xCB)
601    INVALID_VALUE, // input 204 (0xCC)
602    INVALID_VALUE, // input 205 (0xCD)
603    INVALID_VALUE, // input 206 (0xCE)
604    INVALID_VALUE, // input 207 (0xCF)
605    INVALID_VALUE, // input 208 (0xD0)
606    INVALID_VALUE, // input 209 (0xD1)
607    INVALID_VALUE, // input 210 (0xD2)
608    INVALID_VALUE, // input 211 (0xD3)
609    INVALID_VALUE, // input 212 (0xD4)
610    INVALID_VALUE, // input 213 (0xD5)
611    INVALID_VALUE, // input 214 (0xD6)
612    INVALID_VALUE, // input 215 (0xD7)
613    INVALID_VALUE, // input 216 (0xD8)
614    INVALID_VALUE, // input 217 (0xD9)
615    INVALID_VALUE, // input 218 (0xDA)
616    INVALID_VALUE, // input 219 (0xDB)
617    INVALID_VALUE, // input 220 (0xDC)
618    INVALID_VALUE, // input 221 (0xDD)
619    INVALID_VALUE, // input 222 (0xDE)
620    INVALID_VALUE, // input 223 (0xDF)
621    INVALID_VALUE, // input 224 (0xE0)
622    INVALID_VALUE, // input 225 (0xE1)
623    INVALID_VALUE, // input 226 (0xE2)
624    INVALID_VALUE, // input 227 (0xE3)
625    INVALID_VALUE, // input 228 (0xE4)
626    INVALID_VALUE, // input 229 (0xE5)
627    INVALID_VALUE, // input 230 (0xE6)
628    INVALID_VALUE, // input 231 (0xE7)
629    INVALID_VALUE, // input 232 (0xE8)
630    INVALID_VALUE, // input 233 (0xE9)
631    INVALID_VALUE, // input 234 (0xEA)
632    INVALID_VALUE, // input 235 (0xEB)
633    INVALID_VALUE, // input 236 (0xEC)
634    INVALID_VALUE, // input 237 (0xED)
635    INVALID_VALUE, // input 238 (0xEE)
636    INVALID_VALUE, // input 239 (0xEF)
637    INVALID_VALUE, // input 240 (0xF0)
638    INVALID_VALUE, // input 241 (0xF1)
639    INVALID_VALUE, // input 242 (0xF2)
640    INVALID_VALUE, // input 243 (0xF3)
641    INVALID_VALUE, // input 244 (0xF4)
642    INVALID_VALUE, // input 245 (0xF5)
643    INVALID_VALUE, // input 246 (0xF6)
644    INVALID_VALUE, // input 247 (0xF7)
645    INVALID_VALUE, // input 248 (0xF8)
646    INVALID_VALUE, // input 249 (0xF9)
647    INVALID_VALUE, // input 250 (0xFA)
648    INVALID_VALUE, // input 251 (0xFB)
649    INVALID_VALUE, // input 252 (0xFC)
650    INVALID_VALUE, // input 253 (0xFD)
651    INVALID_VALUE, // input 254 (0xFE)
652    INVALID_VALUE, // input 255 (0xFF)
653];
654#[rustfmt::skip]
655pub const CRYPT_ENCODE: &[u8; 64] = &[
656    46, // input 0 (0x0) => '.' (0x2E)
657    47, // input 1 (0x1) => '/' (0x2F)
658    48, // input 2 (0x2) => '0' (0x30)
659    49, // input 3 (0x3) => '1' (0x31)
660    50, // input 4 (0x4) => '2' (0x32)
661    51, // input 5 (0x5) => '3' (0x33)
662    52, // input 6 (0x6) => '4' (0x34)
663    53, // input 7 (0x7) => '5' (0x35)
664    54, // input 8 (0x8) => '6' (0x36)
665    55, // input 9 (0x9) => '7' (0x37)
666    56, // input 10 (0xA) => '8' (0x38)
667    57, // input 11 (0xB) => '9' (0x39)
668    65, // input 12 (0xC) => 'A' (0x41)
669    66, // input 13 (0xD) => 'B' (0x42)
670    67, // input 14 (0xE) => 'C' (0x43)
671    68, // input 15 (0xF) => 'D' (0x44)
672    69, // input 16 (0x10) => 'E' (0x45)
673    70, // input 17 (0x11) => 'F' (0x46)
674    71, // input 18 (0x12) => 'G' (0x47)
675    72, // input 19 (0x13) => 'H' (0x48)
676    73, // input 20 (0x14) => 'I' (0x49)
677    74, // input 21 (0x15) => 'J' (0x4A)
678    75, // input 22 (0x16) => 'K' (0x4B)
679    76, // input 23 (0x17) => 'L' (0x4C)
680    77, // input 24 (0x18) => 'M' (0x4D)
681    78, // input 25 (0x19) => 'N' (0x4E)
682    79, // input 26 (0x1A) => 'O' (0x4F)
683    80, // input 27 (0x1B) => 'P' (0x50)
684    81, // input 28 (0x1C) => 'Q' (0x51)
685    82, // input 29 (0x1D) => 'R' (0x52)
686    83, // input 30 (0x1E) => 'S' (0x53)
687    84, // input 31 (0x1F) => 'T' (0x54)
688    85, // input 32 (0x20) => 'U' (0x55)
689    86, // input 33 (0x21) => 'V' (0x56)
690    87, // input 34 (0x22) => 'W' (0x57)
691    88, // input 35 (0x23) => 'X' (0x58)
692    89, // input 36 (0x24) => 'Y' (0x59)
693    90, // input 37 (0x25) => 'Z' (0x5A)
694    97, // input 38 (0x26) => 'a' (0x61)
695    98, // input 39 (0x27) => 'b' (0x62)
696    99, // input 40 (0x28) => 'c' (0x63)
697    100, // input 41 (0x29) => 'd' (0x64)
698    101, // input 42 (0x2A) => 'e' (0x65)
699    102, // input 43 (0x2B) => 'f' (0x66)
700    103, // input 44 (0x2C) => 'g' (0x67)
701    104, // input 45 (0x2D) => 'h' (0x68)
702    105, // input 46 (0x2E) => 'i' (0x69)
703    106, // input 47 (0x2F) => 'j' (0x6A)
704    107, // input 48 (0x30) => 'k' (0x6B)
705    108, // input 49 (0x31) => 'l' (0x6C)
706    109, // input 50 (0x32) => 'm' (0x6D)
707    110, // input 51 (0x33) => 'n' (0x6E)
708    111, // input 52 (0x34) => 'o' (0x6F)
709    112, // input 53 (0x35) => 'p' (0x70)
710    113, // input 54 (0x36) => 'q' (0x71)
711    114, // input 55 (0x37) => 'r' (0x72)
712    115, // input 56 (0x38) => 's' (0x73)
713    116, // input 57 (0x39) => 't' (0x74)
714    117, // input 58 (0x3A) => 'u' (0x75)
715    118, // input 59 (0x3B) => 'v' (0x76)
716    119, // input 60 (0x3C) => 'w' (0x77)
717    120, // input 61 (0x3D) => 'x' (0x78)
718    121, // input 62 (0x3E) => 'y' (0x79)
719    122, // input 63 (0x3F) => 'z' (0x7A)
720];
721#[rustfmt::skip]
722pub const CRYPT_DECODE: &[u8; 256] = &[
723    INVALID_VALUE, // input 0 (0x0)
724    INVALID_VALUE, // input 1 (0x1)
725    INVALID_VALUE, // input 2 (0x2)
726    INVALID_VALUE, // input 3 (0x3)
727    INVALID_VALUE, // input 4 (0x4)
728    INVALID_VALUE, // input 5 (0x5)
729    INVALID_VALUE, // input 6 (0x6)
730    INVALID_VALUE, // input 7 (0x7)
731    INVALID_VALUE, // input 8 (0x8)
732    INVALID_VALUE, // input 9 (0x9)
733    INVALID_VALUE, // input 10 (0xA)
734    INVALID_VALUE, // input 11 (0xB)
735    INVALID_VALUE, // input 12 (0xC)
736    INVALID_VALUE, // input 13 (0xD)
737    INVALID_VALUE, // input 14 (0xE)
738    INVALID_VALUE, // input 15 (0xF)
739    INVALID_VALUE, // input 16 (0x10)
740    INVALID_VALUE, // input 17 (0x11)
741    INVALID_VALUE, // input 18 (0x12)
742    INVALID_VALUE, // input 19 (0x13)
743    INVALID_VALUE, // input 20 (0x14)
744    INVALID_VALUE, // input 21 (0x15)
745    INVALID_VALUE, // input 22 (0x16)
746    INVALID_VALUE, // input 23 (0x17)
747    INVALID_VALUE, // input 24 (0x18)
748    INVALID_VALUE, // input 25 (0x19)
749    INVALID_VALUE, // input 26 (0x1A)
750    INVALID_VALUE, // input 27 (0x1B)
751    INVALID_VALUE, // input 28 (0x1C)
752    INVALID_VALUE, // input 29 (0x1D)
753    INVALID_VALUE, // input 30 (0x1E)
754    INVALID_VALUE, // input 31 (0x1F)
755    INVALID_VALUE, // input 32 (0x20)
756    INVALID_VALUE, // input 33 (0x21)
757    INVALID_VALUE, // input 34 (0x22)
758    INVALID_VALUE, // input 35 (0x23)
759    INVALID_VALUE, // input 36 (0x24)
760    INVALID_VALUE, // input 37 (0x25)
761    INVALID_VALUE, // input 38 (0x26)
762    INVALID_VALUE, // input 39 (0x27)
763    INVALID_VALUE, // input 40 (0x28)
764    INVALID_VALUE, // input 41 (0x29)
765    INVALID_VALUE, // input 42 (0x2A)
766    INVALID_VALUE, // input 43 (0x2B)
767    INVALID_VALUE, // input 44 (0x2C)
768    INVALID_VALUE, // input 45 (0x2D)
769    0, // input 46 (0x2E char '.') => 0 (0x0)
770    1, // input 47 (0x2F char '/') => 1 (0x1)
771    2, // input 48 (0x30 char '0') => 2 (0x2)
772    3, // input 49 (0x31 char '1') => 3 (0x3)
773    4, // input 50 (0x32 char '2') => 4 (0x4)
774    5, // input 51 (0x33 char '3') => 5 (0x5)
775    6, // input 52 (0x34 char '4') => 6 (0x6)
776    7, // input 53 (0x35 char '5') => 7 (0x7)
777    8, // input 54 (0x36 char '6') => 8 (0x8)
778    9, // input 55 (0x37 char '7') => 9 (0x9)
779    10, // input 56 (0x38 char '8') => 10 (0xA)
780    11, // input 57 (0x39 char '9') => 11 (0xB)
781    INVALID_VALUE, // input 58 (0x3A)
782    INVALID_VALUE, // input 59 (0x3B)
783    INVALID_VALUE, // input 60 (0x3C)
784    INVALID_VALUE, // input 61 (0x3D)
785    INVALID_VALUE, // input 62 (0x3E)
786    INVALID_VALUE, // input 63 (0x3F)
787    INVALID_VALUE, // input 64 (0x40)
788    12, // input 65 (0x41 char 'A') => 12 (0xC)
789    13, // input 66 (0x42 char 'B') => 13 (0xD)
790    14, // input 67 (0x43 char 'C') => 14 (0xE)
791    15, // input 68 (0x44 char 'D') => 15 (0xF)
792    16, // input 69 (0x45 char 'E') => 16 (0x10)
793    17, // input 70 (0x46 char 'F') => 17 (0x11)
794    18, // input 71 (0x47 char 'G') => 18 (0x12)
795    19, // input 72 (0x48 char 'H') => 19 (0x13)
796    20, // input 73 (0x49 char 'I') => 20 (0x14)
797    21, // input 74 (0x4A char 'J') => 21 (0x15)
798    22, // input 75 (0x4B char 'K') => 22 (0x16)
799    23, // input 76 (0x4C char 'L') => 23 (0x17)
800    24, // input 77 (0x4D char 'M') => 24 (0x18)
801    25, // input 78 (0x4E char 'N') => 25 (0x19)
802    26, // input 79 (0x4F char 'O') => 26 (0x1A)
803    27, // input 80 (0x50 char 'P') => 27 (0x1B)
804    28, // input 81 (0x51 char 'Q') => 28 (0x1C)
805    29, // input 82 (0x52 char 'R') => 29 (0x1D)
806    30, // input 83 (0x53 char 'S') => 30 (0x1E)
807    31, // input 84 (0x54 char 'T') => 31 (0x1F)
808    32, // input 85 (0x55 char 'U') => 32 (0x20)
809    33, // input 86 (0x56 char 'V') => 33 (0x21)
810    34, // input 87 (0x57 char 'W') => 34 (0x22)
811    35, // input 88 (0x58 char 'X') => 35 (0x23)
812    36, // input 89 (0x59 char 'Y') => 36 (0x24)
813    37, // input 90 (0x5A char 'Z') => 37 (0x25)
814    INVALID_VALUE, // input 91 (0x5B)
815    INVALID_VALUE, // input 92 (0x5C)
816    INVALID_VALUE, // input 93 (0x5D)
817    INVALID_VALUE, // input 94 (0x5E)
818    INVALID_VALUE, // input 95 (0x5F)
819    INVALID_VALUE, // input 96 (0x60)
820    38, // input 97 (0x61 char 'a') => 38 (0x26)
821    39, // input 98 (0x62 char 'b') => 39 (0x27)
822    40, // input 99 (0x63 char 'c') => 40 (0x28)
823    41, // input 100 (0x64 char 'd') => 41 (0x29)
824    42, // input 101 (0x65 char 'e') => 42 (0x2A)
825    43, // input 102 (0x66 char 'f') => 43 (0x2B)
826    44, // input 103 (0x67 char 'g') => 44 (0x2C)
827    45, // input 104 (0x68 char 'h') => 45 (0x2D)
828    46, // input 105 (0x69 char 'i') => 46 (0x2E)
829    47, // input 106 (0x6A char 'j') => 47 (0x2F)
830    48, // input 107 (0x6B char 'k') => 48 (0x30)
831    49, // input 108 (0x6C char 'l') => 49 (0x31)
832    50, // input 109 (0x6D char 'm') => 50 (0x32)
833    51, // input 110 (0x6E char 'n') => 51 (0x33)
834    52, // input 111 (0x6F char 'o') => 52 (0x34)
835    53, // input 112 (0x70 char 'p') => 53 (0x35)
836    54, // input 113 (0x71 char 'q') => 54 (0x36)
837    55, // input 114 (0x72 char 'r') => 55 (0x37)
838    56, // input 115 (0x73 char 's') => 56 (0x38)
839    57, // input 116 (0x74 char 't') => 57 (0x39)
840    58, // input 117 (0x75 char 'u') => 58 (0x3A)
841    59, // input 118 (0x76 char 'v') => 59 (0x3B)
842    60, // input 119 (0x77 char 'w') => 60 (0x3C)
843    61, // input 120 (0x78 char 'x') => 61 (0x3D)
844    62, // input 121 (0x79 char 'y') => 62 (0x3E)
845    63, // input 122 (0x7A char 'z') => 63 (0x3F)
846    INVALID_VALUE, // input 123 (0x7B)
847    INVALID_VALUE, // input 124 (0x7C)
848    INVALID_VALUE, // input 125 (0x7D)
849    INVALID_VALUE, // input 126 (0x7E)
850    INVALID_VALUE, // input 127 (0x7F)
851    INVALID_VALUE, // input 128 (0x80)
852    INVALID_VALUE, // input 129 (0x81)
853    INVALID_VALUE, // input 130 (0x82)
854    INVALID_VALUE, // input 131 (0x83)
855    INVALID_VALUE, // input 132 (0x84)
856    INVALID_VALUE, // input 133 (0x85)
857    INVALID_VALUE, // input 134 (0x86)
858    INVALID_VALUE, // input 135 (0x87)
859    INVALID_VALUE, // input 136 (0x88)
860    INVALID_VALUE, // input 137 (0x89)
861    INVALID_VALUE, // input 138 (0x8A)
862    INVALID_VALUE, // input 139 (0x8B)
863    INVALID_VALUE, // input 140 (0x8C)
864    INVALID_VALUE, // input 141 (0x8D)
865    INVALID_VALUE, // input 142 (0x8E)
866    INVALID_VALUE, // input 143 (0x8F)
867    INVALID_VALUE, // input 144 (0x90)
868    INVALID_VALUE, // input 145 (0x91)
869    INVALID_VALUE, // input 146 (0x92)
870    INVALID_VALUE, // input 147 (0x93)
871    INVALID_VALUE, // input 148 (0x94)
872    INVALID_VALUE, // input 149 (0x95)
873    INVALID_VALUE, // input 150 (0x96)
874    INVALID_VALUE, // input 151 (0x97)
875    INVALID_VALUE, // input 152 (0x98)
876    INVALID_VALUE, // input 153 (0x99)
877    INVALID_VALUE, // input 154 (0x9A)
878    INVALID_VALUE, // input 155 (0x9B)
879    INVALID_VALUE, // input 156 (0x9C)
880    INVALID_VALUE, // input 157 (0x9D)
881    INVALID_VALUE, // input 158 (0x9E)
882    INVALID_VALUE, // input 159 (0x9F)
883    INVALID_VALUE, // input 160 (0xA0)
884    INVALID_VALUE, // input 161 (0xA1)
885    INVALID_VALUE, // input 162 (0xA2)
886    INVALID_VALUE, // input 163 (0xA3)
887    INVALID_VALUE, // input 164 (0xA4)
888    INVALID_VALUE, // input 165 (0xA5)
889    INVALID_VALUE, // input 166 (0xA6)
890    INVALID_VALUE, // input 167 (0xA7)
891    INVALID_VALUE, // input 168 (0xA8)
892    INVALID_VALUE, // input 169 (0xA9)
893    INVALID_VALUE, // input 170 (0xAA)
894    INVALID_VALUE, // input 171 (0xAB)
895    INVALID_VALUE, // input 172 (0xAC)
896    INVALID_VALUE, // input 173 (0xAD)
897    INVALID_VALUE, // input 174 (0xAE)
898    INVALID_VALUE, // input 175 (0xAF)
899    INVALID_VALUE, // input 176 (0xB0)
900    INVALID_VALUE, // input 177 (0xB1)
901    INVALID_VALUE, // input 178 (0xB2)
902    INVALID_VALUE, // input 179 (0xB3)
903    INVALID_VALUE, // input 180 (0xB4)
904    INVALID_VALUE, // input 181 (0xB5)
905    INVALID_VALUE, // input 182 (0xB6)
906    INVALID_VALUE, // input 183 (0xB7)
907    INVALID_VALUE, // input 184 (0xB8)
908    INVALID_VALUE, // input 185 (0xB9)
909    INVALID_VALUE, // input 186 (0xBA)
910    INVALID_VALUE, // input 187 (0xBB)
911    INVALID_VALUE, // input 188 (0xBC)
912    INVALID_VALUE, // input 189 (0xBD)
913    INVALID_VALUE, // input 190 (0xBE)
914    INVALID_VALUE, // input 191 (0xBF)
915    INVALID_VALUE, // input 192 (0xC0)
916    INVALID_VALUE, // input 193 (0xC1)
917    INVALID_VALUE, // input 194 (0xC2)
918    INVALID_VALUE, // input 195 (0xC3)
919    INVALID_VALUE, // input 196 (0xC4)
920    INVALID_VALUE, // input 197 (0xC5)
921    INVALID_VALUE, // input 198 (0xC6)
922    INVALID_VALUE, // input 199 (0xC7)
923    INVALID_VALUE, // input 200 (0xC8)
924    INVALID_VALUE, // input 201 (0xC9)
925    INVALID_VALUE, // input 202 (0xCA)
926    INVALID_VALUE, // input 203 (0xCB)
927    INVALID_VALUE, // input 204 (0xCC)
928    INVALID_VALUE, // input 205 (0xCD)
929    INVALID_VALUE, // input 206 (0xCE)
930    INVALID_VALUE, // input 207 (0xCF)
931    INVALID_VALUE, // input 208 (0xD0)
932    INVALID_VALUE, // input 209 (0xD1)
933    INVALID_VALUE, // input 210 (0xD2)
934    INVALID_VALUE, // input 211 (0xD3)
935    INVALID_VALUE, // input 212 (0xD4)
936    INVALID_VALUE, // input 213 (0xD5)
937    INVALID_VALUE, // input 214 (0xD6)
938    INVALID_VALUE, // input 215 (0xD7)
939    INVALID_VALUE, // input 216 (0xD8)
940    INVALID_VALUE, // input 217 (0xD9)
941    INVALID_VALUE, // input 218 (0xDA)
942    INVALID_VALUE, // input 219 (0xDB)
943    INVALID_VALUE, // input 220 (0xDC)
944    INVALID_VALUE, // input 221 (0xDD)
945    INVALID_VALUE, // input 222 (0xDE)
946    INVALID_VALUE, // input 223 (0xDF)
947    INVALID_VALUE, // input 224 (0xE0)
948    INVALID_VALUE, // input 225 (0xE1)
949    INVALID_VALUE, // input 226 (0xE2)
950    INVALID_VALUE, // input 227 (0xE3)
951    INVALID_VALUE, // input 228 (0xE4)
952    INVALID_VALUE, // input 229 (0xE5)
953    INVALID_VALUE, // input 230 (0xE6)
954    INVALID_VALUE, // input 231 (0xE7)
955    INVALID_VALUE, // input 232 (0xE8)
956    INVALID_VALUE, // input 233 (0xE9)
957    INVALID_VALUE, // input 234 (0xEA)
958    INVALID_VALUE, // input 235 (0xEB)
959    INVALID_VALUE, // input 236 (0xEC)
960    INVALID_VALUE, // input 237 (0xED)
961    INVALID_VALUE, // input 238 (0xEE)
962    INVALID_VALUE, // input 239 (0xEF)
963    INVALID_VALUE, // input 240 (0xF0)
964    INVALID_VALUE, // input 241 (0xF1)
965    INVALID_VALUE, // input 242 (0xF2)
966    INVALID_VALUE, // input 243 (0xF3)
967    INVALID_VALUE, // input 244 (0xF4)
968    INVALID_VALUE, // input 245 (0xF5)
969    INVALID_VALUE, // input 246 (0xF6)
970    INVALID_VALUE, // input 247 (0xF7)
971    INVALID_VALUE, // input 248 (0xF8)
972    INVALID_VALUE, // input 249 (0xF9)
973    INVALID_VALUE, // input 250 (0xFA)
974    INVALID_VALUE, // input 251 (0xFB)
975    INVALID_VALUE, // input 252 (0xFC)
976    INVALID_VALUE, // input 253 (0xFD)
977    INVALID_VALUE, // input 254 (0xFE)
978    INVALID_VALUE, // input 255 (0xFF)
979];
980#[rustfmt::skip]
981pub const BCRYPT_ENCODE: &[u8; 64] = &[
982    46, // input 0 (0x0) => '.' (0x2E)
983    47, // input 1 (0x1) => '/' (0x2F)
984    65, // input 2 (0x2) => 'A' (0x41)
985    66, // input 3 (0x3) => 'B' (0x42)
986    67, // input 4 (0x4) => 'C' (0x43)
987    68, // input 5 (0x5) => 'D' (0x44)
988    69, // input 6 (0x6) => 'E' (0x45)
989    70, // input 7 (0x7) => 'F' (0x46)
990    71, // input 8 (0x8) => 'G' (0x47)
991    72, // input 9 (0x9) => 'H' (0x48)
992    73, // input 10 (0xA) => 'I' (0x49)
993    74, // input 11 (0xB) => 'J' (0x4A)
994    75, // input 12 (0xC) => 'K' (0x4B)
995    76, // input 13 (0xD) => 'L' (0x4C)
996    77, // input 14 (0xE) => 'M' (0x4D)
997    78, // input 15 (0xF) => 'N' (0x4E)
998    79, // input 16 (0x10) => 'O' (0x4F)
999    80, // input 17 (0x11) => 'P' (0x50)
1000    81, // input 18 (0x12) => 'Q' (0x51)
1001    82, // input 19 (0x13) => 'R' (0x52)
1002    83, // input 20 (0x14) => 'S' (0x53)
1003    84, // input 21 (0x15) => 'T' (0x54)
1004    85, // input 22 (0x16) => 'U' (0x55)
1005    86, // input 23 (0x17) => 'V' (0x56)
1006    87, // input 24 (0x18) => 'W' (0x57)
1007    88, // input 25 (0x19) => 'X' (0x58)
1008    89, // input 26 (0x1A) => 'Y' (0x59)
1009    90, // input 27 (0x1B) => 'Z' (0x5A)
1010    97, // input 28 (0x1C) => 'a' (0x61)
1011    98, // input 29 (0x1D) => 'b' (0x62)
1012    99, // input 30 (0x1E) => 'c' (0x63)
1013    100, // input 31 (0x1F) => 'd' (0x64)
1014    101, // input 32 (0x20) => 'e' (0x65)
1015    102, // input 33 (0x21) => 'f' (0x66)
1016    103, // input 34 (0x22) => 'g' (0x67)
1017    104, // input 35 (0x23) => 'h' (0x68)
1018    105, // input 36 (0x24) => 'i' (0x69)
1019    106, // input 37 (0x25) => 'j' (0x6A)
1020    107, // input 38 (0x26) => 'k' (0x6B)
1021    108, // input 39 (0x27) => 'l' (0x6C)
1022    109, // input 40 (0x28) => 'm' (0x6D)
1023    110, // input 41 (0x29) => 'n' (0x6E)
1024    111, // input 42 (0x2A) => 'o' (0x6F)
1025    112, // input 43 (0x2B) => 'p' (0x70)
1026    113, // input 44 (0x2C) => 'q' (0x71)
1027    114, // input 45 (0x2D) => 'r' (0x72)
1028    115, // input 46 (0x2E) => 's' (0x73)
1029    116, // input 47 (0x2F) => 't' (0x74)
1030    117, // input 48 (0x30) => 'u' (0x75)
1031    118, // input 49 (0x31) => 'v' (0x76)
1032    119, // input 50 (0x32) => 'w' (0x77)
1033    120, // input 51 (0x33) => 'x' (0x78)
1034    121, // input 52 (0x34) => 'y' (0x79)
1035    122, // input 53 (0x35) => 'z' (0x7A)
1036    48, // input 54 (0x36) => '0' (0x30)
1037    49, // input 55 (0x37) => '1' (0x31)
1038    50, // input 56 (0x38) => '2' (0x32)
1039    51, // input 57 (0x39) => '3' (0x33)
1040    52, // input 58 (0x3A) => '4' (0x34)
1041    53, // input 59 (0x3B) => '5' (0x35)
1042    54, // input 60 (0x3C) => '6' (0x36)
1043    55, // input 61 (0x3D) => '7' (0x37)
1044    56, // input 62 (0x3E) => '8' (0x38)
1045    57, // input 63 (0x3F) => '9' (0x39)
1046];
1047#[rustfmt::skip]
1048pub const BCRYPT_DECODE: &[u8; 256] = &[
1049    INVALID_VALUE, // input 0 (0x0)
1050    INVALID_VALUE, // input 1 (0x1)
1051    INVALID_VALUE, // input 2 (0x2)
1052    INVALID_VALUE, // input 3 (0x3)
1053    INVALID_VALUE, // input 4 (0x4)
1054    INVALID_VALUE, // input 5 (0x5)
1055    INVALID_VALUE, // input 6 (0x6)
1056    INVALID_VALUE, // input 7 (0x7)
1057    INVALID_VALUE, // input 8 (0x8)
1058    INVALID_VALUE, // input 9 (0x9)
1059    INVALID_VALUE, // input 10 (0xA)
1060    INVALID_VALUE, // input 11 (0xB)
1061    INVALID_VALUE, // input 12 (0xC)
1062    INVALID_VALUE, // input 13 (0xD)
1063    INVALID_VALUE, // input 14 (0xE)
1064    INVALID_VALUE, // input 15 (0xF)
1065    INVALID_VALUE, // input 16 (0x10)
1066    INVALID_VALUE, // input 17 (0x11)
1067    INVALID_VALUE, // input 18 (0x12)
1068    INVALID_VALUE, // input 19 (0x13)
1069    INVALID_VALUE, // input 20 (0x14)
1070    INVALID_VALUE, // input 21 (0x15)
1071    INVALID_VALUE, // input 22 (0x16)
1072    INVALID_VALUE, // input 23 (0x17)
1073    INVALID_VALUE, // input 24 (0x18)
1074    INVALID_VALUE, // input 25 (0x19)
1075    INVALID_VALUE, // input 26 (0x1A)
1076    INVALID_VALUE, // input 27 (0x1B)
1077    INVALID_VALUE, // input 28 (0x1C)
1078    INVALID_VALUE, // input 29 (0x1D)
1079    INVALID_VALUE, // input 30 (0x1E)
1080    INVALID_VALUE, // input 31 (0x1F)
1081    INVALID_VALUE, // input 32 (0x20)
1082    INVALID_VALUE, // input 33 (0x21)
1083    INVALID_VALUE, // input 34 (0x22)
1084    INVALID_VALUE, // input 35 (0x23)
1085    INVALID_VALUE, // input 36 (0x24)
1086    INVALID_VALUE, // input 37 (0x25)
1087    INVALID_VALUE, // input 38 (0x26)
1088    INVALID_VALUE, // input 39 (0x27)
1089    INVALID_VALUE, // input 40 (0x28)
1090    INVALID_VALUE, // input 41 (0x29)
1091    INVALID_VALUE, // input 42 (0x2A)
1092    INVALID_VALUE, // input 43 (0x2B)
1093    INVALID_VALUE, // input 44 (0x2C)
1094    INVALID_VALUE, // input 45 (0x2D)
1095    0, // input 46 (0x2E char '.') => 0 (0x0)
1096    1, // input 47 (0x2F char '/') => 1 (0x1)
1097    54, // input 48 (0x30 char '0') => 54 (0x36)
1098    55, // input 49 (0x31 char '1') => 55 (0x37)
1099    56, // input 50 (0x32 char '2') => 56 (0x38)
1100    57, // input 51 (0x33 char '3') => 57 (0x39)
1101    58, // input 52 (0x34 char '4') => 58 (0x3A)
1102    59, // input 53 (0x35 char '5') => 59 (0x3B)
1103    60, // input 54 (0x36 char '6') => 60 (0x3C)
1104    61, // input 55 (0x37 char '7') => 61 (0x3D)
1105    62, // input 56 (0x38 char '8') => 62 (0x3E)
1106    63, // input 57 (0x39 char '9') => 63 (0x3F)
1107    INVALID_VALUE, // input 58 (0x3A)
1108    INVALID_VALUE, // input 59 (0x3B)
1109    INVALID_VALUE, // input 60 (0x3C)
1110    INVALID_VALUE, // input 61 (0x3D)
1111    INVALID_VALUE, // input 62 (0x3E)
1112    INVALID_VALUE, // input 63 (0x3F)
1113    INVALID_VALUE, // input 64 (0x40)
1114    2, // input 65 (0x41 char 'A') => 2 (0x2)
1115    3, // input 66 (0x42 char 'B') => 3 (0x3)
1116    4, // input 67 (0x43 char 'C') => 4 (0x4)
1117    5, // input 68 (0x44 char 'D') => 5 (0x5)
1118    6, // input 69 (0x45 char 'E') => 6 (0x6)
1119    7, // input 70 (0x46 char 'F') => 7 (0x7)
1120    8, // input 71 (0x47 char 'G') => 8 (0x8)
1121    9, // input 72 (0x48 char 'H') => 9 (0x9)
1122    10, // input 73 (0x49 char 'I') => 10 (0xA)
1123    11, // input 74 (0x4A char 'J') => 11 (0xB)
1124    12, // input 75 (0x4B char 'K') => 12 (0xC)
1125    13, // input 76 (0x4C char 'L') => 13 (0xD)
1126    14, // input 77 (0x4D char 'M') => 14 (0xE)
1127    15, // input 78 (0x4E char 'N') => 15 (0xF)
1128    16, // input 79 (0x4F char 'O') => 16 (0x10)
1129    17, // input 80 (0x50 char 'P') => 17 (0x11)
1130    18, // input 81 (0x51 char 'Q') => 18 (0x12)
1131    19, // input 82 (0x52 char 'R') => 19 (0x13)
1132    20, // input 83 (0x53 char 'S') => 20 (0x14)
1133    21, // input 84 (0x54 char 'T') => 21 (0x15)
1134    22, // input 85 (0x55 char 'U') => 22 (0x16)
1135    23, // input 86 (0x56 char 'V') => 23 (0x17)
1136    24, // input 87 (0x57 char 'W') => 24 (0x18)
1137    25, // input 88 (0x58 char 'X') => 25 (0x19)
1138    26, // input 89 (0x59 char 'Y') => 26 (0x1A)
1139    27, // input 90 (0x5A char 'Z') => 27 (0x1B)
1140    INVALID_VALUE, // input 91 (0x5B)
1141    INVALID_VALUE, // input 92 (0x5C)
1142    INVALID_VALUE, // input 93 (0x5D)
1143    INVALID_VALUE, // input 94 (0x5E)
1144    INVALID_VALUE, // input 95 (0x5F)
1145    INVALID_VALUE, // input 96 (0x60)
1146    28, // input 97 (0x61 char 'a') => 28 (0x1C)
1147    29, // input 98 (0x62 char 'b') => 29 (0x1D)
1148    30, // input 99 (0x63 char 'c') => 30 (0x1E)
1149    31, // input 100 (0x64 char 'd') => 31 (0x1F)
1150    32, // input 101 (0x65 char 'e') => 32 (0x20)
1151    33, // input 102 (0x66 char 'f') => 33 (0x21)
1152    34, // input 103 (0x67 char 'g') => 34 (0x22)
1153    35, // input 104 (0x68 char 'h') => 35 (0x23)
1154    36, // input 105 (0x69 char 'i') => 36 (0x24)
1155    37, // input 106 (0x6A char 'j') => 37 (0x25)
1156    38, // input 107 (0x6B char 'k') => 38 (0x26)
1157    39, // input 108 (0x6C char 'l') => 39 (0x27)
1158    40, // input 109 (0x6D char 'm') => 40 (0x28)
1159    41, // input 110 (0x6E char 'n') => 41 (0x29)
1160    42, // input 111 (0x6F char 'o') => 42 (0x2A)
1161    43, // input 112 (0x70 char 'p') => 43 (0x2B)
1162    44, // input 113 (0x71 char 'q') => 44 (0x2C)
1163    45, // input 114 (0x72 char 'r') => 45 (0x2D)
1164    46, // input 115 (0x73 char 's') => 46 (0x2E)
1165    47, // input 116 (0x74 char 't') => 47 (0x2F)
1166    48, // input 117 (0x75 char 'u') => 48 (0x30)
1167    49, // input 118 (0x76 char 'v') => 49 (0x31)
1168    50, // input 119 (0x77 char 'w') => 50 (0x32)
1169    51, // input 120 (0x78 char 'x') => 51 (0x33)
1170    52, // input 121 (0x79 char 'y') => 52 (0x34)
1171    53, // input 122 (0x7A char 'z') => 53 (0x35)
1172    INVALID_VALUE, // input 123 (0x7B)
1173    INVALID_VALUE, // input 124 (0x7C)
1174    INVALID_VALUE, // input 125 (0x7D)
1175    INVALID_VALUE, // input 126 (0x7E)
1176    INVALID_VALUE, // input 127 (0x7F)
1177    INVALID_VALUE, // input 128 (0x80)
1178    INVALID_VALUE, // input 129 (0x81)
1179    INVALID_VALUE, // input 130 (0x82)
1180    INVALID_VALUE, // input 131 (0x83)
1181    INVALID_VALUE, // input 132 (0x84)
1182    INVALID_VALUE, // input 133 (0x85)
1183    INVALID_VALUE, // input 134 (0x86)
1184    INVALID_VALUE, // input 135 (0x87)
1185    INVALID_VALUE, // input 136 (0x88)
1186    INVALID_VALUE, // input 137 (0x89)
1187    INVALID_VALUE, // input 138 (0x8A)
1188    INVALID_VALUE, // input 139 (0x8B)
1189    INVALID_VALUE, // input 140 (0x8C)
1190    INVALID_VALUE, // input 141 (0x8D)
1191    INVALID_VALUE, // input 142 (0x8E)
1192    INVALID_VALUE, // input 143 (0x8F)
1193    INVALID_VALUE, // input 144 (0x90)
1194    INVALID_VALUE, // input 145 (0x91)
1195    INVALID_VALUE, // input 146 (0x92)
1196    INVALID_VALUE, // input 147 (0x93)
1197    INVALID_VALUE, // input 148 (0x94)
1198    INVALID_VALUE, // input 149 (0x95)
1199    INVALID_VALUE, // input 150 (0x96)
1200    INVALID_VALUE, // input 151 (0x97)
1201    INVALID_VALUE, // input 152 (0x98)
1202    INVALID_VALUE, // input 153 (0x99)
1203    INVALID_VALUE, // input 154 (0x9A)
1204    INVALID_VALUE, // input 155 (0x9B)
1205    INVALID_VALUE, // input 156 (0x9C)
1206    INVALID_VALUE, // input 157 (0x9D)
1207    INVALID_VALUE, // input 158 (0x9E)
1208    INVALID_VALUE, // input 159 (0x9F)
1209    INVALID_VALUE, // input 160 (0xA0)
1210    INVALID_VALUE, // input 161 (0xA1)
1211    INVALID_VALUE, // input 162 (0xA2)
1212    INVALID_VALUE, // input 163 (0xA3)
1213    INVALID_VALUE, // input 164 (0xA4)
1214    INVALID_VALUE, // input 165 (0xA5)
1215    INVALID_VALUE, // input 166 (0xA6)
1216    INVALID_VALUE, // input 167 (0xA7)
1217    INVALID_VALUE, // input 168 (0xA8)
1218    INVALID_VALUE, // input 169 (0xA9)
1219    INVALID_VALUE, // input 170 (0xAA)
1220    INVALID_VALUE, // input 171 (0xAB)
1221    INVALID_VALUE, // input 172 (0xAC)
1222    INVALID_VALUE, // input 173 (0xAD)
1223    INVALID_VALUE, // input 174 (0xAE)
1224    INVALID_VALUE, // input 175 (0xAF)
1225    INVALID_VALUE, // input 176 (0xB0)
1226    INVALID_VALUE, // input 177 (0xB1)
1227    INVALID_VALUE, // input 178 (0xB2)
1228    INVALID_VALUE, // input 179 (0xB3)
1229    INVALID_VALUE, // input 180 (0xB4)
1230    INVALID_VALUE, // input 181 (0xB5)
1231    INVALID_VALUE, // input 182 (0xB6)
1232    INVALID_VALUE, // input 183 (0xB7)
1233    INVALID_VALUE, // input 184 (0xB8)
1234    INVALID_VALUE, // input 185 (0xB9)
1235    INVALID_VALUE, // input 186 (0xBA)
1236    INVALID_VALUE, // input 187 (0xBB)
1237    INVALID_VALUE, // input 188 (0xBC)
1238    INVALID_VALUE, // input 189 (0xBD)
1239    INVALID_VALUE, // input 190 (0xBE)
1240    INVALID_VALUE, // input 191 (0xBF)
1241    INVALID_VALUE, // input 192 (0xC0)
1242    INVALID_VALUE, // input 193 (0xC1)
1243    INVALID_VALUE, // input 194 (0xC2)
1244    INVALID_VALUE, // input 195 (0xC3)
1245    INVALID_VALUE, // input 196 (0xC4)
1246    INVALID_VALUE, // input 197 (0xC5)
1247    INVALID_VALUE, // input 198 (0xC6)
1248    INVALID_VALUE, // input 199 (0xC7)
1249    INVALID_VALUE, // input 200 (0xC8)
1250    INVALID_VALUE, // input 201 (0xC9)
1251    INVALID_VALUE, // input 202 (0xCA)
1252    INVALID_VALUE, // input 203 (0xCB)
1253    INVALID_VALUE, // input 204 (0xCC)
1254    INVALID_VALUE, // input 205 (0xCD)
1255    INVALID_VALUE, // input 206 (0xCE)
1256    INVALID_VALUE, // input 207 (0xCF)
1257    INVALID_VALUE, // input 208 (0xD0)
1258    INVALID_VALUE, // input 209 (0xD1)
1259    INVALID_VALUE, // input 210 (0xD2)
1260    INVALID_VALUE, // input 211 (0xD3)
1261    INVALID_VALUE, // input 212 (0xD4)
1262    INVALID_VALUE, // input 213 (0xD5)
1263    INVALID_VALUE, // input 214 (0xD6)
1264    INVALID_VALUE, // input 215 (0xD7)
1265    INVALID_VALUE, // input 216 (0xD8)
1266    INVALID_VALUE, // input 217 (0xD9)
1267    INVALID_VALUE, // input 218 (0xDA)
1268    INVALID_VALUE, // input 219 (0xDB)
1269    INVALID_VALUE, // input 220 (0xDC)
1270    INVALID_VALUE, // input 221 (0xDD)
1271    INVALID_VALUE, // input 222 (0xDE)
1272    INVALID_VALUE, // input 223 (0xDF)
1273    INVALID_VALUE, // input 224 (0xE0)
1274    INVALID_VALUE, // input 225 (0xE1)
1275    INVALID_VALUE, // input 226 (0xE2)
1276    INVALID_VALUE, // input 227 (0xE3)
1277    INVALID_VALUE, // input 228 (0xE4)
1278    INVALID_VALUE, // input 229 (0xE5)
1279    INVALID_VALUE, // input 230 (0xE6)
1280    INVALID_VALUE, // input 231 (0xE7)
1281    INVALID_VALUE, // input 232 (0xE8)
1282    INVALID_VALUE, // input 233 (0xE9)
1283    INVALID_VALUE, // input 234 (0xEA)
1284    INVALID_VALUE, // input 235 (0xEB)
1285    INVALID_VALUE, // input 236 (0xEC)
1286    INVALID_VALUE, // input 237 (0xED)
1287    INVALID_VALUE, // input 238 (0xEE)
1288    INVALID_VALUE, // input 239 (0xEF)
1289    INVALID_VALUE, // input 240 (0xF0)
1290    INVALID_VALUE, // input 241 (0xF1)
1291    INVALID_VALUE, // input 242 (0xF2)
1292    INVALID_VALUE, // input 243 (0xF3)
1293    INVALID_VALUE, // input 244 (0xF4)
1294    INVALID_VALUE, // input 245 (0xF5)
1295    INVALID_VALUE, // input 246 (0xF6)
1296    INVALID_VALUE, // input 247 (0xF7)
1297    INVALID_VALUE, // input 248 (0xF8)
1298    INVALID_VALUE, // input 249 (0xF9)
1299    INVALID_VALUE, // input 250 (0xFA)
1300    INVALID_VALUE, // input 251 (0xFB)
1301    INVALID_VALUE, // input 252 (0xFC)
1302    INVALID_VALUE, // input 253 (0xFD)
1303    INVALID_VALUE, // input 254 (0xFE)
1304    INVALID_VALUE, // input 255 (0xFF)
1305];
1306#[rustfmt::skip]
1307pub const IMAP_MUTF7_ENCODE: &[u8; 64] = &[
1308    65, // input 0 (0x0) => 'A' (0x41)
1309    66, // input 1 (0x1) => 'B' (0x42)
1310    67, // input 2 (0x2) => 'C' (0x43)
1311    68, // input 3 (0x3) => 'D' (0x44)
1312    69, // input 4 (0x4) => 'E' (0x45)
1313    70, // input 5 (0x5) => 'F' (0x46)
1314    71, // input 6 (0x6) => 'G' (0x47)
1315    72, // input 7 (0x7) => 'H' (0x48)
1316    73, // input 8 (0x8) => 'I' (0x49)
1317    74, // input 9 (0x9) => 'J' (0x4A)
1318    75, // input 10 (0xA) => 'K' (0x4B)
1319    76, // input 11 (0xB) => 'L' (0x4C)
1320    77, // input 12 (0xC) => 'M' (0x4D)
1321    78, // input 13 (0xD) => 'N' (0x4E)
1322    79, // input 14 (0xE) => 'O' (0x4F)
1323    80, // input 15 (0xF) => 'P' (0x50)
1324    81, // input 16 (0x10) => 'Q' (0x51)
1325    82, // input 17 (0x11) => 'R' (0x52)
1326    83, // input 18 (0x12) => 'S' (0x53)
1327    84, // input 19 (0x13) => 'T' (0x54)
1328    85, // input 20 (0x14) => 'U' (0x55)
1329    86, // input 21 (0x15) => 'V' (0x56)
1330    87, // input 22 (0x16) => 'W' (0x57)
1331    88, // input 23 (0x17) => 'X' (0x58)
1332    89, // input 24 (0x18) => 'Y' (0x59)
1333    90, // input 25 (0x19) => 'Z' (0x5A)
1334    97, // input 26 (0x1A) => 'a' (0x61)
1335    98, // input 27 (0x1B) => 'b' (0x62)
1336    99, // input 28 (0x1C) => 'c' (0x63)
1337    100, // input 29 (0x1D) => 'd' (0x64)
1338    101, // input 30 (0x1E) => 'e' (0x65)
1339    102, // input 31 (0x1F) => 'f' (0x66)
1340    103, // input 32 (0x20) => 'g' (0x67)
1341    104, // input 33 (0x21) => 'h' (0x68)
1342    105, // input 34 (0x22) => 'i' (0x69)
1343    106, // input 35 (0x23) => 'j' (0x6A)
1344    107, // input 36 (0x24) => 'k' (0x6B)
1345    108, // input 37 (0x25) => 'l' (0x6C)
1346    109, // input 38 (0x26) => 'm' (0x6D)
1347    110, // input 39 (0x27) => 'n' (0x6E)
1348    111, // input 40 (0x28) => 'o' (0x6F)
1349    112, // input 41 (0x29) => 'p' (0x70)
1350    113, // input 42 (0x2A) => 'q' (0x71)
1351    114, // input 43 (0x2B) => 'r' (0x72)
1352    115, // input 44 (0x2C) => 's' (0x73)
1353    116, // input 45 (0x2D) => 't' (0x74)
1354    117, // input 46 (0x2E) => 'u' (0x75)
1355    118, // input 47 (0x2F) => 'v' (0x76)
1356    119, // input 48 (0x30) => 'w' (0x77)
1357    120, // input 49 (0x31) => 'x' (0x78)
1358    121, // input 50 (0x32) => 'y' (0x79)
1359    122, // input 51 (0x33) => 'z' (0x7A)
1360    48, // input 52 (0x34) => '0' (0x30)
1361    49, // input 53 (0x35) => '1' (0x31)
1362    50, // input 54 (0x36) => '2' (0x32)
1363    51, // input 55 (0x37) => '3' (0x33)
1364    52, // input 56 (0x38) => '4' (0x34)
1365    53, // input 57 (0x39) => '5' (0x35)
1366    54, // input 58 (0x3A) => '6' (0x36)
1367    55, // input 59 (0x3B) => '7' (0x37)
1368    56, // input 60 (0x3C) => '8' (0x38)
1369    57, // input 61 (0x3D) => '9' (0x39)
1370    43, // input 62 (0x3E) => '+' (0x2B)
1371    44, // input 63 (0x3F) => ',' (0x2C)
1372];
1373#[rustfmt::skip]
1374pub const IMAP_MUTF7_DECODE: &[u8; 256] = &[
1375    INVALID_VALUE, // input 0 (0x0)
1376    INVALID_VALUE, // input 1 (0x1)
1377    INVALID_VALUE, // input 2 (0x2)
1378    INVALID_VALUE, // input 3 (0x3)
1379    INVALID_VALUE, // input 4 (0x4)
1380    INVALID_VALUE, // input 5 (0x5)
1381    INVALID_VALUE, // input 6 (0x6)
1382    INVALID_VALUE, // input 7 (0x7)
1383    INVALID_VALUE, // input 8 (0x8)
1384    INVALID_VALUE, // input 9 (0x9)
1385    INVALID_VALUE, // input 10 (0xA)
1386    INVALID_VALUE, // input 11 (0xB)
1387    INVALID_VALUE, // input 12 (0xC)
1388    INVALID_VALUE, // input 13 (0xD)
1389    INVALID_VALUE, // input 14 (0xE)
1390    INVALID_VALUE, // input 15 (0xF)
1391    INVALID_VALUE, // input 16 (0x10)
1392    INVALID_VALUE, // input 17 (0x11)
1393    INVALID_VALUE, // input 18 (0x12)
1394    INVALID_VALUE, // input 19 (0x13)
1395    INVALID_VALUE, // input 20 (0x14)
1396    INVALID_VALUE, // input 21 (0x15)
1397    INVALID_VALUE, // input 22 (0x16)
1398    INVALID_VALUE, // input 23 (0x17)
1399    INVALID_VALUE, // input 24 (0x18)
1400    INVALID_VALUE, // input 25 (0x19)
1401    INVALID_VALUE, // input 26 (0x1A)
1402    INVALID_VALUE, // input 27 (0x1B)
1403    INVALID_VALUE, // input 28 (0x1C)
1404    INVALID_VALUE, // input 29 (0x1D)
1405    INVALID_VALUE, // input 30 (0x1E)
1406    INVALID_VALUE, // input 31 (0x1F)
1407    INVALID_VALUE, // input 32 (0x20)
1408    INVALID_VALUE, // input 33 (0x21)
1409    INVALID_VALUE, // input 34 (0x22)
1410    INVALID_VALUE, // input 35 (0x23)
1411    INVALID_VALUE, // input 36 (0x24)
1412    INVALID_VALUE, // input 37 (0x25)
1413    INVALID_VALUE, // input 38 (0x26)
1414    INVALID_VALUE, // input 39 (0x27)
1415    INVALID_VALUE, // input 40 (0x28)
1416    INVALID_VALUE, // input 41 (0x29)
1417    INVALID_VALUE, // input 42 (0x2A)
1418    62, // input 43 (0x2B char '+') => 62 (0x3E)
1419    63, // input 44 (0x2C char ',') => 63 (0x3F)
1420    INVALID_VALUE, // input 45 (0x2D)
1421    INVALID_VALUE, // input 46 (0x2E)
1422    INVALID_VALUE, // input 47 (0x2F)
1423    52, // input 48 (0x30 char '0') => 52 (0x34)
1424    53, // input 49 (0x31 char '1') => 53 (0x35)
1425    54, // input 50 (0x32 char '2') => 54 (0x36)
1426    55, // input 51 (0x33 char '3') => 55 (0x37)
1427    56, // input 52 (0x34 char '4') => 56 (0x38)
1428    57, // input 53 (0x35 char '5') => 57 (0x39)
1429    58, // input 54 (0x36 char '6') => 58 (0x3A)
1430    59, // input 55 (0x37 char '7') => 59 (0x3B)
1431    60, // input 56 (0x38 char '8') => 60 (0x3C)
1432    61, // input 57 (0x39 char '9') => 61 (0x3D)
1433    INVALID_VALUE, // input 58 (0x3A)
1434    INVALID_VALUE, // input 59 (0x3B)
1435    INVALID_VALUE, // input 60 (0x3C)
1436    INVALID_VALUE, // input 61 (0x3D)
1437    INVALID_VALUE, // input 62 (0x3E)
1438    INVALID_VALUE, // input 63 (0x3F)
1439    INVALID_VALUE, // input 64 (0x40)
1440    0, // input 65 (0x41 char 'A') => 0 (0x0)
1441    1, // input 66 (0x42 char 'B') => 1 (0x1)
1442    2, // input 67 (0x43 char 'C') => 2 (0x2)
1443    3, // input 68 (0x44 char 'D') => 3 (0x3)
1444    4, // input 69 (0x45 char 'E') => 4 (0x4)
1445    5, // input 70 (0x46 char 'F') => 5 (0x5)
1446    6, // input 71 (0x47 char 'G') => 6 (0x6)
1447    7, // input 72 (0x48 char 'H') => 7 (0x7)
1448    8, // input 73 (0x49 char 'I') => 8 (0x8)
1449    9, // input 74 (0x4A char 'J') => 9 (0x9)
1450    10, // input 75 (0x4B char 'K') => 10 (0xA)
1451    11, // input 76 (0x4C char 'L') => 11 (0xB)
1452    12, // input 77 (0x4D char 'M') => 12 (0xC)
1453    13, // input 78 (0x4E char 'N') => 13 (0xD)
1454    14, // input 79 (0x4F char 'O') => 14 (0xE)
1455    15, // input 80 (0x50 char 'P') => 15 (0xF)
1456    16, // input 81 (0x51 char 'Q') => 16 (0x10)
1457    17, // input 82 (0x52 char 'R') => 17 (0x11)
1458    18, // input 83 (0x53 char 'S') => 18 (0x12)
1459    19, // input 84 (0x54 char 'T') => 19 (0x13)
1460    20, // input 85 (0x55 char 'U') => 20 (0x14)
1461    21, // input 86 (0x56 char 'V') => 21 (0x15)
1462    22, // input 87 (0x57 char 'W') => 22 (0x16)
1463    23, // input 88 (0x58 char 'X') => 23 (0x17)
1464    24, // input 89 (0x59 char 'Y') => 24 (0x18)
1465    25, // input 90 (0x5A char 'Z') => 25 (0x19)
1466    INVALID_VALUE, // input 91 (0x5B)
1467    INVALID_VALUE, // input 92 (0x5C)
1468    INVALID_VALUE, // input 93 (0x5D)
1469    INVALID_VALUE, // input 94 (0x5E)
1470    INVALID_VALUE, // input 95 (0x5F)
1471    INVALID_VALUE, // input 96 (0x60)
1472    26, // input 97 (0x61 char 'a') => 26 (0x1A)
1473    27, // input 98 (0x62 char 'b') => 27 (0x1B)
1474    28, // input 99 (0x63 char 'c') => 28 (0x1C)
1475    29, // input 100 (0x64 char 'd') => 29 (0x1D)
1476    30, // input 101 (0x65 char 'e') => 30 (0x1E)
1477    31, // input 102 (0x66 char 'f') => 31 (0x1F)
1478    32, // input 103 (0x67 char 'g') => 32 (0x20)
1479    33, // input 104 (0x68 char 'h') => 33 (0x21)
1480    34, // input 105 (0x69 char 'i') => 34 (0x22)
1481    35, // input 106 (0x6A char 'j') => 35 (0x23)
1482    36, // input 107 (0x6B char 'k') => 36 (0x24)
1483    37, // input 108 (0x6C char 'l') => 37 (0x25)
1484    38, // input 109 (0x6D char 'm') => 38 (0x26)
1485    39, // input 110 (0x6E char 'n') => 39 (0x27)
1486    40, // input 111 (0x6F char 'o') => 40 (0x28)
1487    41, // input 112 (0x70 char 'p') => 41 (0x29)
1488    42, // input 113 (0x71 char 'q') => 42 (0x2A)
1489    43, // input 114 (0x72 char 'r') => 43 (0x2B)
1490    44, // input 115 (0x73 char 's') => 44 (0x2C)
1491    45, // input 116 (0x74 char 't') => 45 (0x2D)
1492    46, // input 117 (0x75 char 'u') => 46 (0x2E)
1493    47, // input 118 (0x76 char 'v') => 47 (0x2F)
1494    48, // input 119 (0x77 char 'w') => 48 (0x30)
1495    49, // input 120 (0x78 char 'x') => 49 (0x31)
1496    50, // input 121 (0x79 char 'y') => 50 (0x32)
1497    51, // input 122 (0x7A char 'z') => 51 (0x33)
1498    INVALID_VALUE, // input 123 (0x7B)
1499    INVALID_VALUE, // input 124 (0x7C)
1500    INVALID_VALUE, // input 125 (0x7D)
1501    INVALID_VALUE, // input 126 (0x7E)
1502    INVALID_VALUE, // input 127 (0x7F)
1503    INVALID_VALUE, // input 128 (0x80)
1504    INVALID_VALUE, // input 129 (0x81)
1505    INVALID_VALUE, // input 130 (0x82)
1506    INVALID_VALUE, // input 131 (0x83)
1507    INVALID_VALUE, // input 132 (0x84)
1508    INVALID_VALUE, // input 133 (0x85)
1509    INVALID_VALUE, // input 134 (0x86)
1510    INVALID_VALUE, // input 135 (0x87)
1511    INVALID_VALUE, // input 136 (0x88)
1512    INVALID_VALUE, // input 137 (0x89)
1513    INVALID_VALUE, // input 138 (0x8A)
1514    INVALID_VALUE, // input 139 (0x8B)
1515    INVALID_VALUE, // input 140 (0x8C)
1516    INVALID_VALUE, // input 141 (0x8D)
1517    INVALID_VALUE, // input 142 (0x8E)
1518    INVALID_VALUE, // input 143 (0x8F)
1519    INVALID_VALUE, // input 144 (0x90)
1520    INVALID_VALUE, // input 145 (0x91)
1521    INVALID_VALUE, // input 146 (0x92)
1522    INVALID_VALUE, // input 147 (0x93)
1523    INVALID_VALUE, // input 148 (0x94)
1524    INVALID_VALUE, // input 149 (0x95)
1525    INVALID_VALUE, // input 150 (0x96)
1526    INVALID_VALUE, // input 151 (0x97)
1527    INVALID_VALUE, // input 152 (0x98)
1528    INVALID_VALUE, // input 153 (0x99)
1529    INVALID_VALUE, // input 154 (0x9A)
1530    INVALID_VALUE, // input 155 (0x9B)
1531    INVALID_VALUE, // input 156 (0x9C)
1532    INVALID_VALUE, // input 157 (0x9D)
1533    INVALID_VALUE, // input 158 (0x9E)
1534    INVALID_VALUE, // input 159 (0x9F)
1535    INVALID_VALUE, // input 160 (0xA0)
1536    INVALID_VALUE, // input 161 (0xA1)
1537    INVALID_VALUE, // input 162 (0xA2)
1538    INVALID_VALUE, // input 163 (0xA3)
1539    INVALID_VALUE, // input 164 (0xA4)
1540    INVALID_VALUE, // input 165 (0xA5)
1541    INVALID_VALUE, // input 166 (0xA6)
1542    INVALID_VALUE, // input 167 (0xA7)
1543    INVALID_VALUE, // input 168 (0xA8)
1544    INVALID_VALUE, // input 169 (0xA9)
1545    INVALID_VALUE, // input 170 (0xAA)
1546    INVALID_VALUE, // input 171 (0xAB)
1547    INVALID_VALUE, // input 172 (0xAC)
1548    INVALID_VALUE, // input 173 (0xAD)
1549    INVALID_VALUE, // input 174 (0xAE)
1550    INVALID_VALUE, // input 175 (0xAF)
1551    INVALID_VALUE, // input 176 (0xB0)
1552    INVALID_VALUE, // input 177 (0xB1)
1553    INVALID_VALUE, // input 178 (0xB2)
1554    INVALID_VALUE, // input 179 (0xB3)
1555    INVALID_VALUE, // input 180 (0xB4)
1556    INVALID_VALUE, // input 181 (0xB5)
1557    INVALID_VALUE, // input 182 (0xB6)
1558    INVALID_VALUE, // input 183 (0xB7)
1559    INVALID_VALUE, // input 184 (0xB8)
1560    INVALID_VALUE, // input 185 (0xB9)
1561    INVALID_VALUE, // input 186 (0xBA)
1562    INVALID_VALUE, // input 187 (0xBB)
1563    INVALID_VALUE, // input 188 (0xBC)
1564    INVALID_VALUE, // input 189 (0xBD)
1565    INVALID_VALUE, // input 190 (0xBE)
1566    INVALID_VALUE, // input 191 (0xBF)
1567    INVALID_VALUE, // input 192 (0xC0)
1568    INVALID_VALUE, // input 193 (0xC1)
1569    INVALID_VALUE, // input 194 (0xC2)
1570    INVALID_VALUE, // input 195 (0xC3)
1571    INVALID_VALUE, // input 196 (0xC4)
1572    INVALID_VALUE, // input 197 (0xC5)
1573    INVALID_VALUE, // input 198 (0xC6)
1574    INVALID_VALUE, // input 199 (0xC7)
1575    INVALID_VALUE, // input 200 (0xC8)
1576    INVALID_VALUE, // input 201 (0xC9)
1577    INVALID_VALUE, // input 202 (0xCA)
1578    INVALID_VALUE, // input 203 (0xCB)
1579    INVALID_VALUE, // input 204 (0xCC)
1580    INVALID_VALUE, // input 205 (0xCD)
1581    INVALID_VALUE, // input 206 (0xCE)
1582    INVALID_VALUE, // input 207 (0xCF)
1583    INVALID_VALUE, // input 208 (0xD0)
1584    INVALID_VALUE, // input 209 (0xD1)
1585    INVALID_VALUE, // input 210 (0xD2)
1586    INVALID_VALUE, // input 211 (0xD3)
1587    INVALID_VALUE, // input 212 (0xD4)
1588    INVALID_VALUE, // input 213 (0xD5)
1589    INVALID_VALUE, // input 214 (0xD6)
1590    INVALID_VALUE, // input 215 (0xD7)
1591    INVALID_VALUE, // input 216 (0xD8)
1592    INVALID_VALUE, // input 217 (0xD9)
1593    INVALID_VALUE, // input 218 (0xDA)
1594    INVALID_VALUE, // input 219 (0xDB)
1595    INVALID_VALUE, // input 220 (0xDC)
1596    INVALID_VALUE, // input 221 (0xDD)
1597    INVALID_VALUE, // input 222 (0xDE)
1598    INVALID_VALUE, // input 223 (0xDF)
1599    INVALID_VALUE, // input 224 (0xE0)
1600    INVALID_VALUE, // input 225 (0xE1)
1601    INVALID_VALUE, // input 226 (0xE2)
1602    INVALID_VALUE, // input 227 (0xE3)
1603    INVALID_VALUE, // input 228 (0xE4)
1604    INVALID_VALUE, // input 229 (0xE5)
1605    INVALID_VALUE, // input 230 (0xE6)
1606    INVALID_VALUE, // input 231 (0xE7)
1607    INVALID_VALUE, // input 232 (0xE8)
1608    INVALID_VALUE, // input 233 (0xE9)
1609    INVALID_VALUE, // input 234 (0xEA)
1610    INVALID_VALUE, // input 235 (0xEB)
1611    INVALID_VALUE, // input 236 (0xEC)
1612    INVALID_VALUE, // input 237 (0xED)
1613    INVALID_VALUE, // input 238 (0xEE)
1614    INVALID_VALUE, // input 239 (0xEF)
1615    INVALID_VALUE, // input 240 (0xF0)
1616    INVALID_VALUE, // input 241 (0xF1)
1617    INVALID_VALUE, // input 242 (0xF2)
1618    INVALID_VALUE, // input 243 (0xF3)
1619    INVALID_VALUE, // input 244 (0xF4)
1620    INVALID_VALUE, // input 245 (0xF5)
1621    INVALID_VALUE, // input 246 (0xF6)
1622    INVALID_VALUE, // input 247 (0xF7)
1623    INVALID_VALUE, // input 248 (0xF8)
1624    INVALID_VALUE, // input 249 (0xF9)
1625    INVALID_VALUE, // input 250 (0xFA)
1626    INVALID_VALUE, // input 251 (0xFB)
1627    INVALID_VALUE, // input 252 (0xFC)
1628    INVALID_VALUE, // input 253 (0xFD)
1629    INVALID_VALUE, // input 254 (0xFE)
1630    INVALID_VALUE, // input 255 (0xFF)
1631];
1632#[rustfmt::skip]
1633pub const BINHEX_ENCODE: &[u8; 64] = &[
1634    33, // input 0 (0x0) => '!' (0x21)
1635    34, // input 1 (0x1) => '"' (0x22)
1636    35, // input 2 (0x2) => '#' (0x23)
1637    36, // input 3 (0x3) => '$' (0x24)
1638    37, // input 4 (0x4) => '%' (0x25)
1639    38, // input 5 (0x5) => '&' (0x26)
1640    39, // input 6 (0x6) => ''' (0x27)
1641    40, // input 7 (0x7) => '(' (0x28)
1642    41, // input 8 (0x8) => ')' (0x29)
1643    42, // input 9 (0x9) => '*' (0x2A)
1644    43, // input 10 (0xA) => '+' (0x2B)
1645    44, // input 11 (0xB) => ',' (0x2C)
1646    45, // input 12 (0xC) => '-' (0x2D)
1647    48, // input 13 (0xD) => '0' (0x30)
1648    49, // input 14 (0xE) => '1' (0x31)
1649    50, // input 15 (0xF) => '2' (0x32)
1650    51, // input 16 (0x10) => '3' (0x33)
1651    52, // input 17 (0x11) => '4' (0x34)
1652    53, // input 18 (0x12) => '5' (0x35)
1653    54, // input 19 (0x13) => '6' (0x36)
1654    55, // input 20 (0x14) => '7' (0x37)
1655    56, // input 21 (0x15) => '8' (0x38)
1656    57, // input 22 (0x16) => '9' (0x39)
1657    64, // input 23 (0x17) => '@' (0x40)
1658    65, // input 24 (0x18) => 'A' (0x41)
1659    66, // input 25 (0x19) => 'B' (0x42)
1660    67, // input 26 (0x1A) => 'C' (0x43)
1661    68, // input 27 (0x1B) => 'D' (0x44)
1662    69, // input 28 (0x1C) => 'E' (0x45)
1663    70, // input 29 (0x1D) => 'F' (0x46)
1664    71, // input 30 (0x1E) => 'G' (0x47)
1665    72, // input 31 (0x1F) => 'H' (0x48)
1666    73, // input 32 (0x20) => 'I' (0x49)
1667    74, // input 33 (0x21) => 'J' (0x4A)
1668    75, // input 34 (0x22) => 'K' (0x4B)
1669    76, // input 35 (0x23) => 'L' (0x4C)
1670    77, // input 36 (0x24) => 'M' (0x4D)
1671    78, // input 37 (0x25) => 'N' (0x4E)
1672    80, // input 38 (0x26) => 'P' (0x50)
1673    81, // input 39 (0x27) => 'Q' (0x51)
1674    82, // input 40 (0x28) => 'R' (0x52)
1675    83, // input 41 (0x29) => 'S' (0x53)
1676    84, // input 42 (0x2A) => 'T' (0x54)
1677    85, // input 43 (0x2B) => 'U' (0x55)
1678    86, // input 44 (0x2C) => 'V' (0x56)
1679    88, // input 45 (0x2D) => 'X' (0x58)
1680    89, // input 46 (0x2E) => 'Y' (0x59)
1681    90, // input 47 (0x2F) => 'Z' (0x5A)
1682    91, // input 48 (0x30) => '[' (0x5B)
1683    96, // input 49 (0x31) => '`' (0x60)
1684    97, // input 50 (0x32) => 'a' (0x61)
1685    98, // input 51 (0x33) => 'b' (0x62)
1686    99, // input 52 (0x34) => 'c' (0x63)
1687    100, // input 53 (0x35) => 'd' (0x64)
1688    101, // input 54 (0x36) => 'e' (0x65)
1689    104, // input 55 (0x37) => 'h' (0x68)
1690    105, // input 56 (0x38) => 'i' (0x69)
1691    106, // input 57 (0x39) => 'j' (0x6A)
1692    107, // input 58 (0x3A) => 'k' (0x6B)
1693    108, // input 59 (0x3B) => 'l' (0x6C)
1694    109, // input 60 (0x3C) => 'm' (0x6D)
1695    112, // input 61 (0x3D) => 'p' (0x70)
1696    113, // input 62 (0x3E) => 'q' (0x71)
1697    114, // input 63 (0x3F) => 'r' (0x72)
1698];
1699#[rustfmt::skip]
1700pub const BINHEX_DECODE: &[u8; 256] = &[
1701    INVALID_VALUE, // input 0 (0x0)
1702    INVALID_VALUE, // input 1 (0x1)
1703    INVALID_VALUE, // input 2 (0x2)
1704    INVALID_VALUE, // input 3 (0x3)
1705    INVALID_VALUE, // input 4 (0x4)
1706    INVALID_VALUE, // input 5 (0x5)
1707    INVALID_VALUE, // input 6 (0x6)
1708    INVALID_VALUE, // input 7 (0x7)
1709    INVALID_VALUE, // input 8 (0x8)
1710    INVALID_VALUE, // input 9 (0x9)
1711    INVALID_VALUE, // input 10 (0xA)
1712    INVALID_VALUE, // input 11 (0xB)
1713    INVALID_VALUE, // input 12 (0xC)
1714    INVALID_VALUE, // input 13 (0xD)
1715    INVALID_VALUE, // input 14 (0xE)
1716    INVALID_VALUE, // input 15 (0xF)
1717    INVALID_VALUE, // input 16 (0x10)
1718    INVALID_VALUE, // input 17 (0x11)
1719    INVALID_VALUE, // input 18 (0x12)
1720    INVALID_VALUE, // input 19 (0x13)
1721    INVALID_VALUE, // input 20 (0x14)
1722    INVALID_VALUE, // input 21 (0x15)
1723    INVALID_VALUE, // input 22 (0x16)
1724    INVALID_VALUE, // input 23 (0x17)
1725    INVALID_VALUE, // input 24 (0x18)
1726    INVALID_VALUE, // input 25 (0x19)
1727    INVALID_VALUE, // input 26 (0x1A)
1728    INVALID_VALUE, // input 27 (0x1B)
1729    INVALID_VALUE, // input 28 (0x1C)
1730    INVALID_VALUE, // input 29 (0x1D)
1731    INVALID_VALUE, // input 30 (0x1E)
1732    INVALID_VALUE, // input 31 (0x1F)
1733    INVALID_VALUE, // input 32 (0x20)
1734    0, // input 33 (0x21 char '!') => 0 (0x0)
1735    1, // input 34 (0x22 char '"') => 1 (0x1)
1736    2, // input 35 (0x23 char '#') => 2 (0x2)
1737    3, // input 36 (0x24 char '$') => 3 (0x3)
1738    4, // input 37 (0x25 char '%') => 4 (0x4)
1739    5, // input 38 (0x26 char '&') => 5 (0x5)
1740    6, // input 39 (0x27 char ''') => 6 (0x6)
1741    7, // input 40 (0x28 char '(') => 7 (0x7)
1742    8, // input 41 (0x29 char ')') => 8 (0x8)
1743    9, // input 42 (0x2A char '*') => 9 (0x9)
1744    10, // input 43 (0x2B char '+') => 10 (0xA)
1745    11, // input 44 (0x2C char ',') => 11 (0xB)
1746    12, // input 45 (0x2D char '-') => 12 (0xC)
1747    INVALID_VALUE, // input 46 (0x2E)
1748    INVALID_VALUE, // input 47 (0x2F)
1749    13, // input 48 (0x30 char '0') => 13 (0xD)
1750    14, // input 49 (0x31 char '1') => 14 (0xE)
1751    15, // input 50 (0x32 char '2') => 15 (0xF)
1752    16, // input 51 (0x33 char '3') => 16 (0x10)
1753    17, // input 52 (0x34 char '4') => 17 (0x11)
1754    18, // input 53 (0x35 char '5') => 18 (0x12)
1755    19, // input 54 (0x36 char '6') => 19 (0x13)
1756    20, // input 55 (0x37 char '7') => 20 (0x14)
1757    21, // input 56 (0x38 char '8') => 21 (0x15)
1758    22, // input 57 (0x39 char '9') => 22 (0x16)
1759    INVALID_VALUE, // input 58 (0x3A)
1760    INVALID_VALUE, // input 59 (0x3B)
1761    INVALID_VALUE, // input 60 (0x3C)
1762    INVALID_VALUE, // input 61 (0x3D)
1763    INVALID_VALUE, // input 62 (0x3E)
1764    INVALID_VALUE, // input 63 (0x3F)
1765    23, // input 64 (0x40 char '@') => 23 (0x17)
1766    24, // input 65 (0x41 char 'A') => 24 (0x18)
1767    25, // input 66 (0x42 char 'B') => 25 (0x19)
1768    26, // input 67 (0x43 char 'C') => 26 (0x1A)
1769    27, // input 68 (0x44 char 'D') => 27 (0x1B)
1770    28, // input 69 (0x45 char 'E') => 28 (0x1C)
1771    29, // input 70 (0x46 char 'F') => 29 (0x1D)
1772    30, // input 71 (0x47 char 'G') => 30 (0x1E)
1773    31, // input 72 (0x48 char 'H') => 31 (0x1F)
1774    32, // input 73 (0x49 char 'I') => 32 (0x20)
1775    33, // input 74 (0x4A char 'J') => 33 (0x21)
1776    34, // input 75 (0x4B char 'K') => 34 (0x22)
1777    35, // input 76 (0x4C char 'L') => 35 (0x23)
1778    36, // input 77 (0x4D char 'M') => 36 (0x24)
1779    37, // input 78 (0x4E char 'N') => 37 (0x25)
1780    INVALID_VALUE, // input 79 (0x4F)
1781    38, // input 80 (0x50 char 'P') => 38 (0x26)
1782    39, // input 81 (0x51 char 'Q') => 39 (0x27)
1783    40, // input 82 (0x52 char 'R') => 40 (0x28)
1784    41, // input 83 (0x53 char 'S') => 41 (0x29)
1785    42, // input 84 (0x54 char 'T') => 42 (0x2A)
1786    43, // input 85 (0x55 char 'U') => 43 (0x2B)
1787    44, // input 86 (0x56 char 'V') => 44 (0x2C)
1788    INVALID_VALUE, // input 87 (0x57)
1789    45, // input 88 (0x58 char 'X') => 45 (0x2D)
1790    46, // input 89 (0x59 char 'Y') => 46 (0x2E)
1791    47, // input 90 (0x5A char 'Z') => 47 (0x2F)
1792    48, // input 91 (0x5B char '[') => 48 (0x30)
1793    INVALID_VALUE, // input 92 (0x5C)
1794    INVALID_VALUE, // input 93 (0x5D)
1795    INVALID_VALUE, // input 94 (0x5E)
1796    INVALID_VALUE, // input 95 (0x5F)
1797    49, // input 96 (0x60 char '`') => 49 (0x31)
1798    50, // input 97 (0x61 char 'a') => 50 (0x32)
1799    51, // input 98 (0x62 char 'b') => 51 (0x33)
1800    52, // input 99 (0x63 char 'c') => 52 (0x34)
1801    53, // input 100 (0x64 char 'd') => 53 (0x35)
1802    54, // input 101 (0x65 char 'e') => 54 (0x36)
1803    INVALID_VALUE, // input 102 (0x66)
1804    INVALID_VALUE, // input 103 (0x67)
1805    55, // input 104 (0x68 char 'h') => 55 (0x37)
1806    56, // input 105 (0x69 char 'i') => 56 (0x38)
1807    57, // input 106 (0x6A char 'j') => 57 (0x39)
1808    58, // input 107 (0x6B char 'k') => 58 (0x3A)
1809    59, // input 108 (0x6C char 'l') => 59 (0x3B)
1810    60, // input 109 (0x6D char 'm') => 60 (0x3C)
1811    INVALID_VALUE, // input 110 (0x6E)
1812    INVALID_VALUE, // input 111 (0x6F)
1813    61, // input 112 (0x70 char 'p') => 61 (0x3D)
1814    62, // input 113 (0x71 char 'q') => 62 (0x3E)
1815    63, // input 114 (0x72 char 'r') => 63 (0x3F)
1816    INVALID_VALUE, // input 115 (0x73)
1817    INVALID_VALUE, // input 116 (0x74)
1818    INVALID_VALUE, // input 117 (0x75)
1819    INVALID_VALUE, // input 118 (0x76)
1820    INVALID_VALUE, // input 119 (0x77)
1821    INVALID_VALUE, // input 120 (0x78)
1822    INVALID_VALUE, // input 121 (0x79)
1823    INVALID_VALUE, // input 122 (0x7A)
1824    INVALID_VALUE, // input 123 (0x7B)
1825    INVALID_VALUE, // input 124 (0x7C)
1826    INVALID_VALUE, // input 125 (0x7D)
1827    INVALID_VALUE, // input 126 (0x7E)
1828    INVALID_VALUE, // input 127 (0x7F)
1829    INVALID_VALUE, // input 128 (0x80)
1830    INVALID_VALUE, // input 129 (0x81)
1831    INVALID_VALUE, // input 130 (0x82)
1832    INVALID_VALUE, // input 131 (0x83)
1833    INVALID_VALUE, // input 132 (0x84)
1834    INVALID_VALUE, // input 133 (0x85)
1835    INVALID_VALUE, // input 134 (0x86)
1836    INVALID_VALUE, // input 135 (0x87)
1837    INVALID_VALUE, // input 136 (0x88)
1838    INVALID_VALUE, // input 137 (0x89)
1839    INVALID_VALUE, // input 138 (0x8A)
1840    INVALID_VALUE, // input 139 (0x8B)
1841    INVALID_VALUE, // input 140 (0x8C)
1842    INVALID_VALUE, // input 141 (0x8D)
1843    INVALID_VALUE, // input 142 (0x8E)
1844    INVALID_VALUE, // input 143 (0x8F)
1845    INVALID_VALUE, // input 144 (0x90)
1846    INVALID_VALUE, // input 145 (0x91)
1847    INVALID_VALUE, // input 146 (0x92)
1848    INVALID_VALUE, // input 147 (0x93)
1849    INVALID_VALUE, // input 148 (0x94)
1850    INVALID_VALUE, // input 149 (0x95)
1851    INVALID_VALUE, // input 150 (0x96)
1852    INVALID_VALUE, // input 151 (0x97)
1853    INVALID_VALUE, // input 152 (0x98)
1854    INVALID_VALUE, // input 153 (0x99)
1855    INVALID_VALUE, // input 154 (0x9A)
1856    INVALID_VALUE, // input 155 (0x9B)
1857    INVALID_VALUE, // input 156 (0x9C)
1858    INVALID_VALUE, // input 157 (0x9D)
1859    INVALID_VALUE, // input 158 (0x9E)
1860    INVALID_VALUE, // input 159 (0x9F)
1861    INVALID_VALUE, // input 160 (0xA0)
1862    INVALID_VALUE, // input 161 (0xA1)
1863    INVALID_VALUE, // input 162 (0xA2)
1864    INVALID_VALUE, // input 163 (0xA3)
1865    INVALID_VALUE, // input 164 (0xA4)
1866    INVALID_VALUE, // input 165 (0xA5)
1867    INVALID_VALUE, // input 166 (0xA6)
1868    INVALID_VALUE, // input 167 (0xA7)
1869    INVALID_VALUE, // input 168 (0xA8)
1870    INVALID_VALUE, // input 169 (0xA9)
1871    INVALID_VALUE, // input 170 (0xAA)
1872    INVALID_VALUE, // input 171 (0xAB)
1873    INVALID_VALUE, // input 172 (0xAC)
1874    INVALID_VALUE, // input 173 (0xAD)
1875    INVALID_VALUE, // input 174 (0xAE)
1876    INVALID_VALUE, // input 175 (0xAF)
1877    INVALID_VALUE, // input 176 (0xB0)
1878    INVALID_VALUE, // input 177 (0xB1)
1879    INVALID_VALUE, // input 178 (0xB2)
1880    INVALID_VALUE, // input 179 (0xB3)
1881    INVALID_VALUE, // input 180 (0xB4)
1882    INVALID_VALUE, // input 181 (0xB5)
1883    INVALID_VALUE, // input 182 (0xB6)
1884    INVALID_VALUE, // input 183 (0xB7)
1885    INVALID_VALUE, // input 184 (0xB8)
1886    INVALID_VALUE, // input 185 (0xB9)
1887    INVALID_VALUE, // input 186 (0xBA)
1888    INVALID_VALUE, // input 187 (0xBB)
1889    INVALID_VALUE, // input 188 (0xBC)
1890    INVALID_VALUE, // input 189 (0xBD)
1891    INVALID_VALUE, // input 190 (0xBE)
1892    INVALID_VALUE, // input 191 (0xBF)
1893    INVALID_VALUE, // input 192 (0xC0)
1894    INVALID_VALUE, // input 193 (0xC1)
1895    INVALID_VALUE, // input 194 (0xC2)
1896    INVALID_VALUE, // input 195 (0xC3)
1897    INVALID_VALUE, // input 196 (0xC4)
1898    INVALID_VALUE, // input 197 (0xC5)
1899    INVALID_VALUE, // input 198 (0xC6)
1900    INVALID_VALUE, // input 199 (0xC7)
1901    INVALID_VALUE, // input 200 (0xC8)
1902    INVALID_VALUE, // input 201 (0xC9)
1903    INVALID_VALUE, // input 202 (0xCA)
1904    INVALID_VALUE, // input 203 (0xCB)
1905    INVALID_VALUE, // input 204 (0xCC)
1906    INVALID_VALUE, // input 205 (0xCD)
1907    INVALID_VALUE, // input 206 (0xCE)
1908    INVALID_VALUE, // input 207 (0xCF)
1909    INVALID_VALUE, // input 208 (0xD0)
1910    INVALID_VALUE, // input 209 (0xD1)
1911    INVALID_VALUE, // input 210 (0xD2)
1912    INVALID_VALUE, // input 211 (0xD3)
1913    INVALID_VALUE, // input 212 (0xD4)
1914    INVALID_VALUE, // input 213 (0xD5)
1915    INVALID_VALUE, // input 214 (0xD6)
1916    INVALID_VALUE, // input 215 (0xD7)
1917    INVALID_VALUE, // input 216 (0xD8)
1918    INVALID_VALUE, // input 217 (0xD9)
1919    INVALID_VALUE, // input 218 (0xDA)
1920    INVALID_VALUE, // input 219 (0xDB)
1921    INVALID_VALUE, // input 220 (0xDC)
1922    INVALID_VALUE, // input 221 (0xDD)
1923    INVALID_VALUE, // input 222 (0xDE)
1924    INVALID_VALUE, // input 223 (0xDF)
1925    INVALID_VALUE, // input 224 (0xE0)
1926    INVALID_VALUE, // input 225 (0xE1)
1927    INVALID_VALUE, // input 226 (0xE2)
1928    INVALID_VALUE, // input 227 (0xE3)
1929    INVALID_VALUE, // input 228 (0xE4)
1930    INVALID_VALUE, // input 229 (0xE5)
1931    INVALID_VALUE, // input 230 (0xE6)
1932    INVALID_VALUE, // input 231 (0xE7)
1933    INVALID_VALUE, // input 232 (0xE8)
1934    INVALID_VALUE, // input 233 (0xE9)
1935    INVALID_VALUE, // input 234 (0xEA)
1936    INVALID_VALUE, // input 235 (0xEB)
1937    INVALID_VALUE, // input 236 (0xEC)
1938    INVALID_VALUE, // input 237 (0xED)
1939    INVALID_VALUE, // input 238 (0xEE)
1940    INVALID_VALUE, // input 239 (0xEF)
1941    INVALID_VALUE, // input 240 (0xF0)
1942    INVALID_VALUE, // input 241 (0xF1)
1943    INVALID_VALUE, // input 242 (0xF2)
1944    INVALID_VALUE, // input 243 (0xF3)
1945    INVALID_VALUE, // input 244 (0xF4)
1946    INVALID_VALUE, // input 245 (0xF5)
1947    INVALID_VALUE, // input 246 (0xF6)
1948    INVALID_VALUE, // input 247 (0xF7)
1949    INVALID_VALUE, // input 248 (0xF8)
1950    INVALID_VALUE, // input 249 (0xF9)
1951    INVALID_VALUE, // input 250 (0xFA)
1952    INVALID_VALUE, // input 251 (0xFB)
1953    INVALID_VALUE, // input 252 (0xFC)
1954    INVALID_VALUE, // input 253 (0xFD)
1955    INVALID_VALUE, // input 254 (0xFE)
1956    INVALID_VALUE, // input 255 (0xFF)
1957];