Browse code

optimize u16_normalize, encode as hex entities (Ȁ) update dependencies to rebuild on hashtab.c change support keys with common prefix by checking match length update due to hashtab change

git-svn: trunk@3536

Török Edvin authored on 2008/01/24 05:19:14
Showing 7 changed files
... ...
@@ -1,3 +1,11 @@
1
+Wed Jan 23 21:52:06 EET 2008 (edwin)
2
+------------------------------------
3
+ * libclamav/entconv.c: optimize u16_normalize, encode as hex entities
4
+ (Ȁ)
5
+ * contrib/entitynorm: update dependencies to rebuild on hashtab.c change
6
+ * libclamav/hashtab.[ch]: support keys with common prefix by checking match length
7
+ * libclamav/entitylist.h, encoding_aliases.h: update due to hashtab change
8
+
1 9
 Wed Jan 23 17:53:10 CET 2008 (acab)
2 10
 -----------------------------------
3 11
   * libclamunrar_iface: realign structs (related to bb#474)
... ...
@@ -6,10 +6,10 @@ all: entitylist.h encoding_aliases.h gentbl encname_chars.h
6 6
 entities_parsed: entities entities/* entity_decl_parse.pl
7 7
 	$(PERL) entity_decl_parse.pl $</* | sort -u >$@
8 8
 
9
-generate_entitylist: generate_entitylist.c ../../libclamav/hashtab.h
9
+generate_entitylist: generate_entitylist.c ../../libclamav/hashtab.h ../../libclamav/hashtab.c ../../libclamav/others.c
10 10
 	$(CC) -I. -DHAVE_CONFIG_H -DCLI_MEMFUNSONLY $< ../../libclamav/hashtab.c ../../libclamav/others.c -o $@
11 11
 
12
-generate_encoding_aliases: generate_encoding_aliases.c ../../libclamav/htmlnorm.h ../../libclamav/entconv.h ../../libclamav/cltypes.h ../../libclamav/hashtab.h ../../libclamav/hashtab.h
12
+generate_encoding_aliases: generate_encoding_aliases.c ../../libclamav/hashtab.c ../../libclamav/others.c ../../libclamav/htmlnorm.h ../../libclamav/entconv.h ../../libclamav/cltypes.h ../../libclamav/hashtab.h ../../libclamav/hashtab.h
13 13
 	$(CC) -I. -DHAVE_CONFIG_H -DCLI_MEMFUNSONLY $< ../../libclamav/hashtab.c ../../libclamav/others.c -o $@
14 14
 
15 15
 entitylist.h: generate_entitylist entities_parsed
... ...
@@ -21,59 +21,59 @@
21 21
 
22 22
 #include <hashtab.h>
23 23
 static struct element aliases_htable_elements[] = {
24
-	{NULL, 0},
25
-	{NULL, 0},
26
-	{NULL, 0},
27
-	{"UTF8", 8},
28
-	{"ISO-10646/UTF-8", 8},
29
-	{NULL, 0},
30
-	{"UTF-16", 1},
31
-	{"UTF16LE", 7},
32
-	{NULL, 0},
33
-	{"UTF-32", 0},
34
-	{"10646-1:1993/UCS4", 0},
35
-	{NULL, 0},
36
-	{"UTF-16LE", 7},
37
-	{NULL, 0},
38
-	{NULL, 0},
39
-	{NULL, 0},
40
-	{"UCS-4LE", 2},
41
-	{"UCS-4", 0},
42
-	{"UCS2", 1},
43
-	{"UTF-16BE", 6},
44
-	{NULL, 0},
45
-	{"UTF-32LE", 2},
46
-	{NULL, 0},
47
-	{"UTF16BE", 6},
48
-	{"UTF32", 0},
49
-	{"UTF-32BE", 3},
50
-	{"UTF32LE", 2},
51
-	{NULL, 0},
52
-	{NULL, 0},
53
-	{NULL, 0},
54
-	{NULL, 0},
55
-	{NULL, 0},
56
-	{NULL, 0},
57
-	{"UCS-4BE", 3},
58
-	{"ISO-10646/UCS2", 1},
59
-	{NULL, 0},
60
-	{"10646-1:1993", 0},
61
-	{"ISO-10646/UCS4", 0},
62
-	{"ISO-10646", 0},
63
-	{"UTF-8", 8},
64
-	{"UTF32BE", 3},
65
-	{"ISO-10646/UTF8", 8},
66
-	{NULL, 0},
67
-	{NULL, 0},
68
-	{"UCS4", 0},
69
-	{NULL, 0},
70
-	{NULL, 0},
71
-	{NULL, 0},
72
-	{NULL, 0},
73
-	{NULL, 0},
74
-	{NULL, 0},
75
-	{NULL, 0},
76
-	{NULL, 0},
24
+	{NULL,0,0},
25
+	{NULL,0,0},
26
+	{NULL,0,0},
27
+	{"UTF8", 8, 4},
28
+	{"ISO-10646/UTF-8", 8, 15},
29
+	{NULL,0,0},
30
+	{"UTF-16", 1, 6},
31
+	{"UTF16LE", 7, 7},
32
+	{NULL,0,0},
33
+	{"UTF-32", 0, 6},
34
+	{"10646-1:1993/UCS4", 0, 17},
35
+	{NULL,0,0},
36
+	{"UTF-16LE", 7, 8},
37
+	{NULL,0,0},
38
+	{NULL,0,0},
39
+	{NULL,0,0},
40
+	{"UCS-4LE", 2, 7},
41
+	{"UCS-4", 0, 5},
42
+	{"UCS2", 1, 4},
43
+	{"UTF-16BE", 6, 8},
44
+	{NULL,0,0},
45
+	{"UTF-32LE", 2, 8},
46
+	{NULL,0,0},
47
+	{"UTF16BE", 6, 7},
48
+	{"UTF32", 0, 5},
49
+	{"UTF-32BE", 3, 8},
50
+	{"UTF32LE", 2, 7},
51
+	{NULL,0,0},
52
+	{NULL,0,0},
53
+	{NULL,0,0},
54
+	{NULL,0,0},
55
+	{NULL,0,0},
56
+	{NULL,0,0},
57
+	{"UCS-4BE", 3, 7},
58
+	{"ISO-10646/UCS2", 1, 14},
59
+	{NULL,0,0},
60
+	{"10646-1:1993", 0, 12},
61
+	{"ISO-10646/UCS4", 0, 14},
62
+	{"ISO-10646", 0, 9},
63
+	{"UTF-8", 8, 5},
64
+	{"UTF32BE", 3, 7},
65
+	{"ISO-10646/UTF8", 8, 14},
66
+	{NULL,0,0},
67
+	{NULL,0,0},
68
+	{"UCS4", 0, 4},
69
+	{NULL,0,0},
70
+	{NULL,0,0},
71
+	{NULL,0,0},
72
+	{NULL,0,0},
73
+	{NULL,0,0},
74
+	{NULL,0,0},
75
+	{NULL,0,0},
76
+	{NULL,0,0},
77 77
 };
78 78
 const struct hashtable aliases_htable = {
79 79
 	aliases_htable_elements, 53, 25, 42
... ...
@@ -67,38 +67,38 @@ typedef struct {
67 67
 } * iconv_t;
68 68
 #endif
69 69
 
70
+static unsigned char tohex[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
71
+
70 72
 /* TODO: gcc refuses to inline because it consider call unlikely and code size grows */
71 73
 static inline unsigned char* u16_normalize(uint16_t u16, unsigned char* out, const ssize_t limit)
72 74
 {
73 75
 	assert(limit > 0 && "u16_normalize must be called with positive limit");
74 76
 	/* \0 is just ignored */
75
-	if(u16 > 0 && u16 < 0xff) {
77
+	if(!u16) {
78
+		return out;
79
+	}
80
+
81
+	if(u16 < 0xff) {
76 82
 		assert((uint8_t)u16 != 0);
77 83
 		*out++ = (uint8_t)u16;
78
-	}
79
-	else if (u16) {
84
+	} else {
85
+		size_t i;
80 86
 		/* normalize only >255 to speed up */
81
-		char buf[6];
82
-		/* &#65535; 8 bytes, buffer: 65535\0 6 bytes => max_num = sizeof(buf) + 2 */
83
-		const ssize_t max_num_length = sizeof(buf) + 2;
84
-		size_t i = sizeof(buf)-1;
85
-
86
-		if(limit <=  max_num_length) {
87
+		if(limit <=  8) {
87 88
 			/* not enough space available */
88 89
 			return NULL;
89 90
 		}
90 91
 		/* inline version of
91
-		 * out += snprintf(out, max_num_length, "&#%d;", u16) */
92
-		buf[i] = '\0';
93
-		while(u16 && i > 0 ) {
94
-			buf[--i] = '0' + (u16 % 10);
95
-			u16 /= 10;
92
+		 * out += snprintf(out, max_num_length, "&#x%x;", u16) */
93
+		out[0] = '&';
94
+		out[1] = '#';
95
+		out[2] = 'x';
96
+		out[7] = ';';
97
+		for(i=6; i >= 3; --i) {
98
+			out[i] = tohex[u16 & 0xf];
99
+			u16 >>= 4;
96 100
 		}
97
-
98
-		*out++ = '&';
99
-		*out++ = '#';
100
-		while(buf[i]) *out++ = buf[i++];
101
-		*out++ = ';';
101
+		out += 8;
102 102
 	}
103 103
 	return out;
104 104
 }
... ...
@@ -1,1549 +1,1549 @@
1 1
 /* TODO: include GPL headers */
2 2
 #include <hashtab.h>
3 3
 static struct element entities_htable_elements[] = {
4
-	{"ssmile", 8995},
5
-	{NULL, 0},
6
-	{NULL, 0},
7
-	{NULL, 0},
8
-	{NULL, 0},
9
-	{"phi", 966},
10
-	{NULL, 0},
11
-	{"cire", 8791},
12
-	{NULL, 0},
13
-	{NULL, 0},
14
-	{NULL, 0},
15
-	{NULL, 0},
16
-	{NULL, 0},
17
-	{NULL, 0},
18
-	{NULL, 0},
19
-	{NULL, 0},
20
-	{NULL, 0},
21
-	{NULL, 0},
22
-	{NULL, 0},
23
-	{NULL, 0},
24
-	{NULL, 0},
25
-	{NULL, 0},
26
-	{NULL, 0},
27
-	{NULL, 0},
28
-	{NULL, 0},
29
-	{NULL, 0},
30
-	{NULL, 0},
31
-	{NULL, 0},
32
-	{NULL, 0},
33
-	{NULL, 0},
34
-	{NULL, 0},
35
-	{"lang", 9001},
36
-	{"sbsol", 65128},
37
-	{"tshcy", 1115},
38
-	{NULL, 0},
39
-	{"ast", 42},
40
-	{"dzcy", 1119},
41
-	{"rang", 9002},
42
-	{"boxhu", 9524},
43
-	{"zwnj", 8204},
44
-	{NULL, 0},
45
-	{NULL, 0},
46
-	{NULL, 0},
47
-	{NULL, 0},
48
-	{"boxUR", 9562},
49
-	{NULL, 0},
50
-	{NULL, 0},
51
-	{NULL, 0},
52
-	{NULL, 0},
53
-	{NULL, 0},
54
-	{NULL, 0},
55
-	{"block", 9608},
56
-	{"Ccedil", 199},
57
-	{NULL, 0},
58
-	{NULL, 0},
59
-	{NULL, 0},
60
-	{"chcy", 1095},
61
-	{NULL, 0},
62
-	{NULL, 0},
63
-	{NULL, 0},
64
-	{"DJcy", 1026},
65
-	{NULL, 0},
66
-	{NULL, 0},
67
-	{"spades", 9824},
68
-	{"GJcy", 1027},
69
-	{"khcy", 1093},
70
-	{"ang", 8736},
71
-	{"KJcy", 1036},
72
-	{"LJcy", 1033},
73
-	{"ETH", 208},
74
-	{"NJcy", 1034},
75
-	{"tilde", 732},
76
-	{"bsol", 92},
77
-	{"shcy", 1096},
78
-	{NULL, 0},
79
-	{"frac58", 8541},
80
-	{NULL, 0},
81
-	{NULL, 0},
82
-	{"micro", 181},
83
-	{"num", 35},
84
-	{"zhcy", 1078},
85
-	{NULL, 0},
86
-	{NULL, 0},
87
-	{NULL, 0},
88
-	{"ccedil", 231},
89
-	{"osol", 8856},
90
-	{NULL, 0},
91
-	{"sum", 8721},
92
-	{NULL, 0},
93
-	{NULL, 0},
94
-	{NULL, 0},
95
-	{NULL, 0},
96
-	{"emsp13", 8196},
97
-	{"divonx", 8903},
98
-	{NULL, 0},
99
-	{"supe", 8839},
100
-	{NULL, 0},
101
-	{NULL, 0},
102
-	{"sim", 8764},
103
-	{"minus", 8722},
104
-	{"Agr", 913},
105
-	{"Bgr", 914},
106
-	{NULL, 0},
107
-	{"Dgr", 916},
108
-	{"Egr", 917},
109
-	{NULL, 0},
110
-	{"Ggr", 915},
111
-	{NULL, 0},
112
-	{"Igr", 921},
113
-	{"comma", 44},
114
-	{"Kgr", 922},
115
-	{"Lgr", 923},
116
-	{"Mgr", 924},
117
-	{"Ngr", 925},
118
-	{"Ogr", 927},
119
-	{"Pgr", 928},
120
-	{NULL, 0},
121
-	{"Rgr", 929},
122
-	{"Sgr", 931},
123
-	{"pound", 163},
124
-	{"Tgr", 932},
125
-	{"macr", 175},
126
-	{"ell", 8467},
127
-	{"Ugr", 933},
128
-	{"boxDR", 9556},
129
-	{"Zgr", 918},
130
-	{"boxhD", 9573},
131
-	{NULL, 0},
132
-	{NULL, 0},
133
-	{"xdtri", 9661},
134
-	{NULL, 0},
135
-	{"eeacgr", 942},
136
-	{"agr", 945},
137
-	{"ffllig", 64260},
138
-	{"Agrave", 192},
139
-	{"dgr", 948},
140
-	{"bgr", 946},
141
-	{"Egrave", 200},
142
-	{"ggr", 947},
143
-	{"egr", 949},
144
-	{"igr", 953},
145
-	{"Igrave", 204},
146
-	{"kgr", 954},
147
-	{"lgr", 955},
148
-	{"mgr", 956},
149
-	{"ngr", 957},
150
-	{"frac35", 8535},
151
-	{"Ograve", 210},
152
-	{"pgr", 960},
153
-	{"rgr", 961},
154
-	{"sgr", 963},
155
-	{"rcub", 125},
156
-	{"hamilt", 8459},
157
-	{"epsi", 1013},
158
-	{"par", 8741},
159
-	{"ugr", 965},
160
-	{"frac16", 8537},
161
-	{"sqcup", 8852},
162
-	{"Upsi", 978},
163
-	{"caron", 711},
164
-	{"lcub", 123},
165
-	{"ogr", 959},
166
-	{NULL, 0},
167
-	{"Ugrave", 217},
168
-	{NULL, 0},
169
-	{"agrave", 224},
170
-	{"tgr", 964},
171
-	{"sup1", 185},
172
-	{"Xgr", 926},
173
-	{"egrave", 232},
174
-	{"upsi", 965},
175
-	{"real", 8476},
176
-	{"zgr", 950},
177
-	{"igrave", 236},
178
-	{NULL, 0},
179
-	{"thkap", 8776},
180
-	{"lpargt", 10656},
181
-	{NULL, 0},
182
-	{NULL, 0},
183
-	{"ograve", 242},
184
-	{NULL, 0},
185
-	{"boxV", 9553},
186
-	{"rpargt", 10644},
187
-	{"xgr", 958},
188
-	{NULL, 0},
189
-	{"ugrave", 249},
190
-	{"Vvdash", 8874},
191
-	{NULL, 0},
192
-	{NULL, 0},
193
-	{NULL, 0},
194
-	{NULL, 0},
195
-	{NULL, 0},
196
-	{"Cap", 8914},
197
-	{NULL, 0},
198
-	{NULL, 0},
199
-	{NULL, 0},
200
-	{NULL, 0},
201
-	{NULL, 0},
202
-	{"Prime", 8243},
203
-	{"boxHd", 9572},
204
-	{NULL, 0},
205
-	{NULL, 0},
206
-	{"khgr", 967},
207
-	{"acute", 180},
208
-	{NULL, 0},
209
-	{NULL, 0},
210
-	{"ohgr", 969},
211
-	{"phgr", 966},
212
-	{"amp", 38},
213
-	{"Gg", 8921},
214
-	{NULL, 0},
215
-	{"coprod", 8720},
216
-	{"thgr", 952},
217
-	{NULL, 0},
218
-	{NULL, 0},
219
-	{NULL, 0},
220
-	{NULL, 0},
221
-	{"Epsilon", 917},
222
-	{NULL, 0},
223
-	{NULL, 0},
224
-	{"amalg", 10815},
225
-	{"boxVR", 9568},
226
-	{"euro", 8364},
227
-	{NULL, 0},
228
-	{"cap", 8745},
229
-	{NULL, 0},
230
-	{NULL, 0},
231
-	{"frac12", 189},
232
-	{"gap", 10886},
233
-	{NULL, 0},
234
-	{"prime", 8242},
235
-	{NULL, 0},
236
-	{"angsph", 8738},
237
-	{"lap", 10885},
238
-	{"Upsilon", 933},
239
-	{"HARDcy", 1066},
240
-	{"caret", 8257},
241
-	{NULL, 0},
242
-	{"boxvH", 9578},
243
-	{NULL, 0},
244
-	{NULL, 0},
245
-	{NULL, 0},
246
-	{NULL, 0},
247
-	{"ang90", 8735},
248
-	{NULL, 0},
249
-	{"lg", 8822},
250
-	{NULL, 0},
251
-	{NULL, 0},
252
-	{NULL, 0},
253
-	{"epsilon", 949},
254
-	{NULL, 0},
255
-	{NULL, 0},
256
-	{NULL, 0},
257
-	{NULL, 0},
258
-	{NULL, 0},
259
-	{NULL, 0},
260
-	{NULL, 0},
261
-	{NULL, 0},
262
-	{NULL, 0},
263
-	{NULL, 0},
264
-	{"eDot", 8785},
265
-	{"darr", 8595},
266
-	{"cent", 162},
267
-	{NULL, 0},
268
-	{"szlig", 223},
269
-	{"harr", 8596},
270
-	{"upsilon", 965},
271
-	{NULL, 0},
272
-	{NULL, 0},
273
-	{"larr", 8592},
274
-	{NULL, 0},
275
-	{"squ", 9633},
276
-	{NULL, 0},
277
-	{"percnt", 37},
278
-	{NULL, 0},
279
-	{"rarr", 8594},
280
-	{NULL, 0},
281
-	{NULL, 0},
282
-	{"uarr", 8593},
283
-	{NULL, 0},
284
-	{"Eta", 919},
285
-	{"boxh", 9472},
286
-	{"flat", 9837},
287
-	{"bdquo", 8222},
288
-	{NULL, 0},
289
-	{NULL, 0},
290
-	{"alefsym", 8501},
291
-	{NULL, 0},
292
-	{NULL, 0},
293
-	{NULL, 0},
294
-	{"gimel", 8503},
295
-	{"ldquo", 8220},
296
-	{NULL, 0},
297
-	{NULL, 0},
298
-	{NULL, 0},
299
-	{"upsih", 978},
300
-	{"rdquo", 8221},
301
-	{NULL, 0},
302
-	{NULL, 0},
303
-	{"thksim", 8764},
304
-	{NULL, 0},
305
-	{"phis", 981},
306
-	{"telrec", 8981},
307
-	{"thetav", 977},
308
-	{NULL, 0},
309
-	{NULL, 0},
310
-	{"int", 8747},
311
-	{"boxVh", 9579},
312
-	{NULL, 0},
313
-	{"thorn", 254},
314
-	{"excl", 33},
315
-	{"iocy", 1105},
316
-	{"eta", 951},
317
-	{NULL, 0},
318
-	{NULL, 0},
319
-	{NULL, 0},
320
-	{"loz", 9674},
321
-	{NULL, 0},
322
-	{NULL, 0},
323
-	{"smile", 8995},
324
-	{"yucy", 1102},
325
-	{NULL, 0},
326
-	{"epsis", 1013},
327
-	{"natur", 9838},
328
-	{"sup2", 178},
329
-	{NULL, 0},
330
-	{NULL, 0},
331
-	{NULL, 0},
332
-	{"IEcy", 1045},
333
-	{NULL, 0},
334
-	{NULL, 0},
335
-	{NULL, 0},
336
-	{NULL, 0},
337
-	{NULL, 0},
338
-	{"yicy", 1111},
339
-	{NULL, 0},
340
-	{NULL, 0},
341
-	{NULL, 0},
342
-	{NULL, 0},
343
-	{"bowtie", 8904},
344
-	{"daleth", 8504},
345
-	{NULL, 0},
346
-	{"boxul", 9496},
347
-	{"sqsube", 8849},
348
-	{"bprime", 8245},
349
-	{NULL, 0},
350
-	{NULL, 0},
351
-	{NULL, 0},
352
-	{NULL, 0},
353
-	{"Sigma", 931},
354
-	{"para", 182},
355
-	{"timesb", 8864},
356
-	{NULL, 0},
357
-	{NULL, 0},
358
-	{NULL, 0},
359
-	{NULL, 0},
360
-	{"ges", 10878},
361
-	{NULL, 0},
362
-	{NULL, 0},
363
-	{NULL, 0},
364
-	{NULL, 0},
365
-	{"plusdo", 8724},
366
-	{"les", 10877},
367
-	{"tprime", 8244},
368
-	{"vprime", 8242},
369
-	{NULL, 0},
370
-	{NULL, 0},
371
-	{NULL, 0},
372
-	{"scap", 10936},
373
-	{NULL, 0},
374
-	{NULL, 0},
375
-	{NULL, 0},
376
-	{NULL, 0},
377
-	{NULL, 0},
378
-	{NULL, 0},
379
-	{NULL, 0},
380
-	{"ecir", 8790},
381
-	{NULL, 0},
382
-	{NULL, 0},
383
-	{NULL, 0},
384
-	{NULL, 0},
385
-	{"sigma", 963},
386
-	{"lEg", 10891},
387
-	{"iff", 8660},
388
-	{"frac23", 8532},
389
-	{NULL, 0},
390
-	{"ocir", 8858},
391
-	{"trie", 8796},
392
-	{NULL, 0},
393
-	{NULL, 0},
394
-	{"Omega", 937},
395
-	{NULL, 0},
396
-	{"numsp", 8199},
397
-	{NULL, 0},
398
-	{"uml", 168},
399
-	{NULL, 0},
400
-	{NULL, 0},
401
-	{NULL, 0},
402
-	{"lhblk", 9604},
403
-	{NULL, 0},
404
-	{"OHacgr", 911},
405
-	{NULL, 0},
406
-	{NULL, 0},
407
-	{NULL, 0},
408
-	{NULL, 0},
409
-	{NULL, 0},
410
-	{NULL, 0},
411
-	{"uhblk", 9600},
412
-	{NULL, 0},
413
-	{"lthree", 8907},
414
-	{"blk14", 9617},
415
-	{NULL, 0},
416
-	{NULL, 0},
417
-	{"oline", 8254},
418
-	{NULL, 0},
419
-	{"die", 168},
420
-	{"boxdl", 9488},
421
-	{"thetasym", 977},
422
-	{"rthree", 8908},
423
-	{NULL, 0},
424
-	{NULL, 0},
425
-	{NULL, 0},
426
-	{"colone", 8788},
427
-	{"omega", 969},
428
-	{NULL, 0},
429
-	{NULL, 0},
430
-	{NULL, 0},
431
-	{NULL, 0},
432
-	{"ltrie", 8884},
433
-	{NULL, 0},
434
-	{NULL, 0},
435
-	{NULL, 0},
436
-	{"breve", 728},
437
-	{"oplus", 8853},
438
-	{"rtrie", 8885},
439
-	{"wreath", 8768},
440
-	{NULL, 0},
441
-	{"sce", 10928},
442
-	{"uplus", 8846},
443
-	{NULL, 0},
444
-	{NULL, 0},
445
-	{NULL, 0},
446
-	{NULL, 0},
447
-	{NULL, 0},
448
-	{NULL, 0},
449
-	{"star", 9734},
450
-	{"dtri", 9663},
451
-	{NULL, 0},
452
-	{NULL, 0},
453
-	{NULL, 0},
454
-	{"Gt", 8811},
455
-	{"hardcy", 1098},
456
-	{NULL, 0},
457
-	{"ogon", 731},
458
-	{"ltri", 9667},
459
-	{"Lt", 8810},
460
-	{NULL, 0},
461
-	{NULL, 0},
462
-	{NULL, 0},
463
-	{NULL, 0},
464
-	{"rtri", 9657},
465
-	{"Lambda", 923},
466
-	{"EEgr", 919},
467
-	{"utri", 9653},
468
-	{NULL, 0},
469
-	{NULL, 0},
470
-	{NULL, 0},
471
-	{NULL, 0},
472
-	{NULL, 0},
473
-	{NULL, 0},
474
-	{NULL, 0},
475
-	{NULL, 0},
476
-	{"bsime", 8909},
477
-	{"boxhU", 9576},
478
-	{"epsiv", 949},
479
-	{"hearts", 9829},
480
-	{"sharp", 9839},
481
-	{NULL, 0},
482
-	{"quot", 34},
483
-	{NULL, 0},
484
-	{NULL, 0},
485
-	{NULL, 0},
486
-	{"smid", 8739},
487
-	{"gt", 62},
488
-	{NULL, 0},
489
-	{"frac38", 8540},
490
-	{NULL, 0},
491
-	{"lt", 60},
492
-	{NULL, 0},
493
-	{NULL, 0},
494
-	{NULL, 0},
495
-	{"exist", 8707},
496
-	{"lambda", 955},
497
-	{"piv", 982},
498
-	{NULL, 0},
499
-	{NULL, 0},
500
-	{NULL, 0},
501
-	{NULL, 0},
502
-	{"bsim", 8765},
503
-	{NULL, 0},
504
-	{"sup3", 179},
505
-	{NULL, 0},
506
-	{NULL, 0},
507
-	{"gsim", 8819},
508
-	{NULL, 0},
509
-	{NULL, 0},
510
-	{NULL, 0},
511
-	{NULL, 0},
512
-	{"lsim", 8818},
513
-	{NULL, 0},
514
-	{"sstarf", 8902},
515
-	{"ominus", 8854},
516
-	{NULL, 0},
517
-	{NULL, 0},
518
-	{NULL, 0},
519
-	{NULL, 0},
520
-	{"boxvl", 9508},
521
-	{"trade", 8482},
522
-	{NULL, 0},
523
-	{"vprop", 8733},
524
-	{"bcong", 8780},
525
-	{"hybull", 8259},
526
-	{NULL, 0},
527
-	{"cong", 8773},
528
-	{NULL, 0},
529
-	{"Dot", 168},
530
-	{NULL, 0},
531
-	{NULL, 0},
532
-	{"filig", 64257},
533
-	{"sung", 9834},
534
-	{"THORN", 222},
535
-	{NULL, 0},
536
-	{NULL, 0},
537
-	{"AElig", 198},
538
-	{NULL, 0},
539
-	{NULL, 0},
540
-	{NULL, 0},
541
-	{"copy", 169},
542
-	{"sqsupe", 8850},
543
-	{"prop", 8733},
544
-	{NULL, 0},
545
-	{"prsim", 8830},
546
-	{"apos", 39},
547
-	{"ring", 730},
548
-	{NULL, 0},
549
-	{"boxHu", 9575},
550
-	{NULL, 0},
551
-	{"frac34", 190},
552
-	{"OElig", 338},
553
-	{NULL, 0},
554
-	{NULL, 0},
555
-	{NULL, 0},
556
-	{NULL, 0},
557
-	{"drcrop", 8972},
558
-	{"erDot", 8787},
559
-	{NULL, 0},
560
-	{NULL, 0},
561
-	{"dot", 729},
562
-	{"frac15", 8533},
563
-	{NULL, 0},
564
-	{"dlcrop", 8973},
565
-	{NULL, 0},
566
-	{NULL, 0},
567
-	{NULL, 0},
568
-	{NULL, 0},
569
-	{NULL, 0},
570
-	{NULL, 0},
571
-	{"Oslash", 216},
572
-	{"efDot", 8786},
573
-	{"djcy", 1106},
574
-	{"not", 172},
575
-	{"urcrop", 8974},
576
-	{"gjcy", 1107},
577
-	{"sdotb", 8865},
578
-	{NULL, 0},
579
-	{NULL, 0},
580
-	{"kjcy", 1116},
581
-	{"ljcy", 1113},
582
-	{"ulcrop", 8975},
583
-	{"njcy", 1114},
584
-	{NULL, 0},
585
-	{"mldr", 8230},
586
-	{"nldr", 8229},
587
-	{NULL, 0},
588
-	{NULL, 0},
589
-	{"rhov", 1009},
590
-	{NULL, 0},
591
-	{"ecolon", 8789},
592
-	{NULL, 0},
593
-	{NULL, 0},
594
-	{NULL, 0},
595
-	{NULL, 0},
596
-	{NULL, 0},
597
-	{NULL, 0},
598
-	{"hyphen", 8208},
599
-	{NULL, 0},
600
-	{NULL, 0},
601
-	{NULL, 0},
602
-	{NULL, 0},
603
-	{"oslash", 248},
604
-	{"supE", 10950},
605
-	{NULL, 0},
606
-	{NULL, 0},
607
-	{"grave", 96},
608
-	{"els", 10901},
609
-	{NULL, 0},
610
-	{NULL, 0},
611
-	{NULL, 0},
612
-	{NULL, 0},
613
-	{NULL, 0},
614
-	{"vrtri", 8883},
615
-	{NULL, 0},
616
-	{"Alpha", 913},
617
-	{NULL, 0},
618
-	{NULL, 0},
619
-	{NULL, 0},
620
-	{NULL, 0},
621
-	{"period", 46},
622
-	{"vltri", 8882},
623
-	{NULL, 0},
624
-	{NULL, 0},
625
-	{NULL, 0},
626
-	{NULL, 0},
627
-	{NULL, 0},
628
-	{"emsp", 8195},
629
-	{NULL, 0},
630
-	{NULL, 0},
631
-	{"part", 8706},
632
-	{NULL, 0},
633
-	{NULL, 0},
634
-	{NULL, 0},
635
-	{NULL, 0},
636
-	{NULL, 0},
637
-	{NULL, 0},
638
-	{"boxHD", 9574},
639
-	{"Auml", 196},
640
-	{NULL, 0},
641
-	{NULL, 0},
642
-	{"Euml", 203},
643
-	{NULL, 0},
644
-	{NULL, 0},
645
-	{NULL, 0},
646
-	{"Iuml", 207},
647
-	{"boxur", 9492},
648
-	{"alpha", 945},
649
-	{NULL, 0},
650
-	{"cir", 9675},
651
-	{"equiv", 8801},
652
-	{"Ouml", 214},
653
-	{"plusb", 8862},
654
-	{NULL, 0},
655
-	{NULL, 0},
656
-	{NULL, 0},
657
-	{NULL, 0},
658
-	{"frown", 8994},
659
-	{"Uuml", 220},
660
-	{NULL, 0},
661
-	{NULL, 0},
662
-	{"Yuml", 376},
663
-	{"Omicron", 927},
664
-	{NULL, 0},
665
-	{"ape", 8778},
666
-	{NULL, 0},
667
-	{NULL, 0},
668
-	{NULL, 0},
669
-	{NULL, 0},
670
-	{"auml", 228},
671
-	{NULL, 0},
672
-	{NULL, 0},
673
-	{"Scaron", 352},
674
-	{"euml", 235},
675
-	{NULL, 0},
676
-	{NULL, 0},
677
-	{"nabla", 8711},
678
-	{"iuml", 239},
679
-	{NULL, 0},
680
-	{"sube", 8838},
681
-	{NULL, 0},
682
-	{NULL, 0},
683
-	{NULL, 0},
684
-	{"ouml", 246},
685
-	{NULL, 0},
686
-	{"isin", 8712},
687
-	{"Cup", 8915},
688
-	{"phone", 9742},
689
-	{NULL, 0},
690
-	{"semi", 59},
691
-	{"uuml", 252},
692
-	{NULL, 0},
693
-	{NULL, 0},
694
-	{"yuml", 255},
695
-	{"omicron", 959},
696
-	{"bepsi", 1014},
697
-	{NULL, 0},
698
-	{NULL, 0},
699
-	{NULL, 0},
700
-	{NULL, 0},
701
-	{NULL, 0},
702
-	{NULL, 0},
703
-	{"Sup", 8913},
704
-	{NULL, 0},
705
-	{"scaron", 353},
706
-	{NULL, 0},
707
-	{NULL, 0},
708
-	{NULL, 0},
709
-	{NULL, 0},
710
-	{NULL, 0},
711
-	{NULL, 0},
712
-	{NULL, 0},
713
-	{NULL, 0},
714
-	{"frac45", 8536},
715
-	{NULL, 0},
716
-	{"Mu", 924},
717
-	{"Nu", 925},
718
-	{NULL, 0},
719
-	{"numero", 8470},
720
-	{"cup", 8746},
721
-	{NULL, 0},
722
-	{NULL, 0},
723
-	{NULL, 0},
724
-	{"boxdr", 9484},
725
-	{NULL, 0},
726
-	{NULL, 0},
727
-	{NULL, 0},
728
-	{NULL, 0},
729
-	{NULL, 0},
730
-	{"Iota", 921},
731
-	{"Acirc", 194},
732
-	{NULL, 0},
733
-	{"Pi", 928},
734
-	{NULL, 0},
735
-	{"Ecirc", 202},
736
-	{"sup", 8835},
737
-	{NULL, 0},
738
-	{NULL, 0},
739
-	{"Icirc", 206},
740
-	{"idiagr", 912},
741
-	{"horbar", 8213},
742
-	{"Xi", 926},
743
-	{"top", 8868},
744
-	{NULL, 0},
745
-	{"Ocirc", 212},
746
-	{NULL, 0},
747
-	{"boxVH", 9580},
748
-	{"mu", 956},
749
-	{"nu", 957},
750
-	{NULL, 0},
751
-	{"ldot", 8918},
752
-	{"odot", 8857},
753
-	{"udiagr", 944},
754
-	{"Ucirc", 219},
755
-	{"sdot", 8901},
756
-	{"ldquor", 8222},
757
-	{"tdot", 8411},
758
-	{NULL, 0},
759
-	{NULL, 0},
760
-	{NULL, 0},
761
-	{NULL, 0},
762
-	{"iota", 953},
763
-	{"ni", 8715},
764
-	{"acirc", 226},
765
-	{"pi", 960},
766
-	{"setmn", 8726},
767
-	{"ecirc", 234},
768
-	{"dash", 8208},
769
-	{"blk34", 9619},
770
-	{"Kappa", 922},
771
-	{"icirc", 238},
772
-	{"rdquor", 8221},
773
-	{"ssetmn", 8726},
774
-	{"xi", 958},
775
-	{"sc", 8827},
776
-	{"iexcl", 161},
777
-	{"ocirc", 244},
778
-	{"Tau", 932},
779
-	{"boxuL", 9563},
780
-	{"wedgeq", 8793},
781
-	{NULL, 0},
782
-	{"sigmav", 962},
783
-	{"ucirc", 251},
784
-	{NULL, 0},
785
-	{NULL, 0},
786
-	{"xcirc", 9711},
787
-	{NULL, 0},
788
-	{NULL, 0},
789
-	{NULL, 0},
790
-	{NULL, 0},
791
-	{NULL, 0},
792
-	{NULL, 0},
793
-	{"boxH", 9552},
794
-	{NULL, 0},
795
-	{NULL, 0},
796
-	{NULL, 0},
797
-	{"eth", 240},
798
-	{"gE", 8807},
799
-	{NULL, 0},
800
-	{NULL, 0},
801
-	{"kappa", 954},
802
-	{"ltimes", 8905},
803
-	{"lE", 8806},
804
-	{NULL, 0},
805
-	{"otimes", 8855},
806
-	{NULL, 0},
807
-	{NULL, 0},
808
-	{"rtimes", 8906},
809
-	{"tau", 964},
810
-	{NULL, 0},
811
-	{"vDash", 8872},
812
-	{"cupre", 8828},
813
-	{NULL, 0},
814
-	{NULL, 0},
815
-	{NULL, 0},
816
-	{NULL, 0},
817
-	{NULL, 0},
818
-	{NULL, 0},
819
-	{NULL, 0},
820
-	{NULL, 0},
821
-	{NULL, 0},
822
-	{NULL, 0},
823
-	{NULL, 0},
824
-	{"Aacgr", 902},
825
-	{"minusb", 8863},
826
-	{"DScy", 1029},
827
-	{"nexist", 8708},
828
-	{"blk12", 9618},
829
-	{"Eacgr", 904},
830
-	{"sqsub", 8847},
831
-	{"plus", 43},
832
-	{"Iacgr", 906},
833
-	{"bernou", 8492},
834
-	{"boxvr", 9500},
835
-	{NULL, 0},
836
-	{"phiv", 966},
837
-	{NULL, 0},
838
-	{"Oacgr", 908},
839
-	{"fnof", 402},
840
-	{NULL, 0},
841
-	{"iecy", 1077},
842
-	{"TScy", 1062},
843
-	{NULL, 0},
844
-	{"Uacgr", 910},
845
-	{NULL, 0},
846
-	{NULL, 0},
847
-	{NULL, 0},
848
-	{NULL, 0},
849
-	{NULL, 0},
850
-	{NULL, 0},
851
-	{"boxUl", 9564},
852
-	{NULL, 0},
853
-	{NULL, 0},
854
-	{NULL, 0},
855
-	{"deg", 176},
856
-	{"boxdL", 9557},
857
-	{"lrm", 8206},
858
-	{"TSHcy", 1035},
859
-	{"aacgr", 940},
860
-	{"eacgr", 941},
861
-	{NULL, 0},
862
-	{"Aacute", 193},
863
-	{"leg", 8922},
864
-	{"iacgr", 943},
865
-	{"thinsp", 8201},
866
-	{"Eacute", 201},
867
-	{"YAcy", 1071},
868
-	{NULL, 0},
869
-	{"rlm", 8207},
870
-	{"Iacute", 205},
871
-	{"oacgr", 972},
872
-	{"reg", 174},
873
-	{"egs", 10902},
874
-	{"DotDot", 8412},
875
-	{NULL, 0},
876
-	{"Oacute", 211},
877
-	{"frac56", 8538},
878
-	{"malt", 10016},
879
-	{"uacgr", 973},
880
-	{NULL, 0},
881
-	{NULL, 0},
882
-	{"Uacute", 218},
883
-	{NULL, 0},
884
-	{"ensp", 8194},
885
-	{NULL, 0},
886
-	{"Yacute", 221},
887
-	{NULL, 0},
888
-	{NULL, 0},
889
-	{NULL, 0},
890
-	{NULL, 0},
891
-	{"samalg", 8720},
892
-	{"shy", 173},
893
-	{NULL, 0},
894
-	{"aacute", 225},
895
-	{"permil", 8240},
896
-	{"mnplus", 8723},
897
-	{"hellip", 8230},
898
-	{"eacute", 233},
899
-	{"frac18", 8539},
900
-	{"sfrown", 8994},
901
-	{NULL, 0},
902
-	{"iacute", 237},
903
-	{NULL, 0},
904
-	{NULL, 0},
905
-	{NULL, 0},
906
-	{NULL, 0},
907
-	{"nbsp", 160},
908
-	{"sol", 47},
909
-	{"oacute", 243},
910
-	{"compfn", 8728},
911
-	{"colon", 58},
912
-	{NULL, 0},
913
-	{"ohacgr", 974},
914
-	{"uacute", 250},
915
-	{NULL, 0},
916
-	{NULL, 0},
917
-	{NULL, 0},
918
-	{"vellip", 8942},
919
-	{"yacute", 253},
920
-	{NULL, 0},
921
-	{NULL, 0},
922
-	{NULL, 0},
923
-	{NULL, 0},
924
-	{NULL, 0},
925
-	{NULL, 0},
926
-	{NULL, 0},
927
-	{NULL, 0},
928
-	{"boxDl", 9558},
929
-	{NULL, 0},
930
-	{NULL, 0},
931
-	{NULL, 0},
932
-	{NULL, 0},
933
-	{NULL, 0},
934
-	{"angmsd", 8737},
935
-	{NULL, 0},
936
-	{NULL, 0},
937
-	{NULL, 0},
938
-	{NULL, 0},
939
-	{NULL, 0},
940
-	{NULL, 0},
941
-	{NULL, 0},
942
-	{NULL, 0},
943
-	{NULL, 0},
944
-	{"frasl", 8260},
945
-	{"gEl", 10892},
946
-	{NULL, 0},
947
-	{"perp", 8869},
948
-	{NULL, 0},
949
-	{NULL, 0},
950
-	{NULL, 0},
951
-	{NULL, 0},
952
-	{NULL, 0},
953
-	{NULL, 0},
954
-	{NULL, 0},
955
-	{NULL, 0},
956
-	{"boxvL", 9569},
957
-	{NULL, 0},
958
-	{NULL, 0},
959
-	{NULL, 0},
960
-	{NULL, 0},
961
-	{"lpar", 40},
962
-	{NULL, 0},
963
-	{NULL, 0},
964
-	{"frac14", 188},
965
-	{NULL, 0},
966
-	{"conint", 8750},
967
-	{"rpar", 41},
968
-	{"spar", 8741},
969
-	{"order", 8500},
970
-	{"there4", 8756},
971
-	{NULL, 0},
972
-	{"and", 8743},
973
-	{NULL, 0},
974
-	{NULL, 0},
975
-	{"PSgr", 936},
976
-	{"eegr", 951},
977
-	{"beth", 8502},
978
-	{NULL, 0},
979
-	{NULL, 0},
980
-	{NULL, 0},
981
-	{NULL, 0},
982
-	{"drcorn", 8991},
983
-	{NULL, 0},
984
-	{NULL, 0},
985
-	{"boxHU", 9577},
986
-	{NULL, 0},
987
-	{NULL, 0},
988
-	{"starf", 9733},
989
-	{"dlcorn", 8990},
990
-	{"check", 10003},
991
-	{NULL, 0},
992
-	{"SOFTcy", 1068},
993
-	{NULL, 0},
994
-	{NULL, 0},
995
-	{"dtrif", 9662},
996
-	{"iquest", 191},
997
-	{"ltrif", 9666},
998
-	{NULL, 0},
999
-	{"ap", 8776},
1000
-	{"urcorn", 8989},
1001
-	{NULL, 0},
1002
-	{NULL, 0},
1003
-	{"rtrif", 9656},
1004
-	{NULL, 0},
1005
-	{NULL, 0},
1006
-	{"sime", 8771},
1007
-	{"ulcorn", 8988},
1008
-	{"Barwed", 8966},
1009
-	{"utrif", 9652},
1010
-	{NULL, 0},
1011
-	{NULL, 0},
1012
-	{NULL, 0},
1013
-	{NULL, 0},
1014
-	{"marker", 9646},
1015
-	{NULL, 0},
1016
-	{"Atilde", 195},
1017
-	{NULL, 0},
1018
-	{NULL, 0},
1019
-	{NULL, 0},
1020
-	{NULL, 0},
1021
-	{NULL, 0},
1022
-	{"divide", 247},
1023
-	{"weierp", 8472},
1024
-	{NULL, 0},
1025
-	{"sqsup", 8848},
1026
-	{NULL, 0},
1027
-	{NULL, 0},
1028
-	{"boxVl", 9570},
1029
-	{"esdot", 8784},
1030
-	{"Ntilde", 209},
1031
-	{"gsdot", 8919},
1032
-	{"becaus", 8757},
1033
-	{"Otilde", 213},
1034
-	{"ffilig", 64259},
1035
-	{NULL, 0},
1036
-	{NULL, 0},
1037
-	{NULL, 0},
1038
-	{NULL, 0},
1039
-	{NULL, 0},
1040
-	{"blank", 9251},
1041
-	{"barwed", 8965},
1042
-	{"sigmaf", 962},
1043
-	{NULL, 0},
1044
-	{NULL, 0},
1045
-	{NULL, 0},
1046
-	{"aelig", 230},
1047
-	{NULL, 0},
1048
-	{"atilde", 227},
1049
-	{"lsquo", 8216},
1050
-	{NULL, 0},
1051
-	{"veebar", 8891},
1052
-	{"target", 8982},
1053
-	{NULL, 0},
1054
-	{"rsquo", 8217},
1055
-	{NULL, 0},
1056
-	{NULL, 0},
1057
-	{NULL, 0},
1058
-	{"SHCHcy", 1065},
1059
-	{NULL, 0},
1060
-	{"oelig", 339},
1061
-	{"ntilde", 241},
1062
-	{"otilde", 245},
1063
-	{NULL, 0},
1064
-	{"clubs", 9827},
1065
-	{NULL, 0},
1066
-	{NULL, 0},
1067
-	{NULL, 0},
1068
-	{"crarr", 8629},
1069
-	{"fork", 8916},
1070
-	{"laquo", 171},
1071
-	{"notin", 8713},
1072
-	{NULL, 0},
1073
-	{NULL, 0},
1074
-	{"DZcy", 1039},
1075
-	{"raquo", 187},
1076
-	{"aleph", 8501},
1077
-	{NULL, 0},
1078
-	{"phmmat", 8499},
1079
-	{"middot", 183},
1080
-	{"gammad", 989},
1081
-	{NULL, 0},
1082
-	{NULL, 0},
1083
-	{"boxuR", 9560},
1084
-	{NULL, 0},
1085
-	{NULL, 0},
1086
-	{NULL, 0},
1087
-	{"cuesc", 8927},
1088
-	{NULL, 0},
1089
-	{"dashv", 8867},
1090
-	{NULL, 0},
1091
-	{NULL, 0},
1092
-	{NULL, 0},
1093
-	{NULL, 0},
1094
-	{"CHcy", 1063},
1095
-	{NULL, 0},
1096
-	{NULL, 0},
1097
-	{NULL, 0},
1098
-	{NULL, 0},
1099
-	{NULL, 0},
1100
-	{"angst", 8491},
1101
-	{NULL, 0},
1102
-	{"KHcy", 1061},
1103
-	{"incare", 8453},
1104
-	{"Acy", 1040},
1105
-	{"Bcy", 1041},
1106
-	{NULL, 0},
1107
-	{"Jsercy", 1032},
1108
-	{"Dcy", 1044},
1109
-	{"Ecy", 1069},
1110
-	{"SHcy", 1064},
1111
-	{"Gcy", 1043},
1112
-	{"Fcy", 1060},
1113
-	{"Icy", 1048},
1114
-	{"Kcy", 1050},
1115
-	{"Lcy", 1051},
1116
-	{"Jcy", 1049},
1117
-	{"Delta", 916},
1118
-	{"Ocy", 1054},
1119
-	{"cedil", 184},
1120
-	{"Pcy", 1055},
1121
-	{"Rcy", 1056},
1122
-	{"Mcy", 1052},
1123
-	{"prap", 10935},
1124
-	{"Tcy", 1058},
1125
-	{"Scy", 1057},
1126
-	{"inodot", 305},
1127
-	{"jnodot", 106},
1128
-	{"frac25", 8534},
1129
-	{"Ycy", 1067},
1130
-	{"Gamma", 915},
1131
-	{"Vcy", 1042},
1132
-	{"Ncy", 1053},
1133
-	{NULL, 0},
1134
-	{"square", 9633},
1135
-	{"Zcy", 1047},
1136
-	{"acy", 1072},
1137
-	{"bcy", 1073},
1138
-	{"ZHcy", 1046},
1139
-	{"jsercy", 1112},
1140
-	{"dcy", 1076},
1141
-	{"fcy", 1092},
1142
-	{"gcy", 1075},
1143
-	{"ecy", 1101},
1144
-	{"icy", 1080},
1145
-	{"jcy", 1081},
1146
-	{"kcy", 1082},
1147
-	{"lcy", 1083},
1148
-	{"mcy", 1084},
1149
-	{"ncy", 1085},
1150
-	{"ocy", 1086},
1151
-	{"pcy", 1087},
1152
-	{"Iukcy", 1030},
1153
-	{"rcy", 1088},
1154
-	{"scy", 1089},
1155
-	{"nsub", 8836},
1156
-	{"boxUr", 9561},
1157
-	{"ucy", 1091},
1158
-	{"sccue", 8829},
1159
-	{"Jukcy", 1028},
1160
-	{"boxdR", 9554},
1161
-	{"tcy", 1090},
1162
-	{"empty", 8709},
1163
-	{"female", 9792},
1164
-	{"delta", 948},
1165
-	{"gamma", 947},
1166
-	{"ycy", 1099},
1167
-	{"twixt", 8812},
1168
-	{NULL, 0},
1169
-	{"EEacgr", 905},
1170
-	{NULL, 0},
1171
-	{"zcy", 1079},
1172
-	{"copysr", 8471},
1173
-	{NULL, 0},
1174
-	{NULL, 0},
1175
-	{NULL, 0},
1176
-	{"times", 215},
1177
-	{NULL, 0},
1178
-	{"vcy", 1074},
1179
-	{"Ucy", 1059},
1180
-	{NULL, 0},
1181
-	{NULL, 0},
1182
-	{NULL, 0},
1183
-	{NULL, 0},
1184
-	{"iukcy", 1110},
1185
-	{"subE", 10949},
1186
-	{"jukcy", 1108},
1187
-	{NULL, 0},
1188
-	{"lfloor", 8970},
1189
-	{NULL, 0},
1190
-	{NULL, 0},
1191
-	{"rfloor", 8971},
1192
-	{"pre", 10927},
1193
-	{NULL, 0},
1194
-	{NULL, 0},
1195
-	{NULL, 0},
1196
-	{NULL, 0},
1197
-	{"radic", 8730},
1198
-	{"kappav", 1008},
1199
-	{NULL, 0},
1200
-	{"circ", 710},
1201
-	{NULL, 0},
1202
-	{NULL, 0},
1203
-	{"frac78", 8542},
1204
-	{NULL, 0},
1205
-	{NULL, 0},
1206
-	{NULL, 0},
1207
-	{NULL, 0},
1208
-	{"softcy", 1100},
1209
-	{NULL, 0},
1210
-	{NULL, 0},
1211
-	{NULL, 0},
1212
-	{"dollar", 36},
1213
-	{NULL, 0},
1214
-	{NULL, 0},
1215
-	{NULL, 0},
1216
-	{NULL, 0},
1217
-	{NULL, 0},
1218
-	{NULL, 0},
1219
-	{NULL, 0},
1220
-	{"boxv", 9474},
1221
-	{NULL, 0},
1222
-	{NULL, 0},
1223
-	{"plusmn", 177},
1224
-	{NULL, 0},
1225
-	{NULL, 0},
1226
-	{NULL, 0},
1227
-	{NULL, 0},
1228
-	{NULL, 0},
1229
-	{"cross", 10007},
1230
-	{NULL, 0},
1231
-	{NULL, 0},
1232
-	{"boxDr", 9555},
1233
-	{NULL, 0},
1234
-	{"dblac", 733},
1235
-	{"sqcap", 8851},
1236
-	{NULL, 0},
1237
-	{"boxhd", 9516},
1238
-	{"ordm", 186},
1239
-	{"lowast", 8727},
1240
-	{"KHgr", 935},
1241
-	{"mid", 8739},
1242
-	{NULL, 0},
1243
-	{"emsp14", 8197},
1244
-	{"OHgr", 937},
1245
-	{"PHgr", 934},
1246
-	{"sfgr", 962},
1247
-	{NULL, 0},
1248
-	{"Verbar", 8214},
1249
-	{"Beta", 914},
1250
-	{"Psi", 936},
1251
-	{NULL, 0},
1252
-	{"THgr", 920},
1253
-	{NULL, 0},
1254
-	{NULL, 0},
1255
-	{NULL, 0},
1256
-	{"curren", 164},
1257
-	{"puncsp", 8200},
1258
-	{NULL, 0},
1259
-	{"Vdash", 8873},
1260
-	{"boxvR", 9566},
1261
-	{NULL, 0},
1262
-	{NULL, 0},
1263
-	{NULL, 0},
1264
-	{NULL, 0},
1265
-	{NULL, 0},
1266
-	{NULL, 0},
1267
-	{NULL, 0},
1268
-	{NULL, 0},
1269
-	{NULL, 0},
1270
-	{NULL, 0},
1271
-	{NULL, 0},
1272
-	{NULL, 0},
1273
-	{"Rho", 929},
1274
-	{"shchcy", 1097},
1275
-	{"ge", 8805},
1276
-	{"Zeta", 918},
1277
-	{NULL, 0},
1278
-	{NULL, 0},
1279
-	{"mdash", 8212},
1280
-	{"ndash", 8211},
1281
-	{"odash", 8861},
1282
-	{"beta", 946},
1283
-	{"le", 8804},
1284
-	{"Sub", 8912},
1285
-	{"lagran", 8466},
1286
-	{"verbar", 124},
1287
-	{"boxUL", 9565},
1288
-	{"ne", 8800},
1289
-	{"vdash", 8866},
1290
-	{NULL, 0},
1291
-	{NULL, 0},
1292
-	{"psi", 968},
1293
-	{NULL, 0},
1294
-	{NULL, 0},
1295
-	{NULL, 0},
1296
-	{NULL, 0},
1297
-	{NULL, 0},
1298
-	{NULL, 0},
1299
-	{NULL, 0},
1300
-	{"fllig", 64258},
1301
-	{NULL, 0},
1302
-	{NULL, 0},
1303
-	{"image", 8465},
1304
-	{"oS", 9416},
1305
-	{"rho", 961},
1306
-	{"hairsp", 8202},
1307
-	{"fflig", 64256},
1308
-	{"lowbar", 95},
1309
-	{"male", 9794},
1310
-	{NULL, 0},
1311
-	{"zeta", 950},
1312
-	{NULL, 0},
1313
-	{NULL, 0},
1314
-	{"commat", 64},
1315
-	{NULL, 0},
1316
-	{"cuepr", 8926},
1317
-	{"sub", 8834},
1318
-	{NULL, 0},
1319
-	{"lsqb", 91},
1320
-	{NULL, 0},
1321
-	{NULL, 0},
1322
-	{NULL, 0},
1323
-	{NULL, 0},
1324
-	{NULL, 0},
1325
-	{"rsqb", 93},
1326
-	{NULL, 0},
1327
-	{NULL, 0},
1328
-	{NULL, 0},
1329
-	{NULL, 0},
1330
-	{NULL, 0},
1331
-	{"dArr", 8659},
1332
-	{"boxVr", 9567},
1333
-	{"sbquo", 8218},
1334
-	{"dscy", 1109},
1335
-	{"hArr", 8660},
1336
-	{"brvbar", 166},
1337
-	{"scsim", 8831},
1338
-	{NULL, 0},
1339
-	{"lArr", 8656},
1340
-	{NULL, 0},
1341
-	{NULL, 0},
1342
-	{NULL, 0},
1343
-	{NULL, 0},
1344
-	{NULL, 0},
1345
-	{"rArr", 8658},
1346
-	{"lceil", 8968},
1347
-	{"boxvh", 9532},
1348
-	{"cuvee", 8910},
1349
-	{"IOcy", 1025},
1350
-	{"tscy", 1094},
1351
-	{"Idigr", 938},
1352
-	{"rceil", 8969},
1353
-	{"bumpe", 8783},
1354
-	{"planck", 8463},
1355
-	{NULL, 0},
1356
-	{"squf", 9642},
1357
-	{"yen", 165},
1358
-	{"uArr", 8657},
1359
-	{"YUcy", 1070},
1360
-	{"oast", 8859},
1361
-	{"equals", 61},
1362
-	{"diam", 8900},
1363
-	{"Udigr", 939},
1364
-	{"boxDL", 9559},
1365
-	{NULL, 0},
1366
-	{"frac13", 8531},
1367
-	{NULL, 0},
1368
-	{NULL, 0},
1369
-	{NULL, 0},
1370
-	{NULL, 0},
1371
-	{NULL, 0},
1372
-	{"YIcy", 1031},
1373
-	{NULL, 0},
1374
-	{NULL, 0},
1375
-	{NULL, 0},
1376
-	{"yacy", 1103},
1377
-	{NULL, 0},
1378
-	{NULL, 0},
1379
-	{"bump", 8782},
1380
-	{NULL, 0},
1381
-	{NULL, 0},
1382
-	{NULL, 0},
1383
-	{"idigr", 970},
1384
-	{"xutri", 9651},
1385
-	{"ohm", 8486},
1386
-	{NULL, 0},
1387
-	{"comp", 8705},
1388
-	{NULL, 0},
1389
-	{NULL, 0},
1390
-	{"infin", 8734},
1391
-	{NULL, 0},
1392
-	{NULL, 0},
1393
-	{NULL, 0},
1394
-	{NULL, 0},
1395
-	{"udigr", 971},
1396
-	{NULL, 0},
1397
-	{"asymp", 8776},
1398
-	{NULL, 0},
1399
-	{NULL, 0},
1400
-	{NULL, 0},
1401
-	{"lozf", 10731},
1402
-	{NULL, 0},
1403
-	{NULL, 0},
1404
-	{NULL, 0},
1405
-	{NULL, 0},
1406
-	{NULL, 0},
1407
-	{NULL, 0},
1408
-	{NULL, 0},
1409
-	{"sext", 10038},
1410
-	{"Ubrcy", 1038},
1411
-	{NULL, 0},
1412
-	{NULL, 0},
1413
-	{"bottom", 8869},
1414
-	{NULL, 0},
1415
-	{NULL, 0},
1416
-	{NULL, 0},
1417
-	{NULL, 0},
1418
-	{NULL, 0},
1419
-	{NULL, 0},
1420
-	{"Theta", 920},
1421
-	{NULL, 0},
1422
-	{"gel", 8923},
1423
-	{NULL, 0},
1424
-	{NULL, 0},
1425
-	{NULL, 0},
1426
-	{NULL, 0},
1427
-	{NULL, 0},
1428
-	{NULL, 0},
1429
-	{NULL, 0},
1430
-	{NULL, 0},
1431
-	{NULL, 0},
1432
-	{NULL, 0},
1433
-	{"lsaquo", 8249},
1434
-	{NULL, 0},
1435
-	{NULL, 0},
1436
-	{NULL, 0},
1437
-	{NULL, 0},
1438
-	{NULL, 0},
1439
-	{"rsaquo", 8250},
1440
-	{NULL, 0},
1441
-	{NULL, 0},
1442
-	{"ubrcy", 1118},
1443
-	{NULL, 0},
1444
-	{NULL, 0},
1445
-	{NULL, 0},
1446
-	{NULL, 0},
1447
-	{NULL, 0},
1448
-	{"intcal", 8890},
1449
-	{"quest", 63},
1450
-	{NULL, 0},
1451
-	{NULL, 0},
1452
-	{"theta", 952},
1453
-	{NULL, 0},
1454
-	{NULL, 0},
1455
-	{NULL, 0},
1456
-	{NULL, 0},
1457
-	{NULL, 0},
1458
-	{NULL, 0},
1459
-	{NULL, 0},
1460
-	{NULL, 0},
1461
-	{NULL, 0},
1462
-	{NULL, 0},
1463
-	{NULL, 0},
1464
-	{"boxVL", 9571},
1465
-	{NULL, 0},
1466
-	{NULL, 0},
1467
-	{NULL, 0},
1468
-	{NULL, 0},
1469
-	{NULL, 0},
1470
-	{NULL, 0},
1471
-	{NULL, 0},
1472
-	{NULL, 0},
1473
-	{"forall", 8704},
1474
-	{NULL, 0},
1475
-	{NULL, 0},
1476
-	{NULL, 0},
1477
-	{NULL, 0},
1478
-	{NULL, 0},
1479
-	{NULL, 0},
1480
-	{"half", 189},
1481
-	{NULL, 0},
1482
-	{NULL, 0},
1483
-	{NULL, 0},
1484
-	{"bull", 8226},
1485
-	{"psgr", 968},
1486
-	{NULL, 0},
1487
-	{NULL, 0},
1488
-	{NULL, 0},
1489
-	{NULL, 0},
1490
-	{NULL, 0},
1491
-	{NULL, 0},
1492
-	{NULL, 0},
1493
-	{"Dagger", 8225},
1494
-	{"Aring", 197},
1495
-	{NULL, 0},
1496
-	{NULL, 0},
1497
-	{"Ll", 8920},
1498
-	{"models", 8871},
1499
-	{NULL, 0},
1500
-	{NULL, 0},
1501
-	{NULL, 0},
1502
-	{NULL, 0},
1503
-	{"zwj", 8205},
1504
-	{"prod", 8719},
1505
-	{NULL, 0},
1506
-	{NULL, 0},
1507
-	{"Chi", 935},
1508
-	{"rect", 9645},
1509
-	{"sect", 167},
1510
-	{"lsquor", 8218},
1511
-	{NULL, 0},
1512
-	{"thetas", 952},
1513
-	{"cuwed", 8911},
1514
-	{NULL, 0},
1515
-	{NULL, 0},
1516
-	{"rsquor", 8217},
1517
-	{NULL, 0},
1518
-	{NULL, 0},
1519
-	{NULL, 0},
1520
-	{"Phi", 934},
1521
-	{"rx", 8478},
1522
-	{NULL, 0},
1523
-	{NULL, 0},
1524
-	{"gl", 8823},
1525
-	{"or", 8744},
1526
-	{"pr", 8826},
1527
-	{"aring", 229},
1528
-	{"dagger", 8224},
1529
-	{NULL, 0},
1530
-	{NULL, 0},
1531
-	{"diams", 9830},
1532
-	{NULL, 0},
1533
-	{NULL, 0},
1534
-	{NULL, 0},
1535
-	{NULL, 0},
1536
-	{NULL, 0},
1537
-	{NULL, 0},
1538
-	{NULL, 0},
1539
-	{"chi", 967},
1540
-	{NULL, 0},
1541
-	{NULL, 0},
1542
-	{"ordf", 170},
1543
-	{NULL, 0},
1544
-	{NULL, 0},
1545
-	{NULL, 0},
1546
-	{NULL, 0},
4
+	{"ssmile", 8995, 6},
5
+	{NULL,0,0},
6
+	{NULL,0,0},
7
+	{NULL,0,0},
8
+	{NULL,0,0},
9
+	{"phi", 966, 3},
10
+	{NULL,0,0},
11
+	{"cire", 8791, 4},
12
+	{NULL,0,0},
13
+	{NULL,0,0},
14
+	{NULL,0,0},
15
+	{NULL,0,0},
16
+	{NULL,0,0},
17
+	{NULL,0,0},
18
+	{NULL,0,0},
19
+	{NULL,0,0},
20
+	{NULL,0,0},
21
+	{NULL,0,0},
22
+	{NULL,0,0},
23
+	{NULL,0,0},
24
+	{NULL,0,0},
25
+	{NULL,0,0},
26
+	{NULL,0,0},
27
+	{NULL,0,0},
28
+	{NULL,0,0},
29
+	{NULL,0,0},
30
+	{NULL,0,0},
31
+	{NULL,0,0},
32
+	{NULL,0,0},
33
+	{NULL,0,0},
34
+	{NULL,0,0},
35
+	{"lang", 9001, 4},
36
+	{"sbsol", 65128, 5},
37
+	{"tshcy", 1115, 5},
38
+	{NULL,0,0},
39
+	{"ast", 42, 3},
40
+	{"dzcy", 1119, 4},
41
+	{"rang", 9002, 4},
42
+	{"boxhu", 9524, 5},
43
+	{"zwnj", 8204, 4},
44
+	{NULL,0,0},
45
+	{NULL,0,0},
46
+	{NULL,0,0},
47
+	{NULL,0,0},
48
+	{"boxUR", 9562, 5},
49
+	{NULL,0,0},
50
+	{NULL,0,0},
51
+	{NULL,0,0},
52
+	{NULL,0,0},
53
+	{NULL,0,0},
54
+	{NULL,0,0},
55
+	{"block", 9608, 5},
56
+	{"Ccedil", 199, 6},
57
+	{NULL,0,0},
58
+	{NULL,0,0},
59
+	{NULL,0,0},
60
+	{"chcy", 1095, 4},
61
+	{NULL,0,0},
62
+	{NULL,0,0},
63
+	{NULL,0,0},
64
+	{"DJcy", 1026, 4},
65
+	{NULL,0,0},
66
+	{NULL,0,0},
67
+	{"spades", 9824, 6},
68
+	{"GJcy", 1027, 4},
69
+	{"khcy", 1093, 4},
70
+	{"ang", 8736, 3},
71
+	{"KJcy", 1036, 4},
72
+	{"LJcy", 1033, 4},
73
+	{"ETH", 208, 3},
74
+	{"NJcy", 1034, 4},
75
+	{"tilde", 732, 5},
76
+	{"bsol", 92, 4},
77
+	{"shcy", 1096, 4},
78
+	{NULL,0,0},
79
+	{"frac58", 8541, 6},
80
+	{NULL,0,0},
81
+	{NULL,0,0},
82
+	{"micro", 181, 5},
83
+	{"num", 35, 3},
84
+	{"zhcy", 1078, 4},
85
+	{NULL,0,0},
86
+	{NULL,0,0},
87
+	{NULL,0,0},
88
+	{"ccedil", 231, 6},
89
+	{"osol", 8856, 4},
90
+	{NULL,0,0},
91
+	{"sum", 8721, 3},
92
+	{NULL,0,0},
93
+	{NULL,0,0},
94
+	{NULL,0,0},
95
+	{NULL,0,0},
96
+	{"emsp13", 8196, 6},
97
+	{"divonx", 8903, 6},
98
+	{NULL,0,0},
99
+	{"supe", 8839, 4},
100
+	{NULL,0,0},
101
+	{NULL,0,0},
102
+	{"sim", 8764, 3},
103
+	{"minus", 8722, 5},
104
+	{"Agr", 913, 3},
105
+	{"Bgr", 914, 3},
106
+	{NULL,0,0},
107
+	{"Dgr", 916, 3},
108
+	{"Egr", 917, 3},
109
+	{NULL,0,0},
110
+	{"Ggr", 915, 3},
111
+	{NULL,0,0},
112
+	{"Igr", 921, 3},
113
+	{"comma", 44, 5},
114
+	{"Kgr", 922, 3},
115
+	{"Lgr", 923, 3},
116
+	{"Mgr", 924, 3},
117
+	{"Ngr", 925, 3},
118
+	{"Ogr", 927, 3},
119
+	{"Pgr", 928, 3},
120
+	{NULL,0,0},
121
+	{"Rgr", 929, 3},
122
+	{"Sgr", 931, 3},
123
+	{"pound", 163, 5},
124
+	{"Tgr", 932, 3},
125
+	{"macr", 175, 4},
126
+	{"ell", 8467, 3},
127
+	{"Ugr", 933, 3},
128
+	{"boxDR", 9556, 5},
129
+	{"Zgr", 918, 3},
130
+	{"boxhD", 9573, 5},
131
+	{NULL,0,0},
132
+	{NULL,0,0},
133
+	{"xdtri", 9661, 5},
134
+	{NULL,0,0},
135
+	{"eeacgr", 942, 6},
136
+	{"agr", 945, 3},
137
+	{"ffllig", 64260, 6},
138
+	{"Agrave", 192, 6},
139
+	{"dgr", 948, 3},
140
+	{"bgr", 946, 3},
141
+	{"Egrave", 200, 6},
142
+	{"ggr", 947, 3},
143
+	{"egr", 949, 3},
144
+	{"igr", 953, 3},
145
+	{"Igrave", 204, 6},
146
+	{"kgr", 954, 3},
147
+	{"lgr", 955, 3},
148
+	{"mgr", 956, 3},
149
+	{"ngr", 957, 3},
150
+	{"frac35", 8535, 6},
151
+	{"Ograve", 210, 6},
152
+	{"pgr", 960, 3},
153
+	{"rgr", 961, 3},
154
+	{"sgr", 963, 3},
155
+	{"rcub", 125, 4},
156
+	{"hamilt", 8459, 6},
157
+	{"epsi", 1013, 4},
158
+	{"par", 8741, 3},
159
+	{"ugr", 965, 3},
160
+	{"frac16", 8537, 6},
161
+	{"sqcup", 8852, 5},
162
+	{"Upsi", 978, 4},
163
+	{"caron", 711, 5},
164
+	{"lcub", 123, 4},
165
+	{"ogr", 959, 3},
166
+	{NULL,0,0},
167
+	{"Ugrave", 217, 6},
168
+	{NULL,0,0},
169
+	{"agrave", 224, 6},
170
+	{"tgr", 964, 3},
171
+	{"sup1", 185, 4},
172
+	{"Xgr", 926, 3},
173
+	{"egrave", 232, 6},
174
+	{"upsi", 965, 4},
175
+	{"real", 8476, 4},
176
+	{"zgr", 950, 3},
177
+	{"igrave", 236, 6},
178
+	{NULL,0,0},
179
+	{"thkap", 8776, 5},
180
+	{"lpargt", 10656, 6},
181
+	{NULL,0,0},
182
+	{NULL,0,0},
183
+	{"ograve", 242, 6},
184
+	{NULL,0,0},
185
+	{"boxV", 9553, 4},
186
+	{"rpargt", 10644, 6},
187
+	{"xgr", 958, 3},
188
+	{NULL,0,0},
189
+	{"ugrave", 249, 6},
190
+	{"Vvdash", 8874, 6},
191
+	{NULL,0,0},
192
+	{NULL,0,0},
193
+	{NULL,0,0},
194
+	{NULL,0,0},
195
+	{NULL,0,0},
196
+	{"Cap", 8914, 3},
197
+	{NULL,0,0},
198
+	{NULL,0,0},
199
+	{NULL,0,0},
200
+	{NULL,0,0},
201
+	{NULL,0,0},
202
+	{"Prime", 8243, 5},
203
+	{"boxHd", 9572, 5},
204
+	{NULL,0,0},
205
+	{NULL,0,0},
206
+	{"khgr", 967, 4},
207
+	{"acute", 180, 5},
208
+	{NULL,0,0},
209
+	{NULL,0,0},
210
+	{"ohgr", 969, 4},
211
+	{"phgr", 966, 4},
212
+	{"amp", 38, 3},
213
+	{"Gg", 8921, 2},
214
+	{NULL,0,0},
215
+	{"coprod", 8720, 6},
216
+	{"thgr", 952, 4},
217
+	{NULL,0,0},
218
+	{NULL,0,0},
219
+	{NULL,0,0},
220
+	{NULL,0,0},
221
+	{"Epsilon", 917, 7},
222
+	{NULL,0,0},
223
+	{NULL,0,0},
224
+	{"amalg", 10815, 5},
225
+	{"boxVR", 9568, 5},
226
+	{"euro", 8364, 4},
227
+	{NULL,0,0},
228
+	{"cap", 8745, 3},
229
+	{NULL,0,0},
230
+	{NULL,0,0},
231
+	{"frac12", 189, 6},
232
+	{"gap", 10886, 3},
233
+	{NULL,0,0},
234
+	{"prime", 8242, 5},
235
+	{NULL,0,0},
236
+	{"angsph", 8738, 6},
237
+	{"lap", 10885, 3},
238
+	{"Upsilon", 933, 7},
239
+	{"HARDcy", 1066, 6},
240
+	{"caret", 8257, 5},
241
+	{NULL,0,0},
242
+	{"boxvH", 9578, 5},
243
+	{NULL,0,0},
244
+	{NULL,0,0},
245
+	{NULL,0,0},
246
+	{NULL,0,0},
247
+	{"ang90", 8735, 5},
248
+	{NULL,0,0},
249
+	{"lg", 8822, 2},
250
+	{NULL,0,0},
251
+	{NULL,0,0},
252
+	{NULL,0,0},
253
+	{"epsilon", 949, 7},
254
+	{NULL,0,0},
255
+	{NULL,0,0},
256
+	{NULL,0,0},
257
+	{NULL,0,0},
258
+	{NULL,0,0},
259
+	{NULL,0,0},
260
+	{NULL,0,0},
261
+	{NULL,0,0},
262
+	{NULL,0,0},
263
+	{NULL,0,0},
264
+	{"eDot", 8785, 4},
265
+	{"darr", 8595, 4},
266
+	{"cent", 162, 4},
267
+	{NULL,0,0},
268
+	{"szlig", 223, 5},
269
+	{"harr", 8596, 4},
270
+	{"upsilon", 965, 7},
271
+	{NULL,0,0},
272
+	{NULL,0,0},
273
+	{"larr", 8592, 4},
274
+	{NULL,0,0},
275
+	{"squ", 9633, 3},
276
+	{NULL,0,0},
277
+	{"percnt", 37, 6},
278
+	{NULL,0,0},
279
+	{"rarr", 8594, 4},
280
+	{NULL,0,0},
281
+	{NULL,0,0},
282
+	{"uarr", 8593, 4},
283
+	{NULL,0,0},
284
+	{"Eta", 919, 3},
285
+	{"boxh", 9472, 4},
286
+	{"flat", 9837, 4},
287
+	{"bdquo", 8222, 5},
288
+	{NULL,0,0},
289
+	{NULL,0,0},
290
+	{"alefsym", 8501, 7},
291
+	{NULL,0,0},
292
+	{NULL,0,0},
293
+	{NULL,0,0},
294
+	{"gimel", 8503, 5},
295
+	{"ldquo", 8220, 5},
296
+	{NULL,0,0},
297
+	{NULL,0,0},
298
+	{NULL,0,0},
299
+	{"upsih", 978, 5},
300
+	{"rdquo", 8221, 5},
301
+	{NULL,0,0},
302
+	{NULL,0,0},
303
+	{"thksim", 8764, 6},
304
+	{NULL,0,0},
305
+	{"phis", 981, 4},
306
+	{"telrec", 8981, 6},
307
+	{"thetav", 977, 6},
308
+	{NULL,0,0},
309
+	{NULL,0,0},
310
+	{"int", 8747, 3},
311
+	{"boxVh", 9579, 5},
312
+	{NULL,0,0},
313
+	{"thorn", 254, 5},
314
+	{"excl", 33, 4},
315
+	{"iocy", 1105, 4},
316
+	{"eta", 951, 3},
317
+	{NULL,0,0},
318
+	{NULL,0,0},
319
+	{NULL,0,0},
320
+	{"loz", 9674, 3},
321
+	{NULL,0,0},
322
+	{NULL,0,0},
323
+	{"smile", 8995, 5},
324
+	{"yucy", 1102, 4},
325
+	{NULL,0,0},
326
+	{"epsis", 1013, 5},
327
+	{"natur", 9838, 5},
328
+	{"sup2", 178, 4},
329
+	{NULL,0,0},
330
+	{NULL,0,0},
331
+	{NULL,0,0},
332
+	{"IEcy", 1045, 4},
333
+	{NULL,0,0},
334
+	{NULL,0,0},
335
+	{NULL,0,0},
336
+	{NULL,0,0},
337
+	{NULL,0,0},
338
+	{"yicy", 1111, 4},
339
+	{NULL,0,0},
340
+	{NULL,0,0},
341
+	{NULL,0,0},
342
+	{NULL,0,0},
343
+	{"bowtie", 8904, 6},
344
+	{"daleth", 8504, 6},
345
+	{NULL,0,0},
346
+	{"boxul", 9496, 5},
347
+	{"sqsube", 8849, 6},
348
+	{"bprime", 8245, 6},
349
+	{NULL,0,0},
350
+	{NULL,0,0},
351
+	{NULL,0,0},
352
+	{NULL,0,0},
353
+	{"Sigma", 931, 5},
354
+	{"para", 182, 4},
355
+	{"timesb", 8864, 6},
356
+	{NULL,0,0},
357
+	{NULL,0,0},
358
+	{NULL,0,0},
359
+	{NULL,0,0},
360
+	{"ges", 10878, 3},
361
+	{NULL,0,0},
362
+	{NULL,0,0},
363
+	{NULL,0,0},
364
+	{NULL,0,0},
365
+	{"plusdo", 8724, 6},
366
+	{"les", 10877, 3},
367
+	{"tprime", 8244, 6},
368
+	{"vprime", 8242, 6},
369
+	{NULL,0,0},
370
+	{NULL,0,0},
371
+	{NULL,0,0},
372
+	{"scap", 10936, 4},
373
+	{NULL,0,0},
374
+	{NULL,0,0},
375
+	{NULL,0,0},
376
+	{NULL,0,0},
377
+	{NULL,0,0},
378
+	{NULL,0,0},
379
+	{NULL,0,0},
380
+	{"ecir", 8790, 4},
381
+	{NULL,0,0},
382
+	{NULL,0,0},
383
+	{NULL,0,0},
384
+	{NULL,0,0},
385
+	{"sigma", 963, 5},
386
+	{"lEg", 10891, 3},
387
+	{"iff", 8660, 3},
388
+	{"frac23", 8532, 6},
389
+	{NULL,0,0},
390
+	{"ocir", 8858, 4},
391
+	{"trie", 8796, 4},
392
+	{NULL,0,0},
393
+	{NULL,0,0},
394
+	{"Omega", 937, 5},
395
+	{NULL,0,0},
396
+	{"numsp", 8199, 5},
397
+	{NULL,0,0},
398
+	{"uml", 168, 3},
399
+	{NULL,0,0},
400
+	{NULL,0,0},
401
+	{NULL,0,0},
402
+	{"lhblk", 9604, 5},
403
+	{NULL,0,0},
404
+	{"OHacgr", 911, 6},
405
+	{NULL,0,0},
406
+	{NULL,0,0},
407
+	{NULL,0,0},
408
+	{NULL,0,0},
409
+	{NULL,0,0},
410
+	{NULL,0,0},
411
+	{"uhblk", 9600, 5},
412
+	{NULL,0,0},
413
+	{"lthree", 8907, 6},
414
+	{"blk14", 9617, 5},
415
+	{NULL,0,0},
416
+	{NULL,0,0},
417
+	{"oline", 8254, 5},
418
+	{NULL,0,0},
419
+	{"die", 168, 3},
420
+	{"boxdl", 9488, 5},
421
+	{"thetasym", 977, 8},
422
+	{"rthree", 8908, 6},
423
+	{NULL,0,0},
424
+	{NULL,0,0},
425
+	{NULL,0,0},
426
+	{"colone", 8788, 6},
427
+	{"omega", 969, 5},
428
+	{NULL,0,0},
429
+	{NULL,0,0},
430
+	{NULL,0,0},
431
+	{NULL,0,0},
432
+	{"ltrie", 8884, 5},
433
+	{NULL,0,0},
434
+	{NULL,0,0},
435
+	{NULL,0,0},
436
+	{"breve", 728, 5},
437
+	{"oplus", 8853, 5},
438
+	{"rtrie", 8885, 5},
439
+	{"wreath", 8768, 6},
440
+	{NULL,0,0},
441
+	{"sce", 10928, 3},
442
+	{"uplus", 8846, 5},
443
+	{NULL,0,0},
444
+	{NULL,0,0},
445
+	{NULL,0,0},
446
+	{NULL,0,0},
447
+	{NULL,0,0},
448
+	{NULL,0,0},
449
+	{"star", 9734, 4},
450
+	{"dtri", 9663, 4},
451
+	{NULL,0,0},
452
+	{NULL,0,0},
453
+	{NULL,0,0},
454
+	{"Gt", 8811, 2},
455
+	{"hardcy", 1098, 6},
456
+	{NULL,0,0},
457
+	{"ogon", 731, 4},
458
+	{"ltri", 9667, 4},
459
+	{"Lt", 8810, 2},
460
+	{NULL,0,0},
461
+	{NULL,0,0},
462
+	{NULL,0,0},
463
+	{NULL,0,0},
464
+	{"rtri", 9657, 4},
465
+	{"Lambda", 923, 6},
466
+	{"EEgr", 919, 4},
467
+	{"utri", 9653, 4},
468
+	{NULL,0,0},
469
+	{NULL,0,0},
470
+	{NULL,0,0},
471
+	{NULL,0,0},
472
+	{NULL,0,0},
473
+	{NULL,0,0},
474
+	{NULL,0,0},
475
+	{NULL,0,0},
476
+	{"bsime", 8909, 5},
477
+	{"boxhU", 9576, 5},
478
+	{"epsiv", 949, 5},
479
+	{"hearts", 9829, 6},
480
+	{"sharp", 9839, 5},
481
+	{NULL,0,0},
482
+	{"quot", 34, 4},
483
+	{NULL,0,0},
484
+	{NULL,0,0},
485
+	{NULL,0,0},
486
+	{"smid", 8739, 4},
487
+	{"gt", 62, 2},
488
+	{NULL,0,0},
489
+	{"frac38", 8540, 6},
490
+	{NULL,0,0},
491
+	{"lt", 60, 2},
492
+	{NULL,0,0},
493
+	{NULL,0,0},
494
+	{NULL,0,0},
495
+	{"exist", 8707, 5},
496
+	{"lambda", 955, 6},
497
+	{"piv", 982, 3},
498
+	{NULL,0,0},
499
+	{NULL,0,0},
500
+	{NULL,0,0},
501
+	{NULL,0,0},
502
+	{"bsim", 8765, 4},
503
+	{NULL,0,0},
504
+	{"sup3", 179, 4},
505
+	{NULL,0,0},
506
+	{NULL,0,0},
507
+	{"gsim", 8819, 4},
508
+	{NULL,0,0},
509
+	{NULL,0,0},
510
+	{NULL,0,0},
511
+	{NULL,0,0},
512
+	{"lsim", 8818, 4},
513
+	{NULL,0,0},
514
+	{"sstarf", 8902, 6},
515
+	{"ominus", 8854, 6},
516
+	{NULL,0,0},
517
+	{NULL,0,0},
518
+	{NULL,0,0},
519
+	{NULL,0,0},
520
+	{"boxvl", 9508, 5},
521
+	{"trade", 8482, 5},
522
+	{NULL,0,0},
523
+	{"vprop", 8733, 5},
524
+	{"bcong", 8780, 5},
525
+	{"hybull", 8259, 6},
526
+	{NULL,0,0},
527
+	{"cong", 8773, 4},
528
+	{NULL,0,0},
529
+	{"Dot", 168, 3},
530
+	{NULL,0,0},
531
+	{NULL,0,0},
532
+	{"filig", 64257, 5},
533
+	{"sung", 9834, 4},
534
+	{"THORN", 222, 5},
535
+	{NULL,0,0},
536
+	{NULL,0,0},
537
+	{"AElig", 198, 5},
538
+	{NULL,0,0},
539
+	{NULL,0,0},
540
+	{NULL,0,0},
541
+	{"copy", 169, 4},
542
+	{"sqsupe", 8850, 6},
543
+	{"prop", 8733, 4},
544
+	{NULL,0,0},
545
+	{"prsim", 8830, 5},
546
+	{"apos", 39, 4},
547
+	{"ring", 730, 4},
548
+	{NULL,0,0},
549
+	{"boxHu", 9575, 5},
550
+	{NULL,0,0},
551
+	{"frac34", 190, 6},
552
+	{"OElig", 338, 5},
553
+	{NULL,0,0},
554
+	{NULL,0,0},
555
+	{NULL,0,0},
556
+	{NULL,0,0},
557
+	{"drcrop", 8972, 6},
558
+	{"erDot", 8787, 5},
559
+	{NULL,0,0},
560
+	{NULL,0,0},
561
+	{"dot", 729, 3},
562
+	{"frac15", 8533, 6},
563
+	{NULL,0,0},
564
+	{"dlcrop", 8973, 6},
565
+	{NULL,0,0},
566
+	{NULL,0,0},
567
+	{NULL,0,0},
568
+	{NULL,0,0},
569
+	{NULL,0,0},
570
+	{NULL,0,0},
571
+	{"Oslash", 216, 6},
572
+	{"efDot", 8786, 5},
573
+	{"djcy", 1106, 4},
574
+	{"not", 172, 3},
575
+	{"urcrop", 8974, 6},
576
+	{"gjcy", 1107, 4},
577
+	{"sdotb", 8865, 5},
578
+	{NULL,0,0},
579
+	{NULL,0,0},
580
+	{"kjcy", 1116, 4},
581
+	{"ljcy", 1113, 4},
582
+	{"ulcrop", 8975, 6},
583
+	{"njcy", 1114, 4},
584
+	{NULL,0,0},
585
+	{"mldr", 8230, 4},
586
+	{"nldr", 8229, 4},
587
+	{NULL,0,0},
588
+	{NULL,0,0},
589
+	{"rhov", 1009, 4},
590
+	{NULL,0,0},
591
+	{"ecolon", 8789, 6},
592
+	{NULL,0,0},
593
+	{NULL,0,0},
594
+	{NULL,0,0},
595
+	{NULL,0,0},
596
+	{NULL,0,0},
597
+	{NULL,0,0},
598
+	{"hyphen", 8208, 6},
599
+	{NULL,0,0},
600
+	{NULL,0,0},
601
+	{NULL,0,0},
602
+	{NULL,0,0},
603
+	{"oslash", 248, 6},
604
+	{"supE", 10950, 4},
605
+	{NULL,0,0},
606
+	{NULL,0,0},
607
+	{"grave", 96, 5},
608
+	{"els", 10901, 3},
609
+	{NULL,0,0},
610
+	{NULL,0,0},
611
+	{NULL,0,0},
612
+	{NULL,0,0},
613
+	{NULL,0,0},
614
+	{"vrtri", 8883, 5},
615
+	{NULL,0,0},
616
+	{"Alpha", 913, 5},
617
+	{NULL,0,0},
618
+	{NULL,0,0},
619
+	{NULL,0,0},
620
+	{NULL,0,0},
621
+	{"period", 46, 6},
622
+	{"vltri", 8882, 5},
623
+	{NULL,0,0},
624
+	{NULL,0,0},
625
+	{NULL,0,0},
626
+	{NULL,0,0},
627
+	{NULL,0,0},
628
+	{"emsp", 8195, 4},
629
+	{NULL,0,0},
630
+	{NULL,0,0},
631
+	{"part", 8706, 4},
632
+	{NULL,0,0},
633
+	{NULL,0,0},
634
+	{NULL,0,0},
635
+	{NULL,0,0},
636
+	{NULL,0,0},
637
+	{NULL,0,0},
638
+	{"boxHD", 9574, 5},
639
+	{"Auml", 196, 4},
640
+	{NULL,0,0},
641
+	{NULL,0,0},
642
+	{"Euml", 203, 4},
643
+	{NULL,0,0},
644
+	{NULL,0,0},
645
+	{NULL,0,0},
646
+	{"Iuml", 207, 4},
647
+	{"boxur", 9492, 5},
648
+	{"alpha", 945, 5},
649
+	{NULL,0,0},
650
+	{"cir", 9675, 3},
651
+	{"equiv", 8801, 5},
652
+	{"Ouml", 214, 4},
653
+	{"plusb", 8862, 5},
654
+	{NULL,0,0},
655
+	{NULL,0,0},
656
+	{NULL,0,0},
657
+	{NULL,0,0},
658
+	{"frown", 8994, 5},
659
+	{"Uuml", 220, 4},
660
+	{NULL,0,0},
661
+	{NULL,0,0},
662
+	{"Yuml", 376, 4},
663
+	{"Omicron", 927, 7},
664
+	{NULL,0,0},
665
+	{"ape", 8778, 3},
666
+	{NULL,0,0},
667
+	{NULL,0,0},
668
+	{NULL,0,0},
669
+	{NULL,0,0},
670
+	{"auml", 228, 4},
671
+	{NULL,0,0},
672
+	{NULL,0,0},
673
+	{"Scaron", 352, 6},
674
+	{"euml", 235, 4},
675
+	{NULL,0,0},
676
+	{NULL,0,0},
677
+	{"nabla", 8711, 5},
678
+	{"iuml", 239, 4},
679
+	{NULL,0,0},
680
+	{"sube", 8838, 4},
681
+	{NULL,0,0},
682
+	{NULL,0,0},
683
+	{NULL,0,0},
684
+	{"ouml", 246, 4},
685
+	{NULL,0,0},
686
+	{"isin", 8712, 4},
687
+	{"Cup", 8915, 3},
688
+	{"phone", 9742, 5},
689
+	{NULL,0,0},
690
+	{"semi", 59, 4},
691
+	{"uuml", 252, 4},
692
+	{NULL,0,0},
693
+	{NULL,0,0},
694
+	{"yuml", 255, 4},
695
+	{"omicron", 959, 7},
696
+	{"bepsi", 1014, 5},
697
+	{NULL,0,0},
698
+	{NULL,0,0},
699
+	{NULL,0,0},
700
+	{NULL,0,0},
701
+	{NULL,0,0},
702
+	{NULL,0,0},
703
+	{"Sup", 8913, 3},
704
+	{NULL,0,0},
705
+	{"scaron", 353, 6},
706
+	{NULL,0,0},
707
+	{NULL,0,0},
708
+	{NULL,0,0},
709
+	{NULL,0,0},
710
+	{NULL,0,0},
711
+	{NULL,0,0},
712
+	{NULL,0,0},
713
+	{NULL,0,0},
714
+	{"frac45", 8536, 6},
715
+	{NULL,0,0},
716
+	{"Mu", 924, 2},
717
+	{"Nu", 925, 2},
718
+	{NULL,0,0},
719
+	{"numero", 8470, 6},
720
+	{"cup", 8746, 3},
721
+	{NULL,0,0},
722
+	{NULL,0,0},
723
+	{NULL,0,0},
724
+	{"boxdr", 9484, 5},
725
+	{NULL,0,0},
726
+	{NULL,0,0},
727
+	{NULL,0,0},
728
+	{NULL,0,0},
729
+	{NULL,0,0},
730
+	{"Iota", 921, 4},
731
+	{"Acirc", 194, 5},
732
+	{NULL,0,0},
733
+	{"Pi", 928, 2},
734
+	{NULL,0,0},
735
+	{"Ecirc", 202, 5},
736
+	{"sup", 8835, 3},
737
+	{NULL,0,0},
738
+	{NULL,0,0},
739
+	{"Icirc", 206, 5},
740
+	{"idiagr", 912, 6},
741
+	{"horbar", 8213, 6},
742
+	{"Xi", 926, 2},
743
+	{"top", 8868, 3},
744
+	{NULL,0,0},
745
+	{"Ocirc", 212, 5},
746
+	{NULL,0,0},
747
+	{"boxVH", 9580, 5},
748
+	{"mu", 956, 2},
749
+	{"nu", 957, 2},
750
+	{NULL,0,0},
751
+	{"ldot", 8918, 4},
752
+	{"odot", 8857, 4},
753
+	{"udiagr", 944, 6},
754
+	{"Ucirc", 219, 5},
755
+	{"sdot", 8901, 4},
756
+	{"ldquor", 8222, 6},
757
+	{"tdot", 8411, 4},
758
+	{NULL,0,0},
759
+	{NULL,0,0},
760
+	{NULL,0,0},
761
+	{NULL,0,0},
762
+	{"iota", 953, 4},
763
+	{"ni", 8715, 2},
764
+	{"acirc", 226, 5},
765
+	{"pi", 960, 2},
766
+	{"setmn", 8726, 5},
767
+	{"ecirc", 234, 5},
768
+	{"dash", 8208, 4},
769
+	{"blk34", 9619, 5},
770
+	{"Kappa", 922, 5},
771
+	{"icirc", 238, 5},
772
+	{"rdquor", 8221, 6},
773
+	{"ssetmn", 8726, 6},
774
+	{"xi", 958, 2},
775
+	{"sc", 8827, 2},
776
+	{"iexcl", 161, 5},
777
+	{"ocirc", 244, 5},
778
+	{"Tau", 932, 3},
779
+	{"boxuL", 9563, 5},
780
+	{"wedgeq", 8793, 6},
781
+	{NULL,0,0},
782
+	{"sigmav", 962, 6},
783
+	{"ucirc", 251, 5},
784
+	{NULL,0,0},
785
+	{NULL,0,0},
786
+	{"xcirc", 9711, 5},
787
+	{NULL,0,0},
788
+	{NULL,0,0},
789
+	{NULL,0,0},
790
+	{NULL,0,0},
791
+	{NULL,0,0},
792
+	{NULL,0,0},
793
+	{"boxH", 9552, 4},
794
+	{NULL,0,0},
795
+	{NULL,0,0},
796
+	{NULL,0,0},
797
+	{"eth", 240, 3},
798
+	{"gE", 8807, 2},
799
+	{NULL,0,0},
800
+	{NULL,0,0},
801
+	{"kappa", 954, 5},
802
+	{"ltimes", 8905, 6},
803
+	{"lE", 8806, 2},
804
+	{NULL,0,0},
805
+	{"otimes", 8855, 6},
806
+	{NULL,0,0},
807
+	{NULL,0,0},
808
+	{"rtimes", 8906, 6},
809
+	{"tau", 964, 3},
810
+	{NULL,0,0},
811
+	{"vDash", 8872, 5},
812
+	{"cupre", 8828, 5},
813
+	{NULL,0,0},
814
+	{NULL,0,0},
815
+	{NULL,0,0},
816
+	{NULL,0,0},
817
+	{NULL,0,0},
818
+	{NULL,0,0},
819
+	{NULL,0,0},
820
+	{NULL,0,0},
821
+	{NULL,0,0},
822
+	{NULL,0,0},
823
+	{NULL,0,0},
824
+	{"Aacgr", 902, 5},
825
+	{"minusb", 8863, 6},
826
+	{"DScy", 1029, 4},
827
+	{"nexist", 8708, 6},
828
+	{"blk12", 9618, 5},
829
+	{"Eacgr", 904, 5},
830
+	{"sqsub", 8847, 5},
831
+	{"plus", 43, 4},
832
+	{"Iacgr", 906, 5},
833
+	{"bernou", 8492, 6},
834
+	{"boxvr", 9500, 5},
835
+	{NULL,0,0},
836
+	{"phiv", 966, 4},
837
+	{NULL,0,0},
838
+	{"Oacgr", 908, 5},
839
+	{"fnof", 402, 4},
840
+	{NULL,0,0},
841
+	{"iecy", 1077, 4},
842
+	{"TScy", 1062, 4},
843
+	{NULL,0,0},
844
+	{"Uacgr", 910, 5},
845
+	{NULL,0,0},
846
+	{NULL,0,0},
847
+	{NULL,0,0},
848
+	{NULL,0,0},
849
+	{NULL,0,0},
850
+	{NULL,0,0},
851
+	{"boxUl", 9564, 5},
852
+	{NULL,0,0},
853
+	{NULL,0,0},
854
+	{NULL,0,0},
855
+	{"deg", 176, 3},
856
+	{"boxdL", 9557, 5},
857
+	{"lrm", 8206, 3},
858
+	{"TSHcy", 1035, 5},
859
+	{"aacgr", 940, 5},
860
+	{"eacgr", 941, 5},
861
+	{NULL,0,0},
862
+	{"Aacute", 193, 6},
863
+	{"leg", 8922, 3},
864
+	{"iacgr", 943, 5},
865
+	{"thinsp", 8201, 6},
866
+	{"Eacute", 201, 6},
867
+	{"YAcy", 1071, 4},
868
+	{NULL,0,0},
869
+	{"rlm", 8207, 3},
870
+	{"Iacute", 205, 6},
871
+	{"oacgr", 972, 5},
872
+	{"reg", 174, 3},
873
+	{"egs", 10902, 3},
874
+	{"DotDot", 8412, 6},
875
+	{NULL,0,0},
876
+	{"Oacute", 211, 6},
877
+	{"frac56", 8538, 6},
878
+	{"malt", 10016, 4},
879
+	{"uacgr", 973, 5},
880
+	{NULL,0,0},
881
+	{NULL,0,0},
882
+	{"Uacute", 218, 6},
883
+	{NULL,0,0},
884
+	{"ensp", 8194, 4},
885
+	{NULL,0,0},
886
+	{"Yacute", 221, 6},
887
+	{NULL,0,0},
888
+	{NULL,0,0},
889
+	{NULL,0,0},
890
+	{NULL,0,0},
891
+	{"samalg", 8720, 6},
892
+	{"shy", 173, 3},
893
+	{NULL,0,0},
894
+	{"aacute", 225, 6},
895
+	{"permil", 8240, 6},
896
+	{"mnplus", 8723, 6},
897
+	{"hellip", 8230, 6},
898
+	{"eacute", 233, 6},
899
+	{"frac18", 8539, 6},
900
+	{"sfrown", 8994, 6},
901
+	{NULL,0,0},
902
+	{"iacute", 237, 6},
903
+	{NULL,0,0},
904
+	{NULL,0,0},
905
+	{NULL,0,0},
906
+	{NULL,0,0},
907
+	{"nbsp", 160, 4},
908
+	{"sol", 47, 3},
909
+	{"oacute", 243, 6},
910
+	{"compfn", 8728, 6},
911
+	{"colon", 58, 5},
912
+	{NULL,0,0},
913
+	{"ohacgr", 974, 6},
914
+	{"uacute", 250, 6},
915
+	{NULL,0,0},
916
+	{NULL,0,0},
917
+	{NULL,0,0},
918
+	{"vellip", 8942, 6},
919
+	{"yacute", 253, 6},
920
+	{NULL,0,0},
921
+	{NULL,0,0},
922
+	{NULL,0,0},
923
+	{NULL,0,0},
924
+	{NULL,0,0},
925
+	{NULL,0,0},
926
+	{NULL,0,0},
927
+	{NULL,0,0},
928
+	{"boxDl", 9558, 5},
929
+	{NULL,0,0},
930
+	{NULL,0,0},
931
+	{NULL,0,0},
932
+	{NULL,0,0},
933
+	{NULL,0,0},
934
+	{"angmsd", 8737, 6},
935
+	{NULL,0,0},
936
+	{NULL,0,0},
937
+	{NULL,0,0},
938
+	{NULL,0,0},
939
+	{NULL,0,0},
940
+	{NULL,0,0},
941
+	{NULL,0,0},
942
+	{NULL,0,0},
943
+	{NULL,0,0},
944
+	{"frasl", 8260, 5},
945
+	{"gEl", 10892, 3},
946
+	{NULL,0,0},
947
+	{"perp", 8869, 4},
948
+	{NULL,0,0},
949
+	{NULL,0,0},
950
+	{NULL,0,0},
951
+	{NULL,0,0},
952
+	{NULL,0,0},
953
+	{NULL,0,0},
954
+	{NULL,0,0},
955
+	{NULL,0,0},
956
+	{"boxvL", 9569, 5},
957
+	{NULL,0,0},
958
+	{NULL,0,0},
959
+	{NULL,0,0},
960
+	{NULL,0,0},
961
+	{"lpar", 40, 4},
962
+	{NULL,0,0},
963
+	{NULL,0,0},
964
+	{"frac14", 188, 6},
965
+	{NULL,0,0},
966
+	{"conint", 8750, 6},
967
+	{"rpar", 41, 4},
968
+	{"spar", 8741, 4},
969
+	{"order", 8500, 5},
970
+	{"there4", 8756, 6},
971
+	{NULL,0,0},
972
+	{"and", 8743, 3},
973
+	{NULL,0,0},
974
+	{NULL,0,0},
975
+	{"PSgr", 936, 4},
976
+	{"eegr", 951, 4},
977
+	{"beth", 8502, 4},
978
+	{NULL,0,0},
979
+	{NULL,0,0},
980
+	{NULL,0,0},
981
+	{NULL,0,0},
982
+	{"drcorn", 8991, 6},
983
+	{NULL,0,0},
984
+	{NULL,0,0},
985
+	{"boxHU", 9577, 5},
986
+	{NULL,0,0},
987
+	{NULL,0,0},
988
+	{"starf", 9733, 5},
989
+	{"dlcorn", 8990, 6},
990
+	{"check", 10003, 5},
991
+	{NULL,0,0},
992
+	{"SOFTcy", 1068, 6},
993
+	{NULL,0,0},
994
+	{NULL,0,0},
995
+	{"dtrif", 9662, 5},
996
+	{"iquest", 191, 6},
997
+	{"ltrif", 9666, 5},
998
+	{NULL,0,0},
999
+	{"ap", 8776, 2},
1000
+	{"urcorn", 8989, 6},
1001
+	{NULL,0,0},
1002
+	{NULL,0,0},
1003
+	{"rtrif", 9656, 5},
1004
+	{NULL,0,0},
1005
+	{NULL,0,0},
1006
+	{"sime", 8771, 4},
1007
+	{"ulcorn", 8988, 6},
1008
+	{"Barwed", 8966, 6},
1009
+	{"utrif", 9652, 5},
1010
+	{NULL,0,0},
1011
+	{NULL,0,0},
1012
+	{NULL,0,0},
1013
+	{NULL,0,0},
1014
+	{"marker", 9646, 6},
1015
+	{NULL,0,0},
1016
+	{"Atilde", 195, 6},
1017
+	{NULL,0,0},
1018
+	{NULL,0,0},
1019
+	{NULL,0,0},
1020
+	{NULL,0,0},
1021
+	{NULL,0,0},
1022
+	{"divide", 247, 6},
1023
+	{"weierp", 8472, 6},
1024
+	{NULL,0,0},
1025
+	{"sqsup", 8848, 5},
1026
+	{NULL,0,0},
1027
+	{NULL,0,0},
1028
+	{"boxVl", 9570, 5},
1029
+	{"esdot", 8784, 5},
1030
+	{"Ntilde", 209, 6},
1031
+	{"gsdot", 8919, 5},
1032
+	{"becaus", 8757, 6},
1033
+	{"Otilde", 213, 6},
1034
+	{"ffilig", 64259, 6},
1035
+	{NULL,0,0},
1036
+	{NULL,0,0},
1037
+	{NULL,0,0},
1038
+	{NULL,0,0},
1039
+	{NULL,0,0},
1040
+	{"blank", 9251, 5},
1041
+	{"barwed", 8965, 6},
1042
+	{"sigmaf", 962, 6},
1043
+	{NULL,0,0},
1044
+	{NULL,0,0},
1045
+	{NULL,0,0},
1046
+	{"aelig", 230, 5},
1047
+	{NULL,0,0},
1048
+	{"atilde", 227, 6},
1049
+	{"lsquo", 8216, 5},
1050
+	{NULL,0,0},
1051
+	{"veebar", 8891, 6},
1052
+	{"target", 8982, 6},
1053
+	{NULL,0,0},
1054
+	{"rsquo", 8217, 5},
1055
+	{NULL,0,0},
1056
+	{NULL,0,0},
1057
+	{NULL,0,0},
1058
+	{"SHCHcy", 1065, 6},
1059
+	{NULL,0,0},
1060
+	{"oelig", 339, 5},
1061
+	{"ntilde", 241, 6},
1062
+	{"otilde", 245, 6},
1063
+	{NULL,0,0},
1064
+	{"clubs", 9827, 5},
1065
+	{NULL,0,0},
1066
+	{NULL,0,0},
1067
+	{NULL,0,0},
1068
+	{"crarr", 8629, 5},
1069
+	{"fork", 8916, 4},
1070
+	{"laquo", 171, 5},
1071
+	{"notin", 8713, 5},
1072
+	{NULL,0,0},
1073
+	{NULL,0,0},
1074
+	{"DZcy", 1039, 4},
1075
+	{"raquo", 187, 5},
1076
+	{"aleph", 8501, 5},
1077
+	{NULL,0,0},
1078
+	{"phmmat", 8499, 6},
1079
+	{"middot", 183, 6},
1080
+	{"gammad", 989, 6},
1081
+	{NULL,0,0},
1082
+	{NULL,0,0},
1083
+	{"boxuR", 9560, 5},
1084
+	{NULL,0,0},
1085
+	{NULL,0,0},
1086
+	{NULL,0,0},
1087
+	{"cuesc", 8927, 5},
1088
+	{NULL,0,0},
1089
+	{"dashv", 8867, 5},
1090
+	{NULL,0,0},
1091
+	{NULL,0,0},
1092
+	{NULL,0,0},
1093
+	{NULL,0,0},
1094
+	{"CHcy", 1063, 4},
1095
+	{NULL,0,0},
1096
+	{NULL,0,0},
1097
+	{NULL,0,0},
1098
+	{NULL,0,0},
1099
+	{NULL,0,0},
1100
+	{"angst", 8491, 5},
1101
+	{NULL,0,0},
1102
+	{"KHcy", 1061, 4},
1103
+	{"incare", 8453, 6},
1104
+	{"Acy", 1040, 3},
1105
+	{"Bcy", 1041, 3},
1106
+	{NULL,0,0},
1107
+	{"Jsercy", 1032, 6},
1108
+	{"Dcy", 1044, 3},
1109
+	{"Ecy", 1069, 3},
1110
+	{"SHcy", 1064, 4},
1111
+	{"Gcy", 1043, 3},
1112
+	{"Fcy", 1060, 3},
1113
+	{"Icy", 1048, 3},
1114
+	{"Kcy", 1050, 3},
1115
+	{"Lcy", 1051, 3},
1116
+	{"Jcy", 1049, 3},
1117
+	{"Delta", 916, 5},
1118
+	{"Ocy", 1054, 3},
1119
+	{"cedil", 184, 5},
1120
+	{"Pcy", 1055, 3},
1121
+	{"Rcy", 1056, 3},
1122
+	{"Mcy", 1052, 3},
1123
+	{"prap", 10935, 4},
1124
+	{"Tcy", 1058, 3},
1125
+	{"Scy", 1057, 3},
1126
+	{"inodot", 305, 6},
1127
+	{"jnodot", 106, 6},
1128
+	{"frac25", 8534, 6},
1129
+	{"Ycy", 1067, 3},
1130
+	{"Gamma", 915, 5},
1131
+	{"Vcy", 1042, 3},
1132
+	{"Ncy", 1053, 3},
1133
+	{NULL,0,0},
1134
+	{"square", 9633, 6},
1135
+	{"Zcy", 1047, 3},
1136
+	{"acy", 1072, 3},
1137
+	{"bcy", 1073, 3},
1138
+	{"ZHcy", 1046, 4},
1139
+	{"jsercy", 1112, 6},
1140
+	{"dcy", 1076, 3},
1141
+	{"fcy", 1092, 3},
1142
+	{"gcy", 1075, 3},
1143
+	{"ecy", 1101, 3},
1144
+	{"icy", 1080, 3},
1145
+	{"jcy", 1081, 3},
1146
+	{"kcy", 1082, 3},
1147
+	{"lcy", 1083, 3},
1148
+	{"mcy", 1084, 3},
1149
+	{"ncy", 1085, 3},
1150
+	{"ocy", 1086, 3},
1151
+	{"pcy", 1087, 3},
1152
+	{"Iukcy", 1030, 5},
1153
+	{"rcy", 1088, 3},
1154
+	{"scy", 1089, 3},
1155
+	{"nsub", 8836, 4},
1156
+	{"boxUr", 9561, 5},
1157
+	{"ucy", 1091, 3},
1158
+	{"sccue", 8829, 5},
1159
+	{"Jukcy", 1028, 5},
1160
+	{"boxdR", 9554, 5},
1161
+	{"tcy", 1090, 3},
1162
+	{"empty", 8709, 5},
1163
+	{"female", 9792, 6},
1164
+	{"delta", 948, 5},
1165
+	{"gamma", 947, 5},
1166
+	{"ycy", 1099, 3},
1167
+	{"twixt", 8812, 5},
1168
+	{NULL,0,0},
1169
+	{"EEacgr", 905, 6},
1170
+	{NULL,0,0},
1171
+	{"zcy", 1079, 3},
1172
+	{"copysr", 8471, 6},
1173
+	{NULL,0,0},
1174
+	{NULL,0,0},
1175
+	{NULL,0,0},
1176
+	{"times", 215, 5},
1177
+	{NULL,0,0},
1178
+	{"vcy", 1074, 3},
1179
+	{"Ucy", 1059, 3},
1180
+	{NULL,0,0},
1181
+	{NULL,0,0},
1182
+	{NULL,0,0},
1183
+	{NULL,0,0},
1184
+	{"iukcy", 1110, 5},
1185
+	{"subE", 10949, 4},
1186
+	{"jukcy", 1108, 5},
1187
+	{NULL,0,0},
1188
+	{"lfloor", 8970, 6},
1189
+	{NULL,0,0},
1190
+	{NULL,0,0},
1191
+	{"rfloor", 8971, 6},
1192
+	{"pre", 10927, 3},
1193
+	{NULL,0,0},
1194
+	{NULL,0,0},
1195
+	{NULL,0,0},
1196
+	{NULL,0,0},
1197
+	{"radic", 8730, 5},
1198
+	{"kappav", 1008, 6},
1199
+	{NULL,0,0},
1200
+	{"circ", 710, 4},
1201
+	{NULL,0,0},
1202
+	{NULL,0,0},
1203
+	{"frac78", 8542, 6},
1204
+	{NULL,0,0},
1205
+	{NULL,0,0},
1206
+	{NULL,0,0},
1207
+	{NULL,0,0},
1208
+	{"softcy", 1100, 6},
1209
+	{NULL,0,0},
1210
+	{NULL,0,0},
1211
+	{NULL,0,0},
1212
+	{"dollar", 36, 6},
1213
+	{NULL,0,0},
1214
+	{NULL,0,0},
1215
+	{NULL,0,0},
1216
+	{NULL,0,0},
1217
+	{NULL,0,0},
1218
+	{NULL,0,0},
1219
+	{NULL,0,0},
1220
+	{"boxv", 9474, 4},
1221
+	{NULL,0,0},
1222
+	{NULL,0,0},
1223
+	{"plusmn", 177, 6},
1224
+	{NULL,0,0},
1225
+	{NULL,0,0},
1226
+	{NULL,0,0},
1227
+	{NULL,0,0},
1228
+	{NULL,0,0},
1229
+	{"cross", 10007, 5},
1230
+	{NULL,0,0},
1231
+	{NULL,0,0},
1232
+	{"boxDr", 9555, 5},
1233
+	{NULL,0,0},
1234
+	{"dblac", 733, 5},
1235
+	{"sqcap", 8851, 5},
1236
+	{NULL,0,0},
1237
+	{"boxhd", 9516, 5},
1238
+	{"ordm", 186, 4},
1239
+	{"lowast", 8727, 6},
1240
+	{"KHgr", 935, 4},
1241
+	{"mid", 8739, 3},
1242
+	{NULL,0,0},
1243
+	{"emsp14", 8197, 6},
1244
+	{"OHgr", 937, 4},
1245
+	{"PHgr", 934, 4},
1246
+	{"sfgr", 962, 4},
1247
+	{NULL,0,0},
1248
+	{"Verbar", 8214, 6},
1249
+	{"Beta", 914, 4},
1250
+	{"Psi", 936, 3},
1251
+	{NULL,0,0},
1252
+	{"THgr", 920, 4},
1253
+	{NULL,0,0},
1254
+	{NULL,0,0},
1255
+	{NULL,0,0},
1256
+	{"curren", 164, 6},
1257
+	{"puncsp", 8200, 6},
1258
+	{NULL,0,0},
1259
+	{"Vdash", 8873, 5},
1260
+	{"boxvR", 9566, 5},
1261
+	{NULL,0,0},
1262
+	{NULL,0,0},
1263
+	{NULL,0,0},
1264
+	{NULL,0,0},
1265
+	{NULL,0,0},
1266
+	{NULL,0,0},
1267
+	{NULL,0,0},
1268
+	{NULL,0,0},
1269
+	{NULL,0,0},
1270
+	{NULL,0,0},
1271
+	{NULL,0,0},
1272
+	{NULL,0,0},
1273
+	{"Rho", 929, 3},
1274
+	{"shchcy", 1097, 6},
1275
+	{"ge", 8805, 2},
1276
+	{"Zeta", 918, 4},
1277
+	{NULL,0,0},
1278
+	{NULL,0,0},
1279
+	{"mdash", 8212, 5},
1280
+	{"ndash", 8211, 5},
1281
+	{"odash", 8861, 5},
1282
+	{"beta", 946, 4},
1283
+	{"le", 8804, 2},
1284
+	{"Sub", 8912, 3},
1285
+	{"lagran", 8466, 6},
1286
+	{"verbar", 124, 6},
1287
+	{"boxUL", 9565, 5},
1288
+	{"ne", 8800, 2},
1289
+	{"vdash", 8866, 5},
1290
+	{NULL,0,0},
1291
+	{NULL,0,0},
1292
+	{"psi", 968, 3},
1293
+	{NULL,0,0},
1294
+	{NULL,0,0},
1295
+	{NULL,0,0},
1296
+	{NULL,0,0},
1297
+	{NULL,0,0},
1298
+	{NULL,0,0},
1299
+	{NULL,0,0},
1300
+	{"fllig", 64258, 5},
1301
+	{NULL,0,0},
1302
+	{NULL,0,0},
1303
+	{"image", 8465, 5},
1304
+	{"oS", 9416, 2},
1305
+	{"rho", 961, 3},
1306
+	{"hairsp", 8202, 6},
1307
+	{"fflig", 64256, 5},
1308
+	{"lowbar", 95, 6},
1309
+	{"male", 9794, 4},
1310
+	{NULL,0,0},
1311
+	{"zeta", 950, 4},
1312
+	{NULL,0,0},
1313
+	{NULL,0,0},
1314
+	{"commat", 64, 6},
1315
+	{NULL,0,0},
1316
+	{"cuepr", 8926, 5},
1317
+	{"sub", 8834, 3},
1318
+	{NULL,0,0},
1319
+	{"lsqb", 91, 4},
1320
+	{NULL,0,0},
1321
+	{NULL,0,0},
1322
+	{NULL,0,0},
1323
+	{NULL,0,0},
1324
+	{NULL,0,0},
1325
+	{"rsqb", 93, 4},
1326
+	{NULL,0,0},
1327
+	{NULL,0,0},
1328
+	{NULL,0,0},
1329
+	{NULL,0,0},
1330
+	{NULL,0,0},
1331
+	{"dArr", 8659, 4},
1332
+	{"boxVr", 9567, 5},
1333
+	{"sbquo", 8218, 5},
1334
+	{"dscy", 1109, 4},
1335
+	{"hArr", 8660, 4},
1336
+	{"brvbar", 166, 6},
1337
+	{"scsim", 8831, 5},
1338
+	{NULL,0,0},
1339
+	{"lArr", 8656, 4},
1340
+	{NULL,0,0},
1341
+	{NULL,0,0},
1342
+	{NULL,0,0},
1343
+	{NULL,0,0},
1344
+	{NULL,0,0},
1345
+	{"rArr", 8658, 4},
1346
+	{"lceil", 8968, 5},
1347
+	{"boxvh", 9532, 5},
1348
+	{"cuvee", 8910, 5},
1349
+	{"IOcy", 1025, 4},
1350
+	{"tscy", 1094, 4},
1351
+	{"Idigr", 938, 5},
1352
+	{"rceil", 8969, 5},
1353
+	{"bumpe", 8783, 5},
1354
+	{"planck", 8463, 6},
1355
+	{NULL,0,0},
1356
+	{"squf", 9642, 4},
1357
+	{"yen", 165, 3},
1358
+	{"uArr", 8657, 4},
1359
+	{"YUcy", 1070, 4},
1360
+	{"oast", 8859, 4},
1361
+	{"equals", 61, 6},
1362
+	{"diam", 8900, 4},
1363
+	{"Udigr", 939, 5},
1364
+	{"boxDL", 9559, 5},
1365
+	{NULL,0,0},
1366
+	{"frac13", 8531, 6},
1367
+	{NULL,0,0},
1368
+	{NULL,0,0},
1369
+	{NULL,0,0},
1370
+	{NULL,0,0},
1371
+	{NULL,0,0},
1372
+	{"YIcy", 1031, 4},
1373
+	{NULL,0,0},
1374
+	{NULL,0,0},
1375
+	{NULL,0,0},
1376
+	{"yacy", 1103, 4},
1377
+	{NULL,0,0},
1378
+	{NULL,0,0},
1379
+	{"bump", 8782, 4},
1380
+	{NULL,0,0},
1381
+	{NULL,0,0},
1382
+	{NULL,0,0},
1383
+	{"idigr", 970, 5},
1384
+	{"xutri", 9651, 5},
1385
+	{"ohm", 8486, 3},
1386
+	{NULL,0,0},
1387
+	{"comp", 8705, 4},
1388
+	{NULL,0,0},
1389
+	{NULL,0,0},
1390
+	{"infin", 8734, 5},
1391
+	{NULL,0,0},
1392
+	{NULL,0,0},
1393
+	{NULL,0,0},
1394
+	{NULL,0,0},
1395
+	{"udigr", 971, 5},
1396
+	{NULL,0,0},
1397
+	{"asymp", 8776, 5},
1398
+	{NULL,0,0},
1399
+	{NULL,0,0},
1400
+	{NULL,0,0},
1401
+	{"lozf", 10731, 4},
1402
+	{NULL,0,0},
1403
+	{NULL,0,0},
1404
+	{NULL,0,0},
1405
+	{NULL,0,0},
1406
+	{NULL,0,0},
1407
+	{NULL,0,0},
1408
+	{NULL,0,0},
1409
+	{"sext", 10038, 4},
1410
+	{"Ubrcy", 1038, 5},
1411
+	{NULL,0,0},
1412
+	{NULL,0,0},
1413
+	{"bottom", 8869, 6},
1414
+	{NULL,0,0},
1415
+	{NULL,0,0},
1416
+	{NULL,0,0},
1417
+	{NULL,0,0},
1418
+	{NULL,0,0},
1419
+	{NULL,0,0},
1420
+	{"Theta", 920, 5},
1421
+	{NULL,0,0},
1422
+	{"gel", 8923, 3},
1423
+	{NULL,0,0},
1424
+	{NULL,0,0},
1425
+	{NULL,0,0},
1426
+	{NULL,0,0},
1427
+	{NULL,0,0},
1428
+	{NULL,0,0},
1429
+	{NULL,0,0},
1430
+	{NULL,0,0},
1431
+	{NULL,0,0},
1432
+	{NULL,0,0},
1433
+	{"lsaquo", 8249, 6},
1434
+	{NULL,0,0},
1435
+	{NULL,0,0},
1436
+	{NULL,0,0},
1437
+	{NULL,0,0},
1438
+	{NULL,0,0},
1439
+	{"rsaquo", 8250, 6},
1440
+	{NULL,0,0},
1441
+	{NULL,0,0},
1442
+	{"ubrcy", 1118, 5},
1443
+	{NULL,0,0},
1444
+	{NULL,0,0},
1445
+	{NULL,0,0},
1446
+	{NULL,0,0},
1447
+	{NULL,0,0},
1448
+	{"intcal", 8890, 6},
1449
+	{"quest", 63, 5},
1450
+	{NULL,0,0},
1451
+	{NULL,0,0},
1452
+	{"theta", 952, 5},
1453
+	{NULL,0,0},
1454
+	{NULL,0,0},
1455
+	{NULL,0,0},
1456
+	{NULL,0,0},
1457
+	{NULL,0,0},
1458
+	{NULL,0,0},
1459
+	{NULL,0,0},
1460
+	{NULL,0,0},
1461
+	{NULL,0,0},
1462
+	{NULL,0,0},
1463
+	{NULL,0,0},
1464
+	{"boxVL", 9571, 5},
1465
+	{NULL,0,0},
1466
+	{NULL,0,0},
1467
+	{NULL,0,0},
1468
+	{NULL,0,0},
1469
+	{NULL,0,0},
1470
+	{NULL,0,0},
1471
+	{NULL,0,0},
1472
+	{NULL,0,0},
1473
+	{"forall", 8704, 6},
1474
+	{NULL,0,0},
1475
+	{NULL,0,0},
1476
+	{NULL,0,0},
1477
+	{NULL,0,0},
1478
+	{NULL,0,0},
1479
+	{NULL,0,0},
1480
+	{"half", 189, 4},
1481
+	{NULL,0,0},
1482
+	{NULL,0,0},
1483
+	{NULL,0,0},
1484
+	{"bull", 8226, 4},
1485
+	{"psgr", 968, 4},
1486
+	{NULL,0,0},
1487
+	{NULL,0,0},
1488
+	{NULL,0,0},
1489
+	{NULL,0,0},
1490
+	{NULL,0,0},
1491
+	{NULL,0,0},
1492
+	{NULL,0,0},
1493
+	{"Dagger", 8225, 6},
1494
+	{"Aring", 197, 5},
1495
+	{NULL,0,0},
1496
+	{NULL,0,0},
1497
+	{"Ll", 8920, 2},
1498
+	{"models", 8871, 6},
1499
+	{NULL,0,0},
1500
+	{NULL,0,0},
1501
+	{NULL,0,0},
1502
+	{NULL,0,0},
1503
+	{"zwj", 8205, 3},
1504
+	{"prod", 8719, 4},
1505
+	{NULL,0,0},
1506
+	{NULL,0,0},
1507
+	{"Chi", 935, 3},
1508
+	{"rect", 9645, 4},
1509
+	{"sect", 167, 4},
1510
+	{"lsquor", 8218, 6},
1511
+	{NULL,0,0},
1512
+	{"thetas", 952, 6},
1513
+	{"cuwed", 8911, 5},
1514
+	{NULL,0,0},
1515
+	{NULL,0,0},
1516
+	{"rsquor", 8217, 6},
1517
+	{NULL,0,0},
1518
+	{NULL,0,0},
1519
+	{NULL,0,0},
1520
+	{"Phi", 934, 3},
1521
+	{"rx", 8478, 2},
1522
+	{NULL,0,0},
1523
+	{NULL,0,0},
1524
+	{"gl", 8823, 2},
1525
+	{"or", 8744, 2},
1526
+	{"pr", 8826, 2},
1527
+	{"aring", 229, 5},
1528
+	{"dagger", 8224, 6},
1529
+	{NULL,0,0},
1530
+	{NULL,0,0},
1531
+	{"diams", 9830, 5},
1532
+	{NULL,0,0},
1533
+	{NULL,0,0},
1534
+	{NULL,0,0},
1535
+	{NULL,0,0},
1536
+	{NULL,0,0},
1537
+	{NULL,0,0},
1538
+	{NULL,0,0},
1539
+	{"chi", 967, 3},
1540
+	{NULL,0,0},
1541
+	{NULL,0,0},
1542
+	{"ordf", 170, 4},
1543
+	{NULL,0,0},
1544
+	{NULL,0,0},
1545
+	{NULL,0,0},
1546
+	{NULL,0,0},
1547 1547
 };
1548 1548
 const struct hashtable entities_htable = {
1549 1549
 	entities_htable_elements, 1543, 743, 1234
... ...
@@ -221,7 +221,7 @@ struct element* hashtab_find(const struct hashtable *s,const char* key,const siz
221 221
 			PROFILE_FIND_NOTFOUND(s, tries);
222 222
 			return NULL; /* element not found, place is empty*/
223 223
 		}
224
-		else if(element->key != DELETED_KEY && strncmp(key, element->key,len)==0) {
224
+		else if(element->key != DELETED_KEY && len == element->len && strncmp(key, element->key,len)==0) {
225 225
 			PROFILE_FIND_FOUND(s, tries);
226 226
 			return element;/* found */
227 227
 		}
... ...
@@ -250,7 +250,7 @@ static int hashtab_grow(struct hashtable *s)
250 250
 			size_t tries = 1;
251 251
 
252 252
 			PROFILE_CALC_HASH(s);
253
-			idx = hash((const unsigned char*)s->htable[i].key, strlen(s->htable[i].key), new_capacity);
253
+			idx = hash((const unsigned char*)s->htable[i].key, s->htable[i].len, new_capacity);
254 254
 			element = &htable[idx];
255 255
 
256 256
 			while(element->key && tries <= new_capacity) {
... ...
@@ -307,9 +307,10 @@ int hashtab_insert(struct hashtable *s, const char* key, const size_t len, const
307 307
 				thekey = cli_malloc(len+1);
308 308
 				if(!thekey)
309 309
 					return CL_EMEM;
310
-				strncpy(thekey,(const char*)key,len+1);
310
+				strncpy(thekey, key, len+1);
311 311
 				element->key = thekey;
312 312
 				element->data = data;
313
+				element->len = len;
313 314
 				s->used++;
314 315
 				if(s->used > s->maxfill) {
315 316
 					cli_dbgmsg("hashtab.c:Growing hashtable %p, because it has exceeded maxfill, old size:%ld\n",(void*)s,s->capacity);
... ...
@@ -320,10 +321,10 @@ int hashtab_insert(struct hashtable *s, const char* key, const size_t len, const
320 320
 			else if(element->key == DELETED_KEY) {
321 321
 				deleted_element = element;
322 322
 			}
323
-			else if(strncmp((const char*)key,(const char*)element->key,len)==0) {
323
+			else if(len == element->len && strncmp(key, element->key, len)==0) {
324 324
 				PROFILE_DATA_UPDATE(s, tries);
325 325
 				element->data = data;/* key found, update */
326
-				return 0;		
326
+				return 0;
327 327
 			}
328 328
 			else {
329 329
 				idx = (idx + tries++) % s->capacity;
... ...
@@ -383,11 +384,11 @@ int hashtab_generate_c(const struct hashtable *s,const char* name)
383 383
 	for(i=0; i < s->capacity; i++) {
384 384
 		const struct element* e = &s->htable[i];
385 385
 		if(!e->key)
386
-			printf("\t{NULL, 0},\n");
386
+			printf("\t{NULL,0,0},\n");
387 387
 		else if(e->key == DELETED_KEY)
388
-			printf("\t{DELETED_KEY,0},\n");
388
+			printf("\t{DELETED_KEY,0,0},\n");
389 389
 		else
390
-			printf("\t{\"%s\", %ld},\n", e->key, e->data);
390
+			printf("\t{\"%s\", %ld, %ld},\n", e->key, e->data, e->len);
391 391
 	}
392 392
 	printf("};\n");
393 393
 	printf("const struct hashtable %s = {\n",name);
... ...
@@ -60,6 +60,7 @@ typedef struct {
60 60
 struct element
61 61
 {
62 62
 	const char* key;
63
+	size_t len;
63 64
 	element_data data;
64 65
 };
65 66