1/*
2 * Copyright (C) 1999-2001 Free Software Foundation, Inc.
3 * This file is part of the GNU LIBICONV Library.
4 *
5 * The GNU LIBICONV Library is free software; you can redistribute it
6 * and/or modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * The GNU LIBICONV Library is distributed in the hope that it will be
11 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public
16 * License along with the GNU LIBICONV Library; see the file COPYING.LIB.
17 * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
18 * Fifth Floor, Boston, MA 02110-1301, USA.
19 */
20
21/*
22 * Unified Hangul Code part 2
23 */
24
25static const unsigned short uhc_2_2uni_main_pagea1[76] = {
26  0xc8a5, 0xc8d8, 0xc910, 0xc93e, 0xc971, 0xc9a5, 0xc9de, 0xca1c,
27  0xca47, 0xca7b, 0xcaa8, 0xcadd, 0xcb0b, 0xcb3a, 0xcb6d, 0xcb99,
28  0xcbc5, 0xcbf3, 0xcc25, 0xcc67, 0xcc94, 0xcccf, 0xccfe, 0xcd34,
29  0xcd61, 0xcd92, 0xcdc6, 0xcdf5, 0xce2c, 0xce5d, 0xce9a, 0xcecc,
30  0xcf02, 0xcf3b, 0xcf6d, 0xcf9e, 0xcfcc, 0xcfff, 0xd02e, 0xd064,
31  0xd095, 0xd0cc, 0xd105, 0xd132, 0xd16e, 0xd19b, 0xd1d0, 0xd1fd,
32  0xd22a, 0xd25e, 0xd28d, 0xd2c5, 0xd2fb, 0xd33e, 0xd36a, 0xd3a1,
33  0xd3d7, 0xd40d, 0xd438, 0xd467, 0xd49e, 0xd4c9, 0xd4fe, 0xd52e,
34  0xd564, 0xd59d, 0xd5ca, 0xd606, 0xd63d, 0xd677, 0xd6ab, 0xd6e2,
35  0xd715, 0xd74e, 0xd78d, 0xfffd,
36};
37static const unsigned char uhc_2_2uni_pagea1[3126] = {
38  /* 0xa1 */
39  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08,
40  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
41  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x19, 0x1a,
42  0x1b, 0x1c, 0x1d, 0x1e, 0x20, 0x21, 0x22, 0x24,
43  0x25, 0x26, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
44  0x2e, 0x31, 0x00, 0x02, 0x03, 0x04, 0x05, 0x06,
45  0x07, 0x0a, 0x0b, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
46  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
47  0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x21, 0x22,
48  0x23, 0x26, 0x27, 0x29, 0x2a, 0x2b, 0x2f, 0x30,
49  0x31, 0x32, 0x33, 0x36,
50  /* 0xa2 */
51  0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x09,
52  0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
53  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
54  0x1a, 0x1b, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
55  0x23, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
56  0x2c, 0x2d, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
57  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
58  0x0e, 0x0f, 0x10, 0x11, 0x14, 0x15, 0x17, 0x18,
59  0x19, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
60  0x24, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
61  0x2d, 0x2f, 0x30, 0x31,
62  /* 0xa3 */
63  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08,
64  0x09, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
65  0x12, 0x13, 0x14, 0x15, 0x16, 0x19, 0x1a, 0x1c,
66  0x1d, 0x1e, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
67  0x26, 0x29, 0x2b, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
68  0x32, 0x33, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
69  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
70  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
71  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1d, 0x1e, 0x20,
72  0x21, 0x24, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2d,
73  0x2f, 0x32, 0x33, 0x36,
74  /* 0xa4 */
75  0x00, 0x01, 0x03, 0x05, 0x07, 0x08, 0x0a, 0x0b,
76  0x0c, 0x0d, 0x10, 0x14, 0x15, 0x16, 0x17, 0x18,
77  0x19, 0x1c, 0x1d, 0x1f, 0x20, 0x21, 0x23, 0x24,
78  0x25, 0x26, 0x27, 0x28, 0x29, 0x2c, 0x30, 0x31,
79  0x32, 0x33, 0x34, 0x35, 0x37, 0x38, 0x39, 0x3b,
80  0x3c, 0x3d, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
81  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0e,
82  0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
83  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
84  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
85  0x27, 0x28, 0x29, 0x2a,
86  /* 0xa5 */
87  0x00, 0x01, 0x02, 0x03, 0x04, 0x07, 0x08, 0x0a,
88  0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
89  0x14, 0x17, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
90  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
91  0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
92  0x32, 0x33, 0x00, 0x01, 0x03, 0x04, 0x05, 0x06,
93  0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
94  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
95  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20,
96  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
97  0x29, 0x2a, 0x2b, 0x2c,
98  /* 0xa6 */
99  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
100  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
101  0x10, 0x11, 0x12, 0x13, 0x16, 0x17, 0x19, 0x1a,
102  0x1b, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
103  0x26, 0x28, 0x2a, 0x2c, 0x2d, 0x2e, 0x2f, 0x32,
104  0x33, 0x34, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06,
105  0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
106  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x18,
107  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
108  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
109  0x29, 0x2a, 0x2c, 0x2d,
110  /* 0xa7 */
111  0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08,
112  0x0a, 0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12,
113  0x13, 0x14, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
114  0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
115  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
116  0x2d, 0x2e, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
117  0x06, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x10,
118  0x11, 0x13, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1a,
119  0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x24, 0x25,
120  0x26, 0x27, 0x28, 0x29, 0x2b, 0x2c, 0x2d, 0x2e,
121  0x2f, 0x30, 0x31, 0x32,
122  /* 0xa8 */
123  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
124  0x08, 0x09, 0x0a, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
125  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
126  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
127  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
128  0x2a, 0x2b, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06,
129  0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
130  0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
131  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
132  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
133  0x28, 0x29, 0x2a, 0x2b,
134  /* 0xa9 */
135  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
136  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10,
137  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
138  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x20, 0x21,
139  0x23, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
140  0x2c, 0x2d, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
141  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
142  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
143  0x16, 0x17, 0x18, 0x1b, 0x1c, 0x1e, 0x1f, 0x20,
144  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x2b,
145  0x2c, 0x2d, 0x30, 0x31,
146  /* 0xaa */
147  0x00, 0x01, 0x05, 0x06, 0x08, 0x0a, 0x0c, 0x0d,
148  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x15, 0x1a, 0x1b,
149  0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x24, 0x25, 0x26,
150  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x31,
151  0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3c, 0x3d,
152  0x3e, 0x40, 0x00, 0x02, 0x03, 0x04, 0x05, 0x06,
153  0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10,
154  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
155  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
156  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
157  0x29, 0x2a, 0x2b, 0x2c,
158  /* 0xab */
159  0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x09, 0x0a,
160  0x0b, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
161  0x16, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x22,
162  0x23, 0x25, 0x26, 0x27, 0x29, 0x2a, 0x2b, 0x2c,
163  0x2d, 0x2e, 0x2f, 0x32, 0x34, 0x36, 0x37, 0x38,
164  0x39, 0x3a, 0x00, 0x02, 0x03, 0x04, 0x06, 0x07,
165  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
166  0x10, 0x11, 0x12, 0x13, 0x14, 0x16, 0x17, 0x18,
167  0x19, 0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x22,
168  0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
169  0x2b, 0x2c, 0x2d, 0x2e,
170  /* 0xac */
171  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08,
172  0x09, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x13, 0x14,
173  0x15, 0x16, 0x17, 0x18, 0x19, 0x1c, 0x1e, 0x20,
174  0x21, 0x22, 0x23, 0x24, 0x25, 0x27, 0x28, 0x29,
175  0x2b, 0x2c, 0x2d, 0x2f, 0x30, 0x31, 0x32, 0x33,
176  0x34, 0x35, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06,
177  0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
178  0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
179  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
180  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
181  0x27, 0x29, 0x2a, 0x2b,
182  /* 0xad */
183  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08,
184  0x09, 0x0a, 0x0d, 0x0f, 0x11, 0x12, 0x13, 0x14,
185  0x15, 0x16, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
186  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
187  0x26, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
188  0x2f, 0x30, 0x00, 0x01, 0x04, 0x05, 0x07, 0x08,
189  0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
190  0x14, 0x16, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
191  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
192  0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
193  0x2f, 0x30, 0x31, 0x33,
194  /* 0xae */
195  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x08,
196  0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
197  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
198  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
199  0x23, 0x24, 0x25, 0x27, 0x28, 0x29, 0x2b, 0x2c,
200  0x2d, 0x2e, 0x00, 0x01, 0x02, 0x05, 0x07, 0x09,
201  0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12,
202  0x14, 0x15, 0x16, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
203  0x1d, 0x1e, 0x20, 0x21, 0x22, 0x23, 0x25, 0x26,
204  0x27, 0x28, 0x29, 0x2a, 0x2d, 0x2e, 0x30, 0x31,
205  0x32, 0x34, 0x35, 0x36,
206  /* 0xaf */
207  0x00, 0x01, 0x02, 0x03, 0x06, 0x08, 0x0a, 0x0b,
208  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
209  0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b,
210  0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
211  0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
212  0x2e, 0x2f, 0x00, 0x01, 0x05, 0x06, 0x07, 0x08,
213  0x09, 0x0a, 0x0d, 0x0f, 0x11, 0x12, 0x13, 0x14,
214  0x15, 0x16, 0x19, 0x1a, 0x1c, 0x1d, 0x1e, 0x20,
215  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2b,
216  0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x35, 0x36,
217  0x38, 0x39, 0x3a, 0x3c,
218  /* 0xb0 */
219  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x0c,
220  0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x14, 0x15, 0x16,
221  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
222  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
223  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
224  0x30, 0x31, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
225  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
226  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
227  0x16, 0x17, 0x1a, 0x1b, 0x1d, 0x1e, 0x21, 0x22,
228  0x23, 0x24, 0x25, 0x26, 0x27, 0x2a, 0x2e, 0x2f,
229  0x30, 0x31, 0x32, 0x33,
230  /* 0xb1 */
231  0x00, 0x01, 0x03, 0x04, 0x05, 0x07, 0x08, 0x09,
232  0x0a, 0x0b, 0x0c, 0x0d, 0x10, 0x12, 0x14, 0x15,
233  0x16, 0x17, 0x18, 0x19, 0x1b, 0x1c, 0x1d, 0x1f,
234  0x20, 0x21, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
235  0x29, 0x2c, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
236  0x37, 0x38, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
237  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
238  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
239  0x16, 0x17, 0x18, 0x1b, 0x1c, 0x1e, 0x1f, 0x20,
240  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x2b,
241  0x2d, 0x2f, 0x30, 0x31,
242  /* 0xb2 */
243  0x00, 0x01, 0x02, 0x05, 0x06, 0x08, 0x09, 0x0a,
244  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x14,
245  0x15, 0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
246  0x1e, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
247  0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
248  0x2f, 0x30, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06,
249  0x07, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
250  0x10, 0x11, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
251  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
252  0x21, 0x22, 0x23, 0x24, 0x25, 0x27, 0x28, 0x29,
253  0x2a, 0x2b, 0x2c, 0x2d,
254  /* 0xb3 */
255  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
256  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
257  0x10, 0x11, 0x12, 0x13, 0x16, 0x17, 0x19, 0x1a,
258  0x1b, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
259  0x26, 0x28, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
260  0x31, 0x32, 0x00, 0x02, 0x03, 0x04, 0x06, 0x07,
261  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
262  0x10, 0x11, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
263  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
264  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
265  0x2a, 0x2b, 0x2c, 0x2d,
266  /* 0xb4 */
267  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09,
268  0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13,
269  0x14, 0x15, 0x18, 0x1a, 0x1c, 0x1d, 0x1e, 0x1f,
270  0x20, 0x21, 0x23, 0x24, 0x25, 0x27, 0x28, 0x29,
271  0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x33,
272  0x34, 0x35, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
273  0x06, 0x07, 0x0a, 0x0b, 0x0d, 0x0e, 0x0f, 0x11,
274  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x1a, 0x1b,
275  0x1c, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
276  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
277  0x2d, 0x2e, 0x2f, 0x30,
278  /* 0xb5 */
279  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
280  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x11,
281  0x12, 0x14, 0x15, 0x16, 0x18, 0x19, 0x1a, 0x1b,
282  0x1c, 0x1d, 0x1e, 0x21, 0x23, 0x25, 0x26, 0x27,
283  0x28, 0x29, 0x2a, 0x2d, 0x2e, 0x30, 0x31, 0x32,
284  0x35, 0x36, 0x00, 0x01, 0x02, 0x03, 0x06, 0x0a,
285  0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x12, 0x13, 0x15,
286  0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
287  0x1f, 0x22, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
288  0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34,
289  0x35, 0x36, 0x37, 0x38,
290  /* 0xb6 */
291  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
292  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
293  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
294  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
295  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
296  0x29, 0x2a, 0x00, 0x01, 0x03, 0x04, 0x05, 0x07,
297  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x10, 0x14, 0x15,
298  0x16, 0x17, 0x18, 0x19, 0x1c, 0x1d, 0x1f, 0x20,
299  0x21, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
300  0x2c, 0x2e, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
301  0x37, 0x38, 0x39, 0x3b,
302  /* 0xb7 */
303  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
304  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10,
305  0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18, 0x19,
306  0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
307  0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
308  0x2b, 0x2c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x07,
309  0x08, 0x0a, 0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11,
310  0x12, 0x13, 0x14, 0x17, 0x19, 0x1b, 0x1c, 0x1d,
311  0x1e, 0x20, 0x22, 0x23, 0x24, 0x26, 0x27, 0x28,
312  0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
313  0x31, 0x32, 0x33, 0x34,
314  /* 0xb8 */
315  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
316  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
317  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
318  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
319  0x21, 0x22, 0x23, 0x25, 0x26, 0x27, 0x29, 0x2a,
320  0x2b, 0x2c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
321  0x06, 0x07, 0x08, 0x09, 0x0b, 0x0d, 0x0e, 0x0f,
322  0x10, 0x11, 0x12, 0x14, 0x15, 0x16, 0x17, 0x18,
323  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
324  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
325  0x29, 0x2a, 0x2b, 0x2c,
326  /* 0xb9 */
327  0x00, 0x01, 0x04, 0x05, 0x07, 0x08, 0x09, 0x0b,
328  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x14, 0x16,
329  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x20,
330  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
331  0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
332  0x31, 0x33, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
333  0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
334  0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
335  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
336  0x1f, 0x20, 0x21, 0x24, 0x25, 0x27, 0x28, 0x29,
337  0x2b, 0x2c, 0x2d, 0x2e,
338  /* 0xba */
339  0x00, 0x01, 0x02, 0x05, 0x06, 0x07, 0x09, 0x0a,
340  0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12, 0x14,
341  0x15, 0x16, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
342  0x1e, 0x20, 0x21, 0x22, 0x23, 0x25, 0x26, 0x27,
343  0x28, 0x29, 0x2a, 0x2d, 0x2e, 0x30, 0x31, 0x34,
344  0x36, 0x37, 0x00, 0x01, 0x02, 0x05, 0x07, 0x08,
345  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11,
346  0x12, 0x14, 0x15, 0x16, 0x18, 0x19, 0x1a, 0x1b,
347  0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x23, 0x24, 0x25,
348  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2d, 0x2e, 0x30,
349  0x31, 0x32, 0x34, 0x35,
350  /* 0xbb */
351  0x00, 0x01, 0x02, 0x03, 0x04, 0x07, 0x09, 0x0b,
352  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x14, 0x16, 0x17,
353  0x18, 0x1a, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x23,
354  0x27, 0x28, 0x29, 0x2b, 0x2c, 0x2f, 0x30, 0x32,
355  0x33, 0x34, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
356  0x3c, 0x3f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
357  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
358  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
359  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
360  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
361  0x28, 0x29, 0x2a, 0x2b,
362  /* 0xbc */
363  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
364  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
365  0x10, 0x11, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1b,
366  0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x24, 0x28,
367  0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x30, 0x31, 0x33,
368  0x34, 0x35, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
369  0x06, 0x09, 0x0b, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
370  0x12, 0x14, 0x15, 0x16, 0x18, 0x19, 0x1a, 0x1c,
371  0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x25, 0x26,
372  0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x30, 0x31,
373  0x32, 0x33, 0x34, 0x35,
374  /* 0xbd */
375  0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
376  0x09, 0x0b, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,
377  0x13, 0x14, 0x17, 0x18, 0x1a, 0x1b, 0x1c, 0x1e,
378  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x27, 0x29,
379  0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x32, 0x33,
380  0x34, 0x35, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
381  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
382  0x0e, 0x0f, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
383  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
384  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
385  0x27, 0x28, 0x29, 0x2a,
386  /* 0xbe */
387  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
388  0x09, 0x0a, 0x0b, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
389  0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
390  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
391  0x22, 0x23, 0x25, 0x26, 0x27, 0x29, 0x2a, 0x2b,
392  0x2d, 0x2e, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
393  0x07, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
394  0x10, 0x13, 0x14, 0x16, 0x17, 0x1a, 0x1c, 0x1d,
395  0x1e, 0x1f, 0x20, 0x23, 0x25, 0x27, 0x28, 0x29,
396  0x2a, 0x2b, 0x2c, 0x2e, 0x2f, 0x30, 0x31, 0x32,
397  0x33, 0x34, 0x35, 0x36,
398  /* 0xbf */
399  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
400  0x08, 0x09, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
401  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
402  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
403  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
404  0x29, 0x2a, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06,
405  0x08, 0x09, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
406  0x11, 0x12, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1a,
407  0x1b, 0x1c, 0x1d, 0x1e, 0x20, 0x21, 0x22, 0x24,
408  0x25, 0x26, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
409  0x2e, 0x30, 0x31, 0x33,
410  /* 0xc0 */
411  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x08,
412  0x09, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12,
413  0x13, 0x14, 0x15, 0x18, 0x1a, 0x1b, 0x1c, 0x1d,
414  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
415  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
416  0x2e, 0x2f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
417  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
418  0x10, 0x11, 0x13, 0x14, 0x15, 0x17, 0x18, 0x19,
419  0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x22, 0x24, 0x25,
420  0x26, 0x27, 0x28, 0x29, 0x2c, 0x2d, 0x2f, 0x30,
421  0x31, 0x33, 0x34, 0x35,
422  /* 0xc1 */
423  0x00, 0x02, 0x03, 0x06, 0x08, 0x0a, 0x0b, 0x0c,
424  0x0d, 0x0e, 0x0f, 0x12, 0x13, 0x15, 0x16, 0x17,
425  0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x22,
426  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2d, 0x2e,
427  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
428  0x37, 0x38, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
429  0x06, 0x07, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
430  0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
431  0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
432  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
433  0x27, 0x28, 0x29, 0x2a,
434  /* 0xc2 */
435  0x00, 0x01, 0x03, 0x04, 0x05, 0x07, 0x09, 0x0a,
436  0x0b, 0x0c, 0x0d, 0x10, 0x12, 0x14, 0x15, 0x16,
437  0x17, 0x18, 0x19, 0x1c, 0x1d, 0x1f, 0x20, 0x21,
438  0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2c,
439  0x2e, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x38,
440  0x39, 0x3b, 0x00, 0x01, 0x03, 0x04, 0x05, 0x06,
441  0x07, 0x08, 0x09, 0x0c, 0x10, 0x11, 0x12, 0x13,
442  0x14, 0x15, 0x17, 0x18, 0x19, 0x1b, 0x1c, 0x1d,
443  0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
444  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
445  0x30, 0x31, 0x34, 0x35,
446  /* 0xc3 */
447  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x09,
448  0x0a, 0x0d, 0x0f, 0x11, 0x12, 0x13, 0x15, 0x16,
449  0x19, 0x1a, 0x1c, 0x1d, 0x1e, 0x20, 0x21, 0x22,
450  0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b,
451  0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x35, 0x36,
452  0x38, 0x39, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
453  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0d, 0x0f,
454  0x10, 0x11, 0x12, 0x13, 0x14, 0x17, 0x18, 0x1a,
455  0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
456  0x24, 0x25, 0x27, 0x29, 0x2b, 0x2c, 0x2d, 0x2e,
457  0x2f, 0x30, 0x32, 0x33,
458  /* 0xc4 */
459  0x00, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09,
460  0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x11, 0x12, 0x13,
461  0x14, 0x15, 0x16, 0x17, 0x18, 0x1b, 0x1c, 0x1e,
462  0x1f, 0x20, 0x22, 0x23, 0x24, 0x25, 0x27, 0x28,
463  0x2a, 0x2b, 0x2d, 0x2f, 0x30, 0x31, 0x32, 0x33,
464  0x34, 0x36, 0x00, 0x01, 0x03, 0x04, 0x05, 0x07,
465  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10,
466  0x11, 0x12, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
467  0x1c, 0x1d, 0x1f, 0x20, 0x21, 0x23, 0x24, 0x25,
468  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
469  0x2e, 0x30, 0x31, 0x32,
470  /* 0xc5 */
471  0x00, 0x01, 0x02, 0x05, 0x06, 0x08, 0x09, 0x0a,
472  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x15,
473  0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x21,
474  0x22, 0x24, 0x25, 0x26, 0x28, 0x29, 0x2a, 0x2b,
475  0x2c, 0x2d, 0x2e, 0x30, 0x31, 0x33, 0x35, 0x36,
476  0x37, 0x38, 0x00, 0x01, 0x04, 0x05, 0x07, 0x0c,
477  0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x14, 0x16, 0x18,
478  0x19, 0x1a, 0x1c, 0x1d, 0x1f, 0x20, 0x21, 0x23,
479  0x24, 0x25, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
480  0x2d, 0x30, 0x31, 0x32, 0x34, 0x35, 0x36, 0x37,
481  0x38, 0x39, 0x3c, 0x3d,
482  /* 0xc6 */
483  0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08,
484  0x09, 0x0a, 0x0d, 0x0f, 0x11, 0x12, 0x13, 0x14,
485  0x15, 0x16,
486};
487
488static int
489uhc_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
490{
491  unsigned char c1 = s[0];
492  if ((c1 >= 0xa1 && c1 <= 0xc6)) {
493    if (n >= 2) {
494      unsigned char c2 = s[1];
495      if ((c2 >= 0x41 && c2 < 0x5b) || (c2 >= 0x61 && c2 < 0x7b) || (c2 >= 0x81 && c2 < 0xa1)) {
496        unsigned int row = c1 - 0xa1;
497        unsigned int col = c2 - (c2 >= 0x81 ? 0x4d : c2 >= 0x61 ? 0x47 : 0x41);
498        unsigned int i = 84 * row + col;
499        if (i < 3126) {
500          *pwc = (ucs4_t) (uhc_2_2uni_main_pagea1[2*row+(col>=42?1:0)] + uhc_2_2uni_pagea1[i]);
501          return 2;
502        }
503      }
504      return RET_ILSEQ;
505    }
506    return RET_TOOFEW(0);
507  }
508  return RET_ILSEQ;
509}
510
511static const unsigned short uhc_2_2charset_main[49] = {
512  0xa141, 0xa18d, 0xa273, 0xa359, 0xa445, 0xa491, 0xa577, 0xa663,
513  0xa749, 0xa795, 0xa881, 0xa967, 0xaa4d, 0xaa99, 0xab85, 0xac6b,
514  0xad51, 0xad9d, 0xae89, 0xaf6f, 0xb055, 0xb141, 0xb18d, 0xb273,
515  0xb359, 0xb445, 0xb491, 0xb577, 0xb663, 0xb749, 0xb795, 0xb881,
516  0xb967, 0xba4d, 0xba99, 0xbb85, 0xbc6b, 0xbd51, 0xbd9d, 0xbe89,
517  0xbf6f, 0xc055, 0xc141, 0xc18d, 0xc273, 0xc359, 0xc445, 0xc491,
518  0xc577,
519};
520static const unsigned char uhc_2_2charset[3126] = {
521  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
522  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
523  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
524  0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
525  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
526  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
527  0x36, 0x37, 0x38, 0x39, 0x40, 0x41, 0x42, 0x43,
528  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
529  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
530  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
531  0x10, 0x11, 0x12, 0x13, 0xb4, 0xb5, 0xb6, 0xb7,
532  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
533  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
534  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xd4, 0xd5,
535  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
536  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
537  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
538  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
539  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
540  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
541  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
542  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
543  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
544  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
545  0x00, 0x01, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
546  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
547  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
548  0x1e, 0x1f, 0x20, 0x21, 0x28, 0x29, 0x2a, 0x2b,
549  0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
550  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
551  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
552  0x44, 0x45, 0x46, 0x47, 0xe8, 0xe9, 0xea, 0xeb,
553  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
554  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
555  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x1c, 0x1d,
556  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
557  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
558  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
559  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
560  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
561  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
562  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
563  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
564  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
565  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
566  0xc8, 0xc9, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
567  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
568  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
569  0x00, 0x01, 0x02, 0x03, 0x0a, 0x0b, 0x0c, 0x0d,
570  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
571  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
572  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
573  0x26, 0x27, 0x28, 0x29, 0xca, 0xcb, 0xcc, 0xcd,
574  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
575  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
576  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xea, 0xeb,
577  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
578  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
579  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
580  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
581  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
582  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
583  0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
584  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
585  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
586  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
587  0x10, 0x11, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
588  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
589  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
590  0x2e, 0x2f, 0x30, 0x31, 0x38, 0x39, 0x3a, 0x3b,
591  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
592  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
593  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
594  0x08, 0x09, 0x0a, 0x0b, 0xac, 0xad, 0xae, 0xaf,
595  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
596  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
597  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xcc, 0xcd,
598  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
599  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
600  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
601  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
602  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
603  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
604  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
605  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
606  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
607  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
608  0xd8, 0xd9, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
609  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
610  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
611  0x10, 0x11, 0x12, 0x13, 0x1a, 0x1b, 0x1c, 0x1d,
612  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
613  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
614  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
615  0x36, 0x37, 0x38, 0x39, 0xda, 0xdb, 0xdc, 0xdd,
616  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
617  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
618  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x14, 0x15,
619  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
620  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
621  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
622  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
623  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
624  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
625  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
626  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
627  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
628  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
629  0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd,
630  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
631  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
632  0xde, 0xdf, 0xe0, 0xe1, 0xe8, 0xe9, 0xea, 0xeb,
633  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
634  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
635  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
636  0x18, 0x19, 0x1a, 0x1b, 0xbc, 0xbd, 0xbe, 0xbf,
637  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
638  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
639  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xdc, 0xdd,
640  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
641  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
642  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
643  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
644  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
645  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
646  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
647  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
648  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
649  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
650  0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
651  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
652  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
653  0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x32, 0x33,
654  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
655  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
656  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
657  0x00, 0x01, 0x02, 0x03, 0xa4, 0xa5, 0xa6, 0xa7,
658  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
659  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
660  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xc4, 0xc5,
661  0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd,
662  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
663  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
664  0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,
665  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
666  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
667  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
668  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
669  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
670  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
671  0xd0, 0xd1, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
672  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
673  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
674  0x08, 0x09, 0x0a, 0x0b, 0x12, 0x13, 0x14, 0x15,
675  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
676  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
677  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
678  0x2e, 0x2f, 0x30, 0x31, 0xd2, 0xd3, 0xd4, 0xd5,
679  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
680  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
681  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x0d,
682  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
683  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
684  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
685  0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
686  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
687  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
688  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
689  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
690  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
691  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
692  0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
693  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
694  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
695  0x36, 0x37, 0x38, 0x39, 0x40, 0x41, 0x42, 0x43,
696  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
697  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
698  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
699  0x10, 0x11, 0x12, 0x13, 0xb4, 0xb5, 0xb6, 0xb7,
700  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
701  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
702  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xd4, 0xd5,
703  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
704  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
705  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
706  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
707  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
708  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
709  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
710  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
711  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
712  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
713  0x00, 0x01, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
714  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
715  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
716  0x1e, 0x1f, 0x20, 0x21, 0x28, 0x29, 0x2a, 0x2b,
717  0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
718  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
719  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
720  0x44, 0x45, 0x46, 0x47, 0xe8, 0xe9, 0xea, 0xeb,
721  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
722  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
723  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x1c, 0x1d,
724  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
725  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
726  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
727  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
728  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
729  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
730  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
731  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
732  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
733  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
734  0xc8, 0xc9, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
735  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
736  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
737  0x00, 0x01, 0x02, 0x03, 0x0a, 0x0b, 0x0c, 0x0d,
738  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
739  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
740  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
741  0x26, 0x27, 0x28, 0x29, 0xca, 0xcb, 0xcc, 0xcd,
742  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
743  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
744  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xea, 0xeb,
745  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
746  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
747  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
748  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
749  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
750  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
751  0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
752  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
753  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
754  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
755  0x10, 0x11, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
756  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
757  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
758  0x2e, 0x2f, 0x30, 0x31, 0x38, 0x39, 0x3a, 0x3b,
759  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
760  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
761  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
762  0x08, 0x09, 0x0a, 0x0b, 0xac, 0xad, 0xae, 0xaf,
763  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
764  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
765  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xcc, 0xcd,
766  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
767  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
768  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
769  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
770  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
771  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
772  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
773  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
774  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
775  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
776  0xd8, 0xd9, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
777  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
778  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
779  0x10, 0x11, 0x12, 0x13, 0x1a, 0x1b, 0x1c, 0x1d,
780  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
781  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
782  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
783  0x36, 0x37, 0x38, 0x39, 0xda, 0xdb, 0xdc, 0xdd,
784  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
785  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
786  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x14, 0x15,
787  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
788  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
789  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
790  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
791  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
792  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
793  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
794  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
795  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
796  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
797  0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd,
798  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
799  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
800  0xde, 0xdf, 0xe0, 0xe1, 0xe8, 0xe9, 0xea, 0xeb,
801  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
802  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
803  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
804  0x18, 0x19, 0x1a, 0x1b, 0xbc, 0xbd, 0xbe, 0xbf,
805  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
806  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
807  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xdc, 0xdd,
808  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
809  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
810  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
811  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
812  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
813  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
814  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
815  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
816  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
817  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
818  0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
819  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
820  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
821  0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x32, 0x33,
822  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
823  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
824  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
825  0x00, 0x01, 0x02, 0x03, 0xa4, 0xa5, 0xa6, 0xa7,
826  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
827  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
828  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xc4, 0xc5,
829  0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd,
830  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
831  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
832  0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,
833  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
834  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
835  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
836  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
837  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
838  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
839  0xd0, 0xd1, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
840  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
841  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
842  0x08, 0x09, 0x0a, 0x0b, 0x12, 0x13, 0x14, 0x15,
843  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
844  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
845  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
846  0x2e, 0x2f, 0x30, 0x31, 0xd2, 0xd3, 0xd4, 0xd5,
847  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
848  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
849  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x0d,
850  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
851  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
852  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
853  0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
854  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
855  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
856  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
857  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
858  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
859  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
860  0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
861  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
862  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
863  0x36, 0x37, 0x38, 0x39, 0x40, 0x41, 0x42, 0x43,
864  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
865  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
866  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
867  0x10, 0x11, 0x12, 0x13, 0xb4, 0xb5, 0xb6, 0xb7,
868  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
869  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
870  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xd4, 0xd5,
871  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
872  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
873  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
874  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
875  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
876  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
877  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
878  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
879  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
880  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
881  0x00, 0x01, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
882  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
883  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
884  0x1e, 0x1f, 0x20, 0x21, 0x28, 0x29, 0x2a, 0x2b,
885  0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
886  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
887  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
888  0x44, 0x45, 0x46, 0x47, 0xe8, 0xe9, 0xea, 0xeb,
889  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
890  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
891  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x1c, 0x1d,
892  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
893  0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
894  0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
895  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
896  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
897  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
898  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
899  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
900  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
901  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
902  0xc8, 0xc9, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
903  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
904  0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
905  0x00, 0x01, 0x02, 0x03, 0x0a, 0x0b, 0x0c, 0x0d,
906  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
907  0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
908  0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
909  0x26, 0x27, 0x28, 0x29, 0xca, 0xcb, 0xcc, 0xcd,
910  0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
911  0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb,
912};
913
914static const Summary16 uhc_2_uni2indx_pagec8[251] = {
915  /* 0xc800 */
916  {    0, 0x0000 }, {    0, 0x0000 }, {    0, 0x0000 }, {    0, 0x0000 },
917  {    0, 0x0000 }, {    0, 0x0000 }, {    0, 0x0000 }, {    0, 0x0000 },
918  {    0, 0x0000 }, {    0, 0x0000 }, {    0, 0xfee0 }, {   10, 0xcfff },
919  {   24, 0xeeef }, {   37, 0xfd4f }, {   49, 0xffec }, {   62, 0xcfdf },
920  /* 0xc900 */
921  {   75, 0x4f8e }, {   84, 0xfefd }, {   98, 0xefff }, {  113, 0xffef },
922  {  128, 0xffff }, {  144, 0xfeec }, {  156, 0xeff4 }, {  168, 0xefee },
923  {  181, 0xecff }, {  194, 0xd4fe }, {  205, 0xffff }, {  221, 0xffff },
924  {  237, 0xfa6c }, {  247, 0xc994 }, {  254, 0x4f6a }, {  263, 0xecfc },
925  /* 0xca00 */
926  {  274, 0xc4fe }, {  284, 0xfeef }, {  298, 0xfdff }, {  313, 0xffff },
927  {  329, 0xcfff }, {  343, 0x4fee }, {  354, 0xfefc }, {  367, 0xdfff },
928  {  382, 0xffef }, {  397, 0xfeff }, {  412, 0xffff }, {  428, 0xcfff },
929  {  442, 0x4fee }, {  453, 0xfcf5 }, {  465, 0xeffe }, {  479, 0xffef },
930  /* 0xcb00 */
931  {  494, 0xfeff }, {  509, 0xfeee }, {  522, 0xfffc }, {  536, 0xffff },
932  {  552, 0xecfd }, {  564, 0xdcfe }, {  576, 0xffef }, {  591, 0xfcff },
933  {  605, 0xffff }, {  621, 0xefff }, {  636, 0xffff }, {  652, 0xfeff },
934  {  667, 0xffff }, {  683, 0xffef }, {  698, 0xfd6f }, {  711, 0xffff },
935  /* 0xcc00 */
936  {  727, 0xcfff }, {  741, 0xcfee }, {  753, 0xac79 }, {  762, 0x84fe },
937  {  771, 0xeecf }, {  783, 0xfc4f }, {  794, 0xfeae }, {  806, 0xffde },
938  {  820, 0xffff }, {  836, 0xecff }, {  849, 0xc4fe }, {  859, 0xeecf },
939  {  871, 0xfd4f }, {  883, 0xffee }, {  897, 0xefef }, {  911, 0xfffe },
940  /* 0xcd00 */
941  {  926, 0xecfd }, {  938, 0xd4fe }, {  949, 0xeeef }, {  962, 0xfdff },
942  {  977, 0xffff }, {  993, 0xefff }, { 1008, 0x4fee }, { 1019, 0xfefd },
943  { 1033, 0xfeff }, { 1048, 0xeecf }, { 1060, 0xfd4f }, { 1072, 0xfffe },
944  { 1087, 0xefef }, { 1101, 0xfffe }, { 1116, 0xeeff }, { 1130, 0xd4fe },
945  /* 0xce00 */
946  { 1141, 0xeeef }, { 1154, 0xfdef }, { 1168, 0xfeec }, { 1180, 0xffd4 },
947  { 1192, 0xffff }, { 1208, 0x6cff }, { 1220, 0xd4fc }, { 1230, 0xeecf },
948  { 1242, 0xfd4f }, { 1254, 0xfeec }, { 1266, 0xcfc4 }, { 1275, 0xffff },
949  { 1291, 0xfffd }, { 1306, 0xffff }, { 1322, 0xe6cf }, { 1333, 0xfc4f },
950  /* 0xcf00 */
951  { 1344, 0xfeec }, { 1356, 0xefd4 }, { 1367, 0x4fee }, { 1378, 0xfefc },
952  { 1391, 0xffff }, { 1407, 0xeecf }, { 1419, 0xfd4f }, { 1431, 0xfeec },
953  { 1443, 0xefde }, { 1456, 0xffff }, { 1472, 0xfefd }, { 1486, 0xfffe },
954  { 1501, 0xffef }, { 1516, 0xffff }, { 1532, 0xfeec }, { 1544, 0xefd4 },
955  /* 0xd000 */
956  { 1555, 0xffee }, { 1569, 0xfefd }, { 1583, 0xdfff }, { 1598, 0xeecf },
957  { 1610, 0xfd4f }, { 1622, 0xfeee }, { 1635, 0xcffe }, { 1648, 0xcfee },
958  { 1660, 0xfffd }, { 1675, 0xffff }, { 1691, 0xeecf }, { 1703, 0xfd4f },
959  { 1715, 0xfcec }, { 1726, 0xcfc4 }, { 1735, 0x4fee }, { 1746, 0xfefc },
960  /* 0xd100 */
961  { 1759, 0xdfff }, { 1774, 0xffff }, { 1790, 0xffff }, { 1806, 0xfaec },
962  { 1817, 0xcfc4 }, { 1826, 0x4fee }, { 1837, 0xeefd }, { 1850, 0xefff },
963  { 1865, 0xfeef }, { 1879, 0xffff }, { 1895, 0xfeec }, { 1907, 0xebd4 },
964  { 1917, 0xfffe }, { 1932, 0xfeff }, { 1947, 0xffff }, { 1963, 0xfeef },
965  /* 0xd200 */
966  { 1977, 0xfd7f }, { 1991, 0xfffe }, { 2006, 0xcfff }, { 2020, 0x4fee },
967  { 2031, 0xfefd }, { 2045, 0xefff }, { 2060, 0xffef }, { 2075, 0xffff },
968  { 2091, 0xfeec }, { 2103, 0xefdc }, { 2115, 0xefee }, { 2128, 0x6cfd },
969  { 2139, 0xf4fa }, { 2150, 0xeeef }, { 2163, 0xffcf }, { 2177, 0xfeec },
970  /* 0xd300 */
971  { 2189, 0x8fd4 }, { 2198, 0x4fae }, { 2208, 0xecdc }, { 2218, 0xc4fe },
972  { 2228, 0xffcf }, { 2242, 0xffff }, { 2258, 0xffff }, { 2274, 0xcfff },
973  { 2288, 0x4fee }, { 2299, 0xecfc }, { 2310, 0xd4fe }, { 2321, 0xeeef },
974  { 2334, 0xfccf }, { 2346, 0xfefe }, { 2360, 0xcff5 }, { 2372, 0x4fee },
975  /* 0xd400 */
976  { 2383, 0xfefd }, { 2397, 0xdfff }, { 2412, 0xffff }, { 2428, 0xffff },
977  { 2444, 0xffee }, { 2458, 0xefff }, { 2473, 0x5fee }, { 2485, 0x6cff },
978  { 2497, 0xd4fa }, { 2507, 0xffef }, { 2522, 0xfdff }, { 2537, 0xffff },
979  { 2553, 0xefff }, { 2568, 0x6fee }, { 2580, 0xeeff }, { 2594, 0xd6fe },
980  /* 0xd500 */
981  { 2606, 0xeeef }, { 2619, 0xff4f }, { 2632, 0xffff }, { 2648, 0xcfff },
982  { 2662, 0x4fee }, { 2673, 0xecfd }, { 2685, 0xd4de }, { 2695, 0xeecf },
983  { 2707, 0xfc4f }, { 2718, 0xfffe }, { 2733, 0xffdf }, { 2748, 0xffff },
984  { 2764, 0xecff }, { 2777, 0xd4fa }, { 2787, 0xeecf }, { 2799, 0xfd4f },
985  /* 0xd600 */
986  { 2811, 0xfeec }, { 2823, 0xefc4 }, { 2833, 0xdfee }, { 2846, 0xecff },
987  { 2859, 0xd4de }, { 2869, 0xeecd }, { 2880, 0xfd7f }, { 2894, 0xffec },
988  { 2907, 0xcfd7 }, { 2919, 0x5fee }, { 2931, 0xeefd }, { 2944, 0xf5fe },
989  { 2957, 0xeecf }, { 2969, 0xfd6d }, { 2981, 0xfeee }, { 2994, 0xcfde },
990  /* 0xd700 */
991  { 3006, 0xffee }, { 3020, 0xecfd }, { 3032, 0xd4fe }, { 3043, 0xeecf },
992  { 3055, 0xfd6f }, { 3068, 0xfc2c }, { 3077, 0xedd4 }, { 3087, 0xcfee },
993  { 3099, 0xecfd }, { 3111, 0xd4fe }, { 3122, 0x000f },
994};
995
996static int
997uhc_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
998{
999  if (n >= 2) {
1000    if (wc >= 0xc800 && wc < 0xd7b0) {
1001      const Summary16 *summary = &uhc_2_uni2indx_pagec8[(wc>>4)-0xc80];
1002      unsigned short used = summary->used;
1003      unsigned int i = wc & 0x0f;
1004      if (used & ((unsigned short) 1 << i)) {
1005        unsigned short c;
1006        /* Keep in `used' only the bits 0..i-1. */
1007        used &= ((unsigned short) 1 << i) - 1;
1008        /* Add `summary->indx' and the number of bits set in `used'. */
1009        used = (used & 0x5555) + ((used & 0xaaaa) >> 1);
1010        used = (used & 0x3333) + ((used & 0xcccc) >> 2);
1011        used = (used & 0x0f0f) + ((used & 0xf0f0) >> 4);
1012        used = (used & 0x00ff) + (used >> 8);
1013        used += summary->indx;
1014        c = uhc_2_2charset_main[used>>6] + uhc_2_2charset[used];
1015        r[0] = (c >> 8); r[1] = (c & 0xff);
1016        return 2;
1017      }
1018    }
1019    return RET_ILUNI;
1020  }
1021  return RET_TOOSMALL;
1022}
1023