Coverage Report

Created: 2025-12-30 07:10

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/moddable/xs/sources/xsString.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016-2025  Moddable Tech, Inc.
3
 *
4
 *   This file is part of the Moddable SDK Runtime.
5
 * 
6
 *   The Moddable SDK Runtime is free software: you can redistribute it and/or modify
7
 *   it under the terms of the GNU Lesser General Public License as published by
8
 *   the Free Software Foundation, either version 3 of the License, or
9
 *   (at your option) any later version.
10
 * 
11
 *   The Moddable SDK Runtime is distributed in the hope that it will be useful,
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *   GNU Lesser General Public License for more details.
15
 * 
16
 *   You should have received a copy of the GNU Lesser General Public License
17
 *   along with the Moddable SDK Runtime.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
 * This file incorporates work covered by the following copyright and  
20
 * permission notice:  
21
 *
22
 *       Copyright (C) 2010-2016 Marvell International Ltd.
23
 *       Copyright (C) 2002-2010 Kinoma, Inc.
24
 *
25
 *       Licensed under the Apache License, Version 2.0 (the "License");
26
 *       you may not use this file except in compliance with the License.
27
 *       You may obtain a copy of the License at
28
 *
29
 *        http://www.apache.org/licenses/LICENSE-2.0
30
 *
31
 *       Unless required by applicable law or agreed to in writing, software
32
 *       distributed under the License is distributed on an "AS IS" BASIS,
33
 *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
 *       See the License for the specific language governing permissions and
35
 *       limitations under the License.
36
 */
37
38
#include "xsAll.h"
39
40
#if mxStringInfoCacheLength
41
42
typedef struct sxStringInfo txStringInfo;
43
typedef struct sxStringInfoCache txStringInfoCache;
44
45
struct sxStringInfo {
46
  txString string;
47
  txSize unicodeLength;
48
  txSize utf8Length;
49
  txSize unicodeOffset;
50
  txSize utf8Offset;
51
  txBoolean ascii;
52
};
53
54
struct sxStringInfoCache {
55
  txInteger count;
56
  txInteger head;
57
  txInteger tail;
58
  txStringInfo infos[1];
59
};
60
61
static txStringInfo* fxCacheStringInfo(txMachine* the, txString string);
62
63
void fxAllocateStringInfoCache(txMachine* the)
64
38.0k
{
65
38.0k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
38.0k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
38.0k
  cache->count = mxStringInfoCacheLength;
69
38.0k
  cache->head = 0;
70
38.0k
  cache->tail = 0;
71
38.0k
  the->stringInfoCache = cache;
72
38.0k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
38.0k
{
76
38.0k
  txStringInfoCache* cache = the->stringInfoCache;
77
38.0k
  if (cache)
78
38.0k
    c_free(cache);  
79
38.0k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
89.7k
{
83
89.7k
  txStringInfoCache* cache = the->stringInfoCache;
84
89.7k
  if (cache) {
85
89.7k
    cache->head = 0;
86
89.7k
    cache->tail = 0;
87
89.7k
  }
88
89.7k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
229M
{
92
229M
  txStringInfoCache* cache = the->stringInfoCache;
93
229M
  txStringInfo* info = C_NULL;
94
229M
  if (cache) {
95
229M
    txInteger count = cache->count;
96
229M
    txInteger head = cache->head;
97
229M
    txInteger tail = cache->tail;
98
229M
    txInteger i;
99
229M
    i = head - 1;
100
229M
    info = cache->infos + i;
101
239M
    while (i >= 0) {
102
197M
      if (info->string == string)
103
186M
        return info;
104
10.3M
      i--;
105
10.3M
      info--;
106
10.3M
    }
107
42.7M
    i = tail - 1;
108
42.7M
    info = cache->infos + i;
109
55.5M
    while (i >= head) {
110
51.5M
      if (info->string == string)
111
38.7M
        return info;
112
12.8M
      i--;
113
12.8M
      info--;
114
12.8M
    }
115
4.02M
    if (tail < count)
116
131k
      tail++;
117
4.02M
    info = cache->infos + head;
118
4.02M
    head++;
119
4.02M
    if (head == count)
120
979k
      head = 0;
121
4.02M
    cache->head = head; 
122
4.02M
    cache->tail = tail; 
123
4.02M
    info->string = string;
124
4.02M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
4.02M
    info->unicodeOffset = 0;
126
4.02M
    info->utf8Offset = 0;
127
4.02M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
4.02M
  }
129
4.02M
  return info;
130
229M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
15.5M
{
134
15.5M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
15.5M
  if (info) 
136
15.5M
    return info->utf8Length;
137
0
  return c_strlen(string);
138
15.5M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
35.6M
{
142
35.6M
  txStringInfo* info;
143
35.6M
  if (offset <= 0)
144
435k
    return offset ? -1 : 0;  
145
35.2M
  info = fxCacheStringInfo(the, string);
146
35.2M
  if (info) {
147
35.2M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
35.2M
    txU1* p;
149
35.2M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
35.2M
    if ((info->ascii) /* || (offset == 0) */)
152
15.7k
      return offset;
153
35.2M
    if (offset == info->utf8Length)
154
575k
      return info->unicodeLength;
155
34.6M
    delta = offset - info->utf8Offset;
156
34.6M
    if (delta == 0)
157
18.7M
      return info->unicodeOffset;
158
15.9M
    if (delta > 0) {
159
13.8M
      if (delta < info->utf8Length - offset) {
160
13.4M
        sign = 1;
161
13.4M
        unicodeOffset = info->unicodeOffset + 1;
162
13.4M
        utf8Offset = info->utf8Offset + 1;
163
13.4M
      }
164
361k
      else {
165
361k
        sign = -1;
166
361k
        unicodeOffset = info->unicodeLength - 1;
167
361k
        utf8Offset = info->utf8Length - 1;
168
361k
      }
169
13.8M
    }
170
2.07M
    else {
171
2.07M
      if (0 - delta < offset) {
172
1.93M
        sign = -1;
173
1.93M
        unicodeOffset = info->unicodeOffset - 1;
174
1.93M
        utf8Offset = info->utf8Offset - 1;
175
1.93M
      }
176
136k
      else {
177
136k
        sign = 1;
178
136k
        unicodeOffset = 1;
179
136k
        utf8Offset = 1;
180
136k
      }
181
2.07M
    }
182
15.9M
    p = (txU1*)string + utf8Offset;
183
101M
    for (;;) {
184
101M
      if ((*p & 0xC0) != 0x80) {
185
55.8M
        if (utf8Offset == offset)
186
15.9M
          break;
187
39.9M
        unicodeOffset += sign;
188
39.9M
      }
189
85.5M
      p += sign;
190
85.5M
      utf8Offset += sign;
191
85.5M
    }
192
15.9M
    info->utf8Offset = utf8Offset;
193
15.9M
    info->unicodeOffset = unicodeOffset;
194
15.9M
    return unicodeOffset;
195
34.6M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
35.2M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
81.1M
{
201
81.1M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
81.1M
  if (info) 
203
81.1M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
81.1M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
99.7M
{
209
99.7M
  txStringInfo* info;
210
99.7M
  if (offset <= 0)
211
2.17M
    return offset ? -1 : 0;  
212
97.5M
  info = fxCacheStringInfo(the, string);
213
97.5M
  if (info) {
214
97.5M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
97.5M
    txU1* p;
216
97.5M
    if ((offset < 0) || (info->unicodeLength < offset))
217
248k
      return -1;
218
97.2M
    if ((info->ascii) || (offset == 0))
219
225k
      return offset;
220
97.0M
    if (offset == info->unicodeLength)
221
283k
      return info->utf8Length;
222
96.7M
    delta = offset - info->unicodeOffset;
223
96.7M
    if (delta == 0)
224
50.8M
      return info->utf8Offset;
225
45.8M
    if (delta > 0) {
226
42.6M
      if (delta < info->unicodeLength - offset) {
227
41.6M
        sign = 1;
228
41.6M
        unicodeOffset = info->unicodeOffset + 1;
229
41.6M
        utf8Offset = info->utf8Offset + 1;
230
41.6M
      }
231
1.02M
      else {
232
1.02M
        sign = -1;
233
1.02M
        unicodeOffset = info->unicodeLength - 1;
234
1.02M
        utf8Offset = info->utf8Length - 1;
235
1.02M
      }
236
42.6M
    }
237
3.19M
    else {
238
3.19M
      if (0 - delta < offset) {
239
3.10M
        sign = -1;
240
3.10M
        unicodeOffset = info->unicodeOffset - 1;
241
3.10M
        utf8Offset = info->utf8Offset - 1;
242
3.10M
      }
243
97.2k
      else {
244
97.2k
        sign = 1;
245
97.2k
        unicodeOffset = 1;
246
97.2k
        utf8Offset = 1;
247
97.2k
      }
248
3.19M
    }
249
45.8M
    p = (txU1*)string + utf8Offset;
250
271M
    for (;;) {
251
271M
      if ((*p & 0xC0) != 0x80) {
252
185M
        if (unicodeOffset == offset)
253
45.8M
          break;
254
139M
        unicodeOffset += sign;
255
139M
      }
256
226M
      p += sign;
257
226M
      utf8Offset += sign;
258
226M
    }
259
45.8M
    info->utf8Offset = utf8Offset;
260
45.8M
    info->unicodeOffset = unicodeOffset;
261
45.8M
    return utf8Offset;
262
96.7M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
97.5M
}
265
#endif
266
267
1.63M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
66.7M
#define mxCacheStringInstanceLength(INSTANCE) ((txIndex)fxCacheUnicodeLength(the, instance->next->value.string))
269
270
static txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength);
271
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, txInteger theLength, txInteger theOffset, txString theSubString, txInteger theSubLength, txInteger* theOffsets);
272
static void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace);
273
static txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop);
274
275
static txSlot* fxCheckString(txMachine* the, txSlot* it);
276
static txString fxCoerceToString(txMachine* the, txSlot* theSlot);
277
static txInteger fxArgToPosition(txMachine* the, txInteger i, txInteger index, txInteger length);
278
static void fx_String_prototype_pad(txMachine* the, txBoolean flag);
279
static void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd);
280
static txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
281
static void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
282
283
static txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
284
static txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask);
285
static txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot);
286
static txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
287
static txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
288
static void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys);
289
static txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
290
291
#ifdef mxStringNormalize
292
static void fxNormalizeString(txMachine* the, txSlot* string, txFlag form);
293
#endif
294
295
const txBehavior ICACHE_FLASH_ATTR gxStringBehavior = {
296
  fxStringGetProperty,
297
  fxStringSetProperty,
298
  fxOrdinaryCall,
299
  fxOrdinaryConstruct,
300
  fxStringDefineOwnProperty,
301
  fxStringDeleteProperty,
302
  fxStringGetOwnProperty,
303
  fxOrdinaryGetPropertyValue,
304
  fxOrdinaryGetPrototype,
305
  fxStringHasProperty,
306
  fxOrdinaryIsExtensible,
307
  fxStringOwnKeys,
308
  fxOrdinaryPreventExtensions,
309
  fxOrdinarySetPropertyValue,
310
  fxOrdinarySetPrototype,
311
};
312
313
void fxBuildString(txMachine* the)
314
38.0k
{
315
38.0k
  txSlot* instance;
316
38.0k
  txSlot* property;
317
38.0k
  txSlot* slot;
318
  
319
38.0k
  mxPush(mxObjectPrototype);
320
38.0k
  instance = fxNewStringInstance(the);
321
  
322
38.0k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
38.0k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
38.0k
  property->value.home.object = instance;
325
38.0k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
38.0k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
38.0k
  property->value.home.object = instance;
328
38.0k
  mxPushUndefined();
329
38.0k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
38.0k
  the->stack->kind = XS_ACCESSOR_KIND;
331
38.0k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
38.0k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
38.0k
  mxPull(mxStringAccessor);
334
38.0k
  mxPop();
335
38.0k
  mxPop();
336
  
337
38.0k
  slot = fxLastProperty(the, instance);
338
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
38.0k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
38.0k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
38.0k
#if mxECMAScript2024
376
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
38.0k
#endif
379
38.0k
  mxStringPrototype = *the->stack;
380
38.0k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
38.0k
  mxStringConstructor = *the->stack;
382
38.0k
  slot = fxLastProperty(the, slot);
383
#ifndef mxCESU8
384
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromArrayBuffer), 1, mxID(_fromArrayBuffer), XS_DONT_ENUM_FLAG);
385
#endif
386
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
38.0k
  mxPop();
390
391
38.0k
  mxPush(mxIteratorPrototype);
392
38.0k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
38.0k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG);
394
38.0k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
38.0k
  mxPull(mxStringIteratorPrototype);
396
38.0k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
13.9M
{
400
13.9M
  txSlot* instance;
401
13.9M
  instance = fxNewObjectInstance(the);
402
13.9M
  instance->flag |= XS_EXOTIC_FLAG;
403
13.9M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
13.9M
  return instance;
405
13.9M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
27.1M
{
409
27.1M
  txSlot* string = C_NULL;
410
27.1M
  txID id = the->scratch.value.at.id;
411
27.1M
  txIndex index = the->scratch.value.at.index;
412
27.1M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
204k
    string = mxThis;
414
26.9M
  else {
415
26.9M
    txSlot* instance = fxToInstance(the, mxThis);
416
26.9M
    while (instance) {
417
26.9M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
26.9M
        string = instance->next;
419
26.9M
        break;
420
26.9M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
26.9M
  }
424
27.1M
  if (string) {
425
27.1M
    if (id == mxID(_length)) {
426
649
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
649
      mxResult->kind = XS_INTEGER_KIND;
428
649
    }
429
27.1M
    else {
430
27.1M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
27.1M
      if (from >= 0) {
432
27.1M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
27.1M
        if (to >= 0) {
434
27.1M
          to += from;
435
27.1M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
27.1M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
27.1M
          mxResult->value.string[to - from] = 0;
438
27.1M
          mxResult->kind = XS_STRING_KIND;
439
27.1M
        }
440
27.1M
      }
441
27.1M
    }
442
27.1M
  }
443
27.1M
}
444
445
void fxStringAccessorSetter(txMachine* the)
446
0
{
447
0
}
448
449
txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask)
450
2.38k
{
451
2.38k
  if (id == mxID(_length)) {
452
64
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
64
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
64
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
64
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
64
    return 1;
461
64
  }
462
2.32k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
743
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
743
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
743
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
743
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
3
      return 0;
471
740
    return 1;
472
743
  }
473
1.57k
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
2.32k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
11.0k
{
478
11.0k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
1.03k
    return 0;
480
9.98k
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
11.0k
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
43.2M
{
485
43.2M
  if (id == mxID(_length)) {
486
486k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
486k
    descriptor->ID = id;
488
486k
    descriptor->kind = XS_INTEGER_KIND;
489
486k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
486k
    return 1;
491
486k
  }
492
42.7M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
37.0M
    txSlot* string = instance->next;
494
37.0M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
37.0M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
37.0M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
37.0M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
37.0M
    descriptor->value.string[length] = 0;
499
37.0M
    descriptor->kind = XS_STRING_KIND;
500
37.0M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
37.0M
    return 1;
502
37.0M
  }
503
5.67M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
42.7M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
62.9M
{
508
62.9M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
27.1M
    the->scratch.value.at.id = id;
510
27.1M
    the->scratch.value.at.index = index;
511
27.1M
    return &mxStringAccessor;
512
27.1M
  }
513
35.7M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
62.9M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
811k
{
518
811k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
381k
    return 1;
520
429k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
811k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
490k
{
525
490k
  txSlot* property = instance->next;
526
490k
  if (flag & XS_EACH_NAME_FLAG) {
527
490k
    txIndex length = mxStringInstanceLength(instance), index;
528
38.2M
    for (index = 0; index < length; index++)
529
37.8M
      keys = fxQueueKey(the, 0, index, keys);
530
490k
  }
531
490k
  property = property->next;
532
490k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
4.92k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
4.92k
    property = property->next;
535
4.92k
  }
536
490k
  if (flag & XS_EACH_NAME_FLAG)
537
490k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
490k
  fxQueueIDKeys(the, property, flag, keys);
539
490k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
2.06M
{
543
2.06M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
202k
    return C_NULL;
545
1.86M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
2.06M
}
547
548
void fx_String(txMachine* the)
549
266k
{
550
266k
  txSlot* slot;
551
266k
  txSlot* instance;
552
266k
  if (mxArgc > 0) {
553
263k
    slot = mxArgv(0);
554
263k
    if ((mxTarget->kind == XS_UNDEFINED_KIND) && (slot->kind == XS_SYMBOL_KIND)) {
555
35
      fxSymbolToString(the, slot);
556
35
      *mxResult = *slot;
557
35
      return;
558
35
    }
559
263k
    fxToString(the, slot);
560
263k
  }
561
3.05k
  else {
562
3.05k
    slot = &mxEmptyString;
563
3.05k
  }
564
266k
  if (mxTarget->kind == XS_UNDEFINED_KIND) {
565
94.8k
    *mxResult = *slot;
566
94.8k
    return;
567
94.8k
  }
568
171k
  mxPushSlot(mxTarget);
569
171k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
171k
  instance = fxNewStringInstance(the);
571
171k
  instance->next->kind = slot->kind; // @@
572
171k
  instance->next->value.key.string = slot->value.string;
573
171k
  mxPullSlot(mxResult);
574
171k
}
575
576
#ifndef mxCESU8
577
void fx_String_fromArrayBuffer(txMachine* the)
578
{
579
  txSlot* slot;
580
  txSlot* arrayBuffer = C_NULL, *sharedArrayBuffer = C_NULL;
581
  txSlot* bufferInfo;
582
  txInteger limit, offset;
583
  txInteger inLength, outLength = 0, nulls = 0;
584
  unsigned char *in;
585
  txString string;
586
  if (mxArgc < 1)
587
    mxTypeError("no argument");
588
  slot = mxArgv(0);
589
  if (slot->kind == XS_REFERENCE_KIND) {
590
    slot = slot->value.reference->next;
591
    if (slot) {
592
      bufferInfo = slot->next;
593
      if (slot->kind == XS_ARRAY_BUFFER_KIND)
594
        arrayBuffer = slot;
595
      else if (slot->kind == XS_HOST_KIND) {
596
        if (!(slot->flag & XS_HOST_CHUNK_FLAG) && bufferInfo && (bufferInfo->kind == XS_BUFFER_INFO_KIND))
597
          sharedArrayBuffer = slot;
598
      }
599
    }
600
  }
601
  if (!arrayBuffer && !sharedArrayBuffer)
602
    mxTypeError("argument: not an ArrayBuffer instance");
603
  limit = bufferInfo->value.bufferInfo.length;
604
  offset = fxArgToByteLength(the, 1, 0);
605
  if (limit < offset)
606
    mxRangeError("invalid byteOffset %ld", offset);
607
  inLength = fxArgToByteLength(the, 2, limit - offset);
608
  if ((limit < (offset + inLength)) || ((offset + inLength) < offset))
609
    mxRangeError("invalid byteLength %ld", inLength);
610
611
  in = offset + (unsigned char *)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
612
  while (inLength > 0) {
613
    unsigned char first = c_read8(in++), clen;
614
    if (first < 0x80){
615
      if (0 == first)
616
        nulls += 1;
617
      inLength -= 1;
618
      outLength += 1;
619
      continue;
620
    }
621
622
    if (0xC0 == (first & 0xE0))
623
      clen = 2;
624
    else if (0xE0 == (first & 0xF0))
625
      clen = 3;
626
    else if (0xF0 == (first & 0xF0))
627
      clen = 4;
628
    else
629
      goto badUTF8;
630
631
    inLength -= clen;
632
    if (inLength < 0)
633
      goto badUTF8;
634
635
    outLength += clen;
636
    clen -= 1;
637
    do {
638
      if (0x80 != (0xc0 & c_read8(in++)))
639
        goto badUTF8;
640
    } while (--clen > 0);
641
  }
642
643
  string = fxNewChunk(the, outLength + nulls + 1);
644
  if (!nulls)
645
    c_memcpy(string, offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data), outLength);
646
  else {
647
    txString c = string, end = c + outLength + nulls;
648
    txString buf = offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
649
    while (c < end) {
650
      txByte b = c_read8(buf++);
651
      if (b)
652
        *c++ = b;
653
      else {
654
        *c++ = 0xC0;
655
        *c++ = 0x80;
656
      }
657
    }
658
  }
659
  string[outLength + nulls] = 0;
660
  mxResult->value.string = string;
661
  mxResult->kind = XS_STRING_KIND;
662
663
  return;
664
665
badUTF8:
666
  mxTypeError("invalid UTF-8");
667
}
668
#endif
669
670
void fx_String_fromCharCode(txMachine* the)
671
991k
{
672
991k
  txInteger length = 0;
673
991k
  txInteger count = mxArgc;
674
991k
  txInteger index = 0;
675
991k
  txInteger c; 
676
991k
  txString p;
677
2.52M
  while (index < count) {
678
1.53M
    txSlot *slot = mxArgv(index);
679
1.53M
    if (XS_INTEGER_KIND != slot->kind) {
680
263k
      txNumber number = fxToNumber(the, slot);
681
263k
      switch (c_fpclassify(number)) {
682
13
      case C_FP_INFINITE:
683
9.60k
      case C_FP_NAN:
684
10.9k
      case C_FP_ZERO:
685
10.9k
        slot->value.integer = 0;
686
10.9k
        break;
687
252k
      default:
688
495k
        #define MODULO 65536.0
689
252k
        number = c_fmod(c_trunc(number), MODULO);
690
252k
        if (number < 0)
691
242k
          number += MODULO;
692
252k
        slot->value.integer = (txInteger)number;
693
252k
        break;
694
263k
      }
695
263k
      slot->kind = XS_INTEGER_KIND;
696
263k
    }
697
1.27M
    else {
698
1.27M
      txInteger integer = slot->value.integer % 65536;
699
1.27M
      if (integer < 0)
700
61.1k
        integer += 65536;
701
1.27M
      slot->value.integer = integer;
702
1.27M
    }
703
1.53M
    index++;
704
1.53M
  }
705
991k
  index = 0;
706
2.52M
  while (index < count) {
707
1.53M
    c = mxArgv(index)->value.integer;
708
1.53M
    index++;
709
1.53M
    if (index < count) {
710
546k
      txInteger d = mxArgv(index)->value.integer;
711
546k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
546k
    }  
716
1.53M
    length += mxStringByteLength(c);
717
1.53M
  }    
718
991k
  mxMeterSome(count);
719
991k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
991k
  mxResult->kind = XS_STRING_KIND;
721
991k
  p = mxResult->value.string;
722
991k
  index = 0;
723
2.52M
  while (index < count) {
724
1.53M
    c = mxArgv(index)->value.integer;
725
1.53M
    index++;
726
1.53M
    if (index < count) {
727
546k
      txInteger d = mxArgv(index)->value.integer;
728
546k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
546k
    }  
733
1.53M
    p = mxStringByteEncode(p, c);
734
1.53M
  }  
735
991k
  *p = 0;
736
991k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
338
{
740
338
  txInteger length = 0;
741
338
  txInteger count = mxArgc;
742
338
  txInteger index = 0;
743
338
  txInteger character; 
744
338
  txString p;
745
481
  while (index < count) {
746
448
    txNumber number = fxToNumber(the, mxArgv(index));
747
448
    txNumber check = c_trunc(number);
748
448
    if (number != check)
749
11
      mxRangeError("invalid code point %lf", number);
750
437
    if ((number < 0) || (0x10FFFF < number))
751
294
      mxRangeError("invalid code point %lf", number);
752
143
    mxArgv(index)->value.integer = (txInteger)number;
753
143
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
143
    index++;
755
143
  }
756
33
  index = 0;
757
74
  while (index < count) {
758
41
    character = mxArgv(index)->value.integer;
759
41
    length += mxStringByteLength(character);
760
41
    index++;
761
41
  }
762
33
  mxMeterSome(count);
763
33
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
764
33
  mxResult->kind = XS_STRING_KIND;
765
33
  p = mxResult->value.string;
766
33
  index = 0;
767
74
  while (index < count) {
768
41
    character = mxArgv(index)->value.integer;
769
41
    p = mxStringByteEncode(p, character);
770
41
    index++;
771
41
  }  
772
33
  *p = 0;
773
33
}
774
775
void fx_String_raw(txMachine* the)
776
31
{
777
31
  txInteger argCount = mxArgc;
778
31
  txSlot* raw;
779
31
  txInteger rawCount;
780
31
  if (argCount > 0)
781
30
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
30
  mxPushSlot(mxArgv(0));
785
30
  mxGetID(mxID(_raw));
786
30
  raw = the->stack;
787
30
  mxPushSlot(raw);
788
30
  mxGetID(mxID(_length));
789
30
  rawCount = fxToInteger(the, the->stack);
790
30
  mxPop();
791
30
  if (rawCount <= 0) {
792
12
    mxResult->value = mxEmptyString.value;
793
12
    mxResult->kind = mxEmptyString.kind;
794
12
  }
795
18
  else {
796
18
    txSlot* list;
797
18
    txInteger index = 0;
798
18
    txSlot* item;
799
18
    txInteger size;
800
18
    list = item = fxNewInstance(the);
801
18
    mxPushSlot(list);
802
48
    for (;;) {
803
48
      mxPushSlot(raw);
804
48
      mxGetIndex(index);
805
48
      fxToString(the, the->stack);
806
48
      item = item->next = fxNewSlot(the);
807
48
      mxPullSlot(item);
808
48
      index++;
809
48
      if (index == rawCount)
810
14
        break;
811
34
      if (index < argCount) {
812
21
        mxPushSlot(mxArgv(index));
813
21
        fxToString(the, the->stack);
814
21
      }
815
13
      else
816
13
        mxPush(mxEmptyString);
817
34
      item = item->next = fxNewSlot(the);
818
34
      mxPullSlot(item);
819
34
    }
820
18
    size = 0;
821
18
    item = list->next;
822
94
    while (item) {
823
76
      item->value.key.sum = mxStringLength(item->value.string);
824
76
      size += item->value.key.sum;
825
76
      item = item->next;
826
76
    }
827
18
    size++;
828
18
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
18
    size = 0;
830
18
    item = list->next;
831
94
    while (item) {
832
76
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
76
      size += item->value.key.sum;
834
76
      item = item->next;
835
76
    }
836
18
    mxResult->value.string[size] = 0;
837
18
    mxPop();
838
18
    mxResult->kind = XS_STRING_KIND;
839
18
  }
840
30
  mxPop();
841
30
}
842
843
void fx_String_prototype_at(txMachine* the)
844
20.7k
{
845
20.7k
  txNumber index;
846
847
20.7k
  fxCoerceToString(the, mxThis);
848
20.7k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
20.7k
  if (c_isnan(index) || (index == 0))
850
13.7k
    index = 0;
851
6.95k
  else if (index < 0) {
852
5.82k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
5.82k
    if (index < 0)
854
5.54k
      return;
855
5.82k
  }
856
15.1k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
15.1k
  if (from >= 0) {
858
14.9k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
14.9k
    if (to >= 0) {
860
14.0k
      to += from;
861
14.0k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
14.0k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
14.0k
      mxResult->value.string[to - from] = 0;
864
14.0k
      mxResult->kind = XS_STRING_KIND;
865
14.0k
    }
866
14.9k
  }
867
15.1k
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
256k
{
871
256k
  txInteger anOffset;
872
256k
  txInteger aLength;
873
  
874
256k
  fxCoerceToString(the, mxThis);
875
256k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
152k
    anOffset = fxToInteger(the, mxArgv(0));
877
152k
    if (anOffset < 0) goto fail;
878
152k
  }
879
103k
  else
880
103k
    anOffset = 0;
881
882
256k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
256k
  if (anOffset < 0) goto fail;
884
885
174k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
174k
  if (aLength < 0) goto fail;
887
888
103k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
103k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
103k
  mxResult->value.string[aLength] = 0;
891
103k
  mxResult->kind = XS_STRING_KIND;
892
103k
  return;
893
894
152k
fail:
895
152k
  mxResult->value.string = mxEmptyString.value.string;
896
152k
  mxResult->kind = mxEmptyString.kind;
897
152k
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
154
{
901
154
  txInteger anOffset;
902
903
154
  fxCoerceToString(the, mxThis);
904
154
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
147
    anOffset = fxToInteger(the, mxArgv(0));
906
147
    if (anOffset < 0) goto fail;
907
147
  }
908
7
  else
909
7
    anOffset = 0;
910
911
153
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
153
  if (anOffset < 0) goto fail;
913
914
149
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
3
    goto fail;
916
917
146
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
146
  mxResult->kind = XS_INTEGER_KIND;
919
146
  return;
920
921
8
fail:
922
8
  mxResult->value.number = C_NAN;
923
8
  mxResult->kind = XS_NUMBER_KIND;
924
8
}
925
926
void fx_String_prototype_compare(txMachine* the)
927
0
{
928
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
929
0
  fx_String_prototype_localeCompare(the);
930
0
}
931
932
void fx_String_prototype_codePointAt(txMachine* the)
933
3.70k
{
934
3.70k
  txString string = fxCoerceToString(the, mxThis);
935
3.70k
  txInteger length = fxCacheUnicodeLength(the, string);
936
3.70k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
3.70k
  if (c_isnan(at))
938
3
    at = 0;
939
3.70k
  if ((0 <= at) && (at < (txNumber)length)) {
940
1.41k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
1.41k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
1.41k
    if ((offset >= 0) && (length > 0)) {
943
1.41k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
1.41k
      mxResult->kind = XS_INTEGER_KIND;
945
1.41k
    }
946
1.41k
  }
947
3.70k
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
3.22k
{
951
3.22k
  txInteger aCount;
952
3.22k
  txInteger aLength;
953
3.22k
  txInteger anIndex;
954
  
955
3.22k
  fxCoerceToString(the, mxThis);
956
3.22k
  aCount = mxArgc;
957
3.22k
  aLength = mxStringLength(mxThis->value.string);
958
6.81k
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
3.58k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
3.22k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
3.22k
  mxResult->kind = XS_STRING_KIND;
962
3.22k
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
6.81k
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
3.58k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
3.22k
  mxMeterSome(aCount);
966
3.22k
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
2.43k
{
970
2.43k
  txString string = fxCoerceToString(the, mxThis);
971
2.43k
  txInteger length = fxCacheUnicodeLength(the, string);
972
2.43k
  txString searchString;
973
2.43k
  txInteger searchLength;
974
2.43k
  txInteger offset;
975
2.43k
  mxResult->kind = XS_BOOLEAN_KIND;
976
2.43k
  mxResult->value.boolean = 0;
977
2.43k
  if (mxArgc < 1)
978
1
    return;
979
2.43k
  if (fxIsRegExp(the, mxArgv(0)))
980
1
    mxTypeError("future editions");
981
2.43k
  searchString = fxToString(the, mxArgv(0));
982
2.43k
  offset = fxArgToPosition(the, 1, length, length);
983
2.43k
  string = mxThis->value.string;
984
2.43k
  searchString = mxArgv(0)->value.string;
985
2.43k
  searchLength = mxStringLength(searchString);
986
2.43k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
2.43k
  if (offset < searchLength)
988
1.06k
    return;
989
1.37k
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
1.37k
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
43
    mxResult->value.boolean = 1;
992
1.37k
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
153
{
996
153
  txString string = fxCoerceToString(the, mxThis);
997
153
  txInteger length = fxCacheUnicodeLength(the, string);
998
153
  txString searchString;
999
153
  txInteger searchLength;
1000
153
  txInteger offset;
1001
153
  mxResult->kind = XS_BOOLEAN_KIND;
1002
153
  mxResult->value.boolean = 0;
1003
153
  if (mxArgc < 1)
1004
1
    return;
1005
152
  if (fxIsRegExp(the, mxArgv(0)))
1006
1
    mxTypeError("future editions");
1007
151
  searchString = fxToString(the, mxArgv(0));
1008
151
  offset = fxArgToPosition(the, 1, 0, length);
1009
151
  string = mxThis->value.string;
1010
151
  length = fxCacheUTF8Length(the, string);
1011
151
  searchString = mxArgv(0)->value.string;
1012
151
  searchLength = mxStringLength(searchString);
1013
151
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
151
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
25
    mxResult->value.boolean = 1;
1016
151
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
1.07M
{
1020
1.07M
  if (stringLength >= searchLength) {
1021
898k
    txString result = string;
1022
898k
    txString limit = string + stringLength - searchLength;
1023
235M
    while (result <= limit) {
1024
234M
      txU1 c;
1025
234M
      txU1* p = (txU1*)result;
1026
234M
      txU1* q = (txU1*)searchString;
1027
238M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
3.91M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
3.91M
        p++;
1030
3.91M
        q++;
1031
3.91M
      }
1032
234M
      if (c)
1033
234M
        result++;
1034
2.60k
      else
1035
2.60k
        return result;
1036
234M
      mxCheckMetering();
1037
234M
    }
1038
898k
  }
1039
1.07M
  return C_NULL;
1040
1.07M
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
561k
{
1044
561k
  txString aString;
1045
561k
  txString aSubString;
1046
561k
  txInteger aLength;
1047
561k
  txInteger aSubLength;
1048
561k
  txInteger anOffset;
1049
561k
  txNumber aNumber;
1050
561k
  txInteger aLimit;
1051
  
1052
561k
  aString = fxCoerceToString(the, mxThis);
1053
561k
  if (mxArgc < 1) {
1054
1
    mxResult->value.integer = -1;
1055
1
    mxResult->kind = XS_INTEGER_KIND;
1056
1
    return;
1057
1
  }
1058
561k
  aSubString = fxToString(the, mxArgv(0));
1059
561k
  aString = mxThis->value.string;
1060
561k
  aLength = fxCacheUnicodeLength(the, aString);
1061
561k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
561k
  anOffset = 0;
1063
561k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
282k
    aNumber = fxToNumber(the, mxArgv(1));
1065
282k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
282k
    aString = mxThis->value.string;
1068
282k
    aSubString = mxArgv(0)->value.string;
1069
282k
  }
1070
561k
  if (anOffset + aSubLength <= aLength) {
1071
358k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
358k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
151M
    while (anOffset <= aLimit) {
1074
151M
      txU1 c;
1075
151M
      txU1* p = (txU1*)aString + anOffset;
1076
151M
      txU1* q = (txU1*)aSubString;
1077
180M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
28.5M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
28.5M
        p++;
1080
28.5M
        q++;
1081
28.5M
      }
1082
151M
      if (c)
1083
151M
        anOffset++;
1084
39.6k
      else
1085
39.6k
        break;
1086
151M
      mxCheckMetering();
1087
151M
    }
1088
358k
    if (anOffset <= aLimit)
1089
39.6k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
318k
    else
1091
318k
      anOffset = -1;
1092
358k
  }
1093
203k
  else
1094
203k
    anOffset = -1;
1095
561k
  mxResult->value.integer = anOffset;
1096
561k
  mxResult->kind = XS_INTEGER_KIND;
1097
561k
}
1098
1099
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1100
    txInteger theLength, txInteger theOffset,
1101
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1102
416k
{
1103
416k
  theOffsets[0] = theOffset;
1104
416k
  theOffsets[1] = theOffset + theSubLength;
1105
28.0M
  while (theOffsets[1] <= theLength) {
1106
28.0M
    txU1 c;
1107
28.0M
    txU1* p = (txU1*)theString + theOffsets[0];
1108
28.0M
    txU1* q = (txU1*)theSubString;
1109
28.5M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
504k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
504k
      p++;
1112
504k
      q++;
1113
504k
    }
1114
28.0M
    if (c) {
1115
27.6M
      theOffsets[0]++;
1116
27.6M
      theOffsets[1]++;
1117
27.6M
    }
1118
404k
    else
1119
404k
      return 1;
1120
28.0M
  }
1121
12.0k
  return 0;
1122
416k
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
67
{
1126
67
  txString p = fxCoerceToString(the, mxThis);
1127
67
  mxResult->kind = XS_BOOLEAN_KIND;
1128
67
  mxResult->value.boolean = 1;
1129
387
  while (c_read8(p)) {
1130
347
    txInteger c;
1131
347
    p = mxStringByteDecode(p, &c);
1132
347
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
27
      mxResult->value.boolean = 0;
1134
27
      break;
1135
27
    }
1136
347
  }
1137
67
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
324k
{
1141
324k
  txString aString;
1142
324k
  txString aSubString;
1143
324k
  txInteger aLength;
1144
324k
  txInteger aSubLength;
1145
324k
  txInteger anOffset;
1146
324k
  txNumber aNumber;
1147
1148
324k
  aString = fxCoerceToString(the, mxThis);
1149
324k
  if (mxArgc < 1) {
1150
55.6k
    mxResult->value.integer = -1;
1151
55.6k
    mxResult->kind = XS_INTEGER_KIND;
1152
55.6k
    return;
1153
55.6k
  }
1154
269k
  aSubString = fxToString(the, mxArgv(0));
1155
269k
  aString = mxThis->value.string;
1156
269k
  aLength = fxCacheUnicodeLength(the, aString);
1157
269k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
269k
  anOffset = aLength;
1159
269k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
142k
    aNumber = fxToNumber(the, mxArgv(1));
1161
142k
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
142k
    anOffset += aSubLength;
1163
142k
    if (anOffset > aLength)
1164
3.49k
      anOffset = aLength;
1165
1166
142k
    aString = mxThis->value.string;
1167
142k
    aSubString = mxArgv(0)->value.string;
1168
142k
  }
1169
269k
  if (anOffset - aSubLength >= 0) {
1170
265k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
11.5M
    while (anOffset >= 0) {
1172
11.3M
      txU1 c;
1173
11.3M
      txU1* p = (txU1*)aString + anOffset;
1174
11.3M
      txU1* q = (txU1*)aSubString;
1175
11.6M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
263k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
263k
        p++;
1178
263k
        q++;
1179
263k
      }
1180
11.3M
      if (c)
1181
11.2M
        anOffset--;
1182
117k
      else
1183
117k
        break;
1184
11.2M
      mxCheckMetering();
1185
11.2M
    }    
1186
265k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
265k
  }
1188
3.49k
  else
1189
3.49k
    anOffset = -1;
1190
269k
  mxResult->value.integer = anOffset;
1191
269k
  mxResult->kind = XS_INTEGER_KIND;
1192
269k
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
234k
{
1196
234k
  txString aString;
1197
234k
  txString bString;
1198
1199
234k
  if (mxArgc < 1) {
1200
117k
    aString = fxCoerceToString(the, mxThis);
1201
117k
    bString = "undefined";
1202
117k
  }
1203
117k
  else {
1204
117k
    fxToString(the, mxArgv(0));
1205
117k
    aString = fxCoerceToString(the, mxThis);
1206
117k
    bString = mxArgv(0)->value.string;
1207
117k
  }
1208
234k
#ifdef mxMetering
1209
234k
  {
1210
234k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
234k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
234k
    if (aLength < bLength) {
1213
234k
      the->meterIndex += aLength * XS_STRING_METERING;
1214
234k
    }
1215
51
    else {
1216
51
      the->meterIndex += bLength * XS_STRING_METERING;
1217
51
    }
1218
234k
  }
1219
234k
#endif  
1220
234k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
234k
  mxResult->kind = XS_INTEGER_KIND;
1222
234k
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
217k
{ 
1226
217k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
62.3k
    return;
1228
155k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
155k
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
3.35k
{ 
1233
3.35k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
46
    return;
1235
3.31k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
3.31k
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
1.50M
{
1240
1.50M
  txFlag form;
1241
1.50M
  fxCoerceToString(the, mxThis);
1242
1.50M
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
1.01M
    form = 2;
1244
493k
  else {
1245
493k
    txString string = fxToString(the, mxArgv(0));
1246
493k
    if (!c_strcmp(string, "NFC"))
1247
278k
      form = 2;
1248
214k
    else if (!c_strcmp(string, "NFD"))
1249
9
      form = 0;
1250
214k
    else if (!c_strcmp(string, "NFKC"))
1251
214k
      form = 3;
1252
39
    else if (!c_strcmp(string, "NFKD"))
1253
6
      form = 1;
1254
33
    else
1255
33
      mxRangeError("invalid form");
1256
493k
  }
1257
1.50M
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
1.50M
  mxResult->value.string = mxThis->value.string;
1259
1.50M
  mxResult->kind = mxThis->kind;
1260
1.50M
#ifdef mxStringNormalize
1261
1.50M
  fxNormalizeString(the, mxResult, form);
1262
#else 
1263
  {
1264
    txInteger max = 0;
1265
    txString string = mxResult->value.string;
1266
    for (;;) {
1267
      txInteger c;
1268
      string = mxStringByteDecode(string, &c);
1269
      if (c == C_EOF)
1270
        break;
1271
      if (max < c)
1272
        max = c;
1273
    }
1274
    if (max < 128) {
1275
    }
1276
    else if ((max < 256) && (form == 2)) {
1277
    }
1278
    else {
1279
      mxRangeError("not built-in");
1280
    }
1281
  }
1282
#endif
1283
1.50M
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
134k
{
1287
134k
  txString string = fxCoerceToString(the, mxThis), filler;
1288
134k
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
134k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
134k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
134k
  *mxResult = *mxThis;
1292
134k
  if (resultSize > stringSize) {
1293
56
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
14
      mxPushStringX(" ");
1295
42
    else
1296
42
      mxPushSlot(mxArgv(1));
1297
56
    filler = fxToString(the, the->stack);
1298
56
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
56
    if (fillerSize > 0) {
1300
54
      txInteger delta = resultSize - stringSize;
1301
54
      txInteger count = delta / fillerSize;
1302
54
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
54
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
54
      mxResult->kind = XS_STRING_KIND;
1305
54
      string = fxToString(the, mxThis);
1306
54
      filler = fxToString(the, the->stack);
1307
54
      if (flag) {
1308
31
        c_memcpy(result, string, stringLength);
1309
31
        result += stringLength;
1310
31
      }
1311
54
      mxMeterSome(count);
1312
31.4k
      while (count) {
1313
31.3k
        c_memcpy(result, filler, fillerLength);
1314
31.3k
        count--;
1315
31.3k
        result += fillerLength;
1316
31.3k
      }
1317
54
      if (rest) {
1318
31
        mxMeterSome(1);
1319
31
        c_memcpy(result, filler, rest);
1320
31
        result += rest;
1321
31
      }
1322
54
      if (!flag) {
1323
22
        c_memcpy(result, string, stringLength);
1324
22
        result += stringLength;
1325
22
      }
1326
54
      *result = 0;
1327
54
    }
1328
56
    mxPop();
1329
56
  }
1330
134k
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
133k
{
1334
133k
  fx_String_prototype_pad(the, 1);
1335
133k
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
346
{
1339
346
  fx_String_prototype_pad(the, 0);
1340
346
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
57.8k
{
1344
57.8k
  txString string = fxCoerceToString(the, mxThis), result;
1345
57.8k
  txInteger length = mxStringLength(string);
1346
57.8k
  txInteger count = 0;
1347
57.8k
  txSlot *arg = mxArgv(0);
1348
57.8k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
36.8k
    if (XS_INTEGER_KIND == arg->kind) {
1350
310
      count = arg->value.integer;
1351
310
      if (count < 0)
1352
4
        mxRangeError("count < 0");
1353
310
    }
1354
36.5k
    else {
1355
36.5k
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
36.5k
      if (c_isnan(value))
1357
24.8k
        count = 0;
1358
11.6k
      else {
1359
11.6k
        if (value < 0)
1360
9.76k
          mxRangeError("count < 0");
1361
1.90k
        if (0x7FFFFFFF < value)
1362
1
          mxRangeError("count too big");
1363
1.90k
        count = (txInteger)value;
1364
1.90k
      }
1365
36.5k
    }
1366
36.8k
  }
1367
48.1k
  mxMeterSome(count);
1368
48.1k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
48.1k
  mxResult->kind = XS_STRING_KIND;
1370
48.1k
  string = fxToString(the, mxThis);
1371
48.1k
  if (length) {
1372
88.4M
    while (count) {
1373
88.4M
      c_memcpy(result, string, length);
1374
88.4M
      count--;
1375
88.4M
      result += length;
1376
88.4M
    }
1377
46.1k
  }
1378
48.1k
  *result = 0;
1379
48.1k
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
882k
{
1383
882k
  txString string;
1384
882k
  txSlot* match;
1385
882k
  txSize size;
1386
882k
  txSize matchLength;
1387
882k
  txSlot* function;
1388
882k
  txSlot* replace;
1389
1390
882k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
226k
    return;
1392
656k
  fxToString(the, mxThis);
1393
656k
  if (mxArgc <= 0)
1394
656k
    mxPushUndefined();
1395
321
  else
1396
321
    mxPushSlot(mxArgv(0));
1397
656k
  match = the->stack;
1398
656k
  fxToString(the, match);
1399
656k
  if (mxArgc <= 1)
1400
656k
    mxPushUndefined();
1401
228
  else
1402
228
    mxPushSlot(mxArgv(1));
1403
656k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
3
    function = the->stack;
1405
3
    replace = C_NULL;
1406
3
  }
1407
656k
  else {   
1408
656k
    replace = the->stack;
1409
656k
    fxToString(the, replace);
1410
656k
    function = C_NULL;
1411
656k
  }
1412
656k
  size = mxStringLength(mxThis->value.string);
1413
656k
  matchLength = mxStringLength(match->value.string);
1414
656k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
656k
  if (string) {
1416
123
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
123
    txSize replaceLength;
1418
123
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
123
    replaceLength = mxStringLength(the->stack->value.string);
1420
123
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
123
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
123
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
123
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
123
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
123
    mxResult->kind = XS_STRING_KIND;
1426
123
    mxPop();
1427
123
  }
1428
656k
  else
1429
656k
    *mxResult = *mxThis;
1430
656k
  mxPop();
1431
656k
  mxPop();
1432
656k
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
507k
{
1436
507k
  txSlot* match;
1437
507k
  txSlot* function;
1438
507k
  txSlot* replace;
1439
507k
  txInteger size;
1440
507k
  txInteger matchLength;
1441
507k
  txInteger resultSize = 0;
1442
507k
  txSlot* list;
1443
507k
  txSlot* item;
1444
507k
  txInteger offset = 0;
1445
507k
  txBoolean flag = 0;
1446
1447
507k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
66
    return;
1449
507k
  fxToString(the, mxThis);
1450
507k
  if (mxArgc <= 0)
1451
10
    mxPushUndefined();
1452
507k
  else
1453
507k
    mxPushSlot(mxArgv(0));
1454
507k
  match = the->stack;
1455
507k
  fxToString(the, match);
1456
507k
  if (mxArgc <= 1)
1457
415k
    mxPushUndefined();
1458
92.1k
  else
1459
92.1k
    mxPushSlot(mxArgv(1));
1460
507k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
91.9k
    function = the->stack;
1462
91.9k
    replace = C_NULL;
1463
91.9k
  }
1464
415k
  else {   
1465
415k
    replace = the->stack;
1466
415k
    fxToString(the, replace);
1467
415k
    function = C_NULL;
1468
415k
  }
1469
507k
  size = mxStringLength(mxThis->value.string);
1470
507k
  matchLength = mxStringLength(match->value.string);
1471
  
1472
507k
  list = item = fxNewInstance(the);
1473
507k
  mxPushSlot(list);
1474
  
1475
507k
  if (!matchLength) {
1476
91.9k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
91.9k
    item = item->next = fxNewSlot(the);
1478
91.9k
    mxPullSlot(item);
1479
91.9k
    item->value.key.sum = mxStringLength(item->value.string);
1480
91.9k
    resultSize += item->value.key.sum;
1481
91.9k
    flag = 1;
1482
91.9k
  }
1483
1.65M
  while (offset < size) {
1484
1.15M
    txInteger current;
1485
1.15M
    if (!matchLength) {
1486
733k
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
733k
    }
1488
418k
    else {
1489
418k
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
418k
            if (string)
1491
2.45k
        current = mxPtrDiff(string - mxThis->value.string);
1492
415k
      else
1493
415k
        current = size;
1494
418k
    }
1495
1.15M
    if (offset < current) {
1496
1.14M
      txInteger length = current - offset;
1497
1.14M
      item = item->next = fxNewSlot(the);
1498
1.14M
      item->value.dataView.offset = offset;
1499
1.14M
      item->value.dataView.size = length;
1500
1.14M
      item->kind = XS_DATA_VIEW_KIND;
1501
1.14M
      resultSize += length;
1502
1.14M
    }
1503
1.15M
    if ((!matchLength) || (current < size)) {
1504
736k
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
736k
      item = item->next = fxNewSlot(the);
1506
736k
            mxPullSlot(item);
1507
736k
      item->value.key.sum = mxStringLength(item->value.string);
1508
736k
      resultSize += item->value.key.sum;
1509
736k
      flag = 1;
1510
736k
    }
1511
1.15M
    offset = current + matchLength;
1512
1.15M
  }    
1513
507k
  if (flag) {
1514
92.0k
    resultSize++;
1515
92.0k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
92.0k
    offset = 0;
1517
92.0k
    item = list->next;
1518
1.65M
    while (item) {
1519
1.56M
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
733k
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
733k
        offset += item->value.dataView.size;
1522
733k
      }
1523
827k
      else {
1524
827k
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
827k
        offset += item->value.key.sum;
1526
827k
      }
1527
1.56M
      item = item->next;
1528
1.56M
    }
1529
92.0k
    mxResult->value.string[offset] = 0;
1530
92.0k
    mxResult->kind = XS_STRING_KIND;
1531
92.0k
  }
1532
415k
  else {
1533
415k
    mxResult->value = mxThis->value;
1534
415k
    mxResult->kind = mxThis->kind;
1535
415k
  }
1536
  
1537
507k
  mxPop();
1538
  
1539
507k
  mxPop();
1540
507k
  mxPop();
1541
507k
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
828k
{
1545
828k
  if (function) {
1546
824k
    mxPushUndefined();
1547
824k
    mxPushSlot(function);
1548
824k
    mxCall();
1549
824k
    mxPushSlot(match);
1550
824k
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
824k
    mxPushSlot(mxThis);
1552
824k
    mxRunCount(3);
1553
824k
    fxToString(the, the->stack);
1554
824k
  }
1555
3.29k
  else
1556
3.29k
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
828k
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
1.82k
{
1561
1.82k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
8
    return;
1563
1.81k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
1.81k
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
19.4k
{
1568
19.4k
  txString string = fxCoerceToString(the, mxThis);
1569
19.4k
  txInteger length = fxCacheUnicodeLength(the, string);
1570
19.4k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
19.4k
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
19.4k
  if (start < end) {
1573
18.9k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
18.9k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
18.9k
    if ((offset >= 0) && (length > 0)) {
1576
18.9k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
18.9k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
18.9k
      mxResult->value.string[length] = 0;
1579
18.9k
      mxResult->kind = XS_STRING_KIND;
1580
18.9k
      return;
1581
18.9k
    }
1582
18.9k
  }
1583
494
  mxResult->value.string = mxEmptyString.value.string;
1584
494
  mxResult->kind = mxEmptyString.kind;
1585
494
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
874k
{
1589
874k
  txString aString;
1590
874k
  txInteger aLength;
1591
874k
  txIndex aLimit;
1592
874k
  txSlot* anArray;
1593
874k
  txSlot* anItem;
1594
874k
  txInteger anOffset;
1595
874k
  txInteger aCount;
1596
874k
  txString aSubString;
1597
874k
  txInteger aSubLength;
1598
874k
  txInteger aSubOffset;
1599
874k
  txInteger subOffsets[2];
1600
1601
874k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
84.5k
    return;
1603
789k
  aString = fxToString(the, mxThis);
1604
789k
  aLength = mxStringLength(aString);
1605
789k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
789k
  mxPush(mxArrayPrototype);
1607
789k
  anArray = fxNewArrayInstance(the);
1608
789k
  mxPullSlot(mxResult);
1609
789k
  fxGetInstance(the, mxResult);
1610
789k
  anItem = fxLastProperty(the, anArray);
1611
789k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
648
    if (!aLimit)
1613
53
      goto bail;
1614
595
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
595
    goto bail;
1616
648
  }
1617
788k
  aSubString = fxToString(the, mxArgv(0));
1618
788k
  aSubLength = mxStringLength(aSubString);
1619
788k
  if (!aLimit)
1620
1.25k
    goto bail;
1621
787k
  if (aSubLength == 0) {
1622
773k
    anOffset = 0;
1623
38.6M
    while (anOffset < aLength) {
1624
37.8M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
37.8M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
37.8M
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
37.8M
      anOffset = aSubOffset;
1629
37.8M
    }
1630
773k
  }
1631
14.6k
  else if (aLength == 0) {
1632
523
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
523
  }
1634
14.1k
  else {
1635
14.1k
    anOffset = 0;
1636
416k
    for (;;) {
1637
416k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
416k
      if (aCount <= 0)
1639
12.0k
        break;
1640
404k
      if (anOffset <= subOffsets[0]) {
1641
404k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
404k
        if (anArray->next->value.array.length >= aLimit)
1643
1.90k
          goto bail;
1644
404k
      }
1645
402k
      anOffset = subOffsets[1];
1646
402k
    }
1647
12.2k
    if (anOffset <= aLength)
1648
12.0k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
12.2k
  }
1650
789k
bail:
1651
789k
  fxCacheArray(the, anArray);
1652
789k
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
38.3M
{
1656
38.3M
  theStop -= theStart;
1657
38.3M
  theItem->next = fxNewSlot(the);
1658
38.3M
  theItem = theItem->next;
1659
38.3M
  theItem->next = C_NULL;
1660
38.3M
  if (theStart >= 0) {
1661
38.3M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
38.3M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
38.3M
    theItem->value.string[theStop] = 0;
1664
38.3M
    theItem->kind = XS_STRING_KIND;
1665
38.3M
  }
1666
38.3M
  theArray->next->value.array.length++;
1667
38.3M
  return theItem;
1668
38.3M
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
131
{
1672
131
  txString string = fxCoerceToString(the, mxThis);
1673
131
  txInteger length = fxCacheUnicodeLength(the, string);
1674
131
  txString searchString;
1675
131
  txInteger searchLength;
1676
131
  txInteger offset;
1677
131
  mxResult->kind = XS_BOOLEAN_KIND;
1678
131
  mxResult->value.boolean = 0;
1679
131
  if (mxArgc < 1)
1680
1
    return;
1681
130
  if (fxIsRegExp(the, mxArgv(0)))
1682
1
    mxTypeError("future editions");
1683
129
  searchString = fxToString(the, mxArgv(0));
1684
129
  offset = fxArgToPosition(the, 1, 0, length);
1685
129
  string = mxThis->value.string;
1686
129
  length = fxCacheUTF8Length(the, string);
1687
129
  searchString = mxArgv(0)->value.string;
1688
129
  searchLength = mxStringLength(searchString);
1689
129
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
129
  if (length - offset < searchLength)
1691
30
    return;
1692
99
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
99
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
50
    mxResult->value.boolean = 1;
1695
99
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
1.49M
{
1699
1.49M
  txString string = fxCoerceToString(the, mxThis);
1700
1.49M
  txInteger size = fxCacheUnicodeLength(the, string);
1701
1.49M
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
1.49M
  txInteger stop = size;
1703
1.49M
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
1.49M
    stop = start + fxToInteger(the, mxArgv(1));
1705
1.49M
    if (stop > size)
1706
1.21M
      stop = size;
1707
1.49M
  }  
1708
1.49M
  if (start < stop) {
1709
8.19k
    txInteger length;
1710
8.19k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
8.19k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
8.19k
    length = stop - start;
1713
8.19k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
8.19k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
8.19k
    mxResult->value.string[length] = 0;
1716
8.19k
    mxResult->kind = XS_STRING_KIND;
1717
8.19k
  }
1718
1.49M
  else {
1719
1.49M
    mxResult->value.string = mxEmptyString.value.string;
1720
1.49M
    mxResult->kind = mxEmptyString.kind;
1721
1.49M
  }
1722
1.49M
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
152k
{
1726
152k
  txString aString;
1727
152k
  txInteger aLength;
1728
152k
  txNumber aNumber;
1729
152k
  txInteger aStart;
1730
152k
  txInteger aStop;
1731
152k
  txInteger anOffset;
1732
1733
152k
  aString = fxCoerceToString(the, mxThis);
1734
152k
  aLength = fxCacheUnicodeLength(the, aString);
1735
152k
  aStart = 0;
1736
152k
  aStop = aLength;
1737
152k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
152k
    aNumber = fxToNumber(the, mxArgv(0));
1739
152k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
152k
  }
1741
152k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
70.8k
    aNumber = fxToNumber(the, mxArgv(1));
1743
70.8k
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
70.8k
  }
1745
152k
  if (aStart > aStop) {
1746
1
    aLength = aStart;
1747
1
    aStart = aStop;
1748
1
    aStop = aLength;
1749
1
  }
1750
152k
  if (aStart < aStop) {
1751
16
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
16
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
16
    if ((anOffset >= 0) && (aLength > 0)) {
1754
16
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
16
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
16
      mxResult->value.string[aLength] = 0;
1757
16
      mxResult->kind = XS_STRING_KIND;
1758
16
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
16
  }
1764
152k
  else {
1765
152k
    mxResult->value.string = mxEmptyString.value.string;
1766
152k
    mxResult->kind = mxEmptyString.kind;
1767
152k
  }
1768
152k
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
323
{
1772
323
  fxCoerceToString(the, mxThis);
1773
323
  fx_String_prototype_toCase(the, 0);
1774
323
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
507
{
1778
507
  fxCoerceToString(the, mxThis);
1779
507
  fx_String_prototype_toCase(the, 1);
1780
507
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
79
{
1784
79
  txString string = fxCoerceToString(the, mxThis);
1785
79
  txSize length = mxStringLength(string);
1786
79
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
79
  mxResult->kind = XS_STRING_KIND;
1788
79
  txString p = mxThis->value.string;
1789
79
  txString q = mxResult->value.string;
1790
1.54k
  while (c_read8(p)) {
1791
1.46k
    txInteger c;
1792
1.46k
    p = mxStringByteDecode(p, &c);
1793
1.46k
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
57
      c = 0x0000FFFD;
1795
1.46k
    q = mxStringByteEncode(q, c);
1796
1.46k
  }
1797
79
  *q = 0;
1798
79
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
32
{
1802
32
  fx_String_prototype_trimAux(the, 1, 1);
1803
32
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
56
{
1807
56
  txString string = fxCoerceToString(the, mxThis), start;
1808
56
  txInteger offset, length;
1809
56
  if (trimStart) {
1810
41
    start = fxSkipSpaces(string);
1811
41
    offset = mxPtrDiff(start - string);
1812
41
    mxMeterSome(offset);
1813
41
  }
1814
15
  else {
1815
15
    start = string;
1816
15
    offset = 0;
1817
15
  }
1818
56
  if (trimEnd) {
1819
38
    txString current = start;
1820
38
    txString end = current;
1821
662
    while (c_read8(current)) {
1822
624
      end = current + 1;
1823
624
      current = fxSkipSpaces(end);
1824
624
    }
1825
38
    length = mxPtrDiff(end - start);
1826
38
    mxMeterSome(length);
1827
38
  }
1828
18
  else
1829
18
    length = mxStringLength(start);
1830
56
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1831
56
  c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1832
56
  mxResult->value.string[length] = 0;
1833
56
  mxResult->kind = XS_STRING_KIND;
1834
56
}
1835
1836
void fx_String_prototype_trimEnd(txMachine* the)
1837
11
{
1838
11
  fx_String_prototype_trimAux(the, 0, 1);
1839
11
}
1840
1841
void fx_String_prototype_trimStart(txMachine* the)
1842
13
{
1843
13
  fx_String_prototype_trimAux(the, 1, 0);
1844
13
}
1845
1846
void fx_String_prototype_valueOf(txMachine* the)
1847
603k
{
1848
603k
  txSlot* slot = fxCheckString(the, mxThis);
1849
603k
  if (!slot) mxTypeError("this: not a string");
1850
603k
  mxResult->kind = slot->kind;
1851
603k
  mxResult->value = slot->value;
1852
603k
}
1853
1854
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1855
2.48M
{
1856
2.48M
  if (mxIsUndefined(mxThis))
1857
3.36k
    mxTypeError("this: undefined");
1858
2.48M
  if (mxIsNull(mxThis))
1859
1
    mxTypeError("this: null");
1860
2.48M
  if (mxArgc > 0) {
1861
1.82M
    txSlot* regexp = mxArgv(0);
1862
1.82M
    if (!mxIsUndefined(regexp) && !mxIsNull(regexp)) {
1863
1.82M
      if (global && fxIsRegExp(the, regexp)) {
1864
212
        mxPushSlot(regexp);
1865
212
        mxGetID(mxID(_flags));
1866
212
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1867
85
          mxTypeError("regexp has no g flag");
1868
127
        mxPop();
1869
127
      }
1870
1.82M
      mxPushSlot(regexp);
1871
1.82M
      mxPushSlot(regexp);
1872
1.82M
      mxGetID(id);
1873
1.82M
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1874
373k
        mxCall();
1875
373k
        mxPushSlot(mxThis);
1876
373k
        if (count > 1) {
1877
311k
          if (mxArgc > 1)
1878
227k
            mxPushSlot(mxArgv(1));
1879
84.2k
          else
1880
84.2k
            mxPushUndefined();
1881
311k
        }
1882
373k
        mxRunCount(count);
1883
373k
        mxPullSlot(mxResult);
1884
373k
        return 1;
1885
373k
      }
1886
1.44M
      mxPop();
1887
1.44M
      mxPop();
1888
1.44M
    }
1889
1.82M
  }
1890
2.11M
  return 0;
1891
2.48M
}
1892
1893
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1894
156k
{
1895
156k
  fxToString(the, mxThis);
1896
156k
  mxPush(mxRegExpPrototype);
1897
156k
  fxNewRegExpInstance(the);
1898
156k
  mxPush(mxInitializeRegExpFunction);
1899
156k
  mxCall();
1900
156k
  if (mxArgc > 0)
1901
155k
    mxPushSlot(mxArgv(0));
1902
1.33k
  else
1903
1.33k
    mxPushUndefined();
1904
156k
  if (global)
1905
3.22k
    mxPushStringX("g");
1906
153k
  else
1907
153k
    mxPushUndefined();
1908
156k
  mxRunCount(2);
1909
156k
  mxDub();
1910
156k
  mxGetID(id);
1911
156k
  mxCall();
1912
156k
  mxPushSlot(mxThis);
1913
156k
  if (count > 1) {
1914
0
    if (mxArgc > 1)
1915
0
      mxPushSlot(mxArgv(1));
1916
0
    else
1917
0
      mxPushUndefined();
1918
0
  }
1919
156k
  mxRunCount(count);
1920
156k
  mxPullSlot(mxResult);
1921
156k
}
1922
1923
txSlot* fxCheckString(txMachine* the, txSlot* it)
1924
603k
{
1925
603k
  txSlot* result = C_NULL;
1926
603k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1927
276
    result = it;
1928
602k
  else if (it->kind == XS_REFERENCE_KIND) {
1929
602k
    it = it->value.reference->next;
1930
602k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1931
602k
      result = it;
1932
602k
  }
1933
603k
  return result;
1934
603k
}
1935
1936
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1937
5.65M
{
1938
5.65M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1939
103k
    mxTypeError("this: undefined");
1940
5.55M
  if (theSlot->kind == XS_NULL_KIND)
1941
25
    mxTypeError("this: null");
1942
5.55M
  return fxToString(the, theSlot);
1943
5.55M
}
1944
1945
void fx_String_prototype_iterator(txMachine* the)
1946
883k
{
1947
883k
  txSlot* property;
1948
883k
  fxCoerceToString(the, mxThis);
1949
883k
  mxPush(mxStringIteratorPrototype);
1950
883k
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1951
883k
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1952
883k
  mxPullSlot(mxResult);
1953
883k
}
1954
1955
void fx_String_prototype_iterator_next(txMachine* the)
1956
24.4M
{
1957
24.4M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1958
24.4M
  txSlot* result = iterator->next;
1959
24.4M
  txSlot* iterable = result->next;
1960
24.4M
  txSlot* index = iterable->next;
1961
24.4M
  txSlot* length = index->next;
1962
24.4M
  txSlot* value = fxCheckIteratorResult(the, result);
1963
24.4M
  txSlot* done = value->next;
1964
24.4M
  if (index->value.integer < length->value.integer) {
1965
23.5M
    txInteger character, size;
1966
23.5M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1967
23.5M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1968
23.5M
    size = mxStringByteLength(character);
1969
23.5M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1970
23.5M
    string = mxStringByteEncode(value->value.string, character);
1971
23.5M
    *string = 0;
1972
23.5M
    value->kind = XS_STRING_KIND;
1973
23.5M
  }
1974
883k
  else {
1975
883k
    value->kind = XS_UNDEFINED_KIND;
1976
883k
    done->value.boolean = 1;
1977
883k
  }
1978
24.4M
  mxResult->kind = result->kind;
1979
24.4M
  mxResult->value = result->value;
1980
24.4M
}
1981
1982
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1983
2.70k
{
1984
2.70k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1985
257
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1986
257
    if (c_isnan(i))
1987
37
      i = 0;
1988
257
    if (i < 0)
1989
24
      index = 0;
1990
233
    else if (i > (txNumber)length)
1991
20
      index = length;
1992
213
    else
1993
213
      index = (txInteger)i;
1994
257
  }
1995
2.70k
  return index;
1996
2.70k
}
1997
1998
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
1999
4.59M
{
2000
4.59M
  txString r;
2001
4.59M
  txInteger m;
2002
4.59M
  txInteger l;
2003
4.59M
  txBoolean flag;
2004
4.59M
  txByte c, d;
2005
4.59M
  txInteger i, j;
2006
4.59M
  txSlot* capture;
2007
4.59M
  txString s;
2008
4.59M
  r = replace->value.string;
2009
4.59M
  m = 0;
2010
4.59M
  l = 0;
2011
4.59M
  flag = 0;
2012
417M
  while ((c = c_read8(r++))) {
2013
413M
    if (m <= l)
2014
413M
      m = l;
2015
1
    else
2016
1
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2017
413M
    if (c == '$') {
2018
368M
      c = c_read8(r++);
2019
368M
      switch (c) {
2020
154k
      case '$':
2021
154k
        l++;
2022
154k
        flag = 1;
2023
154k
        break;
2024
369
      case '&':
2025
369
        l += length;
2026
369
        flag = 1;
2027
369
        break;
2028
248
      case '`':
2029
248
        l += offset;
2030
248
        flag = 1;
2031
248
        break;
2032
2.70k
      case '\'':
2033
2.70k
        l += size - (offset + length);
2034
2.70k
        flag = 1;
2035
2.70k
        break;
2036
156k
      case '<':
2037
156k
        if (groups && mxIsReference(groups)) {
2038
2.12k
          txString t = r;
2039
33.6k
          while ((d = c_read8(r))) {
2040
33.0k
            if (d == '>')
2041
1.45k
              break;
2042
31.5k
            r++;
2043
31.5k
          }
2044
2.12k
          if (d) {
2045
1.45k
            txInteger n = mxPtrDiff(r - t);
2046
1.45k
            txID name;
2047
1.45k
            if (n > 255)
2048
1
              fxJump(the);
2049
1.45k
            c_memcpy(the->nameBuffer, t, n);
2050
1.45k
            the->nameBuffer[n] = 0;
2051
1.45k
            name = fxFindName(the, the->nameBuffer);
2052
1.45k
            if (name) {
2053
451
              mxPushSlot(groups);
2054
451
              mxGetID(name);
2055
451
              if (!mxIsUndefined(the->stack)) {
2056
153
                fxToString(the, the->stack);
2057
153
                l = fxAddChunkSizes(the, l, mxStringLength(the->stack->value.string));
2058
153
              }
2059
451
              mxPop();
2060
451
            }
2061
1.45k
            r++;
2062
1.45k
            flag = 1;
2063
1.45k
          }
2064
668
          else {
2065
668
            r = t;
2066
668
            l += 2;
2067
668
          }
2068
2.12k
        }
2069
154k
        else {
2070
154k
          l += 2;
2071
154k
        }
2072
156k
        break;
2073
368M
      default:
2074
368M
        if (('0' <= c) && (c <= '9')) {
2075
368M
          i = c - '0';
2076
368M
          d = c_read8(r);
2077
368M
          if (('0' <= d) && (d <= '9')) {
2078
16.3k
            j = (i * 10) + d - '0';
2079
16.3k
            if ((0 < j) && (j <= count)) {
2080
236
              i = j;
2081
236
              r++;
2082
236
            }
2083
16.0k
            else
2084
16.0k
              d = 0;
2085
16.3k
          }
2086
368M
          else
2087
368M
            d = 0;
2088
368M
          if ((0 < i) && (i <= count)) {
2089
46.0k
            capture = (captures + count - i);
2090
46.0k
            if (capture->kind != XS_UNDEFINED_KIND)
2091
45.7k
              l = fxAddChunkSizes(the, l, mxStringLength(capture->value.string));
2092
46.0k
            flag = 1;
2093
46.0k
          }
2094
367M
          else {
2095
367M
            l++;
2096
367M
            l++;
2097
367M
            if (d)
2098
0
              l++;
2099
367M
          }
2100
368M
        }
2101
70.0k
        else {
2102
70.0k
          l++;
2103
70.0k
          if (c)
2104
69.4k
            l++;
2105
70.0k
        }
2106
368M
        break;
2107
368M
      }
2108
368M
      if (!c)
2109
596
        break;
2110
368M
    }
2111
44.6M
    else
2112
44.6M
      l++;
2113
413M
  }
2114
4.59M
  if (m > l)
2115
1
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2116
4.59M
  if (flag) {
2117
156k
    mxPushUndefined();
2118
156k
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2119
156k
    the->stack->kind = XS_STRING_KIND;
2120
156k
    r = replace->value.string;
2121
156k
    s = the->stack->value.string;
2122
5.42M
    while ((c = c_read8(r++))) {
2123
5.27M
      if (c == '$') {
2124
335k
        c = c_read8(r++);
2125
335k
        switch (c) {
2126
154k
        case '$':
2127
154k
          *s++ = c;
2128
154k
          break;
2129
369
        case '&':
2130
369
          l = length;
2131
369
          c_memcpy(s, match->value.string, l);
2132
369
          s += l;
2133
369
          break;
2134
248
        case '`':
2135
248
          l = offset;
2136
248
          c_memcpy(s, string->value.string, l);
2137
248
          s += l;
2138
248
          break;
2139
2.70k
        case '\'':
2140
2.70k
          l = size - (offset + length);
2141
2.70k
                    if (l > 0) {
2142
2.69k
                        c_memcpy(s, string->value.string + offset + length, l);
2143
2.69k
                        s += l;
2144
2.69k
                    }
2145
2.70k
          break;
2146
156k
        case '<':
2147
156k
          if (groups && mxIsReference(groups)) {
2148
2.10k
            txString t = r;
2149
33.2k
            while ((d = c_read8(r))) {
2150
32.5k
              if (d == '>')
2151
1.45k
                break;
2152
31.1k
              r++;
2153
31.1k
            }
2154
2.10k
            if (d) {
2155
1.45k
              txInteger n = mxPtrDiff(r - t);
2156
1.45k
              txID name;
2157
1.45k
              if (n > 255)
2158
0
                fxJump(the);
2159
1.45k
              c_memcpy(the->nameBuffer, t, n);
2160
1.45k
              the->nameBuffer[n] = 0;
2161
1.45k
              name = fxFindName(the, the->nameBuffer);
2162
1.45k
              if (name) {
2163
451
                mxPushSlot(groups);
2164
451
                mxGetID(name);
2165
451
                if (!mxIsUndefined(the->stack)) {
2166
153
                  fxToString(the, the->stack);
2167
153
                  l = mxStringLength(the->stack->value.string);
2168
153
                  c_memcpy(s, the->stack->value.string, l);
2169
153
                  s += l;
2170
153
                }
2171
451
                mxPop();
2172
451
              }
2173
1.45k
              r++;
2174
1.45k
            }
2175
650
            else {
2176
650
              r = t;
2177
650
              *s++ = '$';
2178
650
              *s++ = '<';
2179
650
            }
2180
2.10k
          }
2181
154k
          else {
2182
154k
            *s++ = '$';
2183
154k
            *s++ = '<';
2184
154k
          }
2185
156k
          break;
2186
156k
        default:
2187
20.5k
          if (('0' <= c) && (c <= '9')) {
2188
17.1k
            i = c - '0';
2189
17.1k
            d = c_read8(r);
2190
17.1k
            if (('0' <= d) && (d <= '9')) {
2191
15.4k
              j = (i * 10) + d - '0';
2192
15.4k
              if ((0 < j) && (j <= count)) {
2193
236
                i = j;
2194
236
                r++;
2195
236
              }
2196
15.2k
              else
2197
15.2k
                d = 0;
2198
15.4k
            }
2199
1.72k
            else
2200
1.72k
              d = 0;
2201
17.1k
            if ((0 < i) && (i <= count)) {
2202
13.2k
              capture = (captures + count - i);
2203
13.2k
              if (capture->kind != XS_UNDEFINED_KIND) {
2204
12.9k
                l = mxStringLength(capture->value.string);
2205
12.9k
                c_memcpy(s, capture->value.string, l);
2206
12.9k
                s += l;
2207
12.9k
              }
2208
13.2k
            }
2209
3.91k
            else {
2210
3.91k
              *s++ = '$';
2211
3.91k
              *s++ = c;
2212
3.91k
              if (d)
2213
0
                *s++ = d;
2214
3.91k
            }
2215
17.1k
          }
2216
3.35k
          else {
2217
3.35k
            *s++ = '$';
2218
3.35k
            if (c)
2219
2.88k
              *s++ = c;
2220
3.35k
          }
2221
20.5k
          break;
2222
335k
        }
2223
335k
        if (!c)
2224
472
          break;
2225
335k
      }
2226
4.93M
      else
2227
4.93M
        *s++ = c;
2228
5.27M
    }
2229
156k
    *s = 0;
2230
156k
  }
2231
4.43M
  else
2232
4.43M
    mxPushSlot(replace);
2233
4.59M
}
2234
2235
#ifdef mxStringNormalize
2236
2237
typedef struct {
2238
  txSlot* slot;
2239
  txInteger* address;
2240
  txInteger count;
2241
  txInteger starterIndex;
2242
} txNormalizeBuffer;
2243
2244
typedef struct {
2245
  txU2 code;
2246
  txU1 count;
2247
  txU1 order;
2248
} txCombination;
2249
2250
77.3M
#define mxCombinationCount0 295
2251
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2252
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2253
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2254
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2255
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2256
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2257
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2258
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2259
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2260
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2261
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2262
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2263
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2264
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2265
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2266
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2267
  {0x0898,1,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2268
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2269
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2270
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2271
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2272
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2273
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2274
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2275
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2276
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2277
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2278
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,4,230},{0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},
2279
  {0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},{0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},
2280
  {0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},{0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},
2281
  {0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},{0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},
2282
  {0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},{0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},
2283
  {0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},{0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},
2284
  {0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},{0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},
2285
  {0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},{0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},
2286
  {0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},{0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},
2287
  {0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},{0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},
2288
  {0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},{0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2289
};
2290
4.65k
#define mxCombinationCount1 87
2291
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2292
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2293
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0EAB,2,230},{0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},
2294
  {0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},{0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},
2295
  {0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},{0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},
2296
  {0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},{0x134D,1,9},{0x1366,7,230},{0x1370,5,230},
2297
  {0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},{0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},
2298
  {0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},{0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},
2299
  {0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},{0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x6AF0,5,1},
2300
  {0x6B30,7,230},{0x6FF0,2,6},{0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},
2301
  {0xD185,5,230},{0xD18A,2,220},{0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},
2302
  {0xE026,5,230},{0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2303
};
2304
#define mxCompositionSize0 1856
2305
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2306
  0x0041,0x00C0,0x0045,0x00C8,0x0049,0x00CC,0x004E,0x01F8,0x004F,0x00D2,0x0055,0x00D9,0x0057,0x1E80,0x0059,0x1EF2,0x0061,0x00E0,0x0065,0x00E8,0x0069,0x00EC,0x006E,0x01F9,0x006F,0x00F2,0x0075,0x00F9,0x0077,0x1E81,0x0079,0x1EF3,
2307
  0x00A8,0x1FED,0x00C2,0x1EA6,0x00CA,0x1EC0,0x00D4,0x1ED2,0x00DC,0x01DB,0x00E2,0x1EA7,0x00EA,0x1EC1,0x00F4,0x1ED3,0x00FC,0x01DC,0x0102,0x1EB0,0x0103,0x1EB1,0x0112,0x1E14,0x0113,0x1E15,0x014C,0x1E50,0x014D,0x1E51,0x01A0,0x1EDC,
2308
  0x01A1,0x1EDD,0x01AF,0x1EEA,0x01B0,0x1EEB,0x0391,0x1FBA,0x0395,0x1FC8,0x0397,0x1FCA,0x0399,0x1FDA,0x039F,0x1FF8,0x03A5,0x1FEA,0x03A9,0x1FFA,0x03B1,0x1F70,0x03B5,0x1F72,0x03B7,0x1F74,0x03B9,0x1F76,0x03BF,0x1F78,0x03C5,0x1F7A,
2309
  0x03C9,0x1F7C,0x03CA,0x1FD2,0x03CB,0x1FE2,0x0415,0x0400,0x0418,0x040D,0x0435,0x0450,0x0438,0x045D,0x1F00,0x1F02,0x1F01,0x1F03,0x1F08,0x1F0A,0x1F09,0x1F0B,0x1F10,0x1F12,0x1F11,0x1F13,0x1F18,0x1F1A,0x1F19,0x1F1B,0x1F20,0x1F22,
2310
  0x1F21,0x1F23,0x1F28,0x1F2A,0x1F29,0x1F2B,0x1F30,0x1F32,0x1F31,0x1F33,0x1F38,0x1F3A,0x1F39,0x1F3B,0x1F40,0x1F42,0x1F41,0x1F43,0x1F48,0x1F4A,0x1F49,0x1F4B,0x1F50,0x1F52,0x1F51,0x1F53,0x1F59,0x1F5B,0x1F60,0x1F62,0x1F61,0x1F63,
2311
  0x1F68,0x1F6A,0x1F69,0x1F6B,0x1FBF,0x1FCD,0x1FFE,0x1FDD,0x0041,0x00C1,0x0043,0x0106,0x0045,0x00C9,0x0047,0x01F4,0x0049,0x00CD,0x004B,0x1E30,0x004C,0x0139,0x004D,0x1E3E,0x004E,0x0143,0x004F,0x00D3,0x0050,0x1E54,0x0052,0x0154,
2312
  0x0053,0x015A,0x0055,0x00DA,0x0057,0x1E82,0x0059,0x00DD,0x005A,0x0179,0x0061,0x00E1,0x0063,0x0107,0x0065,0x00E9,0x0067,0x01F5,0x0069,0x00ED,0x006B,0x1E31,0x006C,0x013A,0x006D,0x1E3F,0x006E,0x0144,0x006F,0x00F3,0x0070,0x1E55,
2313
  0x0072,0x0155,0x0073,0x015B,0x0075,0x00FA,0x0077,0x1E83,0x0079,0x00FD,0x007A,0x017A,0x00A8,0x0385,0x00C2,0x1EA4,0x00C5,0x01FA,0x00C6,0x01FC,0x00C7,0x1E08,0x00CA,0x1EBE,0x00CF,0x1E2E,0x00D4,0x1ED0,0x00D5,0x1E4C,0x00D8,0x01FE,
2314
  0x00DC,0x01D7,0x00E2,0x1EA5,0x00E5,0x01FB,0x00E6,0x01FD,0x00E7,0x1E09,0x00EA,0x1EBF,0x00EF,0x1E2F,0x00F4,0x1ED1,0x00F5,0x1E4D,0x00F8,0x01FF,0x00FC,0x01D8,0x0102,0x1EAE,0x0103,0x1EAF,0x0112,0x1E16,0x0113,0x1E17,0x014C,0x1E52,
2315
  0x014D,0x1E53,0x0168,0x1E78,0x0169,0x1E79,0x01A0,0x1EDA,0x01A1,0x1EDB,0x01AF,0x1EE8,0x01B0,0x1EE9,0x0391,0x0386,0x0395,0x0388,0x0397,0x0389,0x0399,0x038A,0x039F,0x038C,0x03A5,0x038E,0x03A9,0x038F,0x03B1,0x03AC,0x03B5,0x03AD,
2316
  0x03B7,0x03AE,0x03B9,0x03AF,0x03BF,0x03CC,0x03C5,0x03CD,0x03C9,0x03CE,0x03CA,0x0390,0x03CB,0x03B0,0x03D2,0x03D3,0x0413,0x0403,0x041A,0x040C,0x0433,0x0453,0x043A,0x045C,0x1F00,0x1F04,0x1F01,0x1F05,0x1F08,0x1F0C,0x1F09,0x1F0D,
2317
  0x1F10,0x1F14,0x1F11,0x1F15,0x1F18,0x1F1C,0x1F19,0x1F1D,0x1F20,0x1F24,0x1F21,0x1F25,0x1F28,0x1F2C,0x1F29,0x1F2D,0x1F30,0x1F34,0x1F31,0x1F35,0x1F38,0x1F3C,0x1F39,0x1F3D,0x1F40,0x1F44,0x1F41,0x1F45,0x1F48,0x1F4C,0x1F49,0x1F4D,
2318
  0x1F50,0x1F54,0x1F51,0x1F55,0x1F59,0x1F5D,0x1F60,0x1F64,0x1F61,0x1F65,0x1F68,0x1F6C,0x1F69,0x1F6D,0x1FBF,0x1FCE,0x1FFE,0x1FDE,0x0041,0x00C2,0x0043,0x0108,0x0045,0x00CA,0x0047,0x011C,0x0048,0x0124,0x0049,0x00CE,0x004A,0x0134,
2319
  0x004F,0x00D4,0x0053,0x015C,0x0055,0x00DB,0x0057,0x0174,0x0059,0x0176,0x005A,0x1E90,0x0061,0x00E2,0x0063,0x0109,0x0065,0x00EA,0x0067,0x011D,0x0068,0x0125,0x0069,0x00EE,0x006A,0x0135,0x006F,0x00F4,0x0073,0x015D,0x0075,0x00FB,
2320
  0x0077,0x0175,0x0079,0x0177,0x007A,0x1E91,0x1EA0,0x1EAC,0x1EA1,0x1EAD,0x1EB8,0x1EC6,0x1EB9,0x1EC7,0x1ECC,0x1ED8,0x1ECD,0x1ED9,0x0041,0x00C3,0x0045,0x1EBC,0x0049,0x0128,0x004E,0x00D1,0x004F,0x00D5,0x0055,0x0168,0x0056,0x1E7C,
2321
  0x0059,0x1EF8,0x0061,0x00E3,0x0065,0x1EBD,0x0069,0x0129,0x006E,0x00F1,0x006F,0x00F5,0x0075,0x0169,0x0076,0x1E7D,0x0079,0x1EF9,0x00C2,0x1EAA,0x00CA,0x1EC4,0x00D4,0x1ED6,0x00E2,0x1EAB,0x00EA,0x1EC5,0x00F4,0x1ED7,0x0102,0x1EB4,
2322
  0x0103,0x1EB5,0x01A0,0x1EE0,0x01A1,0x1EE1,0x01AF,0x1EEE,0x01B0,0x1EEF,0x0041,0x0100,0x0045,0x0112,0x0047,0x1E20,0x0049,0x012A,0x004F,0x014C,0x0055,0x016A,0x0059,0x0232,0x0061,0x0101,0x0065,0x0113,0x0067,0x1E21,0x0069,0x012B,
2323
  0x006F,0x014D,0x0075,0x016B,0x0079,0x0233,0x00C4,0x01DE,0x00C6,0x01E2,0x00D5,0x022C,0x00D6,0x022A,0x00DC,0x01D5,0x00E4,0x01DF,0x00E6,0x01E3,0x00F5,0x022D,0x00F6,0x022B,0x00FC,0x01D6,0x01EA,0x01EC,0x01EB,0x01ED,0x0226,0x01E0,
2324
  0x0227,0x01E1,0x022E,0x0230,0x022F,0x0231,0x0391,0x1FB9,0x0399,0x1FD9,0x03A5,0x1FE9,0x03B1,0x1FB1,0x03B9,0x1FD1,0x03C5,0x1FE1,0x0418,0x04E2,0x0423,0x04EE,0x0438,0x04E3,0x0443,0x04EF,0x1E36,0x1E38,0x1E37,0x1E39,0x1E5A,0x1E5C,
2325
  0x1E5B,0x1E5D,0x0041,0x0102,0x0045,0x0114,0x0047,0x011E,0x0049,0x012C,0x004F,0x014E,0x0055,0x016C,0x0061,0x0103,0x0065,0x0115,0x0067,0x011F,0x0069,0x012D,0x006F,0x014F,0x0075,0x016D,0x0228,0x1E1C,0x0229,0x1E1D,0x0391,0x1FB8,
2326
  0x0399,0x1FD8,0x03A5,0x1FE8,0x03B1,0x1FB0,0x03B9,0x1FD0,0x03C5,0x1FE0,0x0410,0x04D0,0x0415,0x04D6,0x0416,0x04C1,0x0418,0x0419,0x0423,0x040E,0x0430,0x04D1,0x0435,0x04D7,0x0436,0x04C2,0x0438,0x0439,0x0443,0x045E,0x1EA0,0x1EB6,
2327
  0x1EA1,0x1EB7,0x0041,0x0226,0x0042,0x1E02,0x0043,0x010A,0x0044,0x1E0A,0x0045,0x0116,0x0046,0x1E1E,0x0047,0x0120,0x0048,0x1E22,0x0049,0x0130,0x004D,0x1E40,0x004E,0x1E44,0x004F,0x022E,0x0050,0x1E56,0x0052,0x1E58,0x0053,0x1E60,
2328
  0x0054,0x1E6A,0x0057,0x1E86,0x0058,0x1E8A,0x0059,0x1E8E,0x005A,0x017B,0x0061,0x0227,0x0062,0x1E03,0x0063,0x010B,0x0064,0x1E0B,0x0065,0x0117,0x0066,0x1E1F,0x0067,0x0121,0x0068,0x1E23,0x006D,0x1E41,0x006E,0x1E45,0x006F,0x022F,
2329
  0x0070,0x1E57,0x0072,0x1E59,0x0073,0x1E61,0x0074,0x1E6B,0x0077,0x1E87,0x0078,0x1E8B,0x0079,0x1E8F,0x007A,0x017C,0x015A,0x1E64,0x015B,0x1E65,0x0160,0x1E66,0x0161,0x1E67,0x017F,0x1E9B,0x1E62,0x1E68,0x1E63,0x1E69,0x0041,0x00C4,
2330
  0x0045,0x00CB,0x0048,0x1E26,0x0049,0x00CF,0x004F,0x00D6,0x0055,0x00DC,0x0057,0x1E84,0x0058,0x1E8C,0x0059,0x0178,0x0061,0x00E4,0x0065,0x00EB,0x0068,0x1E27,0x0069,0x00EF,0x006F,0x00F6,0x0074,0x1E97,0x0075,0x00FC,0x0077,0x1E85,
2331
  0x0078,0x1E8D,0x0079,0x00FF,0x00D5,0x1E4E,0x00F5,0x1E4F,0x016A,0x1E7A,0x016B,0x1E7B,0x0399,0x03AA,0x03A5,0x03AB,0x03B9,0x03CA,0x03C5,0x03CB,0x03D2,0x03D4,0x0406,0x0407,0x0410,0x04D2,0x0415,0x0401,0x0416,0x04DC,0x0417,0x04DE,
2332
  0x0418,0x04E4,0x041E,0x04E6,0x0423,0x04F0,0x0427,0x04F4,0x042B,0x04F8,0x042D,0x04EC,0x0430,0x04D3,0x0435,0x0451,0x0436,0x04DD,0x0437,0x04DF,0x0438,0x04E5,0x043E,0x04E7,0x0443,0x04F1,0x0447,0x04F5,0x044B,0x04F9,0x044D,0x04ED,
2333
  0x0456,0x0457,0x04D8,0x04DA,0x04D9,0x04DB,0x04E8,0x04EA,0x04E9,0x04EB,0x0041,0x1EA2,0x0045,0x1EBA,0x0049,0x1EC8,0x004F,0x1ECE,0x0055,0x1EE6,0x0059,0x1EF6,0x0061,0x1EA3,0x0065,0x1EBB,0x0069,0x1EC9,0x006F,0x1ECF,0x0075,0x1EE7,
2334
  0x0079,0x1EF7,0x00C2,0x1EA8,0x00CA,0x1EC2,0x00D4,0x1ED4,0x00E2,0x1EA9,0x00EA,0x1EC3,0x00F4,0x1ED5,0x0102,0x1EB2,0x0103,0x1EB3,0x01A0,0x1EDE,0x01A1,0x1EDF,0x01AF,0x1EEC,0x01B0,0x1EED,0x0041,0x00C5,0x0055,0x016E,0x0061,0x00E5,
2335
  0x0075,0x016F,0x0077,0x1E98,0x0079,0x1E99,0x004F,0x0150,0x0055,0x0170,0x006F,0x0151,0x0075,0x0171,0x0423,0x04F2,0x0443,0x04F3,0x0041,0x01CD,0x0043,0x010C,0x0044,0x010E,0x0045,0x011A,0x0047,0x01E6,0x0048,0x021E,0x0049,0x01CF,
2336
  0x004B,0x01E8,0x004C,0x013D,0x004E,0x0147,0x004F,0x01D1,0x0052,0x0158,0x0053,0x0160,0x0054,0x0164,0x0055,0x01D3,0x005A,0x017D,0x0061,0x01CE,0x0063,0x010D,0x0064,0x010F,0x0065,0x011B,0x0067,0x01E7,0x0068,0x021F,0x0069,0x01D0,
2337
  0x006A,0x01F0,0x006B,0x01E9,0x006C,0x013E,0x006E,0x0148,0x006F,0x01D2,0x0072,0x0159,0x0073,0x0161,0x0074,0x0165,0x0075,0x01D4,0x007A,0x017E,0x00DC,0x01D9,0x00FC,0x01DA,0x01B7,0x01EE,0x0292,0x01EF,0x0041,0x0200,0x0045,0x0204,
2338
  0x0049,0x0208,0x004F,0x020C,0x0052,0x0210,0x0055,0x0214,0x0061,0x0201,0x0065,0x0205,0x0069,0x0209,0x006F,0x020D,0x0072,0x0211,0x0075,0x0215,0x0474,0x0476,0x0475,0x0477,0x0041,0x0202,0x0045,0x0206,0x0049,0x020A,0x004F,0x020E,
2339
  0x0052,0x0212,0x0055,0x0216,0x0061,0x0203,0x0065,0x0207,0x0069,0x020B,0x006F,0x020F,0x0072,0x0213,0x0075,0x0217,0x0391,0x1F08,0x0395,0x1F18,0x0397,0x1F28,0x0399,0x1F38,0x039F,0x1F48,0x03A9,0x1F68,0x03B1,0x1F00,0x03B5,0x1F10,
2340
  0x03B7,0x1F20,0x03B9,0x1F30,0x03BF,0x1F40,0x03C1,0x1FE4,0x03C5,0x1F50,0x03C9,0x1F60,0x0391,0x1F09,0x0395,0x1F19,0x0397,0x1F29,0x0399,0x1F39,0x039F,0x1F49,0x03A1,0x1FEC,0x03A5,0x1F59,0x03A9,0x1F69,0x03B1,0x1F01,0x03B5,0x1F11,
2341
  0x03B7,0x1F21,0x03B9,0x1F31,0x03BF,0x1F41,0x03C1,0x1FE5,0x03C5,0x1F51,0x03C9,0x1F61,0x004F,0x01A0,0x0055,0x01AF,0x006F,0x01A1,0x0075,0x01B0,0x0041,0x1EA0,0x0042,0x1E04,0x0044,0x1E0C,0x0045,0x1EB8,0x0048,0x1E24,0x0049,0x1ECA,
2342
  0x004B,0x1E32,0x004C,0x1E36,0x004D,0x1E42,0x004E,0x1E46,0x004F,0x1ECC,0x0052,0x1E5A,0x0053,0x1E62,0x0054,0x1E6C,0x0055,0x1EE4,0x0056,0x1E7E,0x0057,0x1E88,0x0059,0x1EF4,0x005A,0x1E92,0x0061,0x1EA1,0x0062,0x1E05,0x0064,0x1E0D,
2343
  0x0065,0x1EB9,0x0068,0x1E25,0x0069,0x1ECB,0x006B,0x1E33,0x006C,0x1E37,0x006D,0x1E43,0x006E,0x1E47,0x006F,0x1ECD,0x0072,0x1E5B,0x0073,0x1E63,0x0074,0x1E6D,0x0075,0x1EE5,0x0076,0x1E7F,0x0077,0x1E89,0x0079,0x1EF5,0x007A,0x1E93,
2344
  0x01A0,0x1EE2,0x01A1,0x1EE3,0x01AF,0x1EF0,0x01B0,0x1EF1,0x0055,0x1E72,0x0075,0x1E73,0x0041,0x1E00,0x0061,0x1E01,0x0053,0x0218,0x0054,0x021A,0x0073,0x0219,0x0074,0x021B,0x0043,0x00C7,0x0044,0x1E10,0x0045,0x0228,0x0047,0x0122,
2345
  0x0048,0x1E28,0x004B,0x0136,0x004C,0x013B,0x004E,0x0145,0x0052,0x0156,0x0053,0x015E,0x0054,0x0162,0x0063,0x00E7,0x0064,0x1E11,0x0065,0x0229,0x0067,0x0123,0x0068,0x1E29,0x006B,0x0137,0x006C,0x013C,0x006E,0x0146,0x0072,0x0157,
2346
  0x0073,0x015F,0x0074,0x0163,0x0041,0x0104,0x0045,0x0118,0x0049,0x012E,0x004F,0x01EA,0x0055,0x0172,0x0061,0x0105,0x0065,0x0119,0x0069,0x012F,0x006F,0x01EB,0x0075,0x0173,0x0044,0x1E12,0x0045,0x1E18,0x004C,0x1E3C,0x004E,0x1E4A,
2347
  0x0054,0x1E70,0x0055,0x1E76,0x0064,0x1E13,0x0065,0x1E19,0x006C,0x1E3D,0x006E,0x1E4B,0x0074,0x1E71,0x0075,0x1E77,0x0048,0x1E2A,0x0068,0x1E2B,0x0045,0x1E1A,0x0049,0x1E2C,0x0055,0x1E74,0x0065,0x1E1B,0x0069,0x1E2D,0x0075,0x1E75,
2348
  0x0042,0x1E06,0x0044,0x1E0E,0x004B,0x1E34,0x004C,0x1E3A,0x004E,0x1E48,0x0052,0x1E5E,0x0054,0x1E6E,0x005A,0x1E94,0x0062,0x1E07,0x0064,0x1E0F,0x0068,0x1E96,0x006B,0x1E35,0x006C,0x1E3B,0x006E,0x1E49,0x0072,0x1E5F,0x0074,0x1E6F,
2349
  0x007A,0x1E95,0x003C,0x226E,0x003D,0x2260,0x003E,0x226F,0x2190,0x219A,0x2192,0x219B,0x2194,0x21AE,0x21D0,0x21CD,0x21D2,0x21CF,0x21D4,0x21CE,0x2203,0x2204,0x2208,0x2209,0x220B,0x220C,0x2223,0x2224,0x2225,0x2226,0x223C,0x2241,
2350
  0x2243,0x2244,0x2245,0x2247,0x2248,0x2249,0x224D,0x226D,0x2261,0x2262,0x2264,0x2270,0x2265,0x2271,0x2272,0x2274,0x2273,0x2275,0x2276,0x2278,0x2277,0x2279,0x227A,0x2280,0x227B,0x2281,0x227C,0x22E0,0x227D,0x22E1,0x2282,0x2284,
2351
  0x2283,0x2285,0x2286,0x2288,0x2287,0x2289,0x2291,0x22E2,0x2292,0x22E3,0x22A2,0x22AC,0x22A8,0x22AD,0x22A9,0x22AE,0x22AB,0x22AF,0x22B2,0x22EA,0x22B3,0x22EB,0x22B4,0x22EC,0x22B5,0x22ED,0x00A8,0x1FC1,0x03B1,0x1FB6,0x03B7,0x1FC6,
2352
  0x03B9,0x1FD6,0x03C5,0x1FE6,0x03C9,0x1FF6,0x03CA,0x1FD7,0x03CB,0x1FE7,0x1F00,0x1F06,0x1F01,0x1F07,0x1F08,0x1F0E,0x1F09,0x1F0F,0x1F20,0x1F26,0x1F21,0x1F27,0x1F28,0x1F2E,0x1F29,0x1F2F,0x1F30,0x1F36,0x1F31,0x1F37,0x1F38,0x1F3E,
2353
  0x1F39,0x1F3F,0x1F50,0x1F56,0x1F51,0x1F57,0x1F59,0x1F5F,0x1F60,0x1F66,0x1F61,0x1F67,0x1F68,0x1F6E,0x1F69,0x1F6F,0x1FBF,0x1FCF,0x1FFE,0x1FDF,0x0391,0x1FBC,0x0397,0x1FCC,0x03A9,0x1FFC,0x03AC,0x1FB4,0x03AE,0x1FC4,0x03B1,0x1FB3,
2354
  0x03B7,0x1FC3,0x03C9,0x1FF3,0x03CE,0x1FF4,0x1F00,0x1F80,0x1F01,0x1F81,0x1F02,0x1F82,0x1F03,0x1F83,0x1F04,0x1F84,0x1F05,0x1F85,0x1F06,0x1F86,0x1F07,0x1F87,0x1F08,0x1F88,0x1F09,0x1F89,0x1F0A,0x1F8A,0x1F0B,0x1F8B,0x1F0C,0x1F8C,
2355
  0x1F0D,0x1F8D,0x1F0E,0x1F8E,0x1F0F,0x1F8F,0x1F20,0x1F90,0x1F21,0x1F91,0x1F22,0x1F92,0x1F23,0x1F93,0x1F24,0x1F94,0x1F25,0x1F95,0x1F26,0x1F96,0x1F27,0x1F97,0x1F28,0x1F98,0x1F29,0x1F99,0x1F2A,0x1F9A,0x1F2B,0x1F9B,0x1F2C,0x1F9C,
2356
  0x1F2D,0x1F9D,0x1F2E,0x1F9E,0x1F2F,0x1F9F,0x1F60,0x1FA0,0x1F61,0x1FA1,0x1F62,0x1FA2,0x1F63,0x1FA3,0x1F64,0x1FA4,0x1F65,0x1FA5,0x1F66,0x1FA6,0x1F67,0x1FA7,0x1F68,0x1FA8,0x1F69,0x1FA9,0x1F6A,0x1FAA,0x1F6B,0x1FAB,0x1F6C,0x1FAC,
2357
  0x1F6D,0x1FAD,0x1F6E,0x1FAE,0x1F6F,0x1FAF,0x1F70,0x1FB2,0x1F74,0x1FC2,0x1F7C,0x1FF2,0x1FB6,0x1FB7,0x1FC6,0x1FC7,0x1FF6,0x1FF7,0x0627,0x0622,0x0627,0x0623,0x0648,0x0624,0x064A,0x0626,0x06C1,0x06C2,0x06D2,0x06D3,0x06D5,0x06C0,
2358
  0x0627,0x0625,0x0928,0x0929,0x0930,0x0931,0x0933,0x0934,0x09C7,0x09CB,0x09C7,0x09CC,0x0B47,0x0B4B,0x0B47,0x0B48,0x0B47,0x0B4C,0x0BC6,0x0BCA,0x0BC7,0x0BCB,0x0B92,0x0B94,0x0BC6,0x0BCC,0x0C46,0x0C48,0x0CC6,0x0CCA,0x0CBF,0x0CC0,
2359
  0x0CC6,0x0CC7,0x0CCA,0x0CCB,0x0CC6,0x0CC8,0x0D46,0x0D4A,0x0D47,0x0D4B,0x0D46,0x0D4C,0x0DD9,0x0DDA,0x0DDC,0x0DDD,0x0DD9,0x0DDC,0x0DD9,0x0DDE,0x1025,0x1026,0x1B05,0x1B06,0x1B07,0x1B08,0x1B09,0x1B0A,0x1B0B,0x1B0C,0x1B0D,0x1B0E,
2360
  0x1B11,0x1B12,0x1B3A,0x1B3B,0x1B3C,0x1B3D,0x1B3E,0x1B40,0x1B3F,0x1B41,0x1B42,0x1B43,0x3046,0x3094,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,0x3059,0x305A,0x305B,0x305C,
2361
  0x305D,0x305E,0x305F,0x3060,0x3061,0x3062,0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,0x306F,0x3070,0x3072,0x3073,0x3075,0x3076,0x3078,0x3079,0x307B,0x307C,0x309D,0x309E,0x30A6,0x30F4,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
2362
  0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,0x30C1,0x30C2,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,0x30C9,0x30CF,0x30D0,0x30D2,0x30D3,0x30D5,0x30D6,0x30D8,0x30D9,
2363
  0x30DB,0x30DC,0x30EF,0x30F7,0x30F0,0x30F8,0x30F1,0x30F9,0x30F2,0x30FA,0x30FD,0x30FE,0x306F,0x3071,0x3072,0x3074,0x3075,0x3077,0x3078,0x307A,0x307B,0x307D,0x30CF,0x30D1,0x30D2,0x30D4,0x30D5,0x30D7,0x30D8,0x30DA,0x30DB,0x30DD,
2364
};
2365
70.5M
#define mxCompositionCount0 110
2366
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2367
  0x0300,0,0x0301,84,0x0302,201,0x0303,233,0x0304,261,0x0306,305,0x0307,337,0x0308,383,0x0309,437,0x030A,461,0x030B,467,0x030C,473,0x030F,510,0x0311,524,0x0313,536,0x0314,550,
2368
  0x031B,566,0x0323,570,0x0324,612,0x0325,614,0x0326,616,0x0327,620,0x0328,642,0x032D,652,0x032E,664,0x0330,666,0x0331,672,0x0338,689,0x0342,733,0x0345,762,0x0653,825,0x0654,826,
2369
  0x0655,832,0x093C,833,0x09BE,836,0x09D7,837,0x0B3E,838,0x0B56,839,0x0B57,840,0x0BBE,841,0x0BD7,843,0x0C56,845,0x0CC2,846,0x0CD5,847,0x0CD6,850,0x0D3E,851,0x0D57,853,0x0DCA,854,
2370
  0x0DCF,856,0x0DDF,857,0x102E,858,0x1B35,859,0x3099,870,0x309A,918,0xFFFF,928,
2371
};
2372
#define mxCompositionSize1 26
2373
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2374
  0x1099,0x109A,0x109B,0x109C,0x10A5,0x10AB,0x1131,0x112E,0x1132,0x112F,0x1347,0x134B,0x1347,0x134C,0x14B9,0x14BC,0x14B9,0x14BB,0x14B9,0x14BE,0x15B8,0x15BA,0x15B9,0x15BB,0x1935,0x1938,
2375
};
2376
3.64k
#define mxCompositionCount1 20
2377
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2378
  0x10BA,0,0x1127,3,0x133E,5,0x1357,6,0x14B0,7,0x14BA,8,0x14BD,9,0x15AF,10,0x1930,12,0xFFFF,13,
2379
};
2380
#define mxDecompositionSize0 13558
2381
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2382
  0x20,0x20,0xcc,0x88,0x61,0x20,0xcc,0x84,0x32,0x33,0x20,0xcc,0x81,0xce,0xbc,0x20,0xcc,0xa7,0x31,0x6f,0x31,0xe2,0x81,0x84,0x34,0x31,0xe2,0x81,0x84,0x32,0x33,0xe2,
2383
  0x81,0x84,0x34,0x41,0xcc,0x80,0x41,0xcc,0x81,0x41,0xcc,0x82,0x41,0xcc,0x83,0x41,0xcc,0x88,0x41,0xcc,0x8a,0x43,0xcc,0xa7,0x45,0xcc,0x80,0x45,0xcc,0x81,0x45,0xcc,
2384
  0x82,0x45,0xcc,0x88,0x49,0xcc,0x80,0x49,0xcc,0x81,0x49,0xcc,0x82,0x49,0xcc,0x88,0x4e,0xcc,0x83,0x4f,0xcc,0x80,0x4f,0xcc,0x81,0x4f,0xcc,0x82,0x4f,0xcc,0x83,0x4f,
2385
  0xcc,0x88,0x55,0xcc,0x80,0x55,0xcc,0x81,0x55,0xcc,0x82,0x55,0xcc,0x88,0x59,0xcc,0x81,0x61,0xcc,0x80,0x61,0xcc,0x81,0x61,0xcc,0x82,0x61,0xcc,0x83,0x61,0xcc,0x88,
2386
  0x61,0xcc,0x8a,0x63,0xcc,0xa7,0x65,0xcc,0x80,0x65,0xcc,0x81,0x65,0xcc,0x82,0x65,0xcc,0x88,0x69,0xcc,0x80,0x69,0xcc,0x81,0x69,0xcc,0x82,0x69,0xcc,0x88,0x6e,0xcc,
2387
  0x83,0x6f,0xcc,0x80,0x6f,0xcc,0x81,0x6f,0xcc,0x82,0x6f,0xcc,0x83,0x6f,0xcc,0x88,0x75,0xcc,0x80,0x75,0xcc,0x81,0x75,0xcc,0x82,0x75,0xcc,0x88,0x79,0xcc,0x81,0x79,
2388
  0xcc,0x88,0x41,0xcc,0x84,0x61,0xcc,0x84,0x41,0xcc,0x86,0x61,0xcc,0x86,0x41,0xcc,0xa8,0x61,0xcc,0xa8,0x43,0xcc,0x81,0x63,0xcc,0x81,0x43,0xcc,0x82,0x63,0xcc,0x82,
2389
  0x43,0xcc,0x87,0x63,0xcc,0x87,0x43,0xcc,0x8c,0x63,0xcc,0x8c,0x44,0xcc,0x8c,0x64,0xcc,0x8c,0x45,0xcc,0x84,0x65,0xcc,0x84,0x45,0xcc,0x86,0x65,0xcc,0x86,0x45,0xcc,
2390
  0x87,0x65,0xcc,0x87,0x45,0xcc,0xa8,0x65,0xcc,0xa8,0x45,0xcc,0x8c,0x65,0xcc,0x8c,0x47,0xcc,0x82,0x67,0xcc,0x82,0x47,0xcc,0x86,0x67,0xcc,0x86,0x47,0xcc,0x87,0x67,
2391
  0xcc,0x87,0x47,0xcc,0xa7,0x67,0xcc,0xa7,0x48,0xcc,0x82,0x68,0xcc,0x82,0x49,0xcc,0x83,0x69,0xcc,0x83,0x49,0xcc,0x84,0x69,0xcc,0x84,0x49,0xcc,0x86,0x69,0xcc,0x86,
2392
  0x49,0xcc,0xa8,0x69,0xcc,0xa8,0x49,0xcc,0x87,0x49,0x4a,0x69,0x6a,0x4a,0xcc,0x82,0x6a,0xcc,0x82,0x4b,0xcc,0xa7,0x6b,0xcc,0xa7,0x4c,0xcc,0x81,0x6c,0xcc,0x81,0x4c,
2393
  0xcc,0xa7,0x6c,0xcc,0xa7,0x4c,0xcc,0x8c,0x6c,0xcc,0x8c,0x4c,0xc2,0xb7,0x6c,0xc2,0xb7,0x4e,0xcc,0x81,0x6e,0xcc,0x81,0x4e,0xcc,0xa7,0x6e,0xcc,0xa7,0x4e,0xcc,0x8c,
2394
  0x6e,0xcc,0x8c,0xca,0xbc,0x6e,0x4f,0xcc,0x84,0x6f,0xcc,0x84,0x4f,0xcc,0x86,0x6f,0xcc,0x86,0x4f,0xcc,0x8b,0x6f,0xcc,0x8b,0x52,0xcc,0x81,0x72,0xcc,0x81,0x52,0xcc,
2395
  0xa7,0x72,0xcc,0xa7,0x52,0xcc,0x8c,0x72,0xcc,0x8c,0x53,0xcc,0x81,0x73,0xcc,0x81,0x53,0xcc,0x82,0x73,0xcc,0x82,0x53,0xcc,0xa7,0x73,0xcc,0xa7,0x53,0xcc,0x8c,0x73,
2396
  0xcc,0x8c,0x54,0xcc,0xa7,0x74,0xcc,0xa7,0x54,0xcc,0x8c,0x74,0xcc,0x8c,0x55,0xcc,0x83,0x75,0xcc,0x83,0x55,0xcc,0x84,0x75,0xcc,0x84,0x55,0xcc,0x86,0x75,0xcc,0x86,
2397
  0x55,0xcc,0x8a,0x75,0xcc,0x8a,0x55,0xcc,0x8b,0x75,0xcc,0x8b,0x55,0xcc,0xa8,0x75,0xcc,0xa8,0x57,0xcc,0x82,0x77,0xcc,0x82,0x59,0xcc,0x82,0x79,0xcc,0x82,0x59,0xcc,
2398
  0x88,0x5a,0xcc,0x81,0x7a,0xcc,0x81,0x5a,0xcc,0x87,0x7a,0xcc,0x87,0x5a,0xcc,0x8c,0x7a,0xcc,0x8c,0x73,0x4f,0xcc,0x9b,0x6f,0xcc,0x9b,0x55,0xcc,0x9b,0x75,0xcc,0x9b,
2399
  0x44,0xc5,0xbd,0x44,0xc5,0xbe,0x64,0xc5,0xbe,0x4c,0x4a,0x4c,0x6a,0x6c,0x6a,0x4e,0x4a,0x4e,0x6a,0x6e,0x6a,0x41,0xcc,0x8c,0x61,0xcc,0x8c,0x49,0xcc,0x8c,0x69,0xcc,
2400
  0x8c,0x4f,0xcc,0x8c,0x6f,0xcc,0x8c,0x55,0xcc,0x8c,0x75,0xcc,0x8c,0xc3,0x9c,0xcc,0x84,0xc3,0xbc,0xcc,0x84,0xc3,0x9c,0xcc,0x81,0xc3,0xbc,0xcc,0x81,0xc3,0x9c,0xcc,
2401
  0x8c,0xc3,0xbc,0xcc,0x8c,0xc3,0x9c,0xcc,0x80,0xc3,0xbc,0xcc,0x80,0xc3,0x84,0xcc,0x84,0xc3,0xa4,0xcc,0x84,0xc8,0xa6,0xcc,0x84,0xc8,0xa7,0xcc,0x84,0xc3,0x86,0xcc,
2402
  0x84,0xc3,0xa6,0xcc,0x84,0x47,0xcc,0x8c,0x67,0xcc,0x8c,0x4b,0xcc,0x8c,0x6b,0xcc,0x8c,0x4f,0xcc,0xa8,0x6f,0xcc,0xa8,0xc7,0xaa,0xcc,0x84,0xc7,0xab,0xcc,0x84,0xc6,
2403
  0xb7,0xcc,0x8c,0xca,0x92,0xcc,0x8c,0x6a,0xcc,0x8c,0x44,0x5a,0x44,0x7a,0x64,0x7a,0x47,0xcc,0x81,0x67,0xcc,0x81,0x4e,0xcc,0x80,0x6e,0xcc,0x80,0xc3,0x85,0xcc,0x81,
2404
  0xc3,0xa5,0xcc,0x81,0xc3,0x86,0xcc,0x81,0xc3,0xa6,0xcc,0x81,0xc3,0x98,0xcc,0x81,0xc3,0xb8,0xcc,0x81,0x41,0xcc,0x8f,0x61,0xcc,0x8f,0x41,0xcc,0x91,0x61,0xcc,0x91,
2405
  0x45,0xcc,0x8f,0x65,0xcc,0x8f,0x45,0xcc,0x91,0x65,0xcc,0x91,0x49,0xcc,0x8f,0x69,0xcc,0x8f,0x49,0xcc,0x91,0x69,0xcc,0x91,0x4f,0xcc,0x8f,0x6f,0xcc,0x8f,0x4f,0xcc,
2406
  0x91,0x6f,0xcc,0x91,0x52,0xcc,0x8f,0x72,0xcc,0x8f,0x52,0xcc,0x91,0x72,0xcc,0x91,0x55,0xcc,0x8f,0x75,0xcc,0x8f,0x55,0xcc,0x91,0x75,0xcc,0x91,0x53,0xcc,0xa6,0x73,
2407
  0xcc,0xa6,0x54,0xcc,0xa6,0x74,0xcc,0xa6,0x48,0xcc,0x8c,0x68,0xcc,0x8c,0x41,0xcc,0x87,0x61,0xcc,0x87,0x45,0xcc,0xa7,0x65,0xcc,0xa7,0xc3,0x96,0xcc,0x84,0xc3,0xb6,
2408
  0xcc,0x84,0xc3,0x95,0xcc,0x84,0xc3,0xb5,0xcc,0x84,0x4f,0xcc,0x87,0x6f,0xcc,0x87,0xc8,0xae,0xcc,0x84,0xc8,0xaf,0xcc,0x84,0x59,0xcc,0x84,0x79,0xcc,0x84,0x68,0xc9,
2409
  0xa6,0x6a,0x72,0xc9,0xb9,0xc9,0xbb,0xca,0x81,0x77,0x79,0x20,0xcc,0x86,0x20,0xcc,0x87,0x20,0xcc,0x8a,0x20,0xcc,0xa8,0x20,0xcc,0x83,0x20,0xcc,0x8b,0xc9,0xa3,0x6c,
2410
  0x73,0x78,0xca,0x95,0xcc,0x80,0xcc,0x81,0xcc,0x93,0xcc,0x88,0xcc,0x81,0xca,0xb9,0x20,0xcd,0x85,0x3b,0x20,0xcc,0x81,0xc2,0xa8,0xcc,0x81,0xce,0x91,0xcc,0x81,0xc2,
2411
  0xb7,0xce,0x95,0xcc,0x81,0xce,0x97,0xcc,0x81,0xce,0x99,0xcc,0x81,0xce,0x9f,0xcc,0x81,0xce,0xa5,0xcc,0x81,0xce,0xa9,0xcc,0x81,0xcf,0x8a,0xcc,0x81,0xce,0x99,0xcc,
2412
  0x88,0xce,0xa5,0xcc,0x88,0xce,0xb1,0xcc,0x81,0xce,0xb5,0xcc,0x81,0xce,0xb7,0xcc,0x81,0xce,0xb9,0xcc,0x81,0xcf,0x8b,0xcc,0x81,0xce,0xb9,0xcc,0x88,0xcf,0x85,0xcc,
2413
  0x88,0xce,0xbf,0xcc,0x81,0xcf,0x85,0xcc,0x81,0xcf,0x89,0xcc,0x81,0xce,0xb2,0xce,0xb8,0xce,0xa5,0xcf,0x92,0xcc,0x81,0xcf,0x92,0xcc,0x88,0xcf,0x86,0xcf,0x80,0xce,
2414
  0xba,0xcf,0x81,0xcf,0x82,0xce,0x98,0xce,0xb5,0xce,0xa3,0xd0,0x95,0xcc,0x80,0xd0,0x95,0xcc,0x88,0xd0,0x93,0xcc,0x81,0xd0,0x86,0xcc,0x88,0xd0,0x9a,0xcc,0x81,0xd0,
2415
  0x98,0xcc,0x80,0xd0,0xa3,0xcc,0x86,0xd0,0x98,0xcc,0x86,0xd0,0xb8,0xcc,0x86,0xd0,0xb5,0xcc,0x80,0xd0,0xb5,0xcc,0x88,0xd0,0xb3,0xcc,0x81,0xd1,0x96,0xcc,0x88,0xd0,
2416
  0xba,0xcc,0x81,0xd0,0xb8,0xcc,0x80,0xd1,0x83,0xcc,0x86,0xd1,0xb4,0xcc,0x8f,0xd1,0xb5,0xcc,0x8f,0xd0,0x96,0xcc,0x86,0xd0,0xb6,0xcc,0x86,0xd0,0x90,0xcc,0x86,0xd0,
2417
  0xb0,0xcc,0x86,0xd0,0x90,0xcc,0x88,0xd0,0xb0,0xcc,0x88,0xd0,0x95,0xcc,0x86,0xd0,0xb5,0xcc,0x86,0xd3,0x98,0xcc,0x88,0xd3,0x99,0xcc,0x88,0xd0,0x96,0xcc,0x88,0xd0,
2418
  0xb6,0xcc,0x88,0xd0,0x97,0xcc,0x88,0xd0,0xb7,0xcc,0x88,0xd0,0x98,0xcc,0x84,0xd0,0xb8,0xcc,0x84,0xd0,0x98,0xcc,0x88,0xd0,0xb8,0xcc,0x88,0xd0,0x9e,0xcc,0x88,0xd0,
2419
  0xbe,0xcc,0x88,0xd3,0xa8,0xcc,0x88,0xd3,0xa9,0xcc,0x88,0xd0,0xad,0xcc,0x88,0xd1,0x8d,0xcc,0x88,0xd0,0xa3,0xcc,0x84,0xd1,0x83,0xcc,0x84,0xd0,0xa3,0xcc,0x88,0xd1,
2420
  0x83,0xcc,0x88,0xd0,0xa3,0xcc,0x8b,0xd1,0x83,0xcc,0x8b,0xd0,0xa7,0xcc,0x88,0xd1,0x87,0xcc,0x88,0xd0,0xab,0xcc,0x88,0xd1,0x8b,0xcc,0x88,0xd5,0xa5,0xd6,0x82,0xd8,
2421
  0xa7,0xd9,0x93,0xd8,0xa7,0xd9,0x94,0xd9,0x88,0xd9,0x94,0xd8,0xa7,0xd9,0x95,0xd9,0x8a,0xd9,0x94,0xd8,0xa7,0xd9,0xb4,0xd9,0x88,0xd9,0xb4,0xdb,0x87,0xd9,0xb4,0xd9,
2422
  0x8a,0xd9,0xb4,0xdb,0x95,0xd9,0x94,0xdb,0x81,0xd9,0x94,0xdb,0x92,0xd9,0x94,0xe0,0xa4,0xa8,0xe0,0xa4,0xbc,0xe0,0xa4,0xb0,0xe0,0xa4,0xbc,0xe0,0xa4,0xb3,0xe0,0xa4,
2423
  0xbc,0xe0,0xa4,0x95,0xe0,0xa4,0xbc,0xe0,0xa4,0x96,0xe0,0xa4,0xbc,0xe0,0xa4,0x97,0xe0,0xa4,0xbc,0xe0,0xa4,0x9c,0xe0,0xa4,0xbc,0xe0,0xa4,0xa1,0xe0,0xa4,0xbc,0xe0,
2424
  0xa4,0xa2,0xe0,0xa4,0xbc,0xe0,0xa4,0xab,0xe0,0xa4,0xbc,0xe0,0xa4,0xaf,0xe0,0xa4,0xbc,0xe0,0xa7,0x87,0xe0,0xa6,0xbe,0xe0,0xa7,0x87,0xe0,0xa7,0x97,0xe0,0xa6,0xa1,
2425
  0xe0,0xa6,0xbc,0xe0,0xa6,0xa2,0xe0,0xa6,0xbc,0xe0,0xa6,0xaf,0xe0,0xa6,0xbc,0xe0,0xa8,0xb2,0xe0,0xa8,0xbc,0xe0,0xa8,0xb8,0xe0,0xa8,0xbc,0xe0,0xa8,0x96,0xe0,0xa8,
2426
  0xbc,0xe0,0xa8,0x97,0xe0,0xa8,0xbc,0xe0,0xa8,0x9c,0xe0,0xa8,0xbc,0xe0,0xa8,0xab,0xe0,0xa8,0xbc,0xe0,0xad,0x87,0xe0,0xad,0x96,0xe0,0xad,0x87,0xe0,0xac,0xbe,0xe0,
2427
  0xad,0x87,0xe0,0xad,0x97,0xe0,0xac,0xa1,0xe0,0xac,0xbc,0xe0,0xac,0xa2,0xe0,0xac,0xbc,0xe0,0xae,0x92,0xe0,0xaf,0x97,0xe0,0xaf,0x86,0xe0,0xae,0xbe,0xe0,0xaf,0x87,
2428
  0xe0,0xae,0xbe,0xe0,0xaf,0x86,0xe0,0xaf,0x97,0xe0,0xb1,0x86,0xe0,0xb1,0x96,0xe0,0xb2,0xbf,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,
2429
  0x96,0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x8a,0xe0,0xb3,0x95,0xe0,0xb5,0x86,0xe0,0xb4,0xbe,0xe0,0xb5,0x87,0xe0,0xb4,0xbe,0xe0,0xb5,0x86,0xe0,0xb5,0x97,0xe0,
2430
  0xb7,0x99,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x8f,0xe0,0xb7,0x9c,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x9f,0xe0,0xb9,0x8d,0xe0,0xb8,0xb2,0xe0,0xbb,0x8d,
2431
  0xe0,0xba,0xb2,0xe0,0xba,0xab,0xe0,0xba,0x99,0xe0,0xba,0xab,0xe0,0xba,0xa1,0xe0,0xbc,0x8b,0xe0,0xbd,0x82,0xe0,0xbe,0xb7,0xe0,0xbd,0x8c,0xe0,0xbe,0xb7,0xe0,0xbd,
2432
  0x91,0xe0,0xbe,0xb7,0xe0,0xbd,0x96,0xe0,0xbe,0xb7,0xe0,0xbd,0x9b,0xe0,0xbe,0xb7,0xe0,0xbd,0x80,0xe0,0xbe,0xb5,0xe0,0xbd,0xb1,0xe0,0xbd,0xb2,0xe0,0xbd,0xb1,0xe0,
2433
  0xbd,0xb4,0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbe,0xb2,0xe0,0xbe,0x81,0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbe,0xb3,0xe0,0xbe,0x81,0xe0,0xbd,0xb1,0xe0,0xbe,0x80,
2434
  0xe0,0xbe,0x92,0xe0,0xbe,0xb7,0xe0,0xbe,0x9c,0xe0,0xbe,0xb7,0xe0,0xbe,0xa1,0xe0,0xbe,0xb7,0xe0,0xbe,0xa6,0xe0,0xbe,0xb7,0xe0,0xbe,0xab,0xe0,0xbe,0xb7,0xe0,0xbe,
2435
  0x90,0xe0,0xbe,0xb5,0xe1,0x80,0xa5,0xe1,0x80,0xae,0xe1,0x83,0x9c,0xe1,0xac,0x85,0xe1,0xac,0xb5,0xe1,0xac,0x87,0xe1,0xac,0xb5,0xe1,0xac,0x89,0xe1,0xac,0xb5,0xe1,
2436
  0xac,0x8b,0xe1,0xac,0xb5,0xe1,0xac,0x8d,0xe1,0xac,0xb5,0xe1,0xac,0x91,0xe1,0xac,0xb5,0xe1,0xac,0xba,0xe1,0xac,0xb5,0xe1,0xac,0xbc,0xe1,0xac,0xb5,0xe1,0xac,0xbe,
2437
  0xe1,0xac,0xb5,0xe1,0xac,0xbf,0xe1,0xac,0xb5,0xe1,0xad,0x82,0xe1,0xac,0xb5,0x41,0xc3,0x86,0x42,0x44,0x45,0xc6,0x8e,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
2438
  0xc8,0xa2,0x50,0x52,0x54,0x55,0x57,0x61,0xc9,0x90,0xc9,0x91,0xe1,0xb4,0x82,0x62,0x64,0x65,0xc9,0x99,0xc9,0x9b,0xc9,0x9c,0x67,0x6b,0x6d,0xc5,0x8b,0x6f,0xc9,0x94,
2439
  0xe1,0xb4,0x96,0xe1,0xb4,0x97,0x70,0x74,0x75,0xe1,0xb4,0x9d,0xc9,0xaf,0x76,0xe1,0xb4,0xa5,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xcf,0x86,0xcf,0x87,0x69,0x72,0x75,0x76,
2440
  0xce,0xb2,0xce,0xb3,0xcf,0x81,0xcf,0x86,0xcf,0x87,0xd0,0xbd,0xc9,0x92,0x63,0xc9,0x95,0xc3,0xb0,0xc9,0x9c,0x66,0xc9,0x9f,0xc9,0xa1,0xc9,0xa5,0xc9,0xa8,0xc9,0xa9,
2441
  0xc9,0xaa,0xe1,0xb5,0xbb,0xca,0x9d,0xc9,0xad,0xe1,0xb6,0x85,0xca,0x9f,0xc9,0xb1,0xc9,0xb0,0xc9,0xb2,0xc9,0xb3,0xc9,0xb4,0xc9,0xb5,0xc9,0xb8,0xca,0x82,0xca,0x83,
2442
  0xc6,0xab,0xca,0x89,0xca,0x8a,0xe1,0xb4,0x9c,0xca,0x8b,0xca,0x8c,0x7a,0xca,0x90,0xca,0x91,0xca,0x92,0xce,0xb8,0x41,0xcc,0xa5,0x61,0xcc,0xa5,0x42,0xcc,0x87,0x62,
2443
  0xcc,0x87,0x42,0xcc,0xa3,0x62,0xcc,0xa3,0x42,0xcc,0xb1,0x62,0xcc,0xb1,0xc3,0x87,0xcc,0x81,0xc3,0xa7,0xcc,0x81,0x44,0xcc,0x87,0x64,0xcc,0x87,0x44,0xcc,0xa3,0x64,
2444
  0xcc,0xa3,0x44,0xcc,0xb1,0x64,0xcc,0xb1,0x44,0xcc,0xa7,0x64,0xcc,0xa7,0x44,0xcc,0xad,0x64,0xcc,0xad,0xc4,0x92,0xcc,0x80,0xc4,0x93,0xcc,0x80,0xc4,0x92,0xcc,0x81,
2445
  0xc4,0x93,0xcc,0x81,0x45,0xcc,0xad,0x65,0xcc,0xad,0x45,0xcc,0xb0,0x65,0xcc,0xb0,0xc8,0xa8,0xcc,0x86,0xc8,0xa9,0xcc,0x86,0x46,0xcc,0x87,0x66,0xcc,0x87,0x47,0xcc,
2446
  0x84,0x67,0xcc,0x84,0x48,0xcc,0x87,0x68,0xcc,0x87,0x48,0xcc,0xa3,0x68,0xcc,0xa3,0x48,0xcc,0x88,0x68,0xcc,0x88,0x48,0xcc,0xa7,0x68,0xcc,0xa7,0x48,0xcc,0xae,0x68,
2447
  0xcc,0xae,0x49,0xcc,0xb0,0x69,0xcc,0xb0,0xc3,0x8f,0xcc,0x81,0xc3,0xaf,0xcc,0x81,0x4b,0xcc,0x81,0x6b,0xcc,0x81,0x4b,0xcc,0xa3,0x6b,0xcc,0xa3,0x4b,0xcc,0xb1,0x6b,
2448
  0xcc,0xb1,0x4c,0xcc,0xa3,0x6c,0xcc,0xa3,0xe1,0xb8,0xb6,0xcc,0x84,0xe1,0xb8,0xb7,0xcc,0x84,0x4c,0xcc,0xb1,0x6c,0xcc,0xb1,0x4c,0xcc,0xad,0x6c,0xcc,0xad,0x4d,0xcc,
2449
  0x81,0x6d,0xcc,0x81,0x4d,0xcc,0x87,0x6d,0xcc,0x87,0x4d,0xcc,0xa3,0x6d,0xcc,0xa3,0x4e,0xcc,0x87,0x6e,0xcc,0x87,0x4e,0xcc,0xa3,0x6e,0xcc,0xa3,0x4e,0xcc,0xb1,0x6e,
2450
  0xcc,0xb1,0x4e,0xcc,0xad,0x6e,0xcc,0xad,0xc3,0x95,0xcc,0x81,0xc3,0xb5,0xcc,0x81,0xc3,0x95,0xcc,0x88,0xc3,0xb5,0xcc,0x88,0xc5,0x8c,0xcc,0x80,0xc5,0x8d,0xcc,0x80,
2451
  0xc5,0x8c,0xcc,0x81,0xc5,0x8d,0xcc,0x81,0x50,0xcc,0x81,0x70,0xcc,0x81,0x50,0xcc,0x87,0x70,0xcc,0x87,0x52,0xcc,0x87,0x72,0xcc,0x87,0x52,0xcc,0xa3,0x72,0xcc,0xa3,
2452
  0xe1,0xb9,0x9a,0xcc,0x84,0xe1,0xb9,0x9b,0xcc,0x84,0x52,0xcc,0xb1,0x72,0xcc,0xb1,0x53,0xcc,0x87,0x73,0xcc,0x87,0x53,0xcc,0xa3,0x73,0xcc,0xa3,0xc5,0x9a,0xcc,0x87,
2453
  0xc5,0x9b,0xcc,0x87,0xc5,0xa0,0xcc,0x87,0xc5,0xa1,0xcc,0x87,0xe1,0xb9,0xa2,0xcc,0x87,0xe1,0xb9,0xa3,0xcc,0x87,0x54,0xcc,0x87,0x74,0xcc,0x87,0x54,0xcc,0xa3,0x74,
2454
  0xcc,0xa3,0x54,0xcc,0xb1,0x74,0xcc,0xb1,0x54,0xcc,0xad,0x74,0xcc,0xad,0x55,0xcc,0xa4,0x75,0xcc,0xa4,0x55,0xcc,0xb0,0x75,0xcc,0xb0,0x55,0xcc,0xad,0x75,0xcc,0xad,
2455
  0xc5,0xa8,0xcc,0x81,0xc5,0xa9,0xcc,0x81,0xc5,0xaa,0xcc,0x88,0xc5,0xab,0xcc,0x88,0x56,0xcc,0x83,0x76,0xcc,0x83,0x56,0xcc,0xa3,0x76,0xcc,0xa3,0x57,0xcc,0x80,0x77,
2456
  0xcc,0x80,0x57,0xcc,0x81,0x77,0xcc,0x81,0x57,0xcc,0x88,0x77,0xcc,0x88,0x57,0xcc,0x87,0x77,0xcc,0x87,0x57,0xcc,0xa3,0x77,0xcc,0xa3,0x58,0xcc,0x87,0x78,0xcc,0x87,
2457
  0x58,0xcc,0x88,0x78,0xcc,0x88,0x59,0xcc,0x87,0x79,0xcc,0x87,0x5a,0xcc,0x82,0x7a,0xcc,0x82,0x5a,0xcc,0xa3,0x7a,0xcc,0xa3,0x5a,0xcc,0xb1,0x7a,0xcc,0xb1,0x68,0xcc,
2458
  0xb1,0x74,0xcc,0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0xc5,0xbf,0xcc,0x87,0x41,0xcc,0xa3,0x61,0xcc,0xa3,0x41,0xcc,0x89,0x61,0xcc,0x89,0xc3,0x82,0xcc,
2459
  0x81,0xc3,0xa2,0xcc,0x81,0xc3,0x82,0xcc,0x80,0xc3,0xa2,0xcc,0x80,0xc3,0x82,0xcc,0x89,0xc3,0xa2,0xcc,0x89,0xc3,0x82,0xcc,0x83,0xc3,0xa2,0xcc,0x83,0xe1,0xba,0xa0,
2460
  0xcc,0x82,0xe1,0xba,0xa1,0xcc,0x82,0xc4,0x82,0xcc,0x81,0xc4,0x83,0xcc,0x81,0xc4,0x82,0xcc,0x80,0xc4,0x83,0xcc,0x80,0xc4,0x82,0xcc,0x89,0xc4,0x83,0xcc,0x89,0xc4,
2461
  0x82,0xcc,0x83,0xc4,0x83,0xcc,0x83,0xe1,0xba,0xa0,0xcc,0x86,0xe1,0xba,0xa1,0xcc,0x86,0x45,0xcc,0xa3,0x65,0xcc,0xa3,0x45,0xcc,0x89,0x65,0xcc,0x89,0x45,0xcc,0x83,
2462
  0x65,0xcc,0x83,0xc3,0x8a,0xcc,0x81,0xc3,0xaa,0xcc,0x81,0xc3,0x8a,0xcc,0x80,0xc3,0xaa,0xcc,0x80,0xc3,0x8a,0xcc,0x89,0xc3,0xaa,0xcc,0x89,0xc3,0x8a,0xcc,0x83,0xc3,
2463
  0xaa,0xcc,0x83,0xe1,0xba,0xb8,0xcc,0x82,0xe1,0xba,0xb9,0xcc,0x82,0x49,0xcc,0x89,0x69,0xcc,0x89,0x49,0xcc,0xa3,0x69,0xcc,0xa3,0x4f,0xcc,0xa3,0x6f,0xcc,0xa3,0x4f,
2464
  0xcc,0x89,0x6f,0xcc,0x89,0xc3,0x94,0xcc,0x81,0xc3,0xb4,0xcc,0x81,0xc3,0x94,0xcc,0x80,0xc3,0xb4,0xcc,0x80,0xc3,0x94,0xcc,0x89,0xc3,0xb4,0xcc,0x89,0xc3,0x94,0xcc,
2465
  0x83,0xc3,0xb4,0xcc,0x83,0xe1,0xbb,0x8c,0xcc,0x82,0xe1,0xbb,0x8d,0xcc,0x82,0xc6,0xa0,0xcc,0x81,0xc6,0xa1,0xcc,0x81,0xc6,0xa0,0xcc,0x80,0xc6,0xa1,0xcc,0x80,0xc6,
2466
  0xa0,0xcc,0x89,0xc6,0xa1,0xcc,0x89,0xc6,0xa0,0xcc,0x83,0xc6,0xa1,0xcc,0x83,0xc6,0xa0,0xcc,0xa3,0xc6,0xa1,0xcc,0xa3,0x55,0xcc,0xa3,0x75,0xcc,0xa3,0x55,0xcc,0x89,
2467
  0x75,0xcc,0x89,0xc6,0xaf,0xcc,0x81,0xc6,0xb0,0xcc,0x81,0xc6,0xaf,0xcc,0x80,0xc6,0xb0,0xcc,0x80,0xc6,0xaf,0xcc,0x89,0xc6,0xb0,0xcc,0x89,0xc6,0xaf,0xcc,0x83,0xc6,
2468
  0xb0,0xcc,0x83,0xc6,0xaf,0xcc,0xa3,0xc6,0xb0,0xcc,0xa3,0x59,0xcc,0x80,0x79,0xcc,0x80,0x59,0xcc,0xa3,0x79,0xcc,0xa3,0x59,0xcc,0x89,0x79,0xcc,0x89,0x59,0xcc,0x83,
2469
  0x79,0xcc,0x83,0xce,0xb1,0xcc,0x93,0xce,0xb1,0xcc,0x94,0xe1,0xbc,0x80,0xcc,0x80,0xe1,0xbc,0x81,0xcc,0x80,0xe1,0xbc,0x80,0xcc,0x81,0xe1,0xbc,0x81,0xcc,0x81,0xe1,
2470
  0xbc,0x80,0xcd,0x82,0xe1,0xbc,0x81,0xcd,0x82,0xce,0x91,0xcc,0x93,0xce,0x91,0xcc,0x94,0xe1,0xbc,0x88,0xcc,0x80,0xe1,0xbc,0x89,0xcc,0x80,0xe1,0xbc,0x88,0xcc,0x81,
2471
  0xe1,0xbc,0x89,0xcc,0x81,0xe1,0xbc,0x88,0xcd,0x82,0xe1,0xbc,0x89,0xcd,0x82,0xce,0xb5,0xcc,0x93,0xce,0xb5,0xcc,0x94,0xe1,0xbc,0x90,0xcc,0x80,0xe1,0xbc,0x91,0xcc,
2472
  0x80,0xe1,0xbc,0x90,0xcc,0x81,0xe1,0xbc,0x91,0xcc,0x81,0xce,0x95,0xcc,0x93,0xce,0x95,0xcc,0x94,0xe1,0xbc,0x98,0xcc,0x80,0xe1,0xbc,0x99,0xcc,0x80,0xe1,0xbc,0x98,
2473
  0xcc,0x81,0xe1,0xbc,0x99,0xcc,0x81,0xce,0xb7,0xcc,0x93,0xce,0xb7,0xcc,0x94,0xe1,0xbc,0xa0,0xcc,0x80,0xe1,0xbc,0xa1,0xcc,0x80,0xe1,0xbc,0xa0,0xcc,0x81,0xe1,0xbc,
2474
  0xa1,0xcc,0x81,0xe1,0xbc,0xa0,0xcd,0x82,0xe1,0xbc,0xa1,0xcd,0x82,0xce,0x97,0xcc,0x93,0xce,0x97,0xcc,0x94,0xe1,0xbc,0xa8,0xcc,0x80,0xe1,0xbc,0xa9,0xcc,0x80,0xe1,
2475
  0xbc,0xa8,0xcc,0x81,0xe1,0xbc,0xa9,0xcc,0x81,0xe1,0xbc,0xa8,0xcd,0x82,0xe1,0xbc,0xa9,0xcd,0x82,0xce,0xb9,0xcc,0x93,0xce,0xb9,0xcc,0x94,0xe1,0xbc,0xb0,0xcc,0x80,
2476
  0xe1,0xbc,0xb1,0xcc,0x80,0xe1,0xbc,0xb0,0xcc,0x81,0xe1,0xbc,0xb1,0xcc,0x81,0xe1,0xbc,0xb0,0xcd,0x82,0xe1,0xbc,0xb1,0xcd,0x82,0xce,0x99,0xcc,0x93,0xce,0x99,0xcc,
2477
  0x94,0xe1,0xbc,0xb8,0xcc,0x80,0xe1,0xbc,0xb9,0xcc,0x80,0xe1,0xbc,0xb8,0xcc,0x81,0xe1,0xbc,0xb9,0xcc,0x81,0xe1,0xbc,0xb8,0xcd,0x82,0xe1,0xbc,0xb9,0xcd,0x82,0xce,
2478
  0xbf,0xcc,0x93,0xce,0xbf,0xcc,0x94,0xe1,0xbd,0x80,0xcc,0x80,0xe1,0xbd,0x81,0xcc,0x80,0xe1,0xbd,0x80,0xcc,0x81,0xe1,0xbd,0x81,0xcc,0x81,0xce,0x9f,0xcc,0x93,0xce,
2479
  0x9f,0xcc,0x94,0xe1,0xbd,0x88,0xcc,0x80,0xe1,0xbd,0x89,0xcc,0x80,0xe1,0xbd,0x88,0xcc,0x81,0xe1,0xbd,0x89,0xcc,0x81,0xcf,0x85,0xcc,0x93,0xcf,0x85,0xcc,0x94,0xe1,
2480
  0xbd,0x90,0xcc,0x80,0xe1,0xbd,0x91,0xcc,0x80,0xe1,0xbd,0x90,0xcc,0x81,0xe1,0xbd,0x91,0xcc,0x81,0xe1,0xbd,0x90,0xcd,0x82,0xe1,0xbd,0x91,0xcd,0x82,0xce,0xa5,0xcc,
2481
  0x94,0xe1,0xbd,0x99,0xcc,0x80,0xe1,0xbd,0x99,0xcc,0x81,0xe1,0xbd,0x99,0xcd,0x82,0xcf,0x89,0xcc,0x93,0xcf,0x89,0xcc,0x94,0xe1,0xbd,0xa0,0xcc,0x80,0xe1,0xbd,0xa1,
2482
  0xcc,0x80,0xe1,0xbd,0xa0,0xcc,0x81,0xe1,0xbd,0xa1,0xcc,0x81,0xe1,0xbd,0xa0,0xcd,0x82,0xe1,0xbd,0xa1,0xcd,0x82,0xce,0xa9,0xcc,0x93,0xce,0xa9,0xcc,0x94,0xe1,0xbd,
2483
  0xa8,0xcc,0x80,0xe1,0xbd,0xa9,0xcc,0x80,0xe1,0xbd,0xa8,0xcc,0x81,0xe1,0xbd,0xa9,0xcc,0x81,0xe1,0xbd,0xa8,0xcd,0x82,0xe1,0xbd,0xa9,0xcd,0x82,0xce,0xb1,0xcc,0x80,
2484
  0xce,0xac,0xce,0xb5,0xcc,0x80,0xce,0xad,0xce,0xb7,0xcc,0x80,0xce,0xae,0xce,0xb9,0xcc,0x80,0xce,0xaf,0xce,0xbf,0xcc,0x80,0xcf,0x8c,0xcf,0x85,0xcc,0x80,0xcf,0x8d,
2485
  0xcf,0x89,0xcc,0x80,0xcf,0x8e,0xe1,0xbc,0x80,0xcd,0x85,0xe1,0xbc,0x81,0xcd,0x85,0xe1,0xbc,0x82,0xcd,0x85,0xe1,0xbc,0x83,0xcd,0x85,0xe1,0xbc,0x84,0xcd,0x85,0xe1,
2486
  0xbc,0x85,0xcd,0x85,0xe1,0xbc,0x86,0xcd,0x85,0xe1,0xbc,0x87,0xcd,0x85,0xe1,0xbc,0x88,0xcd,0x85,0xe1,0xbc,0x89,0xcd,0x85,0xe1,0xbc,0x8a,0xcd,0x85,0xe1,0xbc,0x8b,
2487
  0xcd,0x85,0xe1,0xbc,0x8c,0xcd,0x85,0xe1,0xbc,0x8d,0xcd,0x85,0xe1,0xbc,0x8e,0xcd,0x85,0xe1,0xbc,0x8f,0xcd,0x85,0xe1,0xbc,0xa0,0xcd,0x85,0xe1,0xbc,0xa1,0xcd,0x85,
2488
  0xe1,0xbc,0xa2,0xcd,0x85,0xe1,0xbc,0xa3,0xcd,0x85,0xe1,0xbc,0xa4,0xcd,0x85,0xe1,0xbc,0xa5,0xcd,0x85,0xe1,0xbc,0xa6,0xcd,0x85,0xe1,0xbc,0xa7,0xcd,0x85,0xe1,0xbc,
2489
  0xa8,0xcd,0x85,0xe1,0xbc,0xa9,0xcd,0x85,0xe1,0xbc,0xaa,0xcd,0x85,0xe1,0xbc,0xab,0xcd,0x85,0xe1,0xbc,0xac,0xcd,0x85,0xe1,0xbc,0xad,0xcd,0x85,0xe1,0xbc,0xae,0xcd,
2490
  0x85,0xe1,0xbc,0xaf,0xcd,0x85,0xe1,0xbd,0xa0,0xcd,0x85,0xe1,0xbd,0xa1,0xcd,0x85,0xe1,0xbd,0xa2,0xcd,0x85,0xe1,0xbd,0xa3,0xcd,0x85,0xe1,0xbd,0xa4,0xcd,0x85,0xe1,
2491
  0xbd,0xa5,0xcd,0x85,0xe1,0xbd,0xa6,0xcd,0x85,0xe1,0xbd,0xa7,0xcd,0x85,0xe1,0xbd,0xa8,0xcd,0x85,0xe1,0xbd,0xa9,0xcd,0x85,0xe1,0xbd,0xaa,0xcd,0x85,0xe1,0xbd,0xab,
2492
  0xcd,0x85,0xe1,0xbd,0xac,0xcd,0x85,0xe1,0xbd,0xad,0xcd,0x85,0xe1,0xbd,0xae,0xcd,0x85,0xe1,0xbd,0xaf,0xcd,0x85,0xce,0xb1,0xcc,0x86,0xce,0xb1,0xcc,0x84,0xe1,0xbd,
2493
  0xb0,0xcd,0x85,0xce,0xb1,0xcd,0x85,0xce,0xac,0xcd,0x85,0xce,0xb1,0xcd,0x82,0xe1,0xbe,0xb6,0xcd,0x85,0xce,0x91,0xcc,0x86,0xce,0x91,0xcc,0x84,0xce,0x91,0xcc,0x80,
2494
  0xce,0x86,0xce,0x91,0xcd,0x85,0x20,0xcc,0x93,0xce,0xb9,0x20,0xcc,0x93,0x20,0xcd,0x82,0xc2,0xa8,0xcd,0x82,0xe1,0xbd,0xb4,0xcd,0x85,0xce,0xb7,0xcd,0x85,0xce,0xae,
2495
  0xcd,0x85,0xce,0xb7,0xcd,0x82,0xe1,0xbf,0x86,0xcd,0x85,0xce,0x95,0xcc,0x80,0xce,0x88,0xce,0x97,0xcc,0x80,0xce,0x89,0xce,0x97,0xcd,0x85,0xe1,0xbe,0xbf,0xcc,0x80,
2496
  0xe1,0xbe,0xbf,0xcc,0x81,0xe1,0xbe,0xbf,0xcd,0x82,0xce,0xb9,0xcc,0x86,0xce,0xb9,0xcc,0x84,0xcf,0x8a,0xcc,0x80,0xce,0x90,0xce,0xb9,0xcd,0x82,0xcf,0x8a,0xcd,0x82,
2497
  0xce,0x99,0xcc,0x86,0xce,0x99,0xcc,0x84,0xce,0x99,0xcc,0x80,0xce,0x8a,0xe1,0xbf,0xbe,0xcc,0x80,0xe1,0xbf,0xbe,0xcc,0x81,0xe1,0xbf,0xbe,0xcd,0x82,0xcf,0x85,0xcc,
2498
  0x86,0xcf,0x85,0xcc,0x84,0xcf,0x8b,0xcc,0x80,0xce,0xb0,0xcf,0x81,0xcc,0x93,0xcf,0x81,0xcc,0x94,0xcf,0x85,0xcd,0x82,0xcf,0x8b,0xcd,0x82,0xce,0xa5,0xcc,0x86,0xce,
2499
  0xa5,0xcc,0x84,0xce,0xa5,0xcc,0x80,0xce,0x8e,0xce,0xa1,0xcc,0x94,0xc2,0xa8,0xcc,0x80,0xce,0x85,0x60,0xe1,0xbd,0xbc,0xcd,0x85,0xcf,0x89,0xcd,0x85,0xcf,0x8e,0xcd,
2500
  0x85,0xcf,0x89,0xcd,0x82,0xe1,0xbf,0xb6,0xcd,0x85,0xce,0x9f,0xcc,0x80,0xce,0x8c,0xce,0xa9,0xcc,0x80,0xce,0x8f,0xce,0xa9,0xcd,0x85,0xc2,0xb4,0x20,0xcc,0x94,0xe2,
2501
  0x80,0x82,0xe2,0x80,0x83,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x80,0x90,0x20,0xcc,0xb3,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x20,0xe2,0x80,0xb2,0xe2,0x80,
2502
  0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0x21,0x21,0x20,0xcc,0x85,0x3f,0x3f,
2503
  0x3f,0x21,0x21,0x3f,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0x20,0x30,0x69,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,
2504
  0x6e,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,0x61,0x65,0x6f,0x78,0xc9,0x99,0x68,0x6b,0x6c,0x6d,0x6e,0x70,0x73,0x74,
2505
  0x52,0x73,0x61,0x2f,0x63,0x61,0x2f,0x73,0x43,0xc2,0xb0,0x43,0x63,0x2f,0x6f,0x63,0x2f,0x75,0xc6,0x90,0xc2,0xb0,0x46,0x67,0x48,0x48,0x48,0x68,0xc4,0xa7,0x49,0x49,
2506
  0x4c,0x6c,0x4e,0x4e,0x6f,0x50,0x51,0x52,0x52,0x52,0x53,0x4d,0x54,0x45,0x4c,0x54,0x4d,0x5a,0xce,0xa9,0x5a,0x4b,0xc3,0x85,0x42,0x43,0x65,0x45,0x46,0x4d,0x6f,0xd7,
2507
  0x90,0xd7,0x91,0xd7,0x92,0xd7,0x93,0x69,0x46,0x41,0x58,0xcf,0x80,0xce,0xb3,0xce,0x93,0xce,0xa0,0xe2,0x88,0x91,0x44,0x64,0x65,0x69,0x6a,0x31,0xe2,0x81,0x84,0x37,
2508
  0x31,0xe2,0x81,0x84,0x39,0x31,0xe2,0x81,0x84,0x31,0x30,0x31,0xe2,0x81,0x84,0x33,0x32,0xe2,0x81,0x84,0x33,0x31,0xe2,0x81,0x84,0x35,0x32,0xe2,0x81,0x84,0x35,0x33,
2509
  0xe2,0x81,0x84,0x35,0x34,0xe2,0x81,0x84,0x35,0x31,0xe2,0x81,0x84,0x36,0x35,0xe2,0x81,0x84,0x36,0x31,0xe2,0x81,0x84,0x38,0x33,0xe2,0x81,0x84,0x38,0x35,0xe2,0x81,
2510
  0x84,0x38,0x37,0xe2,0x81,0x84,0x38,0x31,0xe2,0x81,0x84,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x56,0x56,0x56,0x49,0x56,0x49,0x49,0x56,0x49,0x49,0x49,0x49,0x58,0x58,
2511
  0x58,0x49,0x58,0x49,0x49,0x4c,0x43,0x44,0x4d,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x76,0x76,0x76,0x69,0x76,0x69,0x69,0x76,0x69,0x69,0x69,0x69,0x78,0x78,0x78,0x69,
2512
  0x78,0x69,0x69,0x6c,0x63,0x64,0x6d,0x30,0xe2,0x81,0x84,0x33,0xe2,0x86,0x90,0xcc,0xb8,0xe2,0x86,0x92,0xcc,0xb8,0xe2,0x86,0x94,0xcc,0xb8,0xe2,0x87,0x90,0xcc,0xb8,
2513
  0xe2,0x87,0x94,0xcc,0xb8,0xe2,0x87,0x92,0xcc,0xb8,0xe2,0x88,0x83,0xcc,0xb8,0xe2,0x88,0x88,0xcc,0xb8,0xe2,0x88,0x8b,0xcc,0xb8,0xe2,0x88,0xa3,0xcc,0xb8,0xe2,0x88,
2514
  0xa5,0xcc,0xb8,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,
2515
  0xae,0xe2,0x88,0xbc,0xcc,0xb8,0xe2,0x89,0x83,0xcc,0xb8,0xe2,0x89,0x85,0xcc,0xb8,0xe2,0x89,0x88,0xcc,0xb8,0x3d,0xcc,0xb8,0xe2,0x89,0xa1,0xcc,0xb8,0xe2,0x89,0x8d,
2516
  0xcc,0xb8,0x3c,0xcc,0xb8,0x3e,0xcc,0xb8,0xe2,0x89,0xa4,0xcc,0xb8,0xe2,0x89,0xa5,0xcc,0xb8,0xe2,0x89,0xb2,0xcc,0xb8,0xe2,0x89,0xb3,0xcc,0xb8,0xe2,0x89,0xb6,0xcc,
2517
  0xb8,0xe2,0x89,0xb7,0xcc,0xb8,0xe2,0x89,0xba,0xcc,0xb8,0xe2,0x89,0xbb,0xcc,0xb8,0xe2,0x8a,0x82,0xcc,0xb8,0xe2,0x8a,0x83,0xcc,0xb8,0xe2,0x8a,0x86,0xcc,0xb8,0xe2,
2518
  0x8a,0x87,0xcc,0xb8,0xe2,0x8a,0xa2,0xcc,0xb8,0xe2,0x8a,0xa8,0xcc,0xb8,0xe2,0x8a,0xa9,0xcc,0xb8,0xe2,0x8a,0xab,0xcc,0xb8,0xe2,0x89,0xbc,0xcc,0xb8,0xe2,0x89,0xbd,
2519
  0xcc,0xb8,0xe2,0x8a,0x91,0xcc,0xb8,0xe2,0x8a,0x92,0xcc,0xb8,0xe2,0x8a,0xb2,0xcc,0xb8,0xe2,0x8a,0xb3,0xcc,0xb8,0xe2,0x8a,0xb4,0xcc,0xb8,0xe2,0x8a,0xb5,0xcc,0xb8,
2520
  0xe3,0x80,0x88,0xe3,0x80,0x89,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x31,0x30,0x31,0x31,0x31,0x32,0x31,0x33,0x31,0x34,0x31,0x35,0x31,0x36,0x31,0x37,0x31,
2521
  0x38,0x31,0x39,0x32,0x30,0x28,0x31,0x29,0x28,0x32,0x29,0x28,0x33,0x29,0x28,0x34,0x29,0x28,0x35,0x29,0x28,0x36,0x29,0x28,0x37,0x29,0x28,0x38,0x29,0x28,0x39,0x29,
2522
  0x28,0x31,0x30,0x29,0x28,0x31,0x31,0x29,0x28,0x31,0x32,0x29,0x28,0x31,0x33,0x29,0x28,0x31,0x34,0x29,0x28,0x31,0x35,0x29,0x28,0x31,0x36,0x29,0x28,0x31,0x37,0x29,
2523
  0x28,0x31,0x38,0x29,0x28,0x31,0x39,0x29,0x28,0x32,0x30,0x29,0x31,0x2e,0x32,0x2e,0x33,0x2e,0x34,0x2e,0x35,0x2e,0x36,0x2e,0x37,0x2e,0x38,0x2e,0x39,0x2e,0x31,0x30,
2524
  0x2e,0x31,0x31,0x2e,0x31,0x32,0x2e,0x31,0x33,0x2e,0x31,0x34,0x2e,0x31,0x35,0x2e,0x31,0x36,0x2e,0x31,0x37,0x2e,0x31,0x38,0x2e,0x31,0x39,0x2e,0x32,0x30,0x2e,0x28,
2525
  0x61,0x29,0x28,0x62,0x29,0x28,0x63,0x29,0x28,0x64,0x29,0x28,0x65,0x29,0x28,0x66,0x29,0x28,0x67,0x29,0x28,0x68,0x29,0x28,0x69,0x29,0x28,0x6a,0x29,0x28,0x6b,0x29,
2526
  0x28,0x6c,0x29,0x28,0x6d,0x29,0x28,0x6e,0x29,0x28,0x6f,0x29,0x28,0x70,0x29,0x28,0x71,0x29,0x28,0x72,0x29,0x28,0x73,0x29,0x28,0x74,0x29,0x28,0x75,0x29,0x28,0x76,
2527
  0x29,0x28,0x77,0x29,0x28,0x78,0x29,0x28,0x79,0x29,0x28,0x7a,0x29,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
2528
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
2529
  0x7a,0x30,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0x3a,0x3a,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0xe2,0xab,0x9d,0xcc,0xb8,0x6a,0x56,0xe2,0xb5,0xa1,
2530
  0xe6,0xaf,0x8d,0xe9,0xbe,0x9f,0xe4,0xb8,0x80,0xe4,0xb8,0xa8,0xe4,0xb8,0xb6,0xe4,0xb8,0xbf,0xe4,0xb9,0x99,0xe4,0xba,0x85,0xe4,0xba,0x8c,0xe4,0xba,0xa0,0xe4,0xba,
2531
  0xba,0xe5,0x84,0xbf,0xe5,0x85,0xa5,0xe5,0x85,0xab,0xe5,0x86,0x82,0xe5,0x86,0x96,0xe5,0x86,0xab,0xe5,0x87,0xa0,0xe5,0x87,0xb5,0xe5,0x88,0x80,0xe5,0x8a,0x9b,0xe5,
2532
  0x8b,0xb9,0xe5,0x8c,0x95,0xe5,0x8c,0x9a,0xe5,0x8c,0xb8,0xe5,0x8d,0x81,0xe5,0x8d,0x9c,0xe5,0x8d,0xa9,0xe5,0x8e,0x82,0xe5,0x8e,0xb6,0xe5,0x8f,0x88,0xe5,0x8f,0xa3,
2533
  0xe5,0x9b,0x97,0xe5,0x9c,0x9f,0xe5,0xa3,0xab,0xe5,0xa4,0x82,0xe5,0xa4,0x8a,0xe5,0xa4,0x95,0xe5,0xa4,0xa7,0xe5,0xa5,0xb3,0xe5,0xad,0x90,0xe5,0xae,0x80,0xe5,0xaf,
2534
  0xb8,0xe5,0xb0,0x8f,0xe5,0xb0,0xa2,0xe5,0xb0,0xb8,0xe5,0xb1,0xae,0xe5,0xb1,0xb1,0xe5,0xb7,0x9b,0xe5,0xb7,0xa5,0xe5,0xb7,0xb1,0xe5,0xb7,0xbe,0xe5,0xb9,0xb2,0xe5,
2535
  0xb9,0xba,0xe5,0xb9,0xbf,0xe5,0xbb,0xb4,0xe5,0xbb,0xbe,0xe5,0xbc,0x8b,0xe5,0xbc,0x93,0xe5,0xbd,0x90,0xe5,0xbd,0xa1,0xe5,0xbd,0xb3,0xe5,0xbf,0x83,0xe6,0x88,0x88,
2536
  0xe6,0x88,0xb6,0xe6,0x89,0x8b,0xe6,0x94,0xaf,0xe6,0x94,0xb4,0xe6,0x96,0x87,0xe6,0x96,0x97,0xe6,0x96,0xa4,0xe6,0x96,0xb9,0xe6,0x97,0xa0,0xe6,0x97,0xa5,0xe6,0x9b,
2537
  0xb0,0xe6,0x9c,0x88,0xe6,0x9c,0xa8,0xe6,0xac,0xa0,0xe6,0xad,0xa2,0xe6,0xad,0xb9,0xe6,0xae,0xb3,0xe6,0xaf,0x8b,0xe6,0xaf,0x94,0xe6,0xaf,0x9b,0xe6,0xb0,0x8f,0xe6,
2538
  0xb0,0x94,0xe6,0xb0,0xb4,0xe7,0x81,0xab,0xe7,0x88,0xaa,0xe7,0x88,0xb6,0xe7,0x88,0xbb,0xe7,0x88,0xbf,0xe7,0x89,0x87,0xe7,0x89,0x99,0xe7,0x89,0x9b,0xe7,0x8a,0xac,
2539
  0xe7,0x8e,0x84,0xe7,0x8e,0x89,0xe7,0x93,0x9c,0xe7,0x93,0xa6,0xe7,0x94,0x98,0xe7,0x94,0x9f,0xe7,0x94,0xa8,0xe7,0x94,0xb0,0xe7,0x96,0x8b,0xe7,0x96,0x92,0xe7,0x99,
2540
  0xb6,0xe7,0x99,0xbd,0xe7,0x9a,0xae,0xe7,0x9a,0xbf,0xe7,0x9b,0xae,0xe7,0x9f,0x9b,0xe7,0x9f,0xa2,0xe7,0x9f,0xb3,0xe7,0xa4,0xba,0xe7,0xa6,0xb8,0xe7,0xa6,0xbe,0xe7,
2541
  0xa9,0xb4,0xe7,0xab,0x8b,0xe7,0xab,0xb9,0xe7,0xb1,0xb3,0xe7,0xb3,0xb8,0xe7,0xbc,0xb6,0xe7,0xbd,0x91,0xe7,0xbe,0x8a,0xe7,0xbe,0xbd,0xe8,0x80,0x81,0xe8,0x80,0x8c,
2542
  0xe8,0x80,0x92,0xe8,0x80,0xb3,0xe8,0x81,0xbf,0xe8,0x82,0x89,0xe8,0x87,0xa3,0xe8,0x87,0xaa,0xe8,0x87,0xb3,0xe8,0x87,0xbc,0xe8,0x88,0x8c,0xe8,0x88,0x9b,0xe8,0x88,
2543
  0x9f,0xe8,0x89,0xae,0xe8,0x89,0xb2,0xe8,0x89,0xb8,0xe8,0x99,0x8d,0xe8,0x99,0xab,0xe8,0xa1,0x80,0xe8,0xa1,0x8c,0xe8,0xa1,0xa3,0xe8,0xa5,0xbe,0xe8,0xa6,0x8b,0xe8,
2544
  0xa7,0x92,0xe8,0xa8,0x80,0xe8,0xb0,0xb7,0xe8,0xb1,0x86,0xe8,0xb1,0x95,0xe8,0xb1,0xb8,0xe8,0xb2,0x9d,0xe8,0xb5,0xa4,0xe8,0xb5,0xb0,0xe8,0xb6,0xb3,0xe8,0xba,0xab,
2545
  0xe8,0xbb,0x8a,0xe8,0xbe,0x9b,0xe8,0xbe,0xb0,0xe8,0xbe,0xb5,0xe9,0x82,0x91,0xe9,0x85,0x89,0xe9,0x87,0x86,0xe9,0x87,0x8c,0xe9,0x87,0x91,0xe9,0x95,0xb7,0xe9,0x96,
2546
  0x80,0xe9,0x98,0x9c,0xe9,0x9a,0xb6,0xe9,0x9a,0xb9,0xe9,0x9b,0xa8,0xe9,0x9d,0x91,0xe9,0x9d,0x9e,0xe9,0x9d,0xa2,0xe9,0x9d,0xa9,0xe9,0x9f,0x8b,0xe9,0x9f,0xad,0xe9,
2547
  0x9f,0xb3,0xe9,0xa0,0x81,0xe9,0xa2,0xa8,0xe9,0xa3,0x9b,0xe9,0xa3,0x9f,0xe9,0xa6,0x96,0xe9,0xa6,0x99,0xe9,0xa6,0xac,0xe9,0xaa,0xa8,0xe9,0xab,0x98,0xe9,0xab,0x9f,
2548
  0xe9,0xac,0xa5,0xe9,0xac,0xaf,0xe9,0xac,0xb2,0xe9,0xac,0xbc,0xe9,0xad,0x9a,0xe9,0xb3,0xa5,0xe9,0xb9,0xb5,0xe9,0xb9,0xbf,0xe9,0xba,0xa5,0xe9,0xba,0xbb,0xe9,0xbb,
2549
  0x83,0xe9,0xbb,0x8d,0xe9,0xbb,0x91,0xe9,0xbb,0xb9,0xe9,0xbb,0xbd,0xe9,0xbc,0x8e,0xe9,0xbc,0x93,0xe9,0xbc,0xa0,0xe9,0xbc,0xbb,0xe9,0xbd,0x8a,0xe9,0xbd,0x92,0xe9,
2550
  0xbe,0x8d,0xe9,0xbe,0x9c,0xe9,0xbe,0xa0,0x20,0xe3,0x80,0x92,0xe5,0x8d,0x81,0xe5,0x8d,0x84,0xe5,0x8d,0x85,0xe3,0x81,0x8b,0xe3,0x82,0x99,0xe3,0x81,0x8d,0xe3,0x82,
2551
  0x99,0xe3,0x81,0x8f,0xe3,0x82,0x99,0xe3,0x81,0x91,0xe3,0x82,0x99,0xe3,0x81,0x93,0xe3,0x82,0x99,0xe3,0x81,0x95,0xe3,0x82,0x99,0xe3,0x81,0x97,0xe3,0x82,0x99,0xe3,
2552
  0x81,0x99,0xe3,0x82,0x99,0xe3,0x81,0x9b,0xe3,0x82,0x99,0xe3,0x81,0x9d,0xe3,0x82,0x99,0xe3,0x81,0x9f,0xe3,0x82,0x99,0xe3,0x81,0xa1,0xe3,0x82,0x99,0xe3,0x81,0xa4,
2553
  0xe3,0x82,0x99,0xe3,0x81,0xa6,0xe3,0x82,0x99,0xe3,0x81,0xa8,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x9a,0xe3,0x81,0xb2,0xe3,0x82,
2554
  0x99,0xe3,0x81,0xb2,0xe3,0x82,0x9a,0xe3,0x81,0xb5,0xe3,0x82,0x99,0xe3,0x81,0xb5,0xe3,0x82,0x9a,0xe3,0x81,0xb8,0xe3,0x82,0x99,0xe3,0x81,0xb8,0xe3,0x82,0x9a,0xe3,
2555
  0x81,0xbb,0xe3,0x82,0x99,0xe3,0x81,0xbb,0xe3,0x82,0x9a,0xe3,0x81,0x86,0xe3,0x82,0x99,0x20,0xe3,0x82,0x99,0x20,0xe3,0x82,0x9a,0xe3,0x82,0x9d,0xe3,0x82,0x99,0xe3,
2556
  0x82,0x88,0xe3,0x82,0x8a,0xe3,0x82,0xab,0xe3,0x82,0x99,0xe3,0x82,0xad,0xe3,0x82,0x99,0xe3,0x82,0xaf,0xe3,0x82,0x99,0xe3,0x82,0xb1,0xe3,0x82,0x99,0xe3,0x82,0xb3,
2557
  0xe3,0x82,0x99,0xe3,0x82,0xb5,0xe3,0x82,0x99,0xe3,0x82,0xb7,0xe3,0x82,0x99,0xe3,0x82,0xb9,0xe3,0x82,0x99,0xe3,0x82,0xbb,0xe3,0x82,0x99,0xe3,0x82,0xbd,0xe3,0x82,
2558
  0x99,0xe3,0x82,0xbf,0xe3,0x82,0x99,0xe3,0x83,0x81,0xe3,0x82,0x99,0xe3,0x83,0x84,0xe3,0x82,0x99,0xe3,0x83,0x86,0xe3,0x82,0x99,0xe3,0x83,0x88,0xe3,0x82,0x99,0xe3,
2559
  0x83,0x8f,0xe3,0x82,0x99,0xe3,0x83,0x8f,0xe3,0x82,0x9a,0xe3,0x83,0x92,0xe3,0x82,0x99,0xe3,0x83,0x92,0xe3,0x82,0x9a,0xe3,0x83,0x95,0xe3,0x82,0x99,0xe3,0x83,0x95,
2560
  0xe3,0x82,0x9a,0xe3,0x83,0x98,0xe3,0x82,0x99,0xe3,0x83,0x98,0xe3,0x82,0x9a,0xe3,0x83,0x9b,0xe3,0x82,0x99,0xe3,0x83,0x9b,0xe3,0x82,0x9a,0xe3,0x82,0xa6,0xe3,0x82,
2561
  0x99,0xe3,0x83,0xaf,0xe3,0x82,0x99,0xe3,0x83,0xb0,0xe3,0x82,0x99,0xe3,0x83,0xb1,0xe3,0x82,0x99,0xe3,0x83,0xb2,0xe3,0x82,0x99,0xe3,0x83,0xbd,0xe3,0x82,0x99,0xe3,
2562
  0x82,0xb3,0xe3,0x83,0x88,0xe1,0x84,0x80,0xe1,0x84,0x81,0xe1,0x86,0xaa,0xe1,0x84,0x82,0xe1,0x86,0xac,0xe1,0x86,0xad,0xe1,0x84,0x83,0xe1,0x84,0x84,0xe1,0x84,0x85,
2563
  0xe1,0x86,0xb0,0xe1,0x86,0xb1,0xe1,0x86,0xb2,0xe1,0x86,0xb3,0xe1,0x86,0xb4,0xe1,0x86,0xb5,0xe1,0x84,0x9a,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x88,0xe1,0x84,
2564
  0xa1,0xe1,0x84,0x89,0xe1,0x84,0x8a,0xe1,0x84,0x8b,0xe1,0x84,0x8c,0xe1,0x84,0x8d,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,
2565
  0x85,0xa1,0xe1,0x85,0xa2,0xe1,0x85,0xa3,0xe1,0x85,0xa4,0xe1,0x85,0xa5,0xe1,0x85,0xa6,0xe1,0x85,0xa7,0xe1,0x85,0xa8,0xe1,0x85,0xa9,0xe1,0x85,0xaa,0xe1,0x85,0xab,
2566
  0xe1,0x85,0xac,0xe1,0x85,0xad,0xe1,0x85,0xae,0xe1,0x85,0xaf,0xe1,0x85,0xb0,0xe1,0x85,0xb1,0xe1,0x85,0xb2,0xe1,0x85,0xb3,0xe1,0x85,0xb4,0xe1,0x85,0xb5,0xe1,0x85,
2567
  0xa0,0xe1,0x84,0x94,0xe1,0x84,0x95,0xe1,0x87,0x87,0xe1,0x87,0x88,0xe1,0x87,0x8c,0xe1,0x87,0x8e,0xe1,0x87,0x93,0xe1,0x87,0x97,0xe1,0x87,0x99,0xe1,0x84,0x9c,0xe1,
2568
  0x87,0x9d,0xe1,0x87,0x9f,0xe1,0x84,0x9d,0xe1,0x84,0x9e,0xe1,0x84,0xa0,0xe1,0x84,0xa2,0xe1,0x84,0xa3,0xe1,0x84,0xa7,0xe1,0x84,0xa9,0xe1,0x84,0xab,0xe1,0x84,0xac,
2569
  0xe1,0x84,0xad,0xe1,0x84,0xae,0xe1,0x84,0xaf,0xe1,0x84,0xb2,0xe1,0x84,0xb6,0xe1,0x85,0x80,0xe1,0x85,0x87,0xe1,0x85,0x8c,0xe1,0x87,0xb1,0xe1,0x87,0xb2,0xe1,0x85,
2570
  0x97,0xe1,0x85,0x98,0xe1,0x85,0x99,0xe1,0x86,0x84,0xe1,0x86,0x85,0xe1,0x86,0x88,0xe1,0x86,0x91,0xe1,0x86,0x92,0xe1,0x86,0x94,0xe1,0x86,0x9e,0xe1,0x86,0xa1,0xe4,
2571
  0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe7,0x94,0xb2,0xe4,0xb9,0x99,0xe4,0xb8,0x99,0xe4,0xb8,0x81,
2572
  0xe5,0xa4,0xa9,0xe5,0x9c,0xb0,0xe4,0xba,0xba,0x28,0xe1,0x84,0x80,0x29,0x28,0xe1,0x84,0x82,0x29,0x28,0xe1,0x84,0x83,0x29,0x28,0xe1,0x84,0x85,0x29,0x28,0xe1,0x84,
2573
  0x86,0x29,0x28,0xe1,0x84,0x87,0x29,0x28,0xe1,0x84,0x89,0x29,0x28,0xe1,0x84,0x8b,0x29,0x28,0xe1,0x84,0x8c,0x29,0x28,0xe1,0x84,0x8e,0x29,0x28,0xe1,0x84,0x8f,0x29,
2574
  0x28,0xe1,0x84,0x90,0x29,0x28,0xe1,0x84,0x91,0x29,0x28,0xe1,0x84,0x92,0x29,0x28,0xe1,0x84,0x80,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x82,0xe1,0x85,0xa1,0x29,0x28,
2575
  0xe1,0x84,0x83,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x85,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x86,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x87,0xe1,0x85,0xa1,0x29,0x28,
2576
  0xe1,0x84,0x89,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0x29,0x28,
2577
  0xe1,0x84,0x8f,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x90,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x91,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x92,0xe1,0x85,0xa1,0x29,0x28,
2578
  0xe1,0x84,0x8c,0xe1,0x85,0xae,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xa5,0xe1,0x86,0xab,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,
2579
  0x84,0x92,0xe1,0x85,0xae,0x29,0x28,0xe4,0xb8,0x80,0x29,0x28,0xe4,0xba,0x8c,0x29,0x28,0xe4,0xb8,0x89,0x29,0x28,0xe5,0x9b,0x9b,0x29,0x28,0xe4,0xba,0x94,0x29,0x28,
2580
  0xe5,0x85,0xad,0x29,0x28,0xe4,0xb8,0x83,0x29,0x28,0xe5,0x85,0xab,0x29,0x28,0xe4,0xb9,0x9d,0x29,0x28,0xe5,0x8d,0x81,0x29,0x28,0xe6,0x9c,0x88,0x29,0x28,0xe7,0x81,
2581
  0xab,0x29,0x28,0xe6,0xb0,0xb4,0x29,0x28,0xe6,0x9c,0xa8,0x29,0x28,0xe9,0x87,0x91,0x29,0x28,0xe5,0x9c,0x9f,0x29,0x28,0xe6,0x97,0xa5,0x29,0x28,0xe6,0xa0,0xaa,0x29,
2582
  0x28,0xe6,0x9c,0x89,0x29,0x28,0xe7,0xa4,0xbe,0x29,0x28,0xe5,0x90,0x8d,0x29,0x28,0xe7,0x89,0xb9,0x29,0x28,0xe8,0xb2,0xa1,0x29,0x28,0xe7,0xa5,0x9d,0x29,0x28,0xe5,
2583
  0x8a,0xb4,0x29,0x28,0xe4,0xbb,0xa3,0x29,0x28,0xe5,0x91,0xbc,0x29,0x28,0xe5,0xad,0xa6,0x29,0x28,0xe7,0x9b,0xa3,0x29,0x28,0xe4,0xbc,0x81,0x29,0x28,0xe8,0xb3,0x87,
2584
  0x29,0x28,0xe5,0x8d,0x94,0x29,0x28,0xe7,0xa5,0xad,0x29,0x28,0xe4,0xbc,0x91,0x29,0x28,0xe8,0x87,0xaa,0x29,0x28,0xe8,0x87,0xb3,0x29,0xe5,0x95,0x8f,0xe5,0xb9,0xbc,
2585
  0xe6,0x96,0x87,0xe7,0xae,0x8f,0x50,0x54,0x45,0x32,0x31,0x32,0x32,0x32,0x33,0x32,0x34,0x32,0x35,0x32,0x36,0x32,0x37,0x32,0x38,0x32,0x39,0x33,0x30,0x33,0x31,0x33,
2586
  0x32,0x33,0x33,0x33,0x34,0x33,0x35,0xe1,0x84,0x80,0xe1,0x84,0x82,0xe1,0x84,0x83,0xe1,0x84,0x85,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x89,0xe1,0x84,0x8b,0xe1,
2587
  0x84,0x8c,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,0x84,0x80,0xe1,0x85,0xa1,0xe1,0x84,0x82,0xe1,0x85,0xa1,0xe1,0x84,0x83,
2588
  0xe1,0x85,0xa1,0xe1,0x84,0x85,0xe1,0x85,0xa1,0xe1,0x84,0x86,0xe1,0x85,0xa1,0xe1,0x84,0x87,0xe1,0x85,0xa1,0xe1,0x84,0x89,0xe1,0x85,0xa1,0xe1,0x84,0x8b,0xe1,0x85,
2589
  0xa1,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x84,0x8f,0xe1,0x85,0xa1,0xe1,0x84,0x90,0xe1,0x85,0xa1,0xe1,0x84,0x91,0xe1,0x85,0xa1,0xe1,
2590
  0x84,0x92,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x86,0xb7,0xe1,0x84,0x80,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xae,0xe1,0x84,0x8b,0xe1,0x85,0xb4,
2591
  0xe1,0x84,0x8b,0xe1,0x85,0xae,0xe4,0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xba,0x94,0xe5,0x85,0xad,0xe4,0xb8,0x83,0xe5,0x85,0xab,0xe4,0xb9,
2592
  0x9d,0xe5,0x8d,0x81,0xe6,0x9c,0x88,0xe7,0x81,0xab,0xe6,0xb0,0xb4,0xe6,0x9c,0xa8,0xe9,0x87,0x91,0xe5,0x9c,0x9f,0xe6,0x97,0xa5,0xe6,0xa0,0xaa,0xe6,0x9c,0x89,0xe7,
2593
  0xa4,0xbe,0xe5,0x90,0x8d,0xe7,0x89,0xb9,0xe8,0xb2,0xa1,0xe7,0xa5,0x9d,0xe5,0x8a,0xb4,0xe7,0xa7,0x98,0xe7,0x94,0xb7,0xe5,0xa5,0xb3,0xe9,0x81,0xa9,0xe5,0x84,0xaa,
2594
  0xe5,0x8d,0xb0,0xe6,0xb3,0xa8,0xe9,0xa0,0x85,0xe4,0xbc,0x91,0xe5,0x86,0x99,0xe6,0xad,0xa3,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe5,0xb7,0xa6,0xe5,0x8f,
2595
  0xb3,0xe5,0x8c,0xbb,0xe5,0xae,0x97,0xe5,0xad,0xa6,0xe7,0x9b,0xa3,0xe4,0xbc,0x81,0xe8,0xb3,0x87,0xe5,0x8d,0x94,0xe5,0xa4,0x9c,0x33,0x36,0x33,0x37,0x33,0x38,0x33,
2596
  0x39,0x34,0x30,0x34,0x31,0x34,0x32,0x34,0x33,0x34,0x34,0x34,0x35,0x34,0x36,0x34,0x37,0x34,0x38,0x34,0x39,0x35,0x30,0x31,0xe6,0x9c,0x88,0x32,0xe6,0x9c,0x88,0x33,
2597
  0xe6,0x9c,0x88,0x34,0xe6,0x9c,0x88,0x35,0xe6,0x9c,0x88,0x36,0xe6,0x9c,0x88,0x37,0xe6,0x9c,0x88,0x38,0xe6,0x9c,0x88,0x39,0xe6,0x9c,0x88,0x31,0x30,0xe6,0x9c,0x88,
2598
  0x31,0x31,0xe6,0x9c,0x88,0x31,0x32,0xe6,0x9c,0x88,0x48,0x67,0x65,0x72,0x67,0x65,0x56,0x4c,0x54,0x44,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,
2599
  0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,
2600
  0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,
2601
  0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,
2602
  0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb0,0xe3,0x83,0xb1,0xe3,0x83,
2603
  0xb2,0xe4,0xbb,0xa4,0xe5,0x92,0x8c,0xe3,0x82,0xa2,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x82,0xa2,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,
2604
  0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0x9a,0xe3,0x82,0xa2,0xe3,0x82,0xa2,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x82,0xa4,0xe3,0x83,0x8b,0xe3,0x83,0xb3,0xe3,0x82,0xb0,
2605
  0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xa6,0xe3,0x82,0xa9,0xe3,0x83,0xb3,0xe3,0x82,0xa8,0xe3,0x82,0xb9,0xe3,0x82,0xaf,0xe3,0x83,0xbc,0xe3,0x83,
2606
  0x89,0xe3,0x82,0xa8,0xe3,0x83,0xbc,0xe3,0x82,0xab,0xe3,0x83,0xbc,0xe3,0x82,0xaa,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x82,0xaa,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,
2607
  0x82,0xab,0xe3,0x82,0xa4,0xe3,0x83,0xaa,0xe3,0x82,0xab,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xab,0xe3,0x83,0xad,0xe3,0x83,0xaa,0xe3,0x83,0xbc,
2608
  0xe3,0x82,0xac,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x82,0xac,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,0x82,0xae,0xe3,0x82,0xac,0xe3,0x82,0xae,0xe3,0x83,0x8b,0xe3,0x83,
2609
  0xbc,0xe3,0x82,0xad,0xe3,0x83,0xa5,0xe3,0x83,0xaa,0xe3,0x83,0xbc,0xe3,0x82,0xae,0xe3,0x83,0xab,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,
2610
  0x82,0xad,0xe3,0x83,0xad,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,
2611
  0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,
2612
  0xa0,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xbc,0xe3,0x82,0xa4,0xe3,0x83,0xad,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xbc,0xe3,
2613
  0x83,0x8d,0xe3,0x82,0xb1,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,0x82,0xb3,0xe3,0x83,0xab,0xe3,0x83,0x8a,0xe3,0x82,0xb3,0xe3,0x83,0xbc,0xe3,0x83,0x9d,0xe3,0x82,0xb5,
2614
  0xe3,0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xb5,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,0x82,0xb7,0xe3,0x83,0xaa,0xe3,0x83,
2615
  0xb3,0xe3,0x82,0xb0,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,
2616
  0x83,0x87,0xe3,0x82,0xb7,0xe3,0x83,0x89,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0x8a,0xe3,0x83,0x8e,0xe3,0x83,0x8e,0xe3,0x83,0x83,0xe3,0x83,0x88,
2617
  0xe3,0x83,0x8f,0xe3,0x82,0xa4,0xe3,0x83,0x84,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,
2618
  0x84,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xac,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xa2,0xe3,0x82,0xb9,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,
2619
  0x82,0xaf,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xb3,0xe3,0x83,0x93,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x89,
2620
  0xe3,0x83,0x95,0xe3,0x82,0xa3,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0x96,0xe3,0x83,0x83,0xe3,0x82,0xb7,0xe3,0x82,0xa7,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x83,
2621
  0xa9,0xe3,0x83,0xb3,0xe3,0x83,0x98,0xe3,0x82,0xaf,0xe3,0x82,0xbf,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9a,0xe3,0x82,0xbd,0xe3,0x83,0x9a,0xe3,0x83,0x8b,0xe3,
2622
  0x83,0x92,0xe3,0x83,0x98,0xe3,0x83,0xab,0xe3,0x83,0x84,0xe3,0x83,0x9a,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x83,0x9a,0xe3,0x83,0xbc,0xe3,0x82,0xb8,0xe3,0x83,0x99,
2623
  0xe3,0x83,0xbc,0xe3,0x82,0xbf,0xe3,0x83,0x9d,0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x9c,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0x9b,0xe3,0x83,
2624
  0xb3,0xe3,0x83,0x9d,0xe3,0x83,0xb3,0xe3,0x83,0x89,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,
2625
  0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0x9e,0xe3,0x82,0xa4,0xe3,0x83,0xab,0xe3,0x83,0x9e,0xe3,0x83,0x83,0xe3,0x83,0x8f,0xe3,0x83,0x9e,0xe3,0x83,0xab,
2626
  0xe3,0x82,0xaf,0xe3,0x83,0x9e,0xe3,0x83,0xb3,0xe3,0x82,0xb7,0xe3,0x83,0xa7,0xe3,0x83,0xb3,0xe3,0x83,0x9f,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x83,
2627
  0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,
2628
  0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xa4,0xe3,0x83,0xbc,0xe3,0x83,0x89,0xe3,0x83,0xa4,0xe3,0x83,0xbc,
2629
  0xe3,0x83,0xab,0xe3,0x83,0xa6,0xe3,0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0xaa,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xaa,0xe3,0x83,0xa9,0xe3,0x83,
2630
  0xab,0xe3,0x83,0x94,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xbc,0xe3,0x83,0x96,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xa0,0xe3,0x83,0xac,0xe3,0x83,0xb3,0xe3,
2631
  0x83,0x88,0xe3,0x82,0xb2,0xe3,0x83,0xb3,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0x30,0xe7,0x82,0xb9,0x31,0xe7,0x82,0xb9,0x32,0xe7,0x82,0xb9,0x33,0xe7,0x82,
2632
  0xb9,0x34,0xe7,0x82,0xb9,0x35,0xe7,0x82,0xb9,0x36,0xe7,0x82,0xb9,0x37,0xe7,0x82,0xb9,0x38,0xe7,0x82,0xb9,0x39,0xe7,0x82,0xb9,0x31,0x30,0xe7,0x82,0xb9,0x31,0x31,
2633
  0xe7,0x82,0xb9,0x31,0x32,0xe7,0x82,0xb9,0x31,0x33,0xe7,0x82,0xb9,0x31,0x34,0xe7,0x82,0xb9,0x31,0x35,0xe7,0x82,0xb9,0x31,0x36,0xe7,0x82,0xb9,0x31,0x37,0xe7,0x82,
2634
  0xb9,0x31,0x38,0xe7,0x82,0xb9,0x31,0x39,0xe7,0x82,0xb9,0x32,0x30,0xe7,0x82,0xb9,0x32,0x31,0xe7,0x82,0xb9,0x32,0x32,0xe7,0x82,0xb9,0x32,0x33,0xe7,0x82,0xb9,0x32,
2635
  0x34,0xe7,0x82,0xb9,0x68,0x50,0x61,0x64,0x61,0x41,0x55,0x62,0x61,0x72,0x6f,0x56,0x70,0x63,0x64,0x6d,0x64,0x6d,0xc2,0xb2,0x64,0x6d,0xc2,0xb3,0x49,0x55,0xe5,0xb9,
2636
  0xb3,0xe6,0x88,0x90,0xe6,0x98,0xad,0xe5,0x92,0x8c,0xe5,0xa4,0xa7,0xe6,0xad,0xa3,0xe6,0x98,0x8e,0xe6,0xb2,0xbb,0xe6,0xa0,0xaa,0xe5,0xbc,0x8f,0xe4,0xbc,0x9a,0xe7,
2637
  0xa4,0xbe,0x70,0x41,0x6e,0x41,0xce,0xbc,0x41,0x6d,0x41,0x6b,0x41,0x4b,0x42,0x4d,0x42,0x47,0x42,0x63,0x61,0x6c,0x6b,0x63,0x61,0x6c,0x70,0x46,0x6e,0x46,0xce,0xbc,
2638
  0x46,0xce,0xbc,0x67,0x6d,0x67,0x6b,0x67,0x48,0x7a,0x6b,0x48,0x7a,0x4d,0x48,0x7a,0x47,0x48,0x7a,0x54,0x48,0x7a,0xce,0xbc,0xe2,0x84,0x93,0x6d,0xe2,0x84,0x93,0x64,
2639
  0xe2,0x84,0x93,0x6b,0xe2,0x84,0x93,0x66,0x6d,0x6e,0x6d,0xce,0xbc,0x6d,0x6d,0x6d,0x63,0x6d,0x6b,0x6d,0x6d,0x6d,0xc2,0xb2,0x63,0x6d,0xc2,0xb2,0x6d,0xc2,0xb2,0x6b,
2640
  0x6d,0xc2,0xb2,0x6d,0x6d,0xc2,0xb3,0x63,0x6d,0xc2,0xb3,0x6d,0xc2,0xb3,0x6b,0x6d,0xc2,0xb3,0x6d,0xe2,0x88,0x95,0x73,0x6d,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x50,0x61,
2641
  0x6b,0x50,0x61,0x4d,0x50,0x61,0x47,0x50,0x61,0x72,0x61,0x64,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x70,0x73,0x6e,0x73,
2642
  0xce,0xbc,0x73,0x6d,0x73,0x70,0x56,0x6e,0x56,0xce,0xbc,0x56,0x6d,0x56,0x6b,0x56,0x4d,0x56,0x70,0x57,0x6e,0x57,0xce,0xbc,0x57,0x6d,0x57,0x6b,0x57,0x4d,0x57,0x6b,
2643
  0xce,0xa9,0x4d,0xce,0xa9,0x61,0x2e,0x6d,0x2e,0x42,0x71,0x63,0x63,0x63,0x64,0x43,0xe2,0x88,0x95,0x6b,0x67,0x43,0x6f,0x2e,0x64,0x42,0x47,0x79,0x68,0x61,0x48,0x50,
2644
  0x69,0x6e,0x4b,0x4b,0x4b,0x4d,0x6b,0x74,0x6c,0x6d,0x6c,0x6e,0x6c,0x6f,0x67,0x6c,0x78,0x6d,0x62,0x6d,0x69,0x6c,0x6d,0x6f,0x6c,0x50,0x48,0x70,0x2e,0x6d,0x2e,0x50,
2645
  0x50,0x4d,0x50,0x52,0x73,0x72,0x53,0x76,0x57,0x62,0x56,0xe2,0x88,0x95,0x6d,0x41,0xe2,0x88,0x95,0x6d,0x31,0xe6,0x97,0xa5,0x32,0xe6,0x97,0xa5,0x33,0xe6,0x97,0xa5,
2646
  0x34,0xe6,0x97,0xa5,0x35,0xe6,0x97,0xa5,0x36,0xe6,0x97,0xa5,0x37,0xe6,0x97,0xa5,0x38,0xe6,0x97,0xa5,0x39,0xe6,0x97,0xa5,0x31,0x30,0xe6,0x97,0xa5,0x31,0x31,0xe6,
2647
  0x97,0xa5,0x31,0x32,0xe6,0x97,0xa5,0x31,0x33,0xe6,0x97,0xa5,0x31,0x34,0xe6,0x97,0xa5,0x31,0x35,0xe6,0x97,0xa5,0x31,0x36,0xe6,0x97,0xa5,0x31,0x37,0xe6,0x97,0xa5,
2648
  0x31,0x38,0xe6,0x97,0xa5,0x31,0x39,0xe6,0x97,0xa5,0x32,0x30,0xe6,0x97,0xa5,0x32,0x31,0xe6,0x97,0xa5,0x32,0x32,0xe6,0x97,0xa5,0x32,0x33,0xe6,0x97,0xa5,0x32,0x34,
2649
  0xe6,0x97,0xa5,0x32,0x35,0xe6,0x97,0xa5,0x32,0x36,0xe6,0x97,0xa5,0x32,0x37,0xe6,0x97,0xa5,0x32,0x38,0xe6,0x97,0xa5,0x32,0x39,0xe6,0x97,0xa5,0x33,0x30,0xe6,0x97,
2650
  0xa5,0x33,0x31,0xe6,0x97,0xa5,0x67,0x61,0x6c,0xd1,0x8a,0xd1,0x8c,0xea,0x9d,0xaf,0x43,0x46,0x51,0xc4,0xa6,0xc5,0x93,0xea,0x9c,0xa7,0xea,0xac,0xb7,0xc9,0xab,0xea,
2651
  0xad,0x92,0xca,0x8d,0xe8,0xb1,0x88,0xe6,0x9b,0xb4,0xe8,0xbb,0x8a,0xe8,0xb3,0x88,0xe6,0xbb,0x91,0xe4,0xb8,0xb2,0xe5,0x8f,0xa5,0xe9,0xbe,0x9c,0xe9,0xbe,0x9c,0xe5,
2652
  0xa5,0x91,0xe9,0x87,0x91,0xe5,0x96,0x87,0xe5,0xa5,0x88,0xe6,0x87,0xb6,0xe7,0x99,0xa9,0xe7,0xbe,0x85,0xe8,0x98,0xbf,0xe8,0x9e,0xba,0xe8,0xa3,0xb8,0xe9,0x82,0x8f,
2653
  0xe6,0xa8,0x82,0xe6,0xb4,0x9b,0xe7,0x83,0x99,0xe7,0x8f,0x9e,0xe8,0x90,0xbd,0xe9,0x85,0xaa,0xe9,0xa7,0xb1,0xe4,0xba,0x82,0xe5,0x8d,0xb5,0xe6,0xac,0x84,0xe7,0x88,
2654
  0x9b,0xe8,0x98,0xad,0xe9,0xb8,0x9e,0xe5,0xb5,0x90,0xe6,0xbf,0xab,0xe8,0x97,0x8d,0xe8,0xa5,0xa4,0xe6,0x8b,0x89,0xe8,0x87,0x98,0xe8,0xa0,0x9f,0xe5,0xbb,0x8a,0xe6,
2655
  0x9c,0x97,0xe6,0xb5,0xaa,0xe7,0x8b,0xbc,0xe9,0x83,0x8e,0xe4,0xbe,0x86,0xe5,0x86,0xb7,0xe5,0x8b,0x9e,0xe6,0x93,0x84,0xe6,0xab,0x93,0xe7,0x88,0x90,0xe7,0x9b,0xa7,
2656
  0xe8,0x80,0x81,0xe8,0x98,0x86,0xe8,0x99,0x9c,0xe8,0xb7,0xaf,0xe9,0x9c,0xb2,0xe9,0xad,0xaf,0xe9,0xb7,0xba,0xe7,0xa2,0x8c,0xe7,0xa5,0xbf,0xe7,0xb6,0xa0,0xe8,0x8f,
2657
  0x89,0xe9,0x8c,0x84,0xe9,0xb9,0xbf,0xe8,0xab,0x96,0xe5,0xa3,0x9f,0xe5,0xbc,0x84,0xe7,0xb1,0xa0,0xe8,0x81,0xbe,0xe7,0x89,0xa2,0xe7,0xa3,0x8a,0xe8,0xb3,0x82,0xe9,
2658
  0x9b,0xb7,0xe5,0xa3,0x98,0xe5,0xb1,0xa2,0xe6,0xa8,0x93,0xe6,0xb7,0x9a,0xe6,0xbc,0x8f,0xe7,0xb4,0xaf,0xe7,0xb8,0xb7,0xe9,0x99,0x8b,0xe5,0x8b,0x92,0xe8,0x82,0x8b,
2659
  0xe5,0x87,0x9c,0xe5,0x87,0x8c,0xe7,0xa8,0x9c,0xe7,0xb6,0xbe,0xe8,0x8f,0xb1,0xe9,0x99,0xb5,0xe8,0xae,0x80,0xe6,0x8b,0x8f,0xe6,0xa8,0x82,0xe8,0xab,0xbe,0xe4,0xb8,
2660
  0xb9,0xe5,0xaf,0xa7,0xe6,0x80,0x92,0xe7,0x8e,0x87,0xe7,0x95,0xb0,0xe5,0x8c,0x97,0xe7,0xa3,0xbb,0xe4,0xbe,0xbf,0xe5,0xbe,0xa9,0xe4,0xb8,0x8d,0xe6,0xb3,0x8c,0xe6,
2661
  0x95,0xb8,0xe7,0xb4,0xa2,0xe5,0x8f,0x83,0xe5,0xa1,0x9e,0xe7,0x9c,0x81,0xe8,0x91,0x89,0xe8,0xaa,0xaa,0xe6,0xae,0xba,0xe8,0xbe,0xb0,0xe6,0xb2,0x88,0xe6,0x8b,0xbe,
2662
  0xe8,0x8b,0xa5,0xe6,0x8e,0xa0,0xe7,0x95,0xa5,0xe4,0xba,0xae,0xe5,0x85,0xa9,0xe5,0x87,0x89,0xe6,0xa2,0x81,0xe7,0xb3,0xa7,0xe8,0x89,0xaf,0xe8,0xab,0x92,0xe9,0x87,
2663
  0x8f,0xe5,0x8b,0xb5,0xe5,0x91,0x82,0xe5,0xa5,0xb3,0xe5,0xbb,0xac,0xe6,0x97,0x85,0xe6,0xbf,0xbe,0xe7,0xa4,0xaa,0xe9,0x96,0xad,0xe9,0xa9,0xaa,0xe9,0xba,0x97,0xe9,
2664
  0xbb,0x8e,0xe5,0x8a,0x9b,0xe6,0x9b,0x86,0xe6,0xad,0xb7,0xe8,0xbd,0xa2,0xe5,0xb9,0xb4,0xe6,0x86,0x90,0xe6,0x88,0x80,0xe6,0x92,0x9a,0xe6,0xbc,0xa3,0xe7,0x85,0x89,
2665
  0xe7,0x92,0x89,0xe7,0xa7,0x8a,0xe7,0xb7,0xb4,0xe8,0x81,0xaf,0xe8,0xbc,0xa6,0xe8,0x93,0xae,0xe9,0x80,0xa3,0xe9,0x8d,0x8a,0xe5,0x88,0x97,0xe5,0x8a,0xa3,0xe5,0x92,
2666
  0xbd,0xe7,0x83,0x88,0xe8,0xa3,0x82,0xe8,0xaa,0xaa,0xe5,0xbb,0x89,0xe5,0xbf,0xb5,0xe6,0x8d,0xbb,0xe6,0xae,0xae,0xe7,0xb0,0xbe,0xe7,0x8d,0xb5,0xe4,0xbb,0xa4,0xe5,
2667
  0x9b,0xb9,0xe5,0xaf,0xa7,0xe5,0xb6,0xba,0xe6,0x80,0x9c,0xe7,0x8e,0xb2,0xe7,0x91,0xa9,0xe7,0xbe,0x9a,0xe8,0x81,0x86,0xe9,0x88,0xb4,0xe9,0x9b,0xb6,0xe9,0x9d,0x88,
2668
  0xe9,0xa0,0x98,0xe4,0xbe,0x8b,0xe7,0xa6,0xae,0xe9,0x86,0xb4,0xe9,0x9a,0xb8,0xe6,0x83,0xa1,0xe4,0xba,0x86,0xe5,0x83,0x9a,0xe5,0xaf,0xae,0xe5,0xb0,0xbf,0xe6,0x96,
2669
  0x99,0xe6,0xa8,0x82,0xe7,0x87,0x8e,0xe7,0x99,0x82,0xe8,0x93,0xbc,0xe9,0x81,0xbc,0xe9,0xbe,0x8d,0xe6,0x9a,0x88,0xe9,0x98,0xae,0xe5,0x8a,0x89,0xe6,0x9d,0xbb,0xe6,
2670
  0x9f,0xb3,0xe6,0xb5,0x81,0xe6,0xba,0x9c,0xe7,0x90,0x89,0xe7,0x95,0x99,0xe7,0xa1,0xab,0xe7,0xb4,0x90,0xe9,0xa1,0x9e,0xe5,0x85,0xad,0xe6,0x88,0xae,0xe9,0x99,0xb8,
2671
  0xe5,0x80,0xab,0xe5,0xb4,0x99,0xe6,0xb7,0xaa,0xe8,0xbc,0xaa,0xe5,0xbe,0x8b,0xe6,0x85,0x84,0xe6,0xa0,0x97,0xe7,0x8e,0x87,0xe9,0x9a,0x86,0xe5,0x88,0xa9,0xe5,0x90,
2672
  0x8f,0xe5,0xb1,0xa5,0xe6,0x98,0x93,0xe6,0x9d,0x8e,0xe6,0xa2,0xa8,0xe6,0xb3,0xa5,0xe7,0x90,0x86,0xe7,0x97,0xa2,0xe7,0xbd,0xb9,0xe8,0xa3,0x8f,0xe8,0xa3,0xa1,0xe9,
2673
  0x87,0x8c,0xe9,0x9b,0xa2,0xe5,0x8c,0xbf,0xe6,0xba,0xba,0xe5,0x90,0x9d,0xe7,0x87,0x90,0xe7,0x92,0x98,0xe8,0x97,0xba,0xe9,0x9a,0xa3,0xe9,0xb1,0x97,0xe9,0xba,0x9f,
2674
  0xe6,0x9e,0x97,0xe6,0xb7,0x8b,0xe8,0x87,0xa8,0xe7,0xab,0x8b,0xe7,0xac,0xa0,0xe7,0xb2,0x92,0xe7,0x8b,0x80,0xe7,0x82,0x99,0xe8,0xad,0x98,0xe4,0xbb,0x80,0xe8,0x8c,
2675
  0xb6,0xe5,0x88,0xba,0xe5,0x88,0x87,0xe5,0xba,0xa6,0xe6,0x8b,0x93,0xe7,0xb3,0x96,0xe5,0xae,0x85,0xe6,0xb4,0x9e,0xe6,0x9a,0xb4,0xe8,0xbc,0xbb,0xe8,0xa1,0x8c,0xe9,
2676
  0x99,0x8d,0xe8,0xa6,0x8b,0xe5,0xbb,0x93,0xe5,0x85,0x80,0xe5,0x97,0x80,0xe5,0xa1,0x9a,0xe6,0x99,0xb4,0xe5,0x87,0x9e,0xe7,0x8c,0xaa,0xe7,0x9b,0x8a,0xe7,0xa4,0xbc,
2677
  0xe7,0xa5,0x9e,0xe7,0xa5,0xa5,0xe7,0xa6,0x8f,0xe9,0x9d,0x96,0xe7,0xb2,0xbe,0xe7,0xbe,0xbd,0xe8,0x98,0x92,0xe8,0xab,0xb8,0xe9,0x80,0xb8,0xe9,0x83,0xbd,0xe9,0xa3,
2678
  0xaf,0xe9,0xa3,0xbc,0xe9,0xa4,0xa8,0xe9,0xb6,0xb4,0xe9,0x83,0x9e,0xe9,0x9a,0xb7,0xe4,0xbe,0xae,0xe5,0x83,0xa7,0xe5,0x85,0x8d,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,
2679
  0x8d,0x91,0xe5,0x96,0x9d,0xe5,0x98,0x86,0xe5,0x99,0xa8,0xe5,0xa1,0x80,0xe5,0xa2,0xa8,0xe5,0xb1,0xa4,0xe5,0xb1,0xae,0xe6,0x82,0x94,0xe6,0x85,0xa8,0xe6,0x86,0x8e,
2680
  0xe6,0x87,0xb2,0xe6,0x95,0x8f,0xe6,0x97,0xa2,0xe6,0x9a,0x91,0xe6,0xa2,0x85,0xe6,0xb5,0xb7,0xe6,0xb8,0x9a,0xe6,0xbc,0xa2,0xe7,0x85,0xae,0xe7,0x88,0xab,0xe7,0x90,
2681
  0xa2,0xe7,0xa2,0x91,0xe7,0xa4,0xbe,0xe7,0xa5,0x89,0xe7,0xa5,0x88,0xe7,0xa5,0x90,0xe7,0xa5,0x96,0xe7,0xa5,0x9d,0xe7,0xa6,0x8d,0xe7,0xa6,0x8e,0xe7,0xa9,0x80,0xe7,
2682
  0xaa,0x81,0xe7,0xaf,0x80,0xe7,0xb7,0xb4,0xe7,0xb8,0x89,0xe7,0xb9,0x81,0xe7,0xbd,0xb2,0xe8,0x80,0x85,0xe8,0x87,0xad,0xe8,0x89,0xb9,0xe8,0x89,0xb9,0xe8,0x91,0x97,
2683
  0xe8,0xa4,0x90,0xe8,0xa6,0x96,0xe8,0xac,0x81,0xe8,0xac,0xb9,0xe8,0xb3,0x93,0xe8,0xb4,0x88,0xe8,0xbe,0xb6,0xe9,0x80,0xb8,0xe9,0x9b,0xa3,0xe9,0x9f,0xbf,0xe9,0xa0,
2684
  0xbb,0xe6,0x81,0xb5,0xf0,0xa4,0x8b,0xae,0xe8,0x88,0x98,0xe4,0xb8,0xa6,0xe5,0x86,0xb5,0xe5,0x85,0xa8,0xe4,0xbe,0x80,0xe5,0x85,0x85,0xe5,0x86,0x80,0xe5,0x8b,0x87,
2685
  0xe5,0x8b,0xba,0xe5,0x96,0x9d,0xe5,0x95,0x95,0xe5,0x96,0x99,0xe5,0x97,0xa2,0xe5,0xa1,0x9a,0xe5,0xa2,0xb3,0xe5,0xa5,0x84,0xe5,0xa5,0x94,0xe5,0xa9,0xa2,0xe5,0xac,
2686
  0xa8,0xe5,0xbb,0x92,0xe5,0xbb,0x99,0xe5,0xbd,0xa9,0xe5,0xbe,0xad,0xe6,0x83,0x98,0xe6,0x85,0x8e,0xe6,0x84,0x88,0xe6,0x86,0x8e,0xe6,0x85,0xa0,0xe6,0x87,0xb2,0xe6,
2687
  0x88,0xb4,0xe6,0x8f,0x84,0xe6,0x90,0x9c,0xe6,0x91,0x92,0xe6,0x95,0x96,0xe6,0x99,0xb4,0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9d,0x96,0xe6,0xad,0xb9,0xe6,0xae,0xba,
2688
  0xe6,0xb5,0x81,0xe6,0xbb,0x9b,0xe6,0xbb,0x8b,0xe6,0xbc,0xa2,0xe7,0x80,0x9e,0xe7,0x85,0xae,0xe7,0x9e,0xa7,0xe7,0x88,0xb5,0xe7,0x8a,0xaf,0xe7,0x8c,0xaa,0xe7,0x91,
2689
  0xb1,0xe7,0x94,0x86,0xe7,0x94,0xbb,0xe7,0x98,0x9d,0xe7,0x98,0x9f,0xe7,0x9b,0x8a,0xe7,0x9b,0x9b,0xe7,0x9b,0xb4,0xe7,0x9d,0x8a,0xe7,0x9d,0x80,0xe7,0xa3,0x8c,0xe7,
2690
  0xaa,0xb1,0xe7,0xaf,0x80,0xe7,0xb1,0xbb,0xe7,0xb5,0x9b,0xe7,0xb7,0xb4,0xe7,0xbc,0xbe,0xe8,0x80,0x85,0xe8,0x8d,0x92,0xe8,0x8f,0xaf,0xe8,0x9d,0xb9,0xe8,0xa5,0x81,
2691
  0xe8,0xa6,0x86,0xe8,0xa6,0x96,0xe8,0xaa,0xbf,0xe8,0xab,0xb8,0xe8,0xab,0x8b,0xe8,0xac,0x81,0xe8,0xab,0xbe,0xe8,0xab,0xad,0xe8,0xac,0xb9,0xe8,0xae,0x8a,0xe8,0xb4,
2692
  0x88,0xe8,0xbc,0xb8,0xe9,0x81,0xb2,0xe9,0x86,0x99,0xe9,0x89,0xb6,0xe9,0x99,0xbc,0xe9,0x9b,0xa3,0xe9,0x9d,0x96,0xe9,0x9f,0x9b,0xe9,0x9f,0xbf,0xe9,0xa0,0x8b,0xe9,
2693
  0xa0,0xbb,0xe9,0xac,0x92,0xe9,0xbe,0x9c,0xf0,0xa2,0xa1,0x8a,0xf0,0xa2,0xa1,0x84,0xf0,0xa3,0x8f,0x95,0xe3,0xae,0x9d,0xe4,0x80,0x98,0xe4,0x80,0xb9,0xf0,0xa5,0x89,
2694
  0x89,0xf0,0xa5,0xb3,0x90,0xf0,0xa7,0xbb,0x93,0xe9,0xbd,0x83,0xe9,0xbe,0x8e,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0xc5,0xbf,0x74,0x73,0x74,
2695
  0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad,0xd7,0x99,0xd6,0xb4,0xd7,0xb2,0xd6,0xb7,0xd7,0xa2,0xd7,0x90,
2696
  0xd7,0x93,0xd7,0x94,0xd7,0x9b,0xd7,0x9c,0xd7,0x9d,0xd7,0xa8,0xd7,0xaa,0x2b,0xd7,0xa9,0xd7,0x81,0xd7,0xa9,0xd7,0x82,0xef,0xad,0x89,0xd7,0x81,0xef,0xad,0x89,0xd7,
2697
  0x82,0xd7,0x90,0xd6,0xb7,0xd7,0x90,0xd6,0xb8,0xd7,0x90,0xd6,0xbc,0xd7,0x91,0xd6,0xbc,0xd7,0x92,0xd6,0xbc,0xd7,0x93,0xd6,0xbc,0xd7,0x94,0xd6,0xbc,0xd7,0x95,0xd6,
2698
  0xbc,0xd7,0x96,0xd6,0xbc,0xd7,0x98,0xd6,0xbc,0xd7,0x99,0xd6,0xbc,0xd7,0x9a,0xd6,0xbc,0xd7,0x9b,0xd6,0xbc,0xd7,0x9c,0xd6,0xbc,0xd7,0x9e,0xd6,0xbc,0xd7,0xa0,0xd6,
2699
  0xbc,0xd7,0xa1,0xd6,0xbc,0xd7,0xa3,0xd6,0xbc,0xd7,0xa4,0xd6,0xbc,0xd7,0xa6,0xd6,0xbc,0xd7,0xa7,0xd6,0xbc,0xd7,0xa8,0xd6,0xbc,0xd7,0xa9,0xd6,0xbc,0xd7,0xaa,0xd6,
2700
  0xbc,0xd7,0x95,0xd6,0xb9,0xd7,0x91,0xd6,0xbf,0xd7,0x9b,0xd6,0xbf,0xd7,0xa4,0xd6,0xbf,0xd7,0x90,0xd7,0x9c,0xd9,0xb1,0xd9,0xb1,0xd9,0xbb,0xd9,0xbb,0xd9,0xbb,0xd9,
2701
  0xbb,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xda,0x80,0xda,0x80,0xda,0x80,0xda,0x80,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xbf,0xd9,0xbf,0xd9,0xbf,0xd9,
2702
  0xbf,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0x84,0xda,0x84,0xda,0x84,0xda,
2703
  0x84,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x8d,0xda,0x8d,0xda,0x8c,0xda,
2704
  0x8c,0xda,0x8e,0xda,0x8e,0xda,0x88,0xda,0x88,0xda,0x98,0xda,0x98,0xda,0x91,0xda,0x91,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xaf,0xda,0xaf,0xda,0xaf,0xda,
2705
  0xaf,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xba,0xda,0xba,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xdb,0x80,0xdb,
2706
  0x80,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xdb,0x92,0xdb,0x92,0xdb,0x93,0xdb,0x93,0xda,0xad,0xda,0xad,0xda,0xad,0xda,
2707
  0xad,0xdb,0x87,0xdb,0x87,0xdb,0x86,0xdb,0x86,0xdb,0x88,0xdb,0x88,0xd9,0xb7,0xdb,0x8b,0xdb,0x8b,0xdb,0x85,0xdb,0x85,0xdb,0x89,0xdb,0x89,0xdb,0x90,0xdb,0x90,0xdb,
2708
  0x90,0xdb,0x90,0xd9,0x89,0xd9,0x89,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xd9,0x88,0xd8,0xa6,0xd9,0x88,0xd8,
2709
  0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xdb,0x90,0xd8,
2710
  0xa6,0xdb,0x90,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,0xad,0xd8,
2711
  0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x89,0xd8,
2712
  0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xac,0xd8,
2713
  0xab,0xd9,0x85,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,
2714
  0xae,0xd8,0xad,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd9,0x85,0xd8,
2715
  0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,
2716
  0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x81,0xd9,0x89,0xd9,
2717
  0x81,0xd9,0x8a,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,0xa7,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,
2718
  0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,
2719
  0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x89,0xd9,
2720
  0x85,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x87,0xd8,0xac,0xd9,
2721
  0x87,0xd9,0x85,0xd9,0x87,0xd9,0x89,0xd9,0x87,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x89,0xd9,
2722
  0x8a,0xd9,0x8a,0xd8,0xb0,0xd9,0xb0,0xd8,0xb1,0xd9,0xb0,0xd9,0x89,0xd9,0xb0,0x20,0xd9,0x8c,0xd9,0x91,0x20,0xd9,0x8d,0xd9,0x91,0x20,0xd9,0x8e,0xd9,0x91,0x20,0xd9,
2723
  0x8f,0xd9,0x91,0x20,0xd9,0x90,0xd9,0x91,0x20,0xd9,0x91,0xd9,0xb0,0xd8,0xa6,0xd8,0xb1,0xd8,0xa6,0xd8,0xb2,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x86,0xd8,0xa6,0xd9,
2724
  0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xb1,0xd8,0xa8,0xd8,0xb2,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x86,0xd8,0xa8,0xd9,0x89,0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,
2725
  0xb1,0xd8,0xaa,0xd8,0xb2,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x86,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xb1,0xd8,0xab,0xd8,0xb2,0xd8,0xab,0xd9,
2726
  0x85,0xd8,0xab,0xd9,0x86,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd9,0x81,0xd9,0x89,0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,
2727
  0xa7,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,
2728
  0xa7,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xb1,0xd9,0x86,0xd8,0xb2,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,
2729
  0xb0,0xd9,0x8a,0xd8,0xb1,0xd9,0x8a,0xd8,0xb2,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,
2730
  0xad,0xd8,0xa6,0xd8,0xae,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x87,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,
2731
  0x87,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,
2732
  0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,
2733
  0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd8,0xae,0xd8,0xb5,0xd9,0x85,0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,
2734
  0xad,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,
2735
  0xae,0xd9,0x81,0xd9,0x85,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,
2736
  0x85,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,
2737
  0xae,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x87,0xd8,0xac,0xd9,0x87,0xd9,
2738
  0x85,0xd9,0x87,0xd9,0xb0,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,
2739
  0x87,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x87,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x87,0xd8,0xb3,0xd9,0x85,0xd8,0xb3,0xd9,
2740
  0x87,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd9,0x87,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x8a,0xd9,
2741
  0x85,0xd9,0x8a,0xd9,0x87,0xd9,0x80,0xd9,0x8e,0xd9,0x91,0xd9,0x80,0xd9,0x8f,0xd9,0x91,0xd9,0x80,0xd9,0x90,0xd9,0x91,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,
2742
  0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,
2743
  0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,
2744
  0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,
2745
  0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,
2746
  0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,
2747
  0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,
2748
  0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,
2749
  0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb3,0xd9,0x87,0xd8,0xb4,0xd9,0x87,0xd8,0xb7,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,
2750
  0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xa7,0xd9,0x8b,0xd8,0xa7,0xd9,0x8b,0xd8,0xaa,0xd8,0xac,0xd9,
2751
  0x85,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd9,0x85,0xd8,0xaa,0xd8,0xae,0xd9,0x85,0xd8,0xaa,0xd9,0x85,0xd8,0xac,0xd8,
2752
  0xaa,0xd9,0x85,0xd8,0xad,0xd8,0xaa,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xad,0xd9,0x85,0xd9,0x8a,0xd8,0xad,0xd9,
2753
  0x85,0xd9,0x89,0xd8,0xb3,0xd8,0xad,0xd8,0xac,0xd8,0xb3,0xd8,0xac,0xd8,0xad,0xd8,0xb3,0xd8,0xac,0xd9,0x89,0xd8,0xb3,0xd9,0x85,0xd8,0xad,0xd8,0xb3,0xd9,0x85,0xd8,
2754
  0xad,0xd8,0xb3,0xd9,0x85,0xd8,0xac,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,
2755
  0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xac,0xd9,0x8a,0xd8,0xb4,0xd9,0x85,0xd8,0xae,0xd8,0xb4,0xd9,
2756
  0x85,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb6,0xd8,0xad,0xd9,0x89,0xd8,0xb6,0xd8,0xae,0xd9,0x85,0xd8,0xb6,0xd8,0xae,0xd9,
2757
  0x85,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd9,0x8a,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,
2758
  0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x89,0xd8,0xba,0xd9,0x85,0xd9,0x85,0xd8,0xba,0xd9,0x85,0xd9,0x8a,0xd8,0xba,0xd9,
2759
  0x85,0xd9,0x89,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xad,0xd9,
2760
  0x85,0xd9,0x84,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xad,0xd9,0x89,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xae,0xd9,0x85,0xd9,
2761
  0x84,0xd8,0xae,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd9,0x85,0xd8,
2762
  0xad,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd8,0xac,0xd8,
2763
  0xae,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x87,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x89,0xd9,0x86,0xd8,0xac,0xd9,0x85,0xd9,
2764
  0x86,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x89,0xd9,0x86,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x85,0xd9,0x89,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,
2765
  0x85,0xd9,0x85,0xd8,0xa8,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x89,0xd8,0xaa,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xae,0xd9,
2766
  0x89,0xd8,0xaa,0xd9,0x85,0xd9,0x8a,0xd8,0xaa,0xd9,0x85,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x89,0xd8,
2767
  0xb3,0xd8,0xae,0xd9,0x89,0xd8,0xb5,0xd8,0xad,0xd9,0x8a,0xd8,0xb4,0xd8,0xad,0xd9,0x8a,0xd8,0xb6,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x8a,0xd9,0x84,0xd9,
2768
  0x85,0xd9,0x8a,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd9,
2769
  0x8a,0xd9,0x86,0xd8,0xad,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd8,0xad,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x8a,0xd9,
2770
  0x86,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,
2771
  0xac,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd8,0xad,0xd8,0xac,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x8a,0xd9,0x81,0xd9,0x85,0xd9,0x8a,0xd8,0xa8,0xd8,0xad,0xd9,
2772
  0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd8,0xae,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x8a,0xd8,
2773
  0xb5,0xd9,0x84,0xdb,0x92,0xd9,0x82,0xd9,0x84,0xdb,0x92,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0xd8,0xa7,0xd9,0x83,0xd8,0xa8,0xd8,0xb1,0xd9,0x85,0xd8,0xad,0xd9,
2774
  0x85,0xd8,0xaf,0xd8,0xb5,0xd9,0x84,0xd8,0xb9,0xd9,0x85,0xd8,0xb1,0xd8,0xb3,0xd9,0x88,0xd9,0x84,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,0x87,0xd9,0x88,0xd8,0xb3,0xd9,
2775
  0x84,0xd9,0x85,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0x20,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0x20,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,
2776
  0x87,0x20,0xd9,0x88,0xd8,0xb3,0xd9,0x84,0xd9,0x85,0xd8,0xac,0xd9,0x84,0x20,0xd8,0xac,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd9,0x87,0xd8,0xb1,0xdb,0x8c,0xd8,0xa7,0xd9,
2777
  0x84,0x2c,0xe3,0x80,0x81,0xe3,0x80,0x82,0x3a,0x3b,0x21,0x3f,0xe3,0x80,0x96,0xe3,0x80,0x97,0xe2,0x80,0xa6,0xe2,0x80,0xa5,0xe2,0x80,0x94,0xe2,0x80,0x93,0x5f,0x5f,
2778
  0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0xe3,0x80,0x90,0xe3,0x80,0x91,0xe3,0x80,0x8a,0xe3,0x80,0x8b,0xe3,0x80,0x88,0xe3,0x80,0x89,0xe3,0x80,0x8c,0xe3,
2779
  0x80,0x8d,0xe3,0x80,0x8e,0xe3,0x80,0x8f,0x5b,0x5d,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0x5f,0x5f,0x5f,0x2c,0xe3,0x80,0x81,0x2e,0x3b,0x3a,
2780
  0x3f,0x21,0xe2,0x80,0x94,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0x23,0x26,0x2a,0x2b,0x2d,0x3c,0x3e,0x3d,0x5c,0x24,0x25,0x40,0x20,0xd9,0x8b,0xd9,0x80,
2781
  0xd9,0x8b,0x20,0xd9,0x8c,0x20,0xd9,0x8d,0x20,0xd9,0x8e,0xd9,0x80,0xd9,0x8e,0x20,0xd9,0x8f,0xd9,0x80,0xd9,0x8f,0x20,0xd9,0x90,0xd9,0x80,0xd9,0x90,0x20,0xd9,0x91,
2782
  0xd9,0x80,0xd9,0x91,0x20,0xd9,0x92,0xd9,0x80,0xd9,0x92,0xd8,0xa1,0xd8,0xa2,0xd8,0xa2,0xd8,0xa3,0xd8,0xa3,0xd8,0xa4,0xd8,0xa4,0xd8,0xa5,0xd8,0xa5,0xd8,0xa6,0xd8,
2783
  0xa6,0xd8,0xa6,0xd8,0xa6,0xd8,0xa7,0xd8,0xa7,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa9,0xd8,0xa9,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xab,0xd8,
2784
  0xab,0xd8,0xab,0xd8,0xab,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xaf,0xd8,
2785
  0xaf,0xd8,0xb0,0xd8,0xb0,0xd8,0xb1,0xd8,0xb1,0xd8,0xb2,0xd8,0xb2,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb5,0xd8,
2786
  0xb5,0xd8,0xb5,0xd8,0xb5,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb9,0xd8,
2787
  0xb9,0xd8,0xb9,0xd8,0xb9,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x83,0xd9,
2788
  0x83,0xd9,0x83,0xd9,0x83,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x87,0xd9,
2789
  0x87,0xd9,0x87,0xd9,0x87,0xd9,0x88,0xd9,0x88,0xd9,0x89,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,
2790
  0xa3,0xd9,0x84,0xd8,0xa3,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd8,0xa7,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,
2791
  0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,
2792
  0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,
2793
  0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0xe2,0xa6,0x85,0xe2,0xa6,0x86,0xe3,0x80,0x82,0xe3,0x80,0x8c,0xe3,
2794
  0x80,0x8d,0xe3,0x80,0x81,0xe3,0x83,0xbb,0xe3,0x83,0xb2,0xe3,0x82,0xa1,0xe3,0x82,0xa3,0xe3,0x82,0xa5,0xe3,0x82,0xa7,0xe3,0x82,0xa9,0xe3,0x83,0xa3,0xe3,0x83,0xa5,
2795
  0xe3,0x83,0xa7,0xe3,0x83,0x83,0xe3,0x83,0xbc,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,
2796
  0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,
2797
  0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,
2798
  0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,
2799
  0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb3,0xe3,0x82,0x99,0xe3,0x82,0x9a,0xe3,0x85,0xa4,0xe3,0x84,0xb1,0xe3,0x84,0xb2,0xe3,
2800
  0x84,0xb3,0xe3,0x84,0xb4,0xe3,0x84,0xb5,0xe3,0x84,0xb6,0xe3,0x84,0xb7,0xe3,0x84,0xb8,0xe3,0x84,0xb9,0xe3,0x84,0xba,0xe3,0x84,0xbb,0xe3,0x84,0xbc,0xe3,0x84,0xbd,
2801
  0xe3,0x84,0xbe,0xe3,0x84,0xbf,0xe3,0x85,0x80,0xe3,0x85,0x81,0xe3,0x85,0x82,0xe3,0x85,0x83,0xe3,0x85,0x84,0xe3,0x85,0x85,0xe3,0x85,0x86,0xe3,0x85,0x87,0xe3,0x85,
2802
  0x88,0xe3,0x85,0x89,0xe3,0x85,0x8a,0xe3,0x85,0x8b,0xe3,0x85,0x8c,0xe3,0x85,0x8d,0xe3,0x85,0x8e,0xe3,0x85,0x8f,0xe3,0x85,0x90,0xe3,0x85,0x91,0xe3,0x85,0x92,0xe3,
2803
  0x85,0x93,0xe3,0x85,0x94,0xe3,0x85,0x95,0xe3,0x85,0x96,0xe3,0x85,0x97,0xe3,0x85,0x98,0xe3,0x85,0x99,0xe3,0x85,0x9a,0xe3,0x85,0x9b,0xe3,0x85,0x9c,0xe3,0x85,0x9d,
2804
  0xe3,0x85,0x9e,0xe3,0x85,0x9f,0xe3,0x85,0xa0,0xe3,0x85,0xa1,0xe3,0x85,0xa2,0xe3,0x85,0xa3,0xc2,0xa2,0xc2,0xa3,0xc2,0xac,0xc2,0xaf,0xc2,0xa6,0xc2,0xa5,0xe2,0x82,
2805
  0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2806
};
2807
72.6M
#define mxDecompositionCount0 7778
2808
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2809
  0x00A0,0x8000,0x00A8,0x8001,0x00AA,0x8004,0x00AF,0x8005,0x00B2,0x8008,0x00B3,0x8009,0x00B4,0x800A,0x00B5,0x800D,0x00B8,0x800F,0x00B9,0x8012,0x00BA,0x8013,0x00BC,0x8014,0x00BD,0x8019,0x00BE,0x801E,0x00C0,0x0023,0x00C1,0x0026,
2810
  0x00C2,0x0029,0x00C3,0x002C,0x00C4,0x002F,0x00C5,0x0032,0x00C7,0x0035,0x00C8,0x0038,0x00C9,0x003B,0x00CA,0x003E,0x00CB,0x0041,0x00CC,0x0044,0x00CD,0x0047,0x00CE,0x004A,0x00CF,0x004D,0x00D1,0x0050,0x00D2,0x0053,0x00D3,0x0056,
2811
  0x00D4,0x0059,0x00D5,0x005C,0x00D6,0x005F,0x00D9,0x0062,0x00DA,0x0065,0x00DB,0x0068,0x00DC,0x006B,0x00DD,0x006E,0x00E0,0x0071,0x00E1,0x0074,0x00E2,0x0077,0x00E3,0x007A,0x00E4,0x007D,0x00E5,0x0080,0x00E7,0x0083,0x00E8,0x0086,
2812
  0x00E9,0x0089,0x00EA,0x008C,0x00EB,0x008F,0x00EC,0x0092,0x00ED,0x0095,0x00EE,0x0098,0x00EF,0x009B,0x00F1,0x009E,0x00F2,0x00A1,0x00F3,0x00A4,0x00F4,0x00A7,0x00F5,0x00AA,0x00F6,0x00AD,0x00F9,0x00B0,0x00FA,0x00B3,0x00FB,0x00B6,
2813
  0x00FC,0x00B9,0x00FD,0x00BC,0x00FF,0x00BF,0x0100,0x00C2,0x0101,0x00C5,0x0102,0x00C8,0x0103,0x00CB,0x0104,0x00CE,0x0105,0x00D1,0x0106,0x00D4,0x0107,0x00D7,0x0108,0x00DA,0x0109,0x00DD,0x010A,0x00E0,0x010B,0x00E3,0x010C,0x00E6,
2814
  0x010D,0x00E9,0x010E,0x00EC,0x010F,0x00EF,0x0112,0x00F2,0x0113,0x00F5,0x0114,0x00F8,0x0115,0x00FB,0x0116,0x00FE,0x0117,0x0101,0x0118,0x0104,0x0119,0x0107,0x011A,0x010A,0x011B,0x010D,0x011C,0x0110,0x011D,0x0113,0x011E,0x0116,
2815
  0x011F,0x0119,0x0120,0x011C,0x0121,0x011F,0x0122,0x0122,0x0123,0x0125,0x0124,0x0128,0x0125,0x012B,0x0128,0x012E,0x0129,0x0131,0x012A,0x0134,0x012B,0x0137,0x012C,0x013A,0x012D,0x013D,0x012E,0x0140,0x012F,0x0143,0x0130,0x0146,
2816
  0x0132,0x8149,0x0133,0x814B,0x0134,0x014D,0x0135,0x0150,0x0136,0x0153,0x0137,0x0156,0x0139,0x0159,0x013A,0x015C,0x013B,0x015F,0x013C,0x0162,0x013D,0x0165,0x013E,0x0168,0x013F,0x816B,0x0140,0x816E,0x0143,0x0171,0x0144,0x0174,
2817
  0x0145,0x0177,0x0146,0x017A,0x0147,0x017D,0x0148,0x0180,0x0149,0x8183,0x014C,0x0186,0x014D,0x0189,0x014E,0x018C,0x014F,0x018F,0x0150,0x0192,0x0151,0x0195,0x0154,0x0198,0x0155,0x019B,0x0156,0x019E,0x0157,0x01A1,0x0158,0x01A4,
2818
  0x0159,0x01A7,0x015A,0x01AA,0x015B,0x01AD,0x015C,0x01B0,0x015D,0x01B3,0x015E,0x01B6,0x015F,0x01B9,0x0160,0x01BC,0x0161,0x01BF,0x0162,0x01C2,0x0163,0x01C5,0x0164,0x01C8,0x0165,0x01CB,0x0168,0x01CE,0x0169,0x01D1,0x016A,0x01D4,
2819
  0x016B,0x01D7,0x016C,0x01DA,0x016D,0x01DD,0x016E,0x01E0,0x016F,0x01E3,0x0170,0x01E6,0x0171,0x01E9,0x0172,0x01EC,0x0173,0x01EF,0x0174,0x01F2,0x0175,0x01F5,0x0176,0x01F8,0x0177,0x01FB,0x0178,0x01FE,0x0179,0x0201,0x017A,0x0204,
2820
  0x017B,0x0207,0x017C,0x020A,0x017D,0x020D,0x017E,0x0210,0x017F,0x8213,0x01A0,0x0214,0x01A1,0x0217,0x01AF,0x021A,0x01B0,0x021D,0x01C4,0x8220,0x01C5,0x8223,0x01C6,0x8226,0x01C7,0x8229,0x01C8,0x822B,0x01C9,0x822D,0x01CA,0x822F,
2821
  0x01CB,0x8231,0x01CC,0x8233,0x01CD,0x0235,0x01CE,0x0238,0x01CF,0x023B,0x01D0,0x023E,0x01D1,0x0241,0x01D2,0x0244,0x01D3,0x0247,0x01D4,0x024A,0x01D5,0x024D,0x01D6,0x0251,0x01D7,0x0255,0x01D8,0x0259,0x01D9,0x025D,0x01DA,0x0261,
2822
  0x01DB,0x0265,0x01DC,0x0269,0x01DE,0x026D,0x01DF,0x0271,0x01E0,0x0275,0x01E1,0x0279,0x01E2,0x027D,0x01E3,0x0281,0x01E6,0x0285,0x01E7,0x0288,0x01E8,0x028B,0x01E9,0x028E,0x01EA,0x0291,0x01EB,0x0294,0x01EC,0x0297,0x01ED,0x029B,
2823
  0x01EE,0x029F,0x01EF,0x02A3,0x01F0,0x02A7,0x01F1,0x82AA,0x01F2,0x82AC,0x01F3,0x82AE,0x01F4,0x02B0,0x01F5,0x02B3,0x01F8,0x02B6,0x01F9,0x02B9,0x01FA,0x02BC,0x01FB,0x02C0,0x01FC,0x02C4,0x01FD,0x02C8,0x01FE,0x02CC,0x01FF,0x02D0,
2824
  0x0200,0x02D4,0x0201,0x02D7,0x0202,0x02DA,0x0203,0x02DD,0x0204,0x02E0,0x0205,0x02E3,0x0206,0x02E6,0x0207,0x02E9,0x0208,0x02EC,0x0209,0x02EF,0x020A,0x02F2,0x020B,0x02F5,0x020C,0x02F8,0x020D,0x02FB,0x020E,0x02FE,0x020F,0x0301,
2825
  0x0210,0x0304,0x0211,0x0307,0x0212,0x030A,0x0213,0x030D,0x0214,0x0310,0x0215,0x0313,0x0216,0x0316,0x0217,0x0319,0x0218,0x031C,0x0219,0x031F,0x021A,0x0322,0x021B,0x0325,0x021E,0x0328,0x021F,0x032B,0x0226,0x032E,0x0227,0x0331,
2826
  0x0228,0x0334,0x0229,0x0337,0x022A,0x033A,0x022B,0x033E,0x022C,0x0342,0x022D,0x0346,0x022E,0x034A,0x022F,0x034D,0x0230,0x0350,0x0231,0x0354,0x0232,0x0358,0x0233,0x035B,0x02B0,0x835E,0x02B1,0x835F,0x02B2,0x8361,0x02B3,0x8362,
2827
  0x02B4,0x8363,0x02B5,0x8365,0x02B6,0x8367,0x02B7,0x8369,0x02B8,0x836A,0x02D8,0x836B,0x02D9,0x836E,0x02DA,0x8371,0x02DB,0x8374,0x02DC,0x8377,0x02DD,0x837A,0x02E0,0x837D,0x02E1,0x837F,0x02E2,0x8380,0x02E3,0x8381,0x02E4,0x8382,
2828
  0x0340,0x0384,0x0341,0x0386,0x0343,0x0388,0x0344,0x038A,0x0374,0x038E,0x037A,0x8390,0x037E,0x0393,0x0384,0x8394,0x0385,0x0397,0x0386,0x039B,0x0387,0x039F,0x0388,0x03A1,0x0389,0x03A5,0x038A,0x03A9,0x038C,0x03AD,0x038E,0x03B1,
2829
  0x038F,0x03B5,0x0390,0x03B9,0x03AA,0x03BD,0x03AB,0x03C1,0x03AC,0x03C5,0x03AD,0x03C9,0x03AE,0x03CD,0x03AF,0x03D1,0x03B0,0x03D5,0x03CA,0x03D9,0x03CB,0x03DD,0x03CC,0x03E1,0x03CD,0x03E5,0x03CE,0x03E9,0x03D0,0x83ED,0x03D1,0x83EF,
2830
  0x03D2,0x83F1,0x03D3,0x03F3,0x03D4,0x03F7,0x03D5,0x83FB,0x03D6,0x83FD,0x03F0,0x83FF,0x03F1,0x8401,0x03F2,0x8403,0x03F4,0x8405,0x03F5,0x8407,0x03F9,0x8409,0x0400,0x040B,0x0401,0x040F,0x0403,0x0413,0x0407,0x0417,0x040C,0x041B,
2831
  0x040D,0x041F,0x040E,0x0423,0x0419,0x0427,0x0439,0x042B,0x0450,0x042F,0x0451,0x0433,0x0453,0x0437,0x0457,0x043B,0x045C,0x043F,0x045D,0x0443,0x045E,0x0447,0x0476,0x044B,0x0477,0x044F,0x04C1,0x0453,0x04C2,0x0457,0x04D0,0x045B,
2832
  0x04D1,0x045F,0x04D2,0x0463,0x04D3,0x0467,0x04D6,0x046B,0x04D7,0x046F,0x04DA,0x0473,0x04DB,0x0477,0x04DC,0x047B,0x04DD,0x047F,0x04DE,0x0483,0x04DF,0x0487,0x04E2,0x048B,0x04E3,0x048F,0x04E4,0x0493,0x04E5,0x0497,0x04E6,0x049B,
2833
  0x04E7,0x049F,0x04EA,0x04A3,0x04EB,0x04A7,0x04EC,0x04AB,0x04ED,0x04AF,0x04EE,0x04B3,0x04EF,0x04B7,0x04F0,0x04BB,0x04F1,0x04BF,0x04F2,0x04C3,0x04F3,0x04C7,0x04F4,0x04CB,0x04F5,0x04CF,0x04F8,0x04D3,0x04F9,0x04D7,0x0587,0x84DB,
2834
  0x0622,0x04DF,0x0623,0x04E3,0x0624,0x04E7,0x0625,0x04EB,0x0626,0x04EF,0x0675,0x84F3,0x0676,0x84F7,0x0677,0x84FB,0x0678,0x84FF,0x06C0,0x0503,0x06C2,0x0507,0x06D3,0x050B,0x0929,0x050F,0x0931,0x0515,0x0934,0x051B,0x0958,0x0521,
2835
  0x0959,0x0527,0x095A,0x052D,0x095B,0x0533,0x095C,0x0539,0x095D,0x053F,0x095E,0x0545,0x095F,0x054B,0x09CB,0x0551,0x09CC,0x0557,0x09DC,0x055D,0x09DD,0x0563,0x09DF,0x0569,0x0A33,0x056F,0x0A36,0x0575,0x0A59,0x057B,0x0A5A,0x0581,
2836
  0x0A5B,0x0587,0x0A5E,0x058D,0x0B48,0x0593,0x0B4B,0x0599,0x0B4C,0x059F,0x0B5C,0x05A5,0x0B5D,0x05AB,0x0B94,0x05B1,0x0BCA,0x05B7,0x0BCB,0x05BD,0x0BCC,0x05C3,0x0C48,0x05C9,0x0CC0,0x05CF,0x0CC7,0x05D5,0x0CC8,0x05DB,0x0CCA,0x05E1,
2837
  0x0CCB,0x05E7,0x0D4A,0x05ED,0x0D4B,0x05F3,0x0D4C,0x05F9,0x0DDA,0x05FF,0x0DDC,0x0605,0x0DDD,0x060B,0x0DDE,0x0611,0x0E33,0x8617,0x0EB3,0x861D,0x0EDC,0x8623,0x0EDD,0x8629,0x0F0C,0x862F,0x0F43,0x0632,0x0F4D,0x0638,0x0F52,0x063E,
2838
  0x0F57,0x0644,0x0F5C,0x064A,0x0F69,0x0650,0x0F73,0x0656,0x0F75,0x065C,0x0F76,0x0662,0x0F77,0x8668,0x0F78,0x066E,0x0F79,0x8674,0x0F81,0x067A,0x0F93,0x0680,0x0F9D,0x0686,0x0FA2,0x068C,0x0FA7,0x0692,0x0FAC,0x0698,0x0FB9,0x069E,
2839
  0x1026,0x06A4,0x10FC,0x86AA,0x1B06,0x06AD,0x1B08,0x06B3,0x1B0A,0x06B9,0x1B0C,0x06BF,0x1B0E,0x06C5,0x1B12,0x06CB,0x1B3B,0x06D1,0x1B3D,0x06D7,0x1B40,0x06DD,0x1B41,0x06E3,0x1B43,0x06E9,0x1D2C,0x86EF,0x1D2D,0x86F0,0x1D2E,0x86F2,
2840
  0x1D30,0x86F3,0x1D31,0x86F4,0x1D32,0x86F5,0x1D33,0x86F7,0x1D34,0x86F8,0x1D35,0x86F9,0x1D36,0x86FA,0x1D37,0x86FB,0x1D38,0x86FC,0x1D39,0x86FD,0x1D3A,0x86FE,0x1D3C,0x86FF,0x1D3D,0x8700,0x1D3E,0x8702,0x1D3F,0x8703,0x1D40,0x8704,
2841
  0x1D41,0x8705,0x1D42,0x8706,0x1D43,0x8707,0x1D44,0x8708,0x1D45,0x870A,0x1D46,0x870C,0x1D47,0x870F,0x1D48,0x8710,0x1D49,0x8711,0x1D4A,0x8712,0x1D4B,0x8714,0x1D4C,0x8716,0x1D4D,0x8718,0x1D4F,0x8719,0x1D50,0x871A,0x1D51,0x871B,
2842
  0x1D52,0x871D,0x1D53,0x871E,0x1D54,0x8720,0x1D55,0x8723,0x1D56,0x8726,0x1D57,0x8727,0x1D58,0x8728,0x1D59,0x8729,0x1D5A,0x872C,0x1D5B,0x872E,0x1D5C,0x872F,0x1D5D,0x8732,0x1D5E,0x8734,0x1D5F,0x8736,0x1D60,0x8738,0x1D61,0x873A,
2843
  0x1D62,0x873C,0x1D63,0x873D,0x1D64,0x873E,0x1D65,0x873F,0x1D66,0x8740,0x1D67,0x8742,0x1D68,0x8744,0x1D69,0x8746,0x1D6A,0x8748,0x1D78,0x874A,0x1D9B,0x874C,0x1D9C,0x874E,0x1D9D,0x874F,0x1D9E,0x8751,0x1D9F,0x8753,0x1DA0,0x8755,
2844
  0x1DA1,0x8756,0x1DA2,0x8758,0x1DA3,0x875A,0x1DA4,0x875C,0x1DA5,0x875E,0x1DA6,0x8760,0x1DA7,0x8762,0x1DA8,0x8765,0x1DA9,0x8767,0x1DAA,0x8769,0x1DAB,0x876C,0x1DAC,0x876E,0x1DAD,0x8770,0x1DAE,0x8772,0x1DAF,0x8774,0x1DB0,0x8776,
2845
  0x1DB1,0x8778,0x1DB2,0x877A,0x1DB3,0x877C,0x1DB4,0x877E,0x1DB5,0x8780,0x1DB6,0x8782,0x1DB7,0x8784,0x1DB8,0x8786,0x1DB9,0x8789,0x1DBA,0x878B,0x1DBB,0x878D,0x1DBC,0x878E,0x1DBD,0x8790,0x1DBE,0x8792,0x1DBF,0x8794,0x1E00,0x0796,
2846
  0x1E01,0x0799,0x1E02,0x079C,0x1E03,0x079F,0x1E04,0x07A2,0x1E05,0x07A5,0x1E06,0x07A8,0x1E07,0x07AB,0x1E08,0x07AE,0x1E09,0x07B2,0x1E0A,0x07B6,0x1E0B,0x07B9,0x1E0C,0x07BC,0x1E0D,0x07BF,0x1E0E,0x07C2,0x1E0F,0x07C5,0x1E10,0x07C8,
2847
  0x1E11,0x07CB,0x1E12,0x07CE,0x1E13,0x07D1,0x1E14,0x07D4,0x1E15,0x07D8,0x1E16,0x07DC,0x1E17,0x07E0,0x1E18,0x07E4,0x1E19,0x07E7,0x1E1A,0x07EA,0x1E1B,0x07ED,0x1E1C,0x07F0,0x1E1D,0x07F4,0x1E1E,0x07F8,0x1E1F,0x07FB,0x1E20,0x07FE,
2848
  0x1E21,0x0801,0x1E22,0x0804,0x1E23,0x0807,0x1E24,0x080A,0x1E25,0x080D,0x1E26,0x0810,0x1E27,0x0813,0x1E28,0x0816,0x1E29,0x0819,0x1E2A,0x081C,0x1E2B,0x081F,0x1E2C,0x0822,0x1E2D,0x0825,0x1E2E,0x0828,0x1E2F,0x082C,0x1E30,0x0830,
2849
  0x1E31,0x0833,0x1E32,0x0836,0x1E33,0x0839,0x1E34,0x083C,0x1E35,0x083F,0x1E36,0x0842,0x1E37,0x0845,0x1E38,0x0848,0x1E39,0x084D,0x1E3A,0x0852,0x1E3B,0x0855,0x1E3C,0x0858,0x1E3D,0x085B,0x1E3E,0x085E,0x1E3F,0x0861,0x1E40,0x0864,
2850
  0x1E41,0x0867,0x1E42,0x086A,0x1E43,0x086D,0x1E44,0x0870,0x1E45,0x0873,0x1E46,0x0876,0x1E47,0x0879,0x1E48,0x087C,0x1E49,0x087F,0x1E4A,0x0882,0x1E4B,0x0885,0x1E4C,0x0888,0x1E4D,0x088C,0x1E4E,0x0890,0x1E4F,0x0894,0x1E50,0x0898,
2851
  0x1E51,0x089C,0x1E52,0x08A0,0x1E53,0x08A4,0x1E54,0x08A8,0x1E55,0x08AB,0x1E56,0x08AE,0x1E57,0x08B1,0x1E58,0x08B4,0x1E59,0x08B7,0x1E5A,0x08BA,0x1E5B,0x08BD,0x1E5C,0x08C0,0x1E5D,0x08C5,0x1E5E,0x08CA,0x1E5F,0x08CD,0x1E60,0x08D0,
2852
  0x1E61,0x08D3,0x1E62,0x08D6,0x1E63,0x08D9,0x1E64,0x08DC,0x1E65,0x08E0,0x1E66,0x08E4,0x1E67,0x08E8,0x1E68,0x08EC,0x1E69,0x08F1,0x1E6A,0x08F6,0x1E6B,0x08F9,0x1E6C,0x08FC,0x1E6D,0x08FF,0x1E6E,0x0902,0x1E6F,0x0905,0x1E70,0x0908,
2853
  0x1E71,0x090B,0x1E72,0x090E,0x1E73,0x0911,0x1E74,0x0914,0x1E75,0x0917,0x1E76,0x091A,0x1E77,0x091D,0x1E78,0x0920,0x1E79,0x0924,0x1E7A,0x0928,0x1E7B,0x092C,0x1E7C,0x0930,0x1E7D,0x0933,0x1E7E,0x0936,0x1E7F,0x0939,0x1E80,0x093C,
2854
  0x1E81,0x093F,0x1E82,0x0942,0x1E83,0x0945,0x1E84,0x0948,0x1E85,0x094B,0x1E86,0x094E,0x1E87,0x0951,0x1E88,0x0954,0x1E89,0x0957,0x1E8A,0x095A,0x1E8B,0x095D,0x1E8C,0x0960,0x1E8D,0x0963,0x1E8E,0x0966,0x1E8F,0x0969,0x1E90,0x096C,
2855
  0x1E91,0x096F,0x1E92,0x0972,0x1E93,0x0975,0x1E94,0x0978,0x1E95,0x097B,0x1E96,0x097E,0x1E97,0x0981,0x1E98,0x0984,0x1E99,0x0987,0x1E9A,0x898A,0x1E9B,0x098D,0x1EA0,0x0991,0x1EA1,0x0994,0x1EA2,0x0997,0x1EA3,0x099A,0x1EA4,0x099D,
2856
  0x1EA5,0x09A1,0x1EA6,0x09A5,0x1EA7,0x09A9,0x1EA8,0x09AD,0x1EA9,0x09B1,0x1EAA,0x09B5,0x1EAB,0x09B9,0x1EAC,0x09BD,0x1EAD,0x09C2,0x1EAE,0x09C7,0x1EAF,0x09CB,0x1EB0,0x09CF,0x1EB1,0x09D3,0x1EB2,0x09D7,0x1EB3,0x09DB,0x1EB4,0x09DF,
2857
  0x1EB5,0x09E3,0x1EB6,0x09E7,0x1EB7,0x09EC,0x1EB8,0x09F1,0x1EB9,0x09F4,0x1EBA,0x09F7,0x1EBB,0x09FA,0x1EBC,0x09FD,0x1EBD,0x0A00,0x1EBE,0x0A03,0x1EBF,0x0A07,0x1EC0,0x0A0B,0x1EC1,0x0A0F,0x1EC2,0x0A13,0x1EC3,0x0A17,0x1EC4,0x0A1B,
2858
  0x1EC5,0x0A1F,0x1EC6,0x0A23,0x1EC7,0x0A28,0x1EC8,0x0A2D,0x1EC9,0x0A30,0x1ECA,0x0A33,0x1ECB,0x0A36,0x1ECC,0x0A39,0x1ECD,0x0A3C,0x1ECE,0x0A3F,0x1ECF,0x0A42,0x1ED0,0x0A45,0x1ED1,0x0A49,0x1ED2,0x0A4D,0x1ED3,0x0A51,0x1ED4,0x0A55,
2859
  0x1ED5,0x0A59,0x1ED6,0x0A5D,0x1ED7,0x0A61,0x1ED8,0x0A65,0x1ED9,0x0A6A,0x1EDA,0x0A6F,0x1EDB,0x0A73,0x1EDC,0x0A77,0x1EDD,0x0A7B,0x1EDE,0x0A7F,0x1EDF,0x0A83,0x1EE0,0x0A87,0x1EE1,0x0A8B,0x1EE2,0x0A8F,0x1EE3,0x0A93,0x1EE4,0x0A97,
2860
  0x1EE5,0x0A9A,0x1EE6,0x0A9D,0x1EE7,0x0AA0,0x1EE8,0x0AA3,0x1EE9,0x0AA7,0x1EEA,0x0AAB,0x1EEB,0x0AAF,0x1EEC,0x0AB3,0x1EED,0x0AB7,0x1EEE,0x0ABB,0x1EEF,0x0ABF,0x1EF0,0x0AC3,0x1EF1,0x0AC7,0x1EF2,0x0ACB,0x1EF3,0x0ACE,0x1EF4,0x0AD1,
2861
  0x1EF5,0x0AD4,0x1EF6,0x0AD7,0x1EF7,0x0ADA,0x1EF8,0x0ADD,0x1EF9,0x0AE0,0x1F00,0x0AE3,0x1F01,0x0AE7,0x1F02,0x0AEB,0x1F03,0x0AF0,0x1F04,0x0AF5,0x1F05,0x0AFA,0x1F06,0x0AFF,0x1F07,0x0B04,0x1F08,0x0B09,0x1F09,0x0B0D,0x1F0A,0x0B11,
2862
  0x1F0B,0x0B16,0x1F0C,0x0B1B,0x1F0D,0x0B20,0x1F0E,0x0B25,0x1F0F,0x0B2A,0x1F10,0x0B2F,0x1F11,0x0B33,0x1F12,0x0B37,0x1F13,0x0B3C,0x1F14,0x0B41,0x1F15,0x0B46,0x1F18,0x0B4B,0x1F19,0x0B4F,0x1F1A,0x0B53,0x1F1B,0x0B58,0x1F1C,0x0B5D,
2863
  0x1F1D,0x0B62,0x1F20,0x0B67,0x1F21,0x0B6B,0x1F22,0x0B6F,0x1F23,0x0B74,0x1F24,0x0B79,0x1F25,0x0B7E,0x1F26,0x0B83,0x1F27,0x0B88,0x1F28,0x0B8D,0x1F29,0x0B91,0x1F2A,0x0B95,0x1F2B,0x0B9A,0x1F2C,0x0B9F,0x1F2D,0x0BA4,0x1F2E,0x0BA9,
2864
  0x1F2F,0x0BAE,0x1F30,0x0BB3,0x1F31,0x0BB7,0x1F32,0x0BBB,0x1F33,0x0BC0,0x1F34,0x0BC5,0x1F35,0x0BCA,0x1F36,0x0BCF,0x1F37,0x0BD4,0x1F38,0x0BD9,0x1F39,0x0BDD,0x1F3A,0x0BE1,0x1F3B,0x0BE6,0x1F3C,0x0BEB,0x1F3D,0x0BF0,0x1F3E,0x0BF5,
2865
  0x1F3F,0x0BFA,0x1F40,0x0BFF,0x1F41,0x0C03,0x1F42,0x0C07,0x1F43,0x0C0C,0x1F44,0x0C11,0x1F45,0x0C16,0x1F48,0x0C1B,0x1F49,0x0C1F,0x1F4A,0x0C23,0x1F4B,0x0C28,0x1F4C,0x0C2D,0x1F4D,0x0C32,0x1F50,0x0C37,0x1F51,0x0C3B,0x1F52,0x0C3F,
2866
  0x1F53,0x0C44,0x1F54,0x0C49,0x1F55,0x0C4E,0x1F56,0x0C53,0x1F57,0x0C58,0x1F59,0x0C5D,0x1F5B,0x0C61,0x1F5D,0x0C66,0x1F5F,0x0C6B,0x1F60,0x0C70,0x1F61,0x0C74,0x1F62,0x0C78,0x1F63,0x0C7D,0x1F64,0x0C82,0x1F65,0x0C87,0x1F66,0x0C8C,
2867
  0x1F67,0x0C91,0x1F68,0x0C96,0x1F69,0x0C9A,0x1F6A,0x0C9E,0x1F6B,0x0CA3,0x1F6C,0x0CA8,0x1F6D,0x0CAD,0x1F6E,0x0CB2,0x1F6F,0x0CB7,0x1F70,0x0CBC,0x1F71,0x0CC0,0x1F72,0x0CC2,0x1F73,0x0CC6,0x1F74,0x0CC8,0x1F75,0x0CCC,0x1F76,0x0CCE,
2868
  0x1F77,0x0CD2,0x1F78,0x0CD4,0x1F79,0x0CD8,0x1F7A,0x0CDA,0x1F7B,0x0CDE,0x1F7C,0x0CE0,0x1F7D,0x0CE4,0x1F80,0x0CE6,0x1F81,0x0CEB,0x1F82,0x0CF0,0x1F83,0x0CF5,0x1F84,0x0CFA,0x1F85,0x0CFF,0x1F86,0x0D04,0x1F87,0x0D09,0x1F88,0x0D0E,
2869
  0x1F89,0x0D13,0x1F8A,0x0D18,0x1F8B,0x0D1D,0x1F8C,0x0D22,0x1F8D,0x0D27,0x1F8E,0x0D2C,0x1F8F,0x0D31,0x1F90,0x0D36,0x1F91,0x0D3B,0x1F92,0x0D40,0x1F93,0x0D45,0x1F94,0x0D4A,0x1F95,0x0D4F,0x1F96,0x0D54,0x1F97,0x0D59,0x1F98,0x0D5E,
2870
  0x1F99,0x0D63,0x1F9A,0x0D68,0x1F9B,0x0D6D,0x1F9C,0x0D72,0x1F9D,0x0D77,0x1F9E,0x0D7C,0x1F9F,0x0D81,0x1FA0,0x0D86,0x1FA1,0x0D8B,0x1FA2,0x0D90,0x1FA3,0x0D95,0x1FA4,0x0D9A,0x1FA5,0x0D9F,0x1FA6,0x0DA4,0x1FA7,0x0DA9,0x1FA8,0x0DAE,
2871
  0x1FA9,0x0DB3,0x1FAA,0x0DB8,0x1FAB,0x0DBD,0x1FAC,0x0DC2,0x1FAD,0x0DC7,0x1FAE,0x0DCC,0x1FAF,0x0DD1,0x1FB0,0x0DD6,0x1FB1,0x0DDA,0x1FB2,0x0DDE,0x1FB3,0x0DE3,0x1FB4,0x0DE7,0x1FB6,0x0DEB,0x1FB7,0x0DEF,0x1FB8,0x0DF4,0x1FB9,0x0DF8,
2872
  0x1FBA,0x0DFC,0x1FBB,0x0E00,0x1FBC,0x0E02,0x1FBD,0x8E06,0x1FBE,0x0E09,0x1FBF,0x8E0B,0x1FC0,0x8E0E,0x1FC1,0x0E11,0x1FC2,0x0E15,0x1FC3,0x0E1A,0x1FC4,0x0E1E,0x1FC6,0x0E22,0x1FC7,0x0E26,0x1FC8,0x0E2B,0x1FC9,0x0E2F,0x1FCA,0x0E31,
2873
  0x1FCB,0x0E35,0x1FCC,0x0E37,0x1FCD,0x0E3B,0x1FCE,0x0E40,0x1FCF,0x0E45,0x1FD0,0x0E4A,0x1FD1,0x0E4E,0x1FD2,0x0E52,0x1FD3,0x0E56,0x1FD6,0x0E58,0x1FD7,0x0E5C,0x1FD8,0x0E60,0x1FD9,0x0E64,0x1FDA,0x0E68,0x1FDB,0x0E6C,0x1FDD,0x0E6E,
2874
  0x1FDE,0x0E73,0x1FDF,0x0E78,0x1FE0,0x0E7D,0x1FE1,0x0E81,0x1FE2,0x0E85,0x1FE3,0x0E89,0x1FE4,0x0E8B,0x1FE5,0x0E8F,0x1FE6,0x0E93,0x1FE7,0x0E97,0x1FE8,0x0E9B,0x1FE9,0x0E9F,0x1FEA,0x0EA3,0x1FEB,0x0EA7,0x1FEC,0x0EA9,0x1FED,0x0EAD,
2875
  0x1FEE,0x0EB1,0x1FEF,0x0EB3,0x1FF2,0x0EB4,0x1FF3,0x0EB9,0x1FF4,0x0EBD,0x1FF6,0x0EC1,0x1FF7,0x0EC5,0x1FF8,0x0ECA,0x1FF9,0x0ECE,0x1FFA,0x0ED0,0x1FFB,0x0ED4,0x1FFC,0x0ED6,0x1FFD,0x0EDA,0x1FFE,0x8EDC,0x2000,0x0EDF,0x2001,0x0EE2,
2876
  0x2002,0x8EE5,0x2003,0x8EE6,0x2004,0x8EE7,0x2005,0x8EE8,0x2006,0x8EE9,0x2007,0x8EEA,0x2008,0x8EEB,0x2009,0x8EEC,0x200A,0x8EED,0x2011,0x8EEE,0x2017,0x8EF1,0x2024,0x8EF4,0x2025,0x8EF5,0x2026,0x8EF7,0x202F,0x8EFA,0x2033,0x8EFB,
2877
  0x2034,0x8F01,0x2036,0x8F0A,0x2037,0x8F10,0x203C,0x8F19,0x203E,0x8F1B,0x2047,0x8F1E,0x2048,0x8F20,0x2049,0x8F22,0x2057,0x8F24,0x205F,0x8F30,0x2070,0x8F31,0x2071,0x8F32,0x2074,0x8F33,0x2075,0x8F34,0x2076,0x8F35,0x2077,0x8F36,
2878
  0x2078,0x8F37,0x2079,0x8F38,0x207A,0x8F39,0x207B,0x8F3A,0x207C,0x8F3D,0x207D,0x8F3E,0x207E,0x8F3F,0x207F,0x8F40,0x2080,0x8F41,0x2081,0x8F42,0x2082,0x8F43,0x2083,0x8F44,0x2084,0x8F45,0x2085,0x8F46,0x2086,0x8F47,0x2087,0x8F48,
2879
  0x2088,0x8F49,0x2089,0x8F4A,0x208A,0x8F4B,0x208B,0x8F4C,0x208C,0x8F4F,0x208D,0x8F50,0x208E,0x8F51,0x2090,0x8F52,0x2091,0x8F53,0x2092,0x8F54,0x2093,0x8F55,0x2094,0x8F56,0x2095,0x8F58,0x2096,0x8F59,0x2097,0x8F5A,0x2098,0x8F5B,
2880
  0x2099,0x8F5C,0x209A,0x8F5D,0x209B,0x8F5E,0x209C,0x8F5F,0x20A8,0x8F60,0x2100,0x8F62,0x2101,0x8F65,0x2102,0x8F68,0x2103,0x8F69,0x2105,0x8F6C,0x2106,0x8F6F,0x2107,0x8F72,0x2109,0x8F74,0x210A,0x8F77,0x210B,0x8F78,0x210C,0x8F79,
2881
  0x210D,0x8F7A,0x210E,0x8F7B,0x210F,0x8F7C,0x2110,0x8F7E,0x2111,0x8F7F,0x2112,0x8F80,0x2113,0x8F81,0x2115,0x8F82,0x2116,0x8F83,0x2119,0x8F85,0x211A,0x8F86,0x211B,0x8F87,0x211C,0x8F88,0x211D,0x8F89,0x2120,0x8F8A,0x2121,0x8F8C,
2882
  0x2122,0x8F8F,0x2124,0x8F91,0x2126,0x0F92,0x2128,0x8F94,0x212A,0x0F95,0x212B,0x0F96,0x212C,0x8F98,0x212D,0x8F99,0x212F,0x8F9A,0x2130,0x8F9B,0x2131,0x8F9C,0x2133,0x8F9D,0x2134,0x8F9E,0x2135,0x8F9F,0x2136,0x8FA1,0x2137,0x8FA3,
2883
  0x2138,0x8FA5,0x2139,0x8FA7,0x213B,0x8FA8,0x213C,0x8FAB,0x213D,0x8FAD,0x213E,0x8FAF,0x213F,0x8FB1,0x2140,0x8FB3,0x2145,0x8FB6,0x2146,0x8FB7,0x2147,0x8FB8,0x2148,0x8FB9,0x2149,0x8FBA,0x2150,0x8FBB,0x2151,0x8FC0,0x2152,0x8FC5,
2884
  0x2153,0x8FCB,0x2154,0x8FD0,0x2155,0x8FD5,0x2156,0x8FDA,0x2157,0x8FDF,0x2158,0x8FE4,0x2159,0x8FE9,0x215A,0x8FEE,0x215B,0x8FF3,0x215C,0x8FF8,0x215D,0x8FFD,0x215E,0x9002,0x215F,0x9007,0x2160,0x900B,0x2161,0x900C,0x2162,0x900E,
2885
  0x2163,0x9011,0x2164,0x9013,0x2165,0x9014,0x2166,0x9016,0x2167,0x9019,0x2168,0x901D,0x2169,0x901F,0x216A,0x9020,0x216B,0x9022,0x216C,0x9025,0x216D,0x9026,0x216E,0x9027,0x216F,0x9028,0x2170,0x9029,0x2171,0x902A,0x2172,0x902C,
2886
  0x2173,0x902F,0x2174,0x9031,0x2175,0x9032,0x2176,0x9034,0x2177,0x9037,0x2178,0x903B,0x2179,0x903D,0x217A,0x903E,0x217B,0x9040,0x217C,0x9043,0x217D,0x9044,0x217E,0x9045,0x217F,0x9046,0x2189,0x9047,0x219A,0x104C,0x219B,0x1051,
2887
  0x21AE,0x1056,0x21CD,0x105B,0x21CE,0x1060,0x21CF,0x1065,0x2204,0x106A,0x2209,0x106F,0x220C,0x1074,0x2224,0x1079,0x2226,0x107E,0x222C,0x9083,0x222D,0x9089,0x222F,0x9092,0x2230,0x9098,0x2241,0x10A1,0x2244,0x10A6,0x2247,0x10AB,
2888
  0x2249,0x10B0,0x2260,0x10B5,0x2262,0x10B8,0x226D,0x10BD,0x226E,0x10C2,0x226F,0x10C5,0x2270,0x10C8,0x2271,0x10CD,0x2274,0x10D2,0x2275,0x10D7,0x2278,0x10DC,0x2279,0x10E1,0x2280,0x10E6,0x2281,0x10EB,0x2284,0x10F0,0x2285,0x10F5,
2889
  0x2288,0x10FA,0x2289,0x10FF,0x22AC,0x1104,0x22AD,0x1109,0x22AE,0x110E,0x22AF,0x1113,0x22E0,0x1118,0x22E1,0x111D,0x22E2,0x1122,0x22E3,0x1127,0x22EA,0x112C,0x22EB,0x1131,0x22EC,0x1136,0x22ED,0x113B,0x2329,0x1140,0x232A,0x1143,
2890
  0x2460,0x9146,0x2461,0x9147,0x2462,0x9148,0x2463,0x9149,0x2464,0x914A,0x2465,0x914B,0x2466,0x914C,0x2467,0x914D,0x2468,0x914E,0x2469,0x914F,0x246A,0x9151,0x246B,0x9153,0x246C,0x9155,0x246D,0x9157,0x246E,0x9159,0x246F,0x915B,
2891
  0x2470,0x915D,0x2471,0x915F,0x2472,0x9161,0x2473,0x9163,0x2474,0x9165,0x2475,0x9168,0x2476,0x916B,0x2477,0x916E,0x2478,0x9171,0x2479,0x9174,0x247A,0x9177,0x247B,0x917A,0x247C,0x917D,0x247D,0x9180,0x247E,0x9184,0x247F,0x9188,
2892
  0x2480,0x918C,0x2481,0x9190,0x2482,0x9194,0x2483,0x9198,0x2484,0x919C,0x2485,0x91A0,0x2486,0x91A4,0x2487,0x91A8,0x2488,0x91AC,0x2489,0x91AE,0x248A,0x91B0,0x248B,0x91B2,0x248C,0x91B4,0x248D,0x91B6,0x248E,0x91B8,0x248F,0x91BA,
2893
  0x2490,0x91BC,0x2491,0x91BE,0x2492,0x91C1,0x2493,0x91C4,0x2494,0x91C7,0x2495,0x91CA,0x2496,0x91CD,0x2497,0x91D0,0x2498,0x91D3,0x2499,0x91D6,0x249A,0x91D9,0x249B,0x91DC,0x249C,0x91DF,0x249D,0x91E2,0x249E,0x91E5,0x249F,0x91E8,
2894
  0x24A0,0x91EB,0x24A1,0x91EE,0x24A2,0x91F1,0x24A3,0x91F4,0x24A4,0x91F7,0x24A5,0x91FA,0x24A6,0x91FD,0x24A7,0x9200,0x24A8,0x9203,0x24A9,0x9206,0x24AA,0x9209,0x24AB,0x920C,0x24AC,0x920F,0x24AD,0x9212,0x24AE,0x9215,0x24AF,0x9218,
2895
  0x24B0,0x921B,0x24B1,0x921E,0x24B2,0x9221,0x24B3,0x9224,0x24B4,0x9227,0x24B5,0x922A,0x24B6,0x922D,0x24B7,0x922E,0x24B8,0x922F,0x24B9,0x9230,0x24BA,0x9231,0x24BB,0x9232,0x24BC,0x9233,0x24BD,0x9234,0x24BE,0x9235,0x24BF,0x9236,
2896
  0x24C0,0x9237,0x24C1,0x9238,0x24C2,0x9239,0x24C3,0x923A,0x24C4,0x923B,0x24C5,0x923C,0x24C6,0x923D,0x24C7,0x923E,0x24C8,0x923F,0x24C9,0x9240,0x24CA,0x9241,0x24CB,0x9242,0x24CC,0x9243,0x24CD,0x9244,0x24CE,0x9245,0x24CF,0x9246,
2897
  0x24D0,0x9247,0x24D1,0x9248,0x24D2,0x9249,0x24D3,0x924A,0x24D4,0x924B,0x24D5,0x924C,0x24D6,0x924D,0x24D7,0x924E,0x24D8,0x924F,0x24D9,0x9250,0x24DA,0x9251,0x24DB,0x9252,0x24DC,0x9253,0x24DD,0x9254,0x24DE,0x9255,0x24DF,0x9256,
2898
  0x24E0,0x9257,0x24E1,0x9258,0x24E2,0x9259,0x24E3,0x925A,0x24E4,0x925B,0x24E5,0x925C,0x24E6,0x925D,0x24E7,0x925E,0x24E8,0x925F,0x24E9,0x9260,0x24EA,0x9261,0x2A0C,0x9262,0x2A74,0x926E,0x2A75,0x9271,0x2A76,0x9273,0x2ADC,0x1276,
2899
  0x2C7C,0x927B,0x2C7D,0x927C,0x2D6F,0x927D,0x2E9F,0x9280,0x2EF3,0x9283,0x2F00,0x9286,0x2F01,0x9289,0x2F02,0x928C,0x2F03,0x928F,0x2F04,0x9292,0x2F05,0x9295,0x2F06,0x9298,0x2F07,0x929B,0x2F08,0x929E,0x2F09,0x92A1,0x2F0A,0x92A4,
2900
  0x2F0B,0x92A7,0x2F0C,0x92AA,0x2F0D,0x92AD,0x2F0E,0x92B0,0x2F0F,0x92B3,0x2F10,0x92B6,0x2F11,0x92B9,0x2F12,0x92BC,0x2F13,0x92BF,0x2F14,0x92C2,0x2F15,0x92C5,0x2F16,0x92C8,0x2F17,0x92CB,0x2F18,0x92CE,0x2F19,0x92D1,0x2F1A,0x92D4,
2901
  0x2F1B,0x92D7,0x2F1C,0x92DA,0x2F1D,0x92DD,0x2F1E,0x92E0,0x2F1F,0x92E3,0x2F20,0x92E6,0x2F21,0x92E9,0x2F22,0x92EC,0x2F23,0x92EF,0x2F24,0x92F2,0x2F25,0x92F5,0x2F26,0x92F8,0x2F27,0x92FB,0x2F28,0x92FE,0x2F29,0x9301,0x2F2A,0x9304,
2902
  0x2F2B,0x9307,0x2F2C,0x930A,0x2F2D,0x930D,0x2F2E,0x9310,0x2F2F,0x9313,0x2F30,0x9316,0x2F31,0x9319,0x2F32,0x931C,0x2F33,0x931F,0x2F34,0x9322,0x2F35,0x9325,0x2F36,0x9328,0x2F37,0x932B,0x2F38,0x932E,0x2F39,0x9331,0x2F3A,0x9334,
2903
  0x2F3B,0x9337,0x2F3C,0x933A,0x2F3D,0x933D,0x2F3E,0x9340,0x2F3F,0x9343,0x2F40,0x9346,0x2F41,0x9349,0x2F42,0x934C,0x2F43,0x934F,0x2F44,0x9352,0x2F45,0x9355,0x2F46,0x9358,0x2F47,0x935B,0x2F48,0x935E,0x2F49,0x9361,0x2F4A,0x9364,
2904
  0x2F4B,0x9367,0x2F4C,0x936A,0x2F4D,0x936D,0x2F4E,0x9370,0x2F4F,0x9373,0x2F50,0x9376,0x2F51,0x9379,0x2F52,0x937C,0x2F53,0x937F,0x2F54,0x9382,0x2F55,0x9385,0x2F56,0x9388,0x2F57,0x938B,0x2F58,0x938E,0x2F59,0x9391,0x2F5A,0x9394,
2905
  0x2F5B,0x9397,0x2F5C,0x939A,0x2F5D,0x939D,0x2F5E,0x93A0,0x2F5F,0x93A3,0x2F60,0x93A6,0x2F61,0x93A9,0x2F62,0x93AC,0x2F63,0x93AF,0x2F64,0x93B2,0x2F65,0x93B5,0x2F66,0x93B8,0x2F67,0x93BB,0x2F68,0x93BE,0x2F69,0x93C1,0x2F6A,0x93C4,
2906
  0x2F6B,0x93C7,0x2F6C,0x93CA,0x2F6D,0x93CD,0x2F6E,0x93D0,0x2F6F,0x93D3,0x2F70,0x93D6,0x2F71,0x93D9,0x2F72,0x93DC,0x2F73,0x93DF,0x2F74,0x93E2,0x2F75,0x93E5,0x2F76,0x93E8,0x2F77,0x93EB,0x2F78,0x93EE,0x2F79,0x93F1,0x2F7A,0x93F4,
2907
  0x2F7B,0x93F7,0x2F7C,0x93FA,0x2F7D,0x93FD,0x2F7E,0x9400,0x2F7F,0x9403,0x2F80,0x9406,0x2F81,0x9409,0x2F82,0x940C,0x2F83,0x940F,0x2F84,0x9412,0x2F85,0x9415,0x2F86,0x9418,0x2F87,0x941B,0x2F88,0x941E,0x2F89,0x9421,0x2F8A,0x9424,
2908
  0x2F8B,0x9427,0x2F8C,0x942A,0x2F8D,0x942D,0x2F8E,0x9430,0x2F8F,0x9433,0x2F90,0x9436,0x2F91,0x9439,0x2F92,0x943C,0x2F93,0x943F,0x2F94,0x9442,0x2F95,0x9445,0x2F96,0x9448,0x2F97,0x944B,0x2F98,0x944E,0x2F99,0x9451,0x2F9A,0x9454,
2909
  0x2F9B,0x9457,0x2F9C,0x945A,0x2F9D,0x945D,0x2F9E,0x9460,0x2F9F,0x9463,0x2FA0,0x9466,0x2FA1,0x9469,0x2FA2,0x946C,0x2FA3,0x946F,0x2FA4,0x9472,0x2FA5,0x9475,0x2FA6,0x9478,0x2FA7,0x947B,0x2FA8,0x947E,0x2FA9,0x9481,0x2FAA,0x9484,
2910
  0x2FAB,0x9487,0x2FAC,0x948A,0x2FAD,0x948D,0x2FAE,0x9490,0x2FAF,0x9493,0x2FB0,0x9496,0x2FB1,0x9499,0x2FB2,0x949C,0x2FB3,0x949F,0x2FB4,0x94A2,0x2FB5,0x94A5,0x2FB6,0x94A8,0x2FB7,0x94AB,0x2FB8,0x94AE,0x2FB9,0x94B1,0x2FBA,0x94B4,
2911
  0x2FBB,0x94B7,0x2FBC,0x94BA,0x2FBD,0x94BD,0x2FBE,0x94C0,0x2FBF,0x94C3,0x2FC0,0x94C6,0x2FC1,0x94C9,0x2FC2,0x94CC,0x2FC3,0x94CF,0x2FC4,0x94D2,0x2FC5,0x94D5,0x2FC6,0x94D8,0x2FC7,0x94DB,0x2FC8,0x94DE,0x2FC9,0x94E1,0x2FCA,0x94E4,
2912
  0x2FCB,0x94E7,0x2FCC,0x94EA,0x2FCD,0x94ED,0x2FCE,0x94F0,0x2FCF,0x94F3,0x2FD0,0x94F6,0x2FD1,0x94F9,0x2FD2,0x94FC,0x2FD3,0x94FF,0x2FD4,0x9502,0x2FD5,0x9505,0x3000,0x9508,0x3036,0x9509,0x3038,0x950C,0x3039,0x950F,0x303A,0x9512,
2913
  0x304C,0x1515,0x304E,0x151B,0x3050,0x1521,0x3052,0x1527,0x3054,0x152D,0x3056,0x1533,0x3058,0x1539,0x305A,0x153F,0x305C,0x1545,0x305E,0x154B,0x3060,0x1551,0x3062,0x1557,0x3065,0x155D,0x3067,0x1563,0x3069,0x1569,0x3070,0x156F,
2914
  0x3071,0x1575,0x3073,0x157B,0x3074,0x1581,0x3076,0x1587,0x3077,0x158D,0x3079,0x1593,0x307A,0x1599,0x307C,0x159F,0x307D,0x15A5,0x3094,0x15AB,0x309B,0x95B1,0x309C,0x95B5,0x309E,0x15B9,0x309F,0x95BF,0x30AC,0x15C5,0x30AE,0x15CB,
2915
  0x30B0,0x15D1,0x30B2,0x15D7,0x30B4,0x15DD,0x30B6,0x15E3,0x30B8,0x15E9,0x30BA,0x15EF,0x30BC,0x15F5,0x30BE,0x15FB,0x30C0,0x1601,0x30C2,0x1607,0x30C5,0x160D,0x30C7,0x1613,0x30C9,0x1619,0x30D0,0x161F,0x30D1,0x1625,0x30D3,0x162B,
2916
  0x30D4,0x1631,0x30D6,0x1637,0x30D7,0x163D,0x30D9,0x1643,0x30DA,0x1649,0x30DC,0x164F,0x30DD,0x1655,0x30F4,0x165B,0x30F7,0x1661,0x30F8,0x1667,0x30F9,0x166D,0x30FA,0x1673,0x30FE,0x1679,0x30FF,0x967F,0x3131,0x9685,0x3132,0x9688,
2917
  0x3133,0x968B,0x3134,0x968E,0x3135,0x9691,0x3136,0x9694,0x3137,0x9697,0x3138,0x969A,0x3139,0x969D,0x313A,0x96A0,0x313B,0x96A3,0x313C,0x96A6,0x313D,0x96A9,0x313E,0x96AC,0x313F,0x96AF,0x3140,0x96B2,0x3141,0x96B5,0x3142,0x96B8,
2918
  0x3143,0x96BB,0x3144,0x96BE,0x3145,0x96C1,0x3146,0x96C4,0x3147,0x96C7,0x3148,0x96CA,0x3149,0x96CD,0x314A,0x96D0,0x314B,0x96D3,0x314C,0x96D6,0x314D,0x96D9,0x314E,0x96DC,0x314F,0x96DF,0x3150,0x96E2,0x3151,0x96E5,0x3152,0x96E8,
2919
  0x3153,0x96EB,0x3154,0x96EE,0x3155,0x96F1,0x3156,0x96F4,0x3157,0x96F7,0x3158,0x96FA,0x3159,0x96FD,0x315A,0x9700,0x315B,0x9703,0x315C,0x9706,0x315D,0x9709,0x315E,0x970C,0x315F,0x970F,0x3160,0x9712,0x3161,0x9715,0x3162,0x9718,
2920
  0x3163,0x971B,0x3164,0x971E,0x3165,0x9721,0x3166,0x9724,0x3167,0x9727,0x3168,0x972A,0x3169,0x972D,0x316A,0x9730,0x316B,0x9733,0x316C,0x9736,0x316D,0x9739,0x316E,0x973C,0x316F,0x973F,0x3170,0x9742,0x3171,0x9745,0x3172,0x9748,
2921
  0x3173,0x974B,0x3174,0x974E,0x3175,0x9751,0x3176,0x9754,0x3177,0x9757,0x3178,0x975A,0x3179,0x975D,0x317A,0x9760,0x317B,0x9763,0x317C,0x9766,0x317D,0x9769,0x317E,0x976C,0x317F,0x976F,0x3180,0x9772,0x3181,0x9775,0x3182,0x9778,
2922
  0x3183,0x977B,0x3184,0x977E,0x3185,0x9781,0x3186,0x9784,0x3187,0x9787,0x3188,0x978A,0x3189,0x978D,0x318A,0x9790,0x318B,0x9793,0x318C,0x9796,0x318D,0x9799,0x318E,0x979C,0x3192,0x979F,0x3193,0x97A2,0x3194,0x97A5,0x3195,0x97A8,
2923
  0x3196,0x97AB,0x3197,0x97AE,0x3198,0x97B1,0x3199,0x97B4,0x319A,0x97B7,0x319B,0x97BA,0x319C,0x97BD,0x319D,0x97C0,0x319E,0x97C3,0x319F,0x97C6,0x3200,0x97C9,0x3201,0x97CE,0x3202,0x97D3,0x3203,0x97D8,0x3204,0x97DD,0x3205,0x97E2,
2924
  0x3206,0x97E7,0x3207,0x97EC,0x3208,0x97F1,0x3209,0x97F6,0x320A,0x97FB,0x320B,0x9800,0x320C,0x9805,0x320D,0x980A,0x320E,0x980F,0x320F,0x9817,0x3210,0x981F,0x3211,0x9827,0x3212,0x982F,0x3213,0x9837,0x3214,0x983F,0x3215,0x9847,
2925
  0x3216,0x984F,0x3217,0x9857,0x3218,0x985F,0x3219,0x9867,0x321A,0x986F,0x321B,0x9877,0x321C,0x987F,0x321D,0x9887,0x321E,0x9898,0x3220,0x98A6,0x3221,0x98AB,0x3222,0x98B0,0x3223,0x98B5,0x3224,0x98BA,0x3225,0x98BF,0x3226,0x98C4,
2926
  0x3227,0x98C9,0x3228,0x98CE,0x3229,0x98D3,0x322A,0x98D8,0x322B,0x98DD,0x322C,0x98E2,0x322D,0x98E7,0x322E,0x98EC,0x322F,0x98F1,0x3230,0x98F6,0x3231,0x98FB,0x3232,0x9900,0x3233,0x9905,0x3234,0x990A,0x3235,0x990F,0x3236,0x9914,
2927
  0x3237,0x9919,0x3238,0x991E,0x3239,0x9923,0x323A,0x9928,0x323B,0x992D,0x323C,0x9932,0x323D,0x9937,0x323E,0x993C,0x323F,0x9941,0x3240,0x9946,0x3241,0x994B,0x3242,0x9950,0x3243,0x9955,0x3244,0x995A,0x3245,0x995D,0x3246,0x9960,
2928
  0x3247,0x9963,0x3250,0x9966,0x3251,0x9969,0x3252,0x996B,0x3253,0x996D,0x3254,0x996F,0x3255,0x9971,0x3256,0x9973,0x3257,0x9975,0x3258,0x9977,0x3259,0x9979,0x325A,0x997B,0x325B,0x997D,0x325C,0x997F,0x325D,0x9981,0x325E,0x9983,
2929
  0x325F,0x9985,0x3260,0x9987,0x3261,0x998A,0x3262,0x998D,0x3263,0x9990,0x3264,0x9993,0x3265,0x9996,0x3266,0x9999,0x3267,0x999C,0x3268,0x999F,0x3269,0x99A2,0x326A,0x99A5,0x326B,0x99A8,0x326C,0x99AB,0x326D,0x99AE,0x326E,0x99B1,
2930
  0x326F,0x99B7,0x3270,0x99BD,0x3271,0x99C3,0x3272,0x99C9,0x3273,0x99CF,0x3274,0x99D5,0x3275,0x99DB,0x3276,0x99E1,0x3277,0x99E7,0x3278,0x99ED,0x3279,0x99F3,0x327A,0x99F9,0x327B,0x99FF,0x327C,0x9A05,0x327D,0x9A14,0x327E,0x9A20,
2931
  0x3280,0x9A26,0x3281,0x9A29,0x3282,0x9A2C,0x3283,0x9A2F,0x3284,0x9A32,0x3285,0x9A35,0x3286,0x9A38,0x3287,0x9A3B,0x3288,0x9A3E,0x3289,0x9A41,0x328A,0x9A44,0x328B,0x9A47,0x328C,0x9A4A,0x328D,0x9A4D,0x328E,0x9A50,0x328F,0x9A53,
2932
  0x3290,0x9A56,0x3291,0x9A59,0x3292,0x9A5C,0x3293,0x9A5F,0x3294,0x9A62,0x3295,0x9A65,0x3296,0x9A68,0x3297,0x9A6B,0x3298,0x9A6E,0x3299,0x9A71,0x329A,0x9A74,0x329B,0x9A77,0x329C,0x9A7A,0x329D,0x9A7D,0x329E,0x9A80,0x329F,0x9A83,
2933
  0x32A0,0x9A86,0x32A1,0x9A89,0x32A2,0x9A8C,0x32A3,0x9A8F,0x32A4,0x9A92,0x32A5,0x9A95,0x32A6,0x9A98,0x32A7,0x9A9B,0x32A8,0x9A9E,0x32A9,0x9AA1,0x32AA,0x9AA4,0x32AB,0x9AA7,0x32AC,0x9AAA,0x32AD,0x9AAD,0x32AE,0x9AB0,0x32AF,0x9AB3,
2934
  0x32B0,0x9AB6,0x32B1,0x9AB9,0x32B2,0x9ABB,0x32B3,0x9ABD,0x32B4,0x9ABF,0x32B5,0x9AC1,0x32B6,0x9AC3,0x32B7,0x9AC5,0x32B8,0x9AC7,0x32B9,0x9AC9,0x32BA,0x9ACB,0x32BB,0x9ACD,0x32BC,0x9ACF,0x32BD,0x9AD1,0x32BE,0x9AD3,0x32BF,0x9AD5,
2935
  0x32C0,0x9AD7,0x32C1,0x9ADB,0x32C2,0x9ADF,0x32C3,0x9AE3,0x32C4,0x9AE7,0x32C5,0x9AEB,0x32C6,0x9AEF,0x32C7,0x9AF3,0x32C8,0x9AF7,0x32C9,0x9AFB,0x32CA,0x9B00,0x32CB,0x9B05,0x32CC,0x9B0A,0x32CD,0x9B0C,0x32CE,0x9B0F,0x32CF,0x9B11,
2936
  0x32D0,0x9B14,0x32D1,0x9B17,0x32D2,0x9B1A,0x32D3,0x9B1D,0x32D4,0x9B20,0x32D5,0x9B23,0x32D6,0x9B26,0x32D7,0x9B29,0x32D8,0x9B2C,0x32D9,0x9B2F,0x32DA,0x9B32,0x32DB,0x9B35,0x32DC,0x9B38,0x32DD,0x9B3B,0x32DE,0x9B3E,0x32DF,0x9B41,
2937
  0x32E0,0x9B44,0x32E1,0x9B47,0x32E2,0x9B4A,0x32E3,0x9B4D,0x32E4,0x9B50,0x32E5,0x9B53,0x32E6,0x9B56,0x32E7,0x9B59,0x32E8,0x9B5C,0x32E9,0x9B5F,0x32EA,0x9B62,0x32EB,0x9B65,0x32EC,0x9B68,0x32ED,0x9B6B,0x32EE,0x9B6E,0x32EF,0x9B71,
2938
  0x32F0,0x9B74,0x32F1,0x9B77,0x32F2,0x9B7A,0x32F3,0x9B7D,0x32F4,0x9B80,0x32F5,0x9B83,0x32F6,0x9B86,0x32F7,0x9B89,0x32F8,0x9B8C,0x32F9,0x9B8F,0x32FA,0x9B92,0x32FB,0x9B95,0x32FC,0x9B98,0x32FD,0x9B9B,0x32FE,0x9B9E,0x32FF,0x9BA1,
2939
  0x3300,0x9BA7,0x3301,0x9BB3,0x3302,0x9BBF,0x3303,0x9BCB,0x3304,0x9BD4,0x3305,0x9BE0,0x3306,0x9BE9,0x3307,0x9BF2,0x3308,0x9C01,0x3309,0x9C0D,0x330A,0x9C16,0x330B,0x9C1F,0x330C,0x9C28,0x330D,0x9C34,0x330E,0x9C40,0x330F,0x9C49,
2940
  0x3310,0x9C52,0x3311,0x9C58,0x3312,0x9C61,0x3313,0x9C6D,0x3314,0x9C79,0x3315,0x9C7F,0x3316,0x9C8E,0x3317,0x9CA0,0x3318,0x9CAF,0x3319,0x9CB8,0x331A,0x9CC7,0x331B,0x9CD6,0x331C,0x9CE2,0x331D,0x9CEB,0x331E,0x9CF4,0x331F,0x9CFD,
2941
  0x3320,0x9D09,0x3321,0x9D18,0x3322,0x9D24,0x3323,0x9D2D,0x3324,0x9D36,0x3325,0x9D3F,0x3326,0x9D45,0x3327,0x9D4B,0x3328,0x9D51,0x3329,0x9D57,0x332A,0x9D60,0x332B,0x9D69,0x332C,0x9D78,0x332D,0x9D81,0x332E,0x9D8D,0x332F,0x9D9C,
2942
  0x3330,0x9DA5,0x3331,0x9DAB,0x3332,0x9DB1,0x3333,0x9DC0,0x3334,0x9DCC,0x3335,0x9DDB,0x3336,0x9DE4,0x3337,0x9DF3,0x3338,0x9DF9,0x3339,0x9E02,0x333A,0x9E0B,0x333B,0x9E14,0x333C,0x9E1D,0x333D,0x9E26,0x333E,0x9E32,0x333F,0x9E3B,
2943
  0x3340,0x9E41,0x3341,0x9E4A,0x3342,0x9E53,0x3343,0x9E5C,0x3344,0x9E68,0x3345,0x9E71,0x3346,0x9E7A,0x3347,0x9E83,0x3348,0x9E92,0x3349,0x9E9E,0x334A,0x9EA4,0x334B,0x9EB3,0x334C,0x9EB9,0x334D,0x9EC5,0x334E,0x9ED1,0x334F,0x9EDA,
2944
  0x3350,0x9EE3,0x3351,0x9EEC,0x3352,0x9EF8,0x3353,0x9EFE,0x3354,0x9F07,0x3355,0x9F13,0x3356,0x9F19,0x3357,0x9F28,0x3358,0x9F31,0x3359,0x9F35,0x335A,0x9F39,0x335B,0x9F3D,0x335C,0x9F41,0x335D,0x9F45,0x335E,0x9F49,0x335F,0x9F4D,
2945
  0x3360,0x9F51,0x3361,0x9F55,0x3362,0x9F59,0x3363,0x9F5E,0x3364,0x9F63,0x3365,0x9F68,0x3366,0x9F6D,0x3367,0x9F72,0x3368,0x9F77,0x3369,0x9F7C,0x336A,0x9F81,0x336B,0x9F86,0x336C,0x9F8B,0x336D,0x9F90,0x336E,0x9F95,0x336F,0x9F9A,
2946
  0x3370,0x9F9F,0x3371,0x9FA4,0x3372,0x9FA7,0x3373,0x9FA9,0x3374,0x9FAB,0x3375,0x9FAE,0x3376,0x9FB0,0x3377,0x9FB2,0x3378,0x9FB4,0x3379,0x9FB8,0x337A,0x9FBC,0x337B,0x9FBE,0x337C,0x9FC4,0x337D,0x9FCA,0x337E,0x9FD0,0x337F,0x9FD6,
2947
  0x3380,0x9FE2,0x3381,0x9FE4,0x3382,0x9FE6,0x3383,0x9FE9,0x3384,0x9FEB,0x3385,0x9FED,0x3386,0x9FEF,0x3387,0x9FF1,0x3388,0x9FF3,0x3389,0x9FF6,0x338A,0x9FFA,0x338B,0x9FFC,0x338C,0x9FFE,0x338D,0xA001,0x338E,0xA004,0x338F,0xA006,
2948
  0x3390,0xA008,0x3391,0xA00A,0x3392,0xA00D,0x3393,0xA010,0x3394,0xA013,0x3395,0xA016,0x3396,0xA01B,0x3397,0xA01F,0x3398,0xA023,0x3399,0xA027,0x339A,0xA029,0x339B,0xA02B,0x339C,0xA02E,0x339D,0xA030,0x339E,0xA032,0x339F,0xA034,
2949
  0x33A0,0xA038,0x33A1,0xA03C,0x33A2,0xA03F,0x33A3,0xA043,0x33A4,0xA047,0x33A5,0xA04B,0x33A6,0xA04E,0x33A7,0xA052,0x33A8,0xA057,0x33A9,0xA05E,0x33AA,0xA060,0x33AB,0xA063,0x33AC,0xA066,0x33AD,0xA069,0x33AE,0xA06C,0x33AF,0xA073,
2950
  0x33B0,0xA07C,0x33B1,0xA07E,0x33B2,0xA080,0x33B3,0xA083,0x33B4,0xA085,0x33B5,0xA087,0x33B6,0xA089,0x33B7,0xA08C,0x33B8,0xA08E,0x33B9,0xA090,0x33BA,0xA092,0x33BB,0xA094,0x33BC,0xA096,0x33BD,0xA099,0x33BE,0xA09B,0x33BF,0xA09D,
2951
  0x33C0,0xA09F,0x33C1,0xA0A2,0x33C2,0xA0A5,0x33C3,0xA0A9,0x33C4,0xA0AB,0x33C5,0xA0AD,0x33C6,0xA0AF,0x33C7,0xA0B5,0x33C8,0xA0B8,0x33C9,0xA0BA,0x33CA,0xA0BC,0x33CB,0xA0BE,0x33CC,0xA0C0,0x33CD,0xA0C2,0x33CE,0xA0C4,0x33CF,0xA0C6,
2952
  0x33D0,0xA0C8,0x33D1,0xA0CA,0x33D2,0xA0CC,0x33D3,0xA0CF,0x33D4,0xA0D1,0x33D5,0xA0D3,0x33D6,0xA0D6,0x33D7,0xA0D9,0x33D8,0xA0DB,0x33D9,0xA0DF,0x33DA,0xA0E2,0x33DB,0xA0E4,0x33DC,0xA0E6,0x33DD,0xA0E8,0x33DE,0xA0EA,0x33DF,0xA0EF,
2953
  0x33E0,0xA0F4,0x33E1,0xA0F8,0x33E2,0xA0FC,0x33E3,0xA100,0x33E4,0xA104,0x33E5,0xA108,0x33E6,0xA10C,0x33E7,0xA110,0x33E8,0xA114,0x33E9,0xA118,0x33EA,0xA11D,0x33EB,0xA122,0x33EC,0xA127,0x33ED,0xA12C,0x33EE,0xA131,0x33EF,0xA136,
2954
  0x33F0,0xA13B,0x33F1,0xA140,0x33F2,0xA145,0x33F3,0xA14A,0x33F4,0xA14F,0x33F5,0xA154,0x33F6,0xA159,0x33F7,0xA15E,0x33F8,0xA163,0x33F9,0xA168,0x33FA,0xA16D,0x33FB,0xA172,0x33FC,0xA177,0x33FD,0xA17C,0x33FE,0xA181,0x33FF,0xA186,
2955
  0xA69C,0xA189,0xA69D,0xA18B,0xA770,0xA18D,0xA7F2,0xA190,0xA7F3,0xA191,0xA7F4,0xA192,0xA7F8,0xA193,0xA7F9,0xA195,0xAB5C,0xA197,0xAB5D,0xA19A,0xAB5E,0xA19D,0xAB5F,0xA19F,0xAB69,0xA1A2,0xF900,0x21A4,0xF901,0x21A7,0xF902,0x21AA,
2956
  0xF903,0x21AD,0xF904,0x21B0,0xF905,0x21B3,0xF906,0x21B6,0xF907,0x21B9,0xF908,0x21BC,0xF909,0x21BF,0xF90A,0x21C2,0xF90B,0x21C5,0xF90C,0x21C8,0xF90D,0x21CB,0xF90E,0x21CE,0xF90F,0x21D1,0xF910,0x21D4,0xF911,0x21D7,0xF912,0x21DA,
2957
  0xF913,0x21DD,0xF914,0x21E0,0xF915,0x21E3,0xF916,0x21E6,0xF917,0x21E9,0xF918,0x21EC,0xF919,0x21EF,0xF91A,0x21F2,0xF91B,0x21F5,0xF91C,0x21F8,0xF91D,0x21FB,0xF91E,0x21FE,0xF91F,0x2201,0xF920,0x2204,0xF921,0x2207,0xF922,0x220A,
2958
  0xF923,0x220D,0xF924,0x2210,0xF925,0x2213,0xF926,0x2216,0xF927,0x2219,0xF928,0x221C,0xF929,0x221F,0xF92A,0x2222,0xF92B,0x2225,0xF92C,0x2228,0xF92D,0x222B,0xF92E,0x222E,0xF92F,0x2231,0xF930,0x2234,0xF931,0x2237,0xF932,0x223A,
2959
  0xF933,0x223D,0xF934,0x2240,0xF935,0x2243,0xF936,0x2246,0xF937,0x2249,0xF938,0x224C,0xF939,0x224F,0xF93A,0x2252,0xF93B,0x2255,0xF93C,0x2258,0xF93D,0x225B,0xF93E,0x225E,0xF93F,0x2261,0xF940,0x2264,0xF941,0x2267,0xF942,0x226A,
2960
  0xF943,0x226D,0xF944,0x2270,0xF945,0x2273,0xF946,0x2276,0xF947,0x2279,0xF948,0x227C,0xF949,0x227F,0xF94A,0x2282,0xF94B,0x2285,0xF94C,0x2288,0xF94D,0x228B,0xF94E,0x228E,0xF94F,0x2291,0xF950,0x2294,0xF951,0x2297,0xF952,0x229A,
2961
  0xF953,0x229D,0xF954,0x22A0,0xF955,0x22A3,0xF956,0x22A6,0xF957,0x22A9,0xF958,0x22AC,0xF959,0x22AF,0xF95A,0x22B2,0xF95B,0x22B5,0xF95C,0x22B8,0xF95D,0x22BB,0xF95E,0x22BE,0xF95F,0x22C1,0xF960,0x22C4,0xF961,0x22C7,0xF962,0x22CA,
2962
  0xF963,0x22CD,0xF964,0x22D0,0xF965,0x22D3,0xF966,0x22D6,0xF967,0x22D9,0xF968,0x22DC,0xF969,0x22DF,0xF96A,0x22E2,0xF96B,0x22E5,0xF96C,0x22E8,0xF96D,0x22EB,0xF96E,0x22EE,0xF96F,0x22F1,0xF970,0x22F4,0xF971,0x22F7,0xF972,0x22FA,
2963
  0xF973,0x22FD,0xF974,0x2300,0xF975,0x2303,0xF976,0x2306,0xF977,0x2309,0xF978,0x230C,0xF979,0x230F,0xF97A,0x2312,0xF97B,0x2315,0xF97C,0x2318,0xF97D,0x231B,0xF97E,0x231E,0xF97F,0x2321,0xF980,0x2324,0xF981,0x2327,0xF982,0x232A,
2964
  0xF983,0x232D,0xF984,0x2330,0xF985,0x2333,0xF986,0x2336,0xF987,0x2339,0xF988,0x233C,0xF989,0x233F,0xF98A,0x2342,0xF98B,0x2345,0xF98C,0x2348,0xF98D,0x234B,0xF98E,0x234E,0xF98F,0x2351,0xF990,0x2354,0xF991,0x2357,0xF992,0x235A,
2965
  0xF993,0x235D,0xF994,0x2360,0xF995,0x2363,0xF996,0x2366,0xF997,0x2369,0xF998,0x236C,0xF999,0x236F,0xF99A,0x2372,0xF99B,0x2375,0xF99C,0x2378,0xF99D,0x237B,0xF99E,0x237E,0xF99F,0x2381,0xF9A0,0x2384,0xF9A1,0x2387,0xF9A2,0x238A,
2966
  0xF9A3,0x238D,0xF9A4,0x2390,0xF9A5,0x2393,0xF9A6,0x2396,0xF9A7,0x2399,0xF9A8,0x239C,0xF9A9,0x239F,0xF9AA,0x23A2,0xF9AB,0x23A5,0xF9AC,0x23A8,0xF9AD,0x23AB,0xF9AE,0x23AE,0xF9AF,0x23B1,0xF9B0,0x23B4,0xF9B1,0x23B7,0xF9B2,0x23BA,
2967
  0xF9B3,0x23BD,0xF9B4,0x23C0,0xF9B5,0x23C3,0xF9B6,0x23C6,0xF9B7,0x23C9,0xF9B8,0x23CC,0xF9B9,0x23CF,0xF9BA,0x23D2,0xF9BB,0x23D5,0xF9BC,0x23D8,0xF9BD,0x23DB,0xF9BE,0x23DE,0xF9BF,0x23E1,0xF9C0,0x23E4,0xF9C1,0x23E7,0xF9C2,0x23EA,
2968
  0xF9C3,0x23ED,0xF9C4,0x23F0,0xF9C5,0x23F3,0xF9C6,0x23F6,0xF9C7,0x23F9,0xF9C8,0x23FC,0xF9C9,0x23FF,0xF9CA,0x2402,0xF9CB,0x2405,0xF9CC,0x2408,0xF9CD,0x240B,0xF9CE,0x240E,0xF9CF,0x2411,0xF9D0,0x2414,0xF9D1,0x2417,0xF9D2,0x241A,
2969
  0xF9D3,0x241D,0xF9D4,0x2420,0xF9D5,0x2423,0xF9D6,0x2426,0xF9D7,0x2429,0xF9D8,0x242C,0xF9D9,0x242F,0xF9DA,0x2432,0xF9DB,0x2435,0xF9DC,0x2438,0xF9DD,0x243B,0xF9DE,0x243E,0xF9DF,0x2441,0xF9E0,0x2444,0xF9E1,0x2447,0xF9E2,0x244A,
2970
  0xF9E3,0x244D,0xF9E4,0x2450,0xF9E5,0x2453,0xF9E6,0x2456,0xF9E7,0x2459,0xF9E8,0x245C,0xF9E9,0x245F,0xF9EA,0x2462,0xF9EB,0x2465,0xF9EC,0x2468,0xF9ED,0x246B,0xF9EE,0x246E,0xF9EF,0x2471,0xF9F0,0x2474,0xF9F1,0x2477,0xF9F2,0x247A,
2971
  0xF9F3,0x247D,0xF9F4,0x2480,0xF9F5,0x2483,0xF9F6,0x2486,0xF9F7,0x2489,0xF9F8,0x248C,0xF9F9,0x248F,0xF9FA,0x2492,0xF9FB,0x2495,0xF9FC,0x2498,0xF9FD,0x249B,0xF9FE,0x249E,0xF9FF,0x24A1,0xFA00,0x24A4,0xFA01,0x24A7,0xFA02,0x24AA,
2972
  0xFA03,0x24AD,0xFA04,0x24B0,0xFA05,0x24B3,0xFA06,0x24B6,0xFA07,0x24B9,0xFA08,0x24BC,0xFA09,0x24BF,0xFA0A,0x24C2,0xFA0B,0x24C5,0xFA0C,0x24C8,0xFA0D,0x24CB,0xFA10,0x24CE,0xFA12,0x24D1,0xFA15,0x24D4,0xFA16,0x24D7,0xFA17,0x24DA,
2973
  0xFA18,0x24DD,0xFA19,0x24E0,0xFA1A,0x24E3,0xFA1B,0x24E6,0xFA1C,0x24E9,0xFA1D,0x24EC,0xFA1E,0x24EF,0xFA20,0x24F2,0xFA22,0x24F5,0xFA25,0x24F8,0xFA26,0x24FB,0xFA2A,0x24FE,0xFA2B,0x2501,0xFA2C,0x2504,0xFA2D,0x2507,0xFA2E,0x250A,
2974
  0xFA2F,0x250D,0xFA30,0x2510,0xFA31,0x2513,0xFA32,0x2516,0xFA33,0x2519,0xFA34,0x251C,0xFA35,0x251F,0xFA36,0x2522,0xFA37,0x2525,0xFA38,0x2528,0xFA39,0x252B,0xFA3A,0x252E,0xFA3B,0x2531,0xFA3C,0x2534,0xFA3D,0x2537,0xFA3E,0x253A,
2975
  0xFA3F,0x253D,0xFA40,0x2540,0xFA41,0x2543,0xFA42,0x2546,0xFA43,0x2549,0xFA44,0x254C,0xFA45,0x254F,0xFA46,0x2552,0xFA47,0x2555,0xFA48,0x2558,0xFA49,0x255B,0xFA4A,0x255E,0xFA4B,0x2561,0xFA4C,0x2564,0xFA4D,0x2567,0xFA4E,0x256A,
2976
  0xFA4F,0x256D,0xFA50,0x2570,0xFA51,0x2573,0xFA52,0x2576,0xFA53,0x2579,0xFA54,0x257C,0xFA55,0x257F,0xFA56,0x2582,0xFA57,0x2585,0xFA58,0x2588,0xFA59,0x258B,0xFA5A,0x258E,0xFA5B,0x2591,0xFA5C,0x2594,0xFA5D,0x2597,0xFA5E,0x259A,
2977
  0xFA5F,0x259D,0xFA60,0x25A0,0xFA61,0x25A3,0xFA62,0x25A6,0xFA63,0x25A9,0xFA64,0x25AC,0xFA65,0x25AF,0xFA66,0x25B2,0xFA67,0x25B5,0xFA68,0x25B8,0xFA69,0x25BB,0xFA6A,0x25BE,0xFA6B,0x25C1,0xFA6C,0x25C4,0xFA6D,0x25C8,0xFA70,0x25CB,
2978
  0xFA71,0x25CE,0xFA72,0x25D1,0xFA73,0x25D4,0xFA74,0x25D7,0xFA75,0x25DA,0xFA76,0x25DD,0xFA77,0x25E0,0xFA78,0x25E3,0xFA79,0x25E6,0xFA7A,0x25E9,0xFA7B,0x25EC,0xFA7C,0x25EF,0xFA7D,0x25F2,0xFA7E,0x25F5,0xFA7F,0x25F8,0xFA80,0x25FB,
2979
  0xFA81,0x25FE,0xFA82,0x2601,0xFA83,0x2604,0xFA84,0x2607,0xFA85,0x260A,0xFA86,0x260D,0xFA87,0x2610,0xFA88,0x2613,0xFA89,0x2616,0xFA8A,0x2619,0xFA8B,0x261C,0xFA8C,0x261F,0xFA8D,0x2622,0xFA8E,0x2625,0xFA8F,0x2628,0xFA90,0x262B,
2980
  0xFA91,0x262E,0xFA92,0x2631,0xFA93,0x2634,0xFA94,0x2637,0xFA95,0x263A,0xFA96,0x263D,0xFA97,0x2640,0xFA98,0x2643,0xFA99,0x2646,0xFA9A,0x2649,0xFA9B,0x264C,0xFA9C,0x264F,0xFA9D,0x2652,0xFA9E,0x2655,0xFA9F,0x2658,0xFAA0,0x265B,
2981
  0xFAA1,0x265E,0xFAA2,0x2661,0xFAA3,0x2664,0xFAA4,0x2667,0xFAA5,0x266A,0xFAA6,0x266D,0xFAA7,0x2670,0xFAA8,0x2673,0xFAA9,0x2676,0xFAAA,0x2679,0xFAAB,0x267C,0xFAAC,0x267F,0xFAAD,0x2682,0xFAAE,0x2685,0xFAAF,0x2688,0xFAB0,0x268B,
2982
  0xFAB1,0x268E,0xFAB2,0x2691,0xFAB3,0x2694,0xFAB4,0x2697,0xFAB5,0x269A,0xFAB6,0x269D,0xFAB7,0x26A0,0xFAB8,0x26A3,0xFAB9,0x26A6,0xFABA,0x26A9,0xFABB,0x26AC,0xFABC,0x26AF,0xFABD,0x26B2,0xFABE,0x26B5,0xFABF,0x26B8,0xFAC0,0x26BB,
2983
  0xFAC1,0x26BE,0xFAC2,0x26C1,0xFAC3,0x26C4,0xFAC4,0x26C7,0xFAC5,0x26CA,0xFAC6,0x26CD,0xFAC7,0x26D0,0xFAC8,0x26D3,0xFAC9,0x26D6,0xFACA,0x26D9,0xFACB,0x26DC,0xFACC,0x26DF,0xFACD,0x26E2,0xFACE,0x26E5,0xFACF,0x26E8,0xFAD0,0x26EC,
2984
  0xFAD1,0x26F0,0xFAD2,0x26F4,0xFAD3,0x26F7,0xFAD4,0x26FA,0xFAD5,0x26FD,0xFAD6,0x2701,0xFAD7,0x2705,0xFAD8,0x2709,0xFAD9,0x270C,0xFB00,0xA70F,0xFB01,0xA711,0xFB02,0xA713,0xFB03,0xA715,0xFB04,0xA718,0xFB05,0xA71B,0xFB06,0xA71E,
2985
  0xFB13,0xA720,0xFB14,0xA724,0xFB15,0xA728,0xFB16,0xA72C,0xFB17,0xA730,0xFB1D,0x2734,0xFB1F,0x2738,0xFB20,0xA73C,0xFB21,0xA73E,0xFB22,0xA740,0xFB23,0xA742,0xFB24,0xA744,0xFB25,0xA746,0xFB26,0xA748,0xFB27,0xA74A,0xFB28,0xA74C,
2986
  0xFB29,0xA74E,0xFB2A,0x274F,0xFB2B,0x2753,0xFB2C,0x2757,0xFB2D,0x275C,0xFB2E,0x2761,0xFB2F,0x2765,0xFB30,0x2769,0xFB31,0x276D,0xFB32,0x2771,0xFB33,0x2775,0xFB34,0x2779,0xFB35,0x277D,0xFB36,0x2781,0xFB38,0x2785,0xFB39,0x2789,
2987
  0xFB3A,0x278D,0xFB3B,0x2791,0xFB3C,0x2795,0xFB3E,0x2799,0xFB40,0x279D,0xFB41,0x27A1,0xFB43,0x27A5,0xFB44,0x27A9,0xFB46,0x27AD,0xFB47,0x27B1,0xFB48,0x27B5,0xFB49,0x27B9,0xFB4A,0x27BD,0xFB4B,0x27C1,0xFB4C,0x27C5,0xFB4D,0x27C9,
2988
  0xFB4E,0x27CD,0xFB4F,0xA7D1,0xFB50,0xA7D5,0xFB51,0xA7D7,0xFB52,0xA7D9,0xFB53,0xA7DB,0xFB54,0xA7DD,0xFB55,0xA7DF,0xFB56,0xA7E1,0xFB57,0xA7E3,0xFB58,0xA7E5,0xFB59,0xA7E7,0xFB5A,0xA7E9,0xFB5B,0xA7EB,0xFB5C,0xA7ED,0xFB5D,0xA7EF,
2989
  0xFB5E,0xA7F1,0xFB5F,0xA7F3,0xFB60,0xA7F5,0xFB61,0xA7F7,0xFB62,0xA7F9,0xFB63,0xA7FB,0xFB64,0xA7FD,0xFB65,0xA7FF,0xFB66,0xA801,0xFB67,0xA803,0xFB68,0xA805,0xFB69,0xA807,0xFB6A,0xA809,0xFB6B,0xA80B,0xFB6C,0xA80D,0xFB6D,0xA80F,
2990
  0xFB6E,0xA811,0xFB6F,0xA813,0xFB70,0xA815,0xFB71,0xA817,0xFB72,0xA819,0xFB73,0xA81B,0xFB74,0xA81D,0xFB75,0xA81F,0xFB76,0xA821,0xFB77,0xA823,0xFB78,0xA825,0xFB79,0xA827,0xFB7A,0xA829,0xFB7B,0xA82B,0xFB7C,0xA82D,0xFB7D,0xA82F,
2991
  0xFB7E,0xA831,0xFB7F,0xA833,0xFB80,0xA835,0xFB81,0xA837,0xFB82,0xA839,0xFB83,0xA83B,0xFB84,0xA83D,0xFB85,0xA83F,0xFB86,0xA841,0xFB87,0xA843,0xFB88,0xA845,0xFB89,0xA847,0xFB8A,0xA849,0xFB8B,0xA84B,0xFB8C,0xA84D,0xFB8D,0xA84F,
2992
  0xFB8E,0xA851,0xFB8F,0xA853,0xFB90,0xA855,0xFB91,0xA857,0xFB92,0xA859,0xFB93,0xA85B,0xFB94,0xA85D,0xFB95,0xA85F,0xFB96,0xA861,0xFB97,0xA863,0xFB98,0xA865,0xFB99,0xA867,0xFB9A,0xA869,0xFB9B,0xA86B,0xFB9C,0xA86D,0xFB9D,0xA86F,
2993
  0xFB9E,0xA871,0xFB9F,0xA873,0xFBA0,0xA875,0xFBA1,0xA877,0xFBA2,0xA879,0xFBA3,0xA87B,0xFBA4,0xA87D,0xFBA5,0xA87F,0xFBA6,0xA881,0xFBA7,0xA883,0xFBA8,0xA885,0xFBA9,0xA887,0xFBAA,0xA889,0xFBAB,0xA88B,0xFBAC,0xA88D,0xFBAD,0xA88F,
2994
  0xFBAE,0xA891,0xFBAF,0xA893,0xFBB0,0xA895,0xFBB1,0xA897,0xFBD3,0xA899,0xFBD4,0xA89B,0xFBD5,0xA89D,0xFBD6,0xA89F,0xFBD7,0xA8A1,0xFBD8,0xA8A3,0xFBD9,0xA8A5,0xFBDA,0xA8A7,0xFBDB,0xA8A9,0xFBDC,0xA8AB,0xFBDD,0xA8AD,0xFBDE,0xA8AF,
2995
  0xFBDF,0xA8B1,0xFBE0,0xA8B3,0xFBE1,0xA8B5,0xFBE2,0xA8B7,0xFBE3,0xA8B9,0xFBE4,0xA8BB,0xFBE5,0xA8BD,0xFBE6,0xA8BF,0xFBE7,0xA8C1,0xFBE8,0xA8C3,0xFBE9,0xA8C5,0xFBEA,0xA8C7,0xFBEB,0xA8CB,0xFBEC,0xA8CF,0xFBED,0xA8D3,0xFBEE,0xA8D7,
2996
  0xFBEF,0xA8DB,0xFBF0,0xA8DF,0xFBF1,0xA8E3,0xFBF2,0xA8E7,0xFBF3,0xA8EB,0xFBF4,0xA8EF,0xFBF5,0xA8F3,0xFBF6,0xA8F7,0xFBF7,0xA8FB,0xFBF8,0xA8FF,0xFBF9,0xA903,0xFBFA,0xA907,0xFBFB,0xA90B,0xFBFC,0xA90F,0xFBFD,0xA911,0xFBFE,0xA913,
2997
  0xFBFF,0xA915,0xFC00,0xA917,0xFC01,0xA91B,0xFC02,0xA91F,0xFC03,0xA923,0xFC04,0xA927,0xFC05,0xA92B,0xFC06,0xA92F,0xFC07,0xA933,0xFC08,0xA937,0xFC09,0xA93B,0xFC0A,0xA93F,0xFC0B,0xA943,0xFC0C,0xA947,0xFC0D,0xA94B,0xFC0E,0xA94F,
2998
  0xFC0F,0xA953,0xFC10,0xA957,0xFC11,0xA95B,0xFC12,0xA95F,0xFC13,0xA963,0xFC14,0xA967,0xFC15,0xA96B,0xFC16,0xA96F,0xFC17,0xA973,0xFC18,0xA977,0xFC19,0xA97B,0xFC1A,0xA97F,0xFC1B,0xA983,0xFC1C,0xA987,0xFC1D,0xA98B,0xFC1E,0xA98F,
2999
  0xFC1F,0xA993,0xFC20,0xA997,0xFC21,0xA99B,0xFC22,0xA99F,0xFC23,0xA9A3,0xFC24,0xA9A7,0xFC25,0xA9AB,0xFC26,0xA9AF,0xFC27,0xA9B3,0xFC28,0xA9B7,0xFC29,0xA9BB,0xFC2A,0xA9BF,0xFC2B,0xA9C3,0xFC2C,0xA9C7,0xFC2D,0xA9CB,0xFC2E,0xA9CF,
3000
  0xFC2F,0xA9D3,0xFC30,0xA9D7,0xFC31,0xA9DB,0xFC32,0xA9DF,0xFC33,0xA9E3,0xFC34,0xA9E7,0xFC35,0xA9EB,0xFC36,0xA9EF,0xFC37,0xA9F3,0xFC38,0xA9F7,0xFC39,0xA9FB,0xFC3A,0xA9FF,0xFC3B,0xAA03,0xFC3C,0xAA07,0xFC3D,0xAA0B,0xFC3E,0xAA0F,
3001
  0xFC3F,0xAA13,0xFC40,0xAA17,0xFC41,0xAA1B,0xFC42,0xAA1F,0xFC43,0xAA23,0xFC44,0xAA27,0xFC45,0xAA2B,0xFC46,0xAA2F,0xFC47,0xAA33,0xFC48,0xAA37,0xFC49,0xAA3B,0xFC4A,0xAA3F,0xFC4B,0xAA43,0xFC4C,0xAA47,0xFC4D,0xAA4B,0xFC4E,0xAA4F,
3002
  0xFC4F,0xAA53,0xFC50,0xAA57,0xFC51,0xAA5B,0xFC52,0xAA5F,0xFC53,0xAA63,0xFC54,0xAA67,0xFC55,0xAA6B,0xFC56,0xAA6F,0xFC57,0xAA73,0xFC58,0xAA77,0xFC59,0xAA7B,0xFC5A,0xAA7F,0xFC5B,0xAA83,0xFC5C,0xAA87,0xFC5D,0xAA8B,0xFC5E,0xAA8F,
3003
  0xFC5F,0xAA94,0xFC60,0xAA99,0xFC61,0xAA9E,0xFC62,0xAAA3,0xFC63,0xAAA8,0xFC64,0xAAAD,0xFC65,0xAAB1,0xFC66,0xAAB5,0xFC67,0xAAB9,0xFC68,0xAABD,0xFC69,0xAAC1,0xFC6A,0xAAC5,0xFC6B,0xAAC9,0xFC6C,0xAACD,0xFC6D,0xAAD1,0xFC6E,0xAAD5,
3004
  0xFC6F,0xAAD9,0xFC70,0xAADD,0xFC71,0xAAE1,0xFC72,0xAAE5,0xFC73,0xAAE9,0xFC74,0xAAED,0xFC75,0xAAF1,0xFC76,0xAAF5,0xFC77,0xAAF9,0xFC78,0xAAFD,0xFC79,0xAB01,0xFC7A,0xAB05,0xFC7B,0xAB09,0xFC7C,0xAB0D,0xFC7D,0xAB11,0xFC7E,0xAB15,
3005
  0xFC7F,0xAB19,0xFC80,0xAB1D,0xFC81,0xAB21,0xFC82,0xAB25,0xFC83,0xAB29,0xFC84,0xAB2D,0xFC85,0xAB31,0xFC86,0xAB35,0xFC87,0xAB39,0xFC88,0xAB3D,0xFC89,0xAB41,0xFC8A,0xAB45,0xFC8B,0xAB49,0xFC8C,0xAB4D,0xFC8D,0xAB51,0xFC8E,0xAB55,
3006
  0xFC8F,0xAB59,0xFC90,0xAB5D,0xFC91,0xAB61,0xFC92,0xAB65,0xFC93,0xAB69,0xFC94,0xAB6D,0xFC95,0xAB71,0xFC96,0xAB75,0xFC97,0xAB79,0xFC98,0xAB7D,0xFC99,0xAB81,0xFC9A,0xAB85,0xFC9B,0xAB89,0xFC9C,0xAB8D,0xFC9D,0xAB91,0xFC9E,0xAB95,
3007
  0xFC9F,0xAB99,0xFCA0,0xAB9D,0xFCA1,0xABA1,0xFCA2,0xABA5,0xFCA3,0xABA9,0xFCA4,0xABAD,0xFCA5,0xABB1,0xFCA6,0xABB5,0xFCA7,0xABB9,0xFCA8,0xABBD,0xFCA9,0xABC1,0xFCAA,0xABC5,0xFCAB,0xABC9,0xFCAC,0xABCD,0xFCAD,0xABD1,0xFCAE,0xABD5,
3008
  0xFCAF,0xABD9,0xFCB0,0xABDD,0xFCB1,0xABE1,0xFCB2,0xABE5,0xFCB3,0xABE9,0xFCB4,0xABED,0xFCB5,0xABF1,0xFCB6,0xABF5,0xFCB7,0xABF9,0xFCB8,0xABFD,0xFCB9,0xAC01,0xFCBA,0xAC05,0xFCBB,0xAC09,0xFCBC,0xAC0D,0xFCBD,0xAC11,0xFCBE,0xAC15,
3009
  0xFCBF,0xAC19,0xFCC0,0xAC1D,0xFCC1,0xAC21,0xFCC2,0xAC25,0xFCC3,0xAC29,0xFCC4,0xAC2D,0xFCC5,0xAC31,0xFCC6,0xAC35,0xFCC7,0xAC39,0xFCC8,0xAC3D,0xFCC9,0xAC41,0xFCCA,0xAC45,0xFCCB,0xAC49,0xFCCC,0xAC4D,0xFCCD,0xAC51,0xFCCE,0xAC55,
3010
  0xFCCF,0xAC59,0xFCD0,0xAC5D,0xFCD1,0xAC61,0xFCD2,0xAC65,0xFCD3,0xAC69,0xFCD4,0xAC6D,0xFCD5,0xAC71,0xFCD6,0xAC75,0xFCD7,0xAC79,0xFCD8,0xAC7D,0xFCD9,0xAC81,0xFCDA,0xAC85,0xFCDB,0xAC89,0xFCDC,0xAC8D,0xFCDD,0xAC91,0xFCDE,0xAC95,
3011
  0xFCDF,0xAC99,0xFCE0,0xAC9D,0xFCE1,0xACA1,0xFCE2,0xACA5,0xFCE3,0xACA9,0xFCE4,0xACAD,0xFCE5,0xACB1,0xFCE6,0xACB5,0xFCE7,0xACB9,0xFCE8,0xACBD,0xFCE9,0xACC1,0xFCEA,0xACC5,0xFCEB,0xACC9,0xFCEC,0xACCD,0xFCED,0xACD1,0xFCEE,0xACD5,
3012
  0xFCEF,0xACD9,0xFCF0,0xACDD,0xFCF1,0xACE1,0xFCF2,0xACE5,0xFCF3,0xACEB,0xFCF4,0xACF1,0xFCF5,0xACF7,0xFCF6,0xACFB,0xFCF7,0xACFF,0xFCF8,0xAD03,0xFCF9,0xAD07,0xFCFA,0xAD0B,0xFCFB,0xAD0F,0xFCFC,0xAD13,0xFCFD,0xAD17,0xFCFE,0xAD1B,
3013
  0xFCFF,0xAD1F,0xFD00,0xAD23,0xFD01,0xAD27,0xFD02,0xAD2B,0xFD03,0xAD2F,0xFD04,0xAD33,0xFD05,0xAD37,0xFD06,0xAD3B,0xFD07,0xAD3F,0xFD08,0xAD43,0xFD09,0xAD47,0xFD0A,0xAD4B,0xFD0B,0xAD4F,0xFD0C,0xAD53,0xFD0D,0xAD57,0xFD0E,0xAD5B,
3014
  0xFD0F,0xAD5F,0xFD10,0xAD63,0xFD11,0xAD67,0xFD12,0xAD6B,0xFD13,0xAD6F,0xFD14,0xAD73,0xFD15,0xAD77,0xFD16,0xAD7B,0xFD17,0xAD7F,0xFD18,0xAD83,0xFD19,0xAD87,0xFD1A,0xAD8B,0xFD1B,0xAD8F,0xFD1C,0xAD93,0xFD1D,0xAD97,0xFD1E,0xAD9B,
3015
  0xFD1F,0xAD9F,0xFD20,0xADA3,0xFD21,0xADA7,0xFD22,0xADAB,0xFD23,0xADAF,0xFD24,0xADB3,0xFD25,0xADB7,0xFD26,0xADBB,0xFD27,0xADBF,0xFD28,0xADC3,0xFD29,0xADC7,0xFD2A,0xADCB,0xFD2B,0xADCF,0xFD2C,0xADD3,0xFD2D,0xADD7,0xFD2E,0xADDB,
3016
  0xFD2F,0xADDF,0xFD30,0xADE3,0xFD31,0xADE7,0xFD32,0xADEB,0xFD33,0xADEF,0xFD34,0xADF3,0xFD35,0xADF7,0xFD36,0xADFB,0xFD37,0xADFF,0xFD38,0xAE03,0xFD39,0xAE07,0xFD3A,0xAE0B,0xFD3B,0xAE0F,0xFD3C,0xAE13,0xFD3D,0xAE17,0xFD50,0xAE1B,
3017
  0xFD51,0xAE21,0xFD52,0xAE27,0xFD53,0xAE2D,0xFD54,0xAE33,0xFD55,0xAE39,0xFD56,0xAE3F,0xFD57,0xAE45,0xFD58,0xAE4B,0xFD59,0xAE51,0xFD5A,0xAE57,0xFD5B,0xAE5D,0xFD5C,0xAE63,0xFD5D,0xAE69,0xFD5E,0xAE6F,0xFD5F,0xAE75,0xFD60,0xAE7B,
3018
  0xFD61,0xAE81,0xFD62,0xAE87,0xFD63,0xAE8D,0xFD64,0xAE93,0xFD65,0xAE99,0xFD66,0xAE9F,0xFD67,0xAEA5,0xFD68,0xAEAB,0xFD69,0xAEB1,0xFD6A,0xAEB7,0xFD6B,0xAEBD,0xFD6C,0xAEC3,0xFD6D,0xAEC9,0xFD6E,0xAECF,0xFD6F,0xAED5,0xFD70,0xAEDB,
3019
  0xFD71,0xAEE1,0xFD72,0xAEE7,0xFD73,0xAEED,0xFD74,0xAEF3,0xFD75,0xAEF9,0xFD76,0xAEFF,0xFD77,0xAF05,0xFD78,0xAF0B,0xFD79,0xAF11,0xFD7A,0xAF17,0xFD7B,0xAF1D,0xFD7C,0xAF23,0xFD7D,0xAF29,0xFD7E,0xAF2F,0xFD7F,0xAF35,0xFD80,0xAF3B,
3020
  0xFD81,0xAF41,0xFD82,0xAF47,0xFD83,0xAF4D,0xFD84,0xAF53,0xFD85,0xAF59,0xFD86,0xAF5F,0xFD87,0xAF65,0xFD88,0xAF6B,0xFD89,0xAF71,0xFD8A,0xAF77,0xFD8B,0xAF7D,0xFD8C,0xAF83,0xFD8D,0xAF89,0xFD8E,0xAF8F,0xFD8F,0xAF95,0xFD92,0xAF9B,
3021
  0xFD93,0xAFA1,0xFD94,0xAFA7,0xFD95,0xAFAD,0xFD96,0xAFB3,0xFD97,0xAFB9,0xFD98,0xAFBF,0xFD99,0xAFC5,0xFD9A,0xAFCB,0xFD9B,0xAFD1,0xFD9C,0xAFD7,0xFD9D,0xAFDD,0xFD9E,0xAFE3,0xFD9F,0xAFE9,0xFDA0,0xAFEF,0xFDA1,0xAFF5,0xFDA2,0xAFFB,
3022
  0xFDA3,0xB001,0xFDA4,0xB007,0xFDA5,0xB00D,0xFDA6,0xB013,0xFDA7,0xB019,0xFDA8,0xB01F,0xFDA9,0xB025,0xFDAA,0xB02B,0xFDAB,0xB031,0xFDAC,0xB037,0xFDAD,0xB03D,0xFDAE,0xB043,0xFDAF,0xB049,0xFDB0,0xB04F,0xFDB1,0xB055,0xFDB2,0xB05B,
3023
  0xFDB3,0xB061,0xFDB4,0xB067,0xFDB5,0xB06D,0xFDB6,0xB073,0xFDB7,0xB079,0xFDB8,0xB07F,0xFDB9,0xB085,0xFDBA,0xB08B,0xFDBB,0xB091,0xFDBC,0xB097,0xFDBD,0xB09D,0xFDBE,0xB0A3,0xFDBF,0xB0A9,0xFDC0,0xB0AF,0xFDC1,0xB0B5,0xFDC2,0xB0BB,
3024
  0xFDC3,0xB0C1,0xFDC4,0xB0C7,0xFDC5,0xB0CD,0xFDC6,0xB0D3,0xFDC7,0xB0D9,0xFDF0,0xB0DF,0xFDF1,0xB0E5,0xFDF2,0xB0EB,0xFDF3,0xB0F3,0xFDF4,0xB0FB,0xFDF5,0xB103,0xFDF6,0xB10B,0xFDF7,0xB113,0xFDF8,0xB11B,0xFDF9,0xB123,0xFDFA,0xB129,
3025
  0xFDFB,0xB14A,0xFDFC,0xB159,0xFE10,0xB161,0xFE11,0xB162,0xFE12,0xB165,0xFE13,0xB168,0xFE14,0xB169,0xFE15,0xB16A,0xFE16,0xB16B,0xFE17,0xB16C,0xFE18,0xB16F,0xFE19,0xB172,0xFE30,0xB175,0xFE31,0xB178,0xFE32,0xB17B,0xFE33,0xB17E,
3026
  0xFE34,0xB17F,0xFE35,0xB180,0xFE36,0xB181,0xFE37,0xB182,0xFE38,0xB183,0xFE39,0xB184,0xFE3A,0xB187,0xFE3B,0xB18A,0xFE3C,0xB18D,0xFE3D,0xB190,0xFE3E,0xB193,0xFE3F,0xB196,0xFE40,0xB199,0xFE41,0xB19C,0xFE42,0xB19F,0xFE43,0xB1A2,
3027
  0xFE44,0xB1A5,0xFE47,0xB1A8,0xFE48,0xB1A9,0xFE49,0xB1AA,0xFE4A,0xB1AD,0xFE4B,0xB1B0,0xFE4C,0xB1B3,0xFE4D,0xB1B6,0xFE4E,0xB1B7,0xFE4F,0xB1B8,0xFE50,0xB1B9,0xFE51,0xB1BA,0xFE52,0xB1BD,0xFE54,0xB1BE,0xFE55,0xB1BF,0xFE56,0xB1C0,
3028
  0xFE57,0xB1C1,0xFE58,0xB1C2,0xFE59,0xB1C5,0xFE5A,0xB1C6,0xFE5B,0xB1C7,0xFE5C,0xB1C8,0xFE5D,0xB1C9,0xFE5E,0xB1CC,0xFE5F,0xB1CF,0xFE60,0xB1D0,0xFE61,0xB1D1,0xFE62,0xB1D2,0xFE63,0xB1D3,0xFE64,0xB1D4,0xFE65,0xB1D5,0xFE66,0xB1D6,
3029
  0xFE68,0xB1D7,0xFE69,0xB1D8,0xFE6A,0xB1D9,0xFE6B,0xB1DA,0xFE70,0xB1DB,0xFE71,0xB1DE,0xFE72,0xB1E2,0xFE74,0xB1E5,0xFE76,0xB1E8,0xFE77,0xB1EB,0xFE78,0xB1EF,0xFE79,0xB1F2,0xFE7A,0xB1F6,0xFE7B,0xB1F9,0xFE7C,0xB1FD,0xFE7D,0xB200,
3030
  0xFE7E,0xB204,0xFE7F,0xB207,0xFE80,0xB20B,0xFE81,0xB20D,0xFE82,0xB20F,0xFE83,0xB211,0xFE84,0xB213,0xFE85,0xB215,0xFE86,0xB217,0xFE87,0xB219,0xFE88,0xB21B,0xFE89,0xB21D,0xFE8A,0xB21F,0xFE8B,0xB221,0xFE8C,0xB223,0xFE8D,0xB225,
3031
  0xFE8E,0xB227,0xFE8F,0xB229,0xFE90,0xB22B,0xFE91,0xB22D,0xFE92,0xB22F,0xFE93,0xB231,0xFE94,0xB233,0xFE95,0xB235,0xFE96,0xB237,0xFE97,0xB239,0xFE98,0xB23B,0xFE99,0xB23D,0xFE9A,0xB23F,0xFE9B,0xB241,0xFE9C,0xB243,0xFE9D,0xB245,
3032
  0xFE9E,0xB247,0xFE9F,0xB249,0xFEA0,0xB24B,0xFEA1,0xB24D,0xFEA2,0xB24F,0xFEA3,0xB251,0xFEA4,0xB253,0xFEA5,0xB255,0xFEA6,0xB257,0xFEA7,0xB259,0xFEA8,0xB25B,0xFEA9,0xB25D,0xFEAA,0xB25F,0xFEAB,0xB261,0xFEAC,0xB263,0xFEAD,0xB265,
3033
  0xFEAE,0xB267,0xFEAF,0xB269,0xFEB0,0xB26B,0xFEB1,0xB26D,0xFEB2,0xB26F,0xFEB3,0xB271,0xFEB4,0xB273,0xFEB5,0xB275,0xFEB6,0xB277,0xFEB7,0xB279,0xFEB8,0xB27B,0xFEB9,0xB27D,0xFEBA,0xB27F,0xFEBB,0xB281,0xFEBC,0xB283,0xFEBD,0xB285,
3034
  0xFEBE,0xB287,0xFEBF,0xB289,0xFEC0,0xB28B,0xFEC1,0xB28D,0xFEC2,0xB28F,0xFEC3,0xB291,0xFEC4,0xB293,0xFEC5,0xB295,0xFEC6,0xB297,0xFEC7,0xB299,0xFEC8,0xB29B,0xFEC9,0xB29D,0xFECA,0xB29F,0xFECB,0xB2A1,0xFECC,0xB2A3,0xFECD,0xB2A5,
3035
  0xFECE,0xB2A7,0xFECF,0xB2A9,0xFED0,0xB2AB,0xFED1,0xB2AD,0xFED2,0xB2AF,0xFED3,0xB2B1,0xFED4,0xB2B3,0xFED5,0xB2B5,0xFED6,0xB2B7,0xFED7,0xB2B9,0xFED8,0xB2BB,0xFED9,0xB2BD,0xFEDA,0xB2BF,0xFEDB,0xB2C1,0xFEDC,0xB2C3,0xFEDD,0xB2C5,
3036
  0xFEDE,0xB2C7,0xFEDF,0xB2C9,0xFEE0,0xB2CB,0xFEE1,0xB2CD,0xFEE2,0xB2CF,0xFEE3,0xB2D1,0xFEE4,0xB2D3,0xFEE5,0xB2D5,0xFEE6,0xB2D7,0xFEE7,0xB2D9,0xFEE8,0xB2DB,0xFEE9,0xB2DD,0xFEEA,0xB2DF,0xFEEB,0xB2E1,0xFEEC,0xB2E3,0xFEED,0xB2E5,
3037
  0xFEEE,0xB2E7,0xFEEF,0xB2E9,0xFEF0,0xB2EB,0xFEF1,0xB2ED,0xFEF2,0xB2EF,0xFEF3,0xB2F1,0xFEF4,0xB2F3,0xFEF5,0xB2F5,0xFEF6,0xB2F9,0xFEF7,0xB2FD,0xFEF8,0xB301,0xFEF9,0xB305,0xFEFA,0xB309,0xFEFB,0xB30D,0xFEFC,0xB311,0xFF01,0xB315,
3038
  0xFF02,0xB316,0xFF03,0xB317,0xFF04,0xB318,0xFF05,0xB319,0xFF06,0xB31A,0xFF07,0xB31B,0xFF08,0xB31C,0xFF09,0xB31D,0xFF0A,0xB31E,0xFF0B,0xB31F,0xFF0C,0xB320,0xFF0D,0xB321,0xFF0E,0xB322,0xFF0F,0xB323,0xFF10,0xB324,0xFF11,0xB325,
3039
  0xFF12,0xB326,0xFF13,0xB327,0xFF14,0xB328,0xFF15,0xB329,0xFF16,0xB32A,0xFF17,0xB32B,0xFF18,0xB32C,0xFF19,0xB32D,0xFF1A,0xB32E,0xFF1B,0xB32F,0xFF1C,0xB330,0xFF1D,0xB331,0xFF1E,0xB332,0xFF1F,0xB333,0xFF20,0xB334,0xFF21,0xB335,
3040
  0xFF22,0xB336,0xFF23,0xB337,0xFF24,0xB338,0xFF25,0xB339,0xFF26,0xB33A,0xFF27,0xB33B,0xFF28,0xB33C,0xFF29,0xB33D,0xFF2A,0xB33E,0xFF2B,0xB33F,0xFF2C,0xB340,0xFF2D,0xB341,0xFF2E,0xB342,0xFF2F,0xB343,0xFF30,0xB344,0xFF31,0xB345,
3041
  0xFF32,0xB346,0xFF33,0xB347,0xFF34,0xB348,0xFF35,0xB349,0xFF36,0xB34A,0xFF37,0xB34B,0xFF38,0xB34C,0xFF39,0xB34D,0xFF3A,0xB34E,0xFF3B,0xB34F,0xFF3C,0xB350,0xFF3D,0xB351,0xFF3E,0xB352,0xFF3F,0xB353,0xFF40,0xB354,0xFF41,0xB355,
3042
  0xFF42,0xB356,0xFF43,0xB357,0xFF44,0xB358,0xFF45,0xB359,0xFF46,0xB35A,0xFF47,0xB35B,0xFF48,0xB35C,0xFF49,0xB35D,0xFF4A,0xB35E,0xFF4B,0xB35F,0xFF4C,0xB360,0xFF4D,0xB361,0xFF4E,0xB362,0xFF4F,0xB363,0xFF50,0xB364,0xFF51,0xB365,
3043
  0xFF52,0xB366,0xFF53,0xB367,0xFF54,0xB368,0xFF55,0xB369,0xFF56,0xB36A,0xFF57,0xB36B,0xFF58,0xB36C,0xFF59,0xB36D,0xFF5A,0xB36E,0xFF5B,0xB36F,0xFF5C,0xB370,0xFF5D,0xB371,0xFF5E,0xB372,0xFF5F,0xB373,0xFF60,0xB376,0xFF61,0xB379,
3044
  0xFF62,0xB37C,0xFF63,0xB37F,0xFF64,0xB382,0xFF65,0xB385,0xFF66,0xB388,0xFF67,0xB38B,0xFF68,0xB38E,0xFF69,0xB391,0xFF6A,0xB394,0xFF6B,0xB397,0xFF6C,0xB39A,0xFF6D,0xB39D,0xFF6E,0xB3A0,0xFF6F,0xB3A3,0xFF70,0xB3A6,0xFF71,0xB3A9,
3045
  0xFF72,0xB3AC,0xFF73,0xB3AF,0xFF74,0xB3B2,0xFF75,0xB3B5,0xFF76,0xB3B8,0xFF77,0xB3BB,0xFF78,0xB3BE,0xFF79,0xB3C1,0xFF7A,0xB3C4,0xFF7B,0xB3C7,0xFF7C,0xB3CA,0xFF7D,0xB3CD,0xFF7E,0xB3D0,0xFF7F,0xB3D3,0xFF80,0xB3D6,0xFF81,0xB3D9,
3046
  0xFF82,0xB3DC,0xFF83,0xB3DF,0xFF84,0xB3E2,0xFF85,0xB3E5,0xFF86,0xB3E8,0xFF87,0xB3EB,0xFF88,0xB3EE,0xFF89,0xB3F1,0xFF8A,0xB3F4,0xFF8B,0xB3F7,0xFF8C,0xB3FA,0xFF8D,0xB3FD,0xFF8E,0xB400,0xFF8F,0xB403,0xFF90,0xB406,0xFF91,0xB409,
3047
  0xFF92,0xB40C,0xFF93,0xB40F,0xFF94,0xB412,0xFF95,0xB415,0xFF96,0xB418,0xFF97,0xB41B,0xFF98,0xB41E,0xFF99,0xB421,0xFF9A,0xB424,0xFF9B,0xB427,0xFF9C,0xB42A,0xFF9D,0xB42D,0xFF9E,0xB430,0xFF9F,0xB433,0xFFA0,0xB436,0xFFA1,0xB439,
3048
  0xFFA2,0xB43C,0xFFA3,0xB43F,0xFFA4,0xB442,0xFFA5,0xB445,0xFFA6,0xB448,0xFFA7,0xB44B,0xFFA8,0xB44E,0xFFA9,0xB451,0xFFAA,0xB454,0xFFAB,0xB457,0xFFAC,0xB45A,0xFFAD,0xB45D,0xFFAE,0xB460,0xFFAF,0xB463,0xFFB0,0xB466,0xFFB1,0xB469,
3049
  0xFFB2,0xB46C,0xFFB3,0xB46F,0xFFB4,0xB472,0xFFB5,0xB475,0xFFB6,0xB478,0xFFB7,0xB47B,0xFFB8,0xB47E,0xFFB9,0xB481,0xFFBA,0xB484,0xFFBB,0xB487,0xFFBC,0xB48A,0xFFBD,0xB48D,0xFFBE,0xB490,0xFFC2,0xB493,0xFFC3,0xB496,0xFFC4,0xB499,
3050
  0xFFC5,0xB49C,0xFFC6,0xB49F,0xFFC7,0xB4A2,0xFFCA,0xB4A5,0xFFCB,0xB4A8,0xFFCC,0xB4AB,0xFFCD,0xB4AE,0xFFCE,0xB4B1,0xFFCF,0xB4B4,0xFFD2,0xB4B7,0xFFD3,0xB4BA,0xFFD4,0xB4BD,0xFFD5,0xB4C0,0xFFD6,0xB4C3,0xFFD7,0xB4C6,0xFFDA,0xB4C9,
3051
  0xFFDB,0xB4CC,0xFFDC,0xB4CF,0xFFE0,0xB4D2,0xFFE1,0xB4D4,0xFFE2,0xB4D6,0xFFE3,0xB4D8,0xFFE4,0xB4DA,0xFFE5,0xB4DC,0xFFE6,0xB4DE,0xFFE8,0xB4E1,0xFFE9,0xB4E4,0xFFEA,0xB4E7,0xFFEB,0xB4EA,0xFFEC,0xB4ED,0xFFED,0xB4F0,0xFFEE,0xB4F3,
3052
  0xFFFF,0x34F6,
3053
};
3054
#define mxDecompositionSize1 2322
3055
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3056
  0xcb,0x90,0xcb,0x91,0xc3,0xa6,0xca,0x99,0xc9,0x93,0xca,0xa3,0xea,0xad,0xa6,0xca,0xa5,0xca,0xa4,0xc9,0x96,0xc9,0x97,0xe1,0xb6,0x91,0xc9,0x98,0xc9,0x9e,0xca,0xa9,
3057
  0xc9,0xa4,0xc9,0xa2,0xc9,0xa0,0xca,0x9b,0xc4,0xa7,0xca,0x9c,0xc9,0xa7,0xca,0x84,0xca,0xaa,0xca,0xab,0xc9,0xac,0xf0,0x9d,0xbc,0x84,0xea,0x9e,0x8e,0xc9,0xae,0xf0,
3058
  0x9d,0xbc,0x85,0xca,0x8e,0xf0,0x9d,0xbc,0x86,0xc3,0xb8,0xc9,0xb6,0xc9,0xb7,0x71,0xc9,0xba,0xf0,0x9d,0xbc,0x88,0xc9,0xbd,0xc9,0xbe,0xca,0x80,0xca,0xa8,0xca,0xa6,
3059
  0xea,0xad,0xa7,0xca,0xa7,0xca,0x88,0xe2,0xb1,0xb1,0xca,0x8f,0xca,0xa1,0xca,0xa2,0xca,0x98,0xc7,0x80,0xc7,0x81,0xc7,0x82,0xf0,0x9d,0xbc,0x8a,0xf0,0x9d,0xbc,0x9e,
3060
  0xf0,0x91,0x82,0x99,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0x9b,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0xa5,0xf0,0x91,0x82,0xba,0xf0,0x91,0x84,0xb1,0xf0,0x91,0x84,0xa7,
3061
  0xf0,0x91,0x84,0xb2,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8c,0xbe,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8d,0x97,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xba,
3062
  0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xb0,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xbd,0xf0,0x91,0x96,0xb8,0xf0,0x91,0x96,0xaf,0xf0,0x91,0x96,0xb9,0xf0,0x91,0x96,0xaf,
3063
  0xf0,0x91,0xa4,0xb5,0xf0,0x91,0xa4,0xb0,0xf0,0x9d,0x85,0x97,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x98,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xae,
3064
  0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb0,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb1,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb2,
3065
  0xf0,0x9d,0x86,0xb9,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xba,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xae,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xae,
3066
  0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xaf,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,
3067
  0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3068
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3069
  0x63,0x64,0x65,0x66,0x67,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
3070
  0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
3071
  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x43,0x44,0x47,0x4a,0x4b,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,
3072
  0x64,0x66,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3073
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3074
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,
3075
  0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,
3076
  0x4c,0x4d,0x4f,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3077
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3078
  0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
3079
  0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
3080
  0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,
3081
  0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,
3082
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,
3083
  0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3084
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3085
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,
3086
  0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xc4,0xb1,0xc8,0xb7,
3087
  0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,
3088
  0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,
3089
  0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,
3090
  0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,
3091
  0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,
3092
  0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,
3093
  0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,
3094
  0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,
3095
  0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,
3096
  0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,
3097
  0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,
3098
  0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,
3099
  0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,
3100
  0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,
3101
  0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,
3102
  0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,
3103
  0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,
3104
  0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,
3105
  0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xcf,0x9c,0xcf,0x9d,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,
3106
  0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,
3107
  0x36,0x37,0x38,0x39,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,
3108
  0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xba,0xda,0xa1,
3109
  0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,
3110
  0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xba,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xae,
3111
  0xd8,0xb6,0xd8,0xba,0xda,0xba,0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,
3112
  0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xa1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x87,
3113
  0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,
3114
  0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,
3115
  0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0x30,0x2e,
3116
  0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x28,0x41,0x29,0x28,0x42,0x29,0x28,0x43,0x29,0x28,0x44,0x29,
3117
  0x28,0x45,0x29,0x28,0x46,0x29,0x28,0x47,0x29,0x28,0x48,0x29,0x28,0x49,0x29,0x28,0x4a,0x29,0x28,0x4b,0x29,0x28,0x4c,0x29,0x28,0x4d,0x29,0x28,0x4e,0x29,0x28,0x4f,
3118
  0x29,0x28,0x50,0x29,0x28,0x51,0x29,0x28,0x52,0x29,0x28,0x53,0x29,0x28,0x54,0x29,0x28,0x55,0x29,0x28,0x56,0x29,0x28,0x57,0x29,0x28,0x58,0x29,0x28,0x59,0x29,0x28,
3119
  0x5a,0x29,0xe3,0x80,0x94,0x53,0xe3,0x80,0x95,0x43,0x52,0x43,0x44,0x57,0x5a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,
3120
  0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x48,0x56,0x4d,0x56,0x53,0x44,0x53,0x53,0x50,0x50,0x56,0x57,0x43,0x4d,0x43,0x4d,0x44,0x4d,0x52,0x44,0x4a,0xe3,0x81,
3121
  0xbb,0xe3,0x81,0x8b,0xe3,0x82,0xb3,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe6,0x89,0x8b,0xe5,0xad,0x97,0xe5,0x8f,0x8c,0xe3,0x83,0x87,0xe4,0xba,0x8c,0xe5,0xa4,0x9a,0xe8,
3122
  0xa7,0xa3,0xe5,0xa4,0xa9,0xe4,0xba,0xa4,0xe6,0x98,0xa0,0xe7,0x84,0xa1,0xe6,0x96,0x99,0xe5,0x89,0x8d,0xe5,0xbe,0x8c,0xe5,0x86,0x8d,0xe6,0x96,0xb0,0xe5,0x88,0x9d,
3123
  0xe7,0xb5,0x82,0xe7,0x94,0x9f,0xe8,0xb2,0xa9,0xe5,0xa3,0xb0,0xe5,0x90,0xb9,0xe6,0xbc,0x94,0xe6,0x8a,0x95,0xe6,0x8d,0x95,0xe4,0xb8,0x80,0xe4,0xb8,0x89,0xe9,0x81,
3124
  0x8a,0xe5,0xb7,0xa6,0xe4,0xb8,0xad,0xe5,0x8f,0xb3,0xe6,0x8c,0x87,0xe8,0xb5,0xb0,0xe6,0x89,0x93,0xe7,0xa6,0x81,0xe7,0xa9,0xba,0xe5,0x90,0x88,0xe6,0xba,0x80,0xe6,
3125
  0x9c,0x89,0xe6,0x9c,0x88,0xe7,0x94,0xb3,0xe5,0x89,0xb2,0xe5,0x96,0xb6,0xe9,0x85,0x8d,0xe3,0x80,0x94,0xe6,0x9c,0xac,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xb8,0x89,
3126
  0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xba,0x8c,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0xae,0x89,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x82,0xb9,0xe3,0x80,0x95,0xe3,0x80,
3127
  0x94,0xe6,0x89,0x93,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x9b,0x97,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0x8b,0x9d,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,0x95,0x97,0xe3,
3128
  0x80,0x95,0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3129
};
3130
475
#define mxDecompositionCount1 2732
3131
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3132
  0x0781,0x8000,0x0782,0x8002,0x0783,0x8004,0x0784,0x8006,0x0785,0x8008,0x0787,0x800A,0x0788,0x800C,0x0789,0x800F,0x078A,0x8011,0x078B,0x8013,0x078C,0x8015,0x078D,0x8017,0x078E,0x801A,0x078F,0x801C,0x0790,0x801E,0x0791,0x8020,
3133
  0x0792,0x8022,0x0793,0x8024,0x0794,0x8026,0x0795,0x8028,0x0796,0x802A,0x0797,0x802C,0x0798,0x802E,0x0799,0x8030,0x079A,0x8032,0x079B,0x8034,0x079C,0x8036,0x079D,0x803A,0x079E,0x803D,0x079F,0x803F,0x07A0,0x8043,0x07A1,0x8045,
3134
  0x07A2,0x8049,0x07A3,0x804B,0x07A4,0x804D,0x07A5,0x804F,0x07A6,0x8050,0x07A7,0x8052,0x07A8,0x8056,0x07A9,0x8058,0x07AA,0x805A,0x07AB,0x805C,0x07AC,0x805E,0x07AD,0x8060,0x07AE,0x8063,0x07AF,0x8065,0x07B0,0x8067,0x07B2,0x806A,
3135
  0x07B3,0x806C,0x07B4,0x806E,0x07B5,0x8070,0x07B6,0x8072,0x07B7,0x8074,0x07B8,0x8076,0x07B9,0x8078,0x07BA,0x807C,0x109A,0x0080,0x109C,0x0088,0x10AB,0x0090,0x112E,0x0098,0x112F,0x00A0,0x134B,0x00A8,0x134C,0x00B0,0x14BB,0x00B8,
3136
  0x14BC,0x00C0,0x14BE,0x00C8,0x15BA,0x00D0,0x15BB,0x00D8,0x1938,0x00E0,0xD15E,0x00E8,0xD15F,0x00F0,0xD160,0x00F8,0xD161,0x0100,0xD162,0x0108,0xD163,0x0110,0xD164,0x0118,0xD1BB,0x0120,0xD1BC,0x0128,0xD1BD,0x0130,0xD1BE,0x0138,
3137
  0xD1BF,0x0140,0xD1C0,0x0148,0xD400,0x8150,0xD401,0x8151,0xD402,0x8152,0xD403,0x8153,0xD404,0x8154,0xD405,0x8155,0xD406,0x8156,0xD407,0x8157,0xD408,0x8158,0xD409,0x8159,0xD40A,0x815A,0xD40B,0x815B,0xD40C,0x815C,0xD40D,0x815D,
3138
  0xD40E,0x815E,0xD40F,0x815F,0xD410,0x8160,0xD411,0x8161,0xD412,0x8162,0xD413,0x8163,0xD414,0x8164,0xD415,0x8165,0xD416,0x8166,0xD417,0x8167,0xD418,0x8168,0xD419,0x8169,0xD41A,0x816A,0xD41B,0x816B,0xD41C,0x816C,0xD41D,0x816D,
3139
  0xD41E,0x816E,0xD41F,0x816F,0xD420,0x8170,0xD421,0x8171,0xD422,0x8172,0xD423,0x8173,0xD424,0x8174,0xD425,0x8175,0xD426,0x8176,0xD427,0x8177,0xD428,0x8178,0xD429,0x8179,0xD42A,0x817A,0xD42B,0x817B,0xD42C,0x817C,0xD42D,0x817D,
3140
  0xD42E,0x817E,0xD42F,0x817F,0xD430,0x8180,0xD431,0x8181,0xD432,0x8182,0xD433,0x8183,0xD434,0x8184,0xD435,0x8185,0xD436,0x8186,0xD437,0x8187,0xD438,0x8188,0xD439,0x8189,0xD43A,0x818A,0xD43B,0x818B,0xD43C,0x818C,0xD43D,0x818D,
3141
  0xD43E,0x818E,0xD43F,0x818F,0xD440,0x8190,0xD441,0x8191,0xD442,0x8192,0xD443,0x8193,0xD444,0x8194,0xD445,0x8195,0xD446,0x8196,0xD447,0x8197,0xD448,0x8198,0xD449,0x8199,0xD44A,0x819A,0xD44B,0x819B,0xD44C,0x819C,0xD44D,0x819D,
3142
  0xD44E,0x819E,0xD44F,0x819F,0xD450,0x81A0,0xD451,0x81A1,0xD452,0x81A2,0xD453,0x81A3,0xD454,0x81A4,0xD456,0x81A5,0xD457,0x81A6,0xD458,0x81A7,0xD459,0x81A8,0xD45A,0x81A9,0xD45B,0x81AA,0xD45C,0x81AB,0xD45D,0x81AC,0xD45E,0x81AD,
3143
  0xD45F,0x81AE,0xD460,0x81AF,0xD461,0x81B0,0xD462,0x81B1,0xD463,0x81B2,0xD464,0x81B3,0xD465,0x81B4,0xD466,0x81B5,0xD467,0x81B6,0xD468,0x81B7,0xD469,0x81B8,0xD46A,0x81B9,0xD46B,0x81BA,0xD46C,0x81BB,0xD46D,0x81BC,0xD46E,0x81BD,
3144
  0xD46F,0x81BE,0xD470,0x81BF,0xD471,0x81C0,0xD472,0x81C1,0xD473,0x81C2,0xD474,0x81C3,0xD475,0x81C4,0xD476,0x81C5,0xD477,0x81C6,0xD478,0x81C7,0xD479,0x81C8,0xD47A,0x81C9,0xD47B,0x81CA,0xD47C,0x81CB,0xD47D,0x81CC,0xD47E,0x81CD,
3145
  0xD47F,0x81CE,0xD480,0x81CF,0xD481,0x81D0,0xD482,0x81D1,0xD483,0x81D2,0xD484,0x81D3,0xD485,0x81D4,0xD486,0x81D5,0xD487,0x81D6,0xD488,0x81D7,0xD489,0x81D8,0xD48A,0x81D9,0xD48B,0x81DA,0xD48C,0x81DB,0xD48D,0x81DC,0xD48E,0x81DD,
3146
  0xD48F,0x81DE,0xD490,0x81DF,0xD491,0x81E0,0xD492,0x81E1,0xD493,0x81E2,0xD494,0x81E3,0xD495,0x81E4,0xD496,0x81E5,0xD497,0x81E6,0xD498,0x81E7,0xD499,0x81E8,0xD49A,0x81E9,0xD49B,0x81EA,0xD49C,0x81EB,0xD49E,0x81EC,0xD49F,0x81ED,
3147
  0xD4A2,0x81EE,0xD4A5,0x81EF,0xD4A6,0x81F0,0xD4A9,0x81F1,0xD4AA,0x81F2,0xD4AB,0x81F3,0xD4AC,0x81F4,0xD4AE,0x81F5,0xD4AF,0x81F6,0xD4B0,0x81F7,0xD4B1,0x81F8,0xD4B2,0x81F9,0xD4B3,0x81FA,0xD4B4,0x81FB,0xD4B5,0x81FC,0xD4B6,0x81FD,
3148
  0xD4B7,0x81FE,0xD4B8,0x81FF,0xD4B9,0x8200,0xD4BB,0x8201,0xD4BD,0x8202,0xD4BE,0x8203,0xD4BF,0x8204,0xD4C0,0x8205,0xD4C1,0x8206,0xD4C2,0x8207,0xD4C3,0x8208,0xD4C5,0x8209,0xD4C6,0x820A,0xD4C7,0x820B,0xD4C8,0x820C,0xD4C9,0x820D,
3149
  0xD4CA,0x820E,0xD4CB,0x820F,0xD4CC,0x8210,0xD4CD,0x8211,0xD4CE,0x8212,0xD4CF,0x8213,0xD4D0,0x8214,0xD4D1,0x8215,0xD4D2,0x8216,0xD4D3,0x8217,0xD4D4,0x8218,0xD4D5,0x8219,0xD4D6,0x821A,0xD4D7,0x821B,0xD4D8,0x821C,0xD4D9,0x821D,
3150
  0xD4DA,0x821E,0xD4DB,0x821F,0xD4DC,0x8220,0xD4DD,0x8221,0xD4DE,0x8222,0xD4DF,0x8223,0xD4E0,0x8224,0xD4E1,0x8225,0xD4E2,0x8226,0xD4E3,0x8227,0xD4E4,0x8228,0xD4E5,0x8229,0xD4E6,0x822A,0xD4E7,0x822B,0xD4E8,0x822C,0xD4E9,0x822D,
3151
  0xD4EA,0x822E,0xD4EB,0x822F,0xD4EC,0x8230,0xD4ED,0x8231,0xD4EE,0x8232,0xD4EF,0x8233,0xD4F0,0x8234,0xD4F1,0x8235,0xD4F2,0x8236,0xD4F3,0x8237,0xD4F4,0x8238,0xD4F5,0x8239,0xD4F6,0x823A,0xD4F7,0x823B,0xD4F8,0x823C,0xD4F9,0x823D,
3152
  0xD4FA,0x823E,0xD4FB,0x823F,0xD4FC,0x8240,0xD4FD,0x8241,0xD4FE,0x8242,0xD4FF,0x8243,0xD500,0x8244,0xD501,0x8245,0xD502,0x8246,0xD503,0x8247,0xD504,0x8248,0xD505,0x8249,0xD507,0x824A,0xD508,0x824B,0xD509,0x824C,0xD50A,0x824D,
3153
  0xD50D,0x824E,0xD50E,0x824F,0xD50F,0x8250,0xD510,0x8251,0xD511,0x8252,0xD512,0x8253,0xD513,0x8254,0xD514,0x8255,0xD516,0x8256,0xD517,0x8257,0xD518,0x8258,0xD519,0x8259,0xD51A,0x825A,0xD51B,0x825B,0xD51C,0x825C,0xD51E,0x825D,
3154
  0xD51F,0x825E,0xD520,0x825F,0xD521,0x8260,0xD522,0x8261,0xD523,0x8262,0xD524,0x8263,0xD525,0x8264,0xD526,0x8265,0xD527,0x8266,0xD528,0x8267,0xD529,0x8268,0xD52A,0x8269,0xD52B,0x826A,0xD52C,0x826B,0xD52D,0x826C,0xD52E,0x826D,
3155
  0xD52F,0x826E,0xD530,0x826F,0xD531,0x8270,0xD532,0x8271,0xD533,0x8272,0xD534,0x8273,0xD535,0x8274,0xD536,0x8275,0xD537,0x8276,0xD538,0x8277,0xD539,0x8278,0xD53B,0x8279,0xD53C,0x827A,0xD53D,0x827B,0xD53E,0x827C,0xD540,0x827D,
3156
  0xD541,0x827E,0xD542,0x827F,0xD543,0x8280,0xD544,0x8281,0xD546,0x8282,0xD54A,0x8283,0xD54B,0x8284,0xD54C,0x8285,0xD54D,0x8286,0xD54E,0x8287,0xD54F,0x8288,0xD550,0x8289,0xD552,0x828A,0xD553,0x828B,0xD554,0x828C,0xD555,0x828D,
3157
  0xD556,0x828E,0xD557,0x828F,0xD558,0x8290,0xD559,0x8291,0xD55A,0x8292,0xD55B,0x8293,0xD55C,0x8294,0xD55D,0x8295,0xD55E,0x8296,0xD55F,0x8297,0xD560,0x8298,0xD561,0x8299,0xD562,0x829A,0xD563,0x829B,0xD564,0x829C,0xD565,0x829D,
3158
  0xD566,0x829E,0xD567,0x829F,0xD568,0x82A0,0xD569,0x82A1,0xD56A,0x82A2,0xD56B,0x82A3,0xD56C,0x82A4,0xD56D,0x82A5,0xD56E,0x82A6,0xD56F,0x82A7,0xD570,0x82A8,0xD571,0x82A9,0xD572,0x82AA,0xD573,0x82AB,0xD574,0x82AC,0xD575,0x82AD,
3159
  0xD576,0x82AE,0xD577,0x82AF,0xD578,0x82B0,0xD579,0x82B1,0xD57A,0x82B2,0xD57B,0x82B3,0xD57C,0x82B4,0xD57D,0x82B5,0xD57E,0x82B6,0xD57F,0x82B7,0xD580,0x82B8,0xD581,0x82B9,0xD582,0x82BA,0xD583,0x82BB,0xD584,0x82BC,0xD585,0x82BD,
3160
  0xD586,0x82BE,0xD587,0x82BF,0xD588,0x82C0,0xD589,0x82C1,0xD58A,0x82C2,0xD58B,0x82C3,0xD58C,0x82C4,0xD58D,0x82C5,0xD58E,0x82C6,0xD58F,0x82C7,0xD590,0x82C8,0xD591,0x82C9,0xD592,0x82CA,0xD593,0x82CB,0xD594,0x82CC,0xD595,0x82CD,
3161
  0xD596,0x82CE,0xD597,0x82CF,0xD598,0x82D0,0xD599,0x82D1,0xD59A,0x82D2,0xD59B,0x82D3,0xD59C,0x82D4,0xD59D,0x82D5,0xD59E,0x82D6,0xD59F,0x82D7,0xD5A0,0x82D8,0xD5A1,0x82D9,0xD5A2,0x82DA,0xD5A3,0x82DB,0xD5A4,0x82DC,0xD5A5,0x82DD,
3162
  0xD5A6,0x82DE,0xD5A7,0x82DF,0xD5A8,0x82E0,0xD5A9,0x82E1,0xD5AA,0x82E2,0xD5AB,0x82E3,0xD5AC,0x82E4,0xD5AD,0x82E5,0xD5AE,0x82E6,0xD5AF,0x82E7,0xD5B0,0x82E8,0xD5B1,0x82E9,0xD5B2,0x82EA,0xD5B3,0x82EB,0xD5B4,0x82EC,0xD5B5,0x82ED,
3163
  0xD5B6,0x82EE,0xD5B7,0x82EF,0xD5B8,0x82F0,0xD5B9,0x82F1,0xD5BA,0x82F2,0xD5BB,0x82F3,0xD5BC,0x82F4,0xD5BD,0x82F5,0xD5BE,0x82F6,0xD5BF,0x82F7,0xD5C0,0x82F8,0xD5C1,0x82F9,0xD5C2,0x82FA,0xD5C3,0x82FB,0xD5C4,0x82FC,0xD5C5,0x82FD,
3164
  0xD5C6,0x82FE,0xD5C7,0x82FF,0xD5C8,0x8300,0xD5C9,0x8301,0xD5CA,0x8302,0xD5CB,0x8303,0xD5CC,0x8304,0xD5CD,0x8305,0xD5CE,0x8306,0xD5CF,0x8307,0xD5D0,0x8308,0xD5D1,0x8309,0xD5D2,0x830A,0xD5D3,0x830B,0xD5D4,0x830C,0xD5D5,0x830D,
3165
  0xD5D6,0x830E,0xD5D7,0x830F,0xD5D8,0x8310,0xD5D9,0x8311,0xD5DA,0x8312,0xD5DB,0x8313,0xD5DC,0x8314,0xD5DD,0x8315,0xD5DE,0x8316,0xD5DF,0x8317,0xD5E0,0x8318,0xD5E1,0x8319,0xD5E2,0x831A,0xD5E3,0x831B,0xD5E4,0x831C,0xD5E5,0x831D,
3166
  0xD5E6,0x831E,0xD5E7,0x831F,0xD5E8,0x8320,0xD5E9,0x8321,0xD5EA,0x8322,0xD5EB,0x8323,0xD5EC,0x8324,0xD5ED,0x8325,0xD5EE,0x8326,0xD5EF,0x8327,0xD5F0,0x8328,0xD5F1,0x8329,0xD5F2,0x832A,0xD5F3,0x832B,0xD5F4,0x832C,0xD5F5,0x832D,
3167
  0xD5F6,0x832E,0xD5F7,0x832F,0xD5F8,0x8330,0xD5F9,0x8331,0xD5FA,0x8332,0xD5FB,0x8333,0xD5FC,0x8334,0xD5FD,0x8335,0xD5FE,0x8336,0xD5FF,0x8337,0xD600,0x8338,0xD601,0x8339,0xD602,0x833A,0xD603,0x833B,0xD604,0x833C,0xD605,0x833D,
3168
  0xD606,0x833E,0xD607,0x833F,0xD608,0x8340,0xD609,0x8341,0xD60A,0x8342,0xD60B,0x8343,0xD60C,0x8344,0xD60D,0x8345,0xD60E,0x8346,0xD60F,0x8347,0xD610,0x8348,0xD611,0x8349,0xD612,0x834A,0xD613,0x834B,0xD614,0x834C,0xD615,0x834D,
3169
  0xD616,0x834E,0xD617,0x834F,0xD618,0x8350,0xD619,0x8351,0xD61A,0x8352,0xD61B,0x8353,0xD61C,0x8354,0xD61D,0x8355,0xD61E,0x8356,0xD61F,0x8357,0xD620,0x8358,0xD621,0x8359,0xD622,0x835A,0xD623,0x835B,0xD624,0x835C,0xD625,0x835D,
3170
  0xD626,0x835E,0xD627,0x835F,0xD628,0x8360,0xD629,0x8361,0xD62A,0x8362,0xD62B,0x8363,0xD62C,0x8364,0xD62D,0x8365,0xD62E,0x8366,0xD62F,0x8367,0xD630,0x8368,0xD631,0x8369,0xD632,0x836A,0xD633,0x836B,0xD634,0x836C,0xD635,0x836D,
3171
  0xD636,0x836E,0xD637,0x836F,0xD638,0x8370,0xD639,0x8371,0xD63A,0x8372,0xD63B,0x8373,0xD63C,0x8374,0xD63D,0x8375,0xD63E,0x8376,0xD63F,0x8377,0xD640,0x8378,0xD641,0x8379,0xD642,0x837A,0xD643,0x837B,0xD644,0x837C,0xD645,0x837D,
3172
  0xD646,0x837E,0xD647,0x837F,0xD648,0x8380,0xD649,0x8381,0xD64A,0x8382,0xD64B,0x8383,0xD64C,0x8384,0xD64D,0x8385,0xD64E,0x8386,0xD64F,0x8387,0xD650,0x8388,0xD651,0x8389,0xD652,0x838A,0xD653,0x838B,0xD654,0x838C,0xD655,0x838D,
3173
  0xD656,0x838E,0xD657,0x838F,0xD658,0x8390,0xD659,0x8391,0xD65A,0x8392,0xD65B,0x8393,0xD65C,0x8394,0xD65D,0x8395,0xD65E,0x8396,0xD65F,0x8397,0xD660,0x8398,0xD661,0x8399,0xD662,0x839A,0xD663,0x839B,0xD664,0x839C,0xD665,0x839D,
3174
  0xD666,0x839E,0xD667,0x839F,0xD668,0x83A0,0xD669,0x83A1,0xD66A,0x83A2,0xD66B,0x83A3,0xD66C,0x83A4,0xD66D,0x83A5,0xD66E,0x83A6,0xD66F,0x83A7,0xD670,0x83A8,0xD671,0x83A9,0xD672,0x83AA,0xD673,0x83AB,0xD674,0x83AC,0xD675,0x83AD,
3175
  0xD676,0x83AE,0xD677,0x83AF,0xD678,0x83B0,0xD679,0x83B1,0xD67A,0x83B2,0xD67B,0x83B3,0xD67C,0x83B4,0xD67D,0x83B5,0xD67E,0x83B6,0xD67F,0x83B7,0xD680,0x83B8,0xD681,0x83B9,0xD682,0x83BA,0xD683,0x83BB,0xD684,0x83BC,0xD685,0x83BD,
3176
  0xD686,0x83BE,0xD687,0x83BF,0xD688,0x83C0,0xD689,0x83C1,0xD68A,0x83C2,0xD68B,0x83C3,0xD68C,0x83C4,0xD68D,0x83C5,0xD68E,0x83C6,0xD68F,0x83C7,0xD690,0x83C8,0xD691,0x83C9,0xD692,0x83CA,0xD693,0x83CB,0xD694,0x83CC,0xD695,0x83CD,
3177
  0xD696,0x83CE,0xD697,0x83CF,0xD698,0x83D0,0xD699,0x83D1,0xD69A,0x83D2,0xD69B,0x83D3,0xD69C,0x83D4,0xD69D,0x83D5,0xD69E,0x83D6,0xD69F,0x83D7,0xD6A0,0x83D8,0xD6A1,0x83D9,0xD6A2,0x83DA,0xD6A3,0x83DB,0xD6A4,0x83DC,0xD6A5,0x83DE,
3178
  0xD6A8,0x83E0,0xD6A9,0x83E2,0xD6AA,0x83E4,0xD6AB,0x83E6,0xD6AC,0x83E8,0xD6AD,0x83EA,0xD6AE,0x83EC,0xD6AF,0x83EE,0xD6B0,0x83F0,0xD6B1,0x83F2,0xD6B2,0x83F4,0xD6B3,0x83F6,0xD6B4,0x83F8,0xD6B5,0x83FA,0xD6B6,0x83FC,0xD6B7,0x83FE,
3179
  0xD6B8,0x8400,0xD6B9,0x8402,0xD6BA,0x8404,0xD6BB,0x8406,0xD6BC,0x8408,0xD6BD,0x840A,0xD6BE,0x840C,0xD6BF,0x840E,0xD6C0,0x8410,0xD6C1,0x8412,0xD6C2,0x8415,0xD6C3,0x8417,0xD6C4,0x8419,0xD6C5,0x841B,0xD6C6,0x841D,0xD6C7,0x841F,
3180
  0xD6C8,0x8421,0xD6C9,0x8423,0xD6CA,0x8425,0xD6CB,0x8427,0xD6CC,0x8429,0xD6CD,0x842B,0xD6CE,0x842D,0xD6CF,0x842F,0xD6D0,0x8431,0xD6D1,0x8433,0xD6D2,0x8435,0xD6D3,0x8437,0xD6D4,0x8439,0xD6D5,0x843B,0xD6D6,0x843D,0xD6D7,0x843F,
3181
  0xD6D8,0x8441,0xD6D9,0x8443,0xD6DA,0x8445,0xD6DB,0x8447,0xD6DC,0x844A,0xD6DD,0x844C,0xD6DE,0x844E,0xD6DF,0x8450,0xD6E0,0x8452,0xD6E1,0x8454,0xD6E2,0x8456,0xD6E3,0x8458,0xD6E4,0x845A,0xD6E5,0x845C,0xD6E6,0x845E,0xD6E7,0x8460,
3182
  0xD6E8,0x8462,0xD6E9,0x8464,0xD6EA,0x8466,0xD6EB,0x8468,0xD6EC,0x846A,0xD6ED,0x846C,0xD6EE,0x846E,0xD6EF,0x8470,0xD6F0,0x8472,0xD6F1,0x8474,0xD6F2,0x8476,0xD6F3,0x8478,0xD6F4,0x847A,0xD6F5,0x847C,0xD6F6,0x847E,0xD6F7,0x8480,
3183
  0xD6F8,0x8482,0xD6F9,0x8484,0xD6FA,0x8486,0xD6FB,0x8488,0xD6FC,0x848B,0xD6FD,0x848D,0xD6FE,0x848F,0xD6FF,0x8491,0xD700,0x8493,0xD701,0x8495,0xD702,0x8497,0xD703,0x8499,0xD704,0x849B,0xD705,0x849D,0xD706,0x849F,0xD707,0x84A1,
3184
  0xD708,0x84A3,0xD709,0x84A5,0xD70A,0x84A7,0xD70B,0x84A9,0xD70C,0x84AB,0xD70D,0x84AD,0xD70E,0x84AF,0xD70F,0x84B1,0xD710,0x84B3,0xD711,0x84B5,0xD712,0x84B7,0xD713,0x84B9,0xD714,0x84BB,0xD715,0x84BD,0xD716,0x84C0,0xD717,0x84C2,
3185
  0xD718,0x84C4,0xD719,0x84C6,0xD71A,0x84C8,0xD71B,0x84CA,0xD71C,0x84CC,0xD71D,0x84CE,0xD71E,0x84D0,0xD71F,0x84D2,0xD720,0x84D4,0xD721,0x84D6,0xD722,0x84D8,0xD723,0x84DA,0xD724,0x84DC,0xD725,0x84DE,0xD726,0x84E0,0xD727,0x84E2,
3186
  0xD728,0x84E4,0xD729,0x84E6,0xD72A,0x84E8,0xD72B,0x84EA,0xD72C,0x84EC,0xD72D,0x84EE,0xD72E,0x84F0,0xD72F,0x84F2,0xD730,0x84F4,0xD731,0x84F6,0xD732,0x84F8,0xD733,0x84FA,0xD734,0x84FC,0xD735,0x84FE,0xD736,0x8501,0xD737,0x8503,
3187
  0xD738,0x8505,0xD739,0x8507,0xD73A,0x8509,0xD73B,0x850B,0xD73C,0x850D,0xD73D,0x850F,0xD73E,0x8511,0xD73F,0x8513,0xD740,0x8515,0xD741,0x8517,0xD742,0x8519,0xD743,0x851B,0xD744,0x851D,0xD745,0x851F,0xD746,0x8521,0xD747,0x8523,
3188
  0xD748,0x8525,0xD749,0x8527,0xD74A,0x8529,0xD74B,0x852B,0xD74C,0x852D,0xD74D,0x852F,0xD74E,0x8531,0xD74F,0x8533,0xD750,0x8536,0xD751,0x8538,0xD752,0x853A,0xD753,0x853C,0xD754,0x853E,0xD755,0x8540,0xD756,0x8542,0xD757,0x8544,
3189
  0xD758,0x8546,0xD759,0x8548,0xD75A,0x854A,0xD75B,0x854C,0xD75C,0x854E,0xD75D,0x8550,0xD75E,0x8552,0xD75F,0x8554,0xD760,0x8556,0xD761,0x8558,0xD762,0x855A,0xD763,0x855C,0xD764,0x855E,0xD765,0x8560,0xD766,0x8562,0xD767,0x8564,
3190
  0xD768,0x8566,0xD769,0x8568,0xD76A,0x856A,0xD76B,0x856C,0xD76C,0x856E,0xD76D,0x8570,0xD76E,0x8572,0xD76F,0x8574,0xD770,0x8577,0xD771,0x8579,0xD772,0x857B,0xD773,0x857D,0xD774,0x857F,0xD775,0x8581,0xD776,0x8583,0xD777,0x8585,
3191
  0xD778,0x8587,0xD779,0x8589,0xD77A,0x858B,0xD77B,0x858D,0xD77C,0x858F,0xD77D,0x8591,0xD77E,0x8593,0xD77F,0x8595,0xD780,0x8597,0xD781,0x8599,0xD782,0x859B,0xD783,0x859D,0xD784,0x859F,0xD785,0x85A1,0xD786,0x85A3,0xD787,0x85A5,
3192
  0xD788,0x85A7,0xD789,0x85A9,0xD78A,0x85AC,0xD78B,0x85AE,0xD78C,0x85B0,0xD78D,0x85B2,0xD78E,0x85B4,0xD78F,0x85B6,0xD790,0x85B8,0xD791,0x85BA,0xD792,0x85BC,0xD793,0x85BE,0xD794,0x85C0,0xD795,0x85C2,0xD796,0x85C4,0xD797,0x85C6,
3193
  0xD798,0x85C8,0xD799,0x85CA,0xD79A,0x85CC,0xD79B,0x85CE,0xD79C,0x85D0,0xD79D,0x85D2,0xD79E,0x85D4,0xD79F,0x85D6,0xD7A0,0x85D8,0xD7A1,0x85DA,0xD7A2,0x85DC,0xD7A3,0x85DE,0xD7A4,0x85E0,0xD7A5,0x85E2,0xD7A6,0x85E4,0xD7A7,0x85E6,
3194
  0xD7A8,0x85E8,0xD7A9,0x85EA,0xD7AA,0x85ED,0xD7AB,0x85EF,0xD7AC,0x85F1,0xD7AD,0x85F3,0xD7AE,0x85F5,0xD7AF,0x85F7,0xD7B0,0x85F9,0xD7B1,0x85FB,0xD7B2,0x85FD,0xD7B3,0x85FF,0xD7B4,0x8601,0xD7B5,0x8603,0xD7B6,0x8605,0xD7B7,0x8607,
3195
  0xD7B8,0x8609,0xD7B9,0x860B,0xD7BA,0x860D,0xD7BB,0x860F,0xD7BC,0x8611,0xD7BD,0x8613,0xD7BE,0x8615,0xD7BF,0x8617,0xD7C0,0x8619,0xD7C1,0x861B,0xD7C2,0x861D,0xD7C3,0x861F,0xD7C4,0x8622,0xD7C5,0x8624,0xD7C6,0x8626,0xD7C7,0x8628,
3196
  0xD7C8,0x862A,0xD7C9,0x862C,0xD7CA,0x862E,0xD7CB,0x8630,0xD7CE,0x8632,0xD7CF,0x8633,0xD7D0,0x8634,0xD7D1,0x8635,0xD7D2,0x8636,0xD7D3,0x8637,0xD7D4,0x8638,0xD7D5,0x8639,0xD7D6,0x863A,0xD7D7,0x863B,0xD7D8,0x863C,0xD7D9,0x863D,
3197
  0xD7DA,0x863E,0xD7DB,0x863F,0xD7DC,0x8640,0xD7DD,0x8641,0xD7DE,0x8642,0xD7DF,0x8643,0xD7E0,0x8644,0xD7E1,0x8645,0xD7E2,0x8646,0xD7E3,0x8647,0xD7E4,0x8648,0xD7E5,0x8649,0xD7E6,0x864A,0xD7E7,0x864B,0xD7E8,0x864C,0xD7E9,0x864D,
3198
  0xD7EA,0x864E,0xD7EB,0x864F,0xD7EC,0x8650,0xD7ED,0x8651,0xD7EE,0x8652,0xD7EF,0x8653,0xD7F0,0x8654,0xD7F1,0x8655,0xD7F2,0x8656,0xD7F3,0x8657,0xD7F4,0x8658,0xD7F5,0x8659,0xD7F6,0x865A,0xD7F7,0x865B,0xD7F8,0x865C,0xD7F9,0x865D,
3199
  0xD7FA,0x865E,0xD7FB,0x865F,0xD7FC,0x8660,0xD7FD,0x8661,0xD7FE,0x8662,0xD7FF,0x8663,0xEE00,0x8664,0xEE01,0x8666,0xEE02,0x8668,0xEE03,0x866A,0xEE05,0x866C,0xEE06,0x866E,0xEE07,0x8670,0xEE08,0x8672,0xEE09,0x8674,0xEE0A,0x8676,
3200
  0xEE0B,0x8678,0xEE0C,0x867A,0xEE0D,0x867C,0xEE0E,0x867E,0xEE0F,0x8680,0xEE10,0x8682,0xEE11,0x8684,0xEE12,0x8686,0xEE13,0x8688,0xEE14,0x868A,0xEE15,0x868C,0xEE16,0x868E,0xEE17,0x8690,0xEE18,0x8692,0xEE19,0x8694,0xEE1A,0x8696,
3201
  0xEE1B,0x8698,0xEE1C,0x869A,0xEE1D,0x869C,0xEE1E,0x869E,0xEE1F,0x86A0,0xEE21,0x86A2,0xEE22,0x86A4,0xEE24,0x86A6,0xEE27,0x86A8,0xEE29,0x86AA,0xEE2A,0x86AC,0xEE2B,0x86AE,0xEE2C,0x86B0,0xEE2D,0x86B2,0xEE2E,0x86B4,0xEE2F,0x86B6,
3202
  0xEE30,0x86B8,0xEE31,0x86BA,0xEE32,0x86BC,0xEE34,0x86BE,0xEE35,0x86C0,0xEE36,0x86C2,0xEE37,0x86C4,0xEE39,0x86C6,0xEE3B,0x86C8,0xEE42,0x86CA,0xEE47,0x86CC,0xEE49,0x86CE,0xEE4B,0x86D0,0xEE4D,0x86D2,0xEE4E,0x86D4,0xEE4F,0x86D6,
3203
  0xEE51,0x86D8,0xEE52,0x86DA,0xEE54,0x86DC,0xEE57,0x86DE,0xEE59,0x86E0,0xEE5B,0x86E2,0xEE5D,0x86E4,0xEE5F,0x86E6,0xEE61,0x86E8,0xEE62,0x86EA,0xEE64,0x86EC,0xEE67,0x86EE,0xEE68,0x86F0,0xEE69,0x86F2,0xEE6A,0x86F4,0xEE6C,0x86F6,
3204
  0xEE6D,0x86F8,0xEE6E,0x86FA,0xEE6F,0x86FC,0xEE70,0x86FE,0xEE71,0x8700,0xEE72,0x8702,0xEE74,0x8704,0xEE75,0x8706,0xEE76,0x8708,0xEE77,0x870A,0xEE79,0x870C,0xEE7A,0x870E,0xEE7B,0x8710,0xEE7C,0x8712,0xEE7E,0x8714,0xEE80,0x8716,
3205
  0xEE81,0x8718,0xEE82,0x871A,0xEE83,0x871C,0xEE84,0x871E,0xEE85,0x8720,0xEE86,0x8722,0xEE87,0x8724,0xEE88,0x8726,0xEE89,0x8728,0xEE8B,0x872A,0xEE8C,0x872C,0xEE8D,0x872E,0xEE8E,0x8730,0xEE8F,0x8732,0xEE90,0x8734,0xEE91,0x8736,
3206
  0xEE92,0x8738,0xEE93,0x873A,0xEE94,0x873C,0xEE95,0x873E,0xEE96,0x8740,0xEE97,0x8742,0xEE98,0x8744,0xEE99,0x8746,0xEE9A,0x8748,0xEE9B,0x874A,0xEEA1,0x874C,0xEEA2,0x874E,0xEEA3,0x8750,0xEEA5,0x8752,0xEEA6,0x8754,0xEEA7,0x8756,
3207
  0xEEA8,0x8758,0xEEA9,0x875A,0xEEAB,0x875C,0xEEAC,0x875E,0xEEAD,0x8760,0xEEAE,0x8762,0xEEAF,0x8764,0xEEB0,0x8766,0xEEB1,0x8768,0xEEB2,0x876A,0xEEB3,0x876C,0xEEB4,0x876E,0xEEB5,0x8770,0xEEB6,0x8772,0xEEB7,0x8774,0xEEB8,0x8776,
3208
  0xEEB9,0x8778,0xEEBA,0x877A,0xEEBB,0x877C,0xF100,0x877E,0xF101,0x8780,0xF102,0x8782,0xF103,0x8784,0xF104,0x8786,0xF105,0x8788,0xF106,0x878A,0xF107,0x878C,0xF108,0x878E,0xF109,0x8790,0xF10A,0x8792,0xF110,0x8794,0xF111,0x8797,
3209
  0xF112,0x879A,0xF113,0x879D,0xF114,0x87A0,0xF115,0x87A3,0xF116,0x87A6,0xF117,0x87A9,0xF118,0x87AC,0xF119,0x87AF,0xF11A,0x87B2,0xF11B,0x87B5,0xF11C,0x87B8,0xF11D,0x87BB,0xF11E,0x87BE,0xF11F,0x87C1,0xF120,0x87C4,0xF121,0x87C7,
3210
  0xF122,0x87CA,0xF123,0x87CD,0xF124,0x87D0,0xF125,0x87D3,0xF126,0x87D6,0xF127,0x87D9,0xF128,0x87DC,0xF129,0x87DF,0xF12A,0x87E2,0xF12B,0x87E9,0xF12C,0x87EA,0xF12D,0x87EB,0xF12E,0x87ED,0xF130,0x87EF,0xF131,0x87F0,0xF132,0x87F1,
3211
  0xF133,0x87F2,0xF134,0x87F3,0xF135,0x87F4,0xF136,0x87F5,0xF137,0x87F6,0xF138,0x87F7,0xF139,0x87F8,0xF13A,0x87F9,0xF13B,0x87FA,0xF13C,0x87FB,0xF13D,0x87FC,0xF13E,0x87FD,0xF13F,0x87FE,0xF140,0x87FF,0xF141,0x8800,0xF142,0x8801,
3212
  0xF143,0x8802,0xF144,0x8803,0xF145,0x8804,0xF146,0x8805,0xF147,0x8806,0xF148,0x8807,0xF149,0x8808,0xF14A,0x8809,0xF14B,0x880B,0xF14C,0x880D,0xF14D,0x880F,0xF14E,0x8811,0xF14F,0x8814,0xF16A,0x8816,0xF16B,0x8818,0xF16C,0x881A,
3213
  0xF190,0x881C,0xF200,0x881E,0xF201,0x8824,0xF202,0x882A,0xF210,0x882D,0xF211,0x8830,0xF212,0x8833,0xF213,0x8836,0xF214,0x8839,0xF215,0x883C,0xF216,0x883F,0xF217,0x8842,0xF218,0x8845,0xF219,0x8848,0xF21A,0x884B,0xF21B,0x884E,
3214
  0xF21C,0x8851,0xF21D,0x8854,0xF21E,0x8857,0xF21F,0x885A,0xF220,0x885D,0xF221,0x8860,0xF222,0x8863,0xF223,0x8866,0xF224,0x8869,0xF225,0x886C,0xF226,0x886F,0xF227,0x8872,0xF228,0x8875,0xF229,0x8878,0xF22A,0x887B,0xF22B,0x887E,
3215
  0xF22C,0x8881,0xF22D,0x8884,0xF22E,0x8887,0xF22F,0x888A,0xF230,0x888D,0xF231,0x8890,0xF232,0x8893,0xF233,0x8896,0xF234,0x8899,0xF235,0x889C,0xF236,0x889F,0xF237,0x88A2,0xF238,0x88A5,0xF239,0x88A8,0xF23A,0x88AB,0xF23B,0x88AE,
3216
  0xF240,0x88B1,0xF241,0x88BA,0xF242,0x88C3,0xF243,0x88CC,0xF244,0x88D5,0xF245,0x88DE,0xF246,0x88E7,0xF247,0x88F0,0xF248,0x88F9,0xF250,0x8902,0xF251,0x8905,0xFBF0,0x8908,0xFBF1,0x8909,0xFBF2,0x890A,0xFBF3,0x890B,0xFBF4,0x890C,
3217
  0xFBF5,0x890D,0xFBF6,0x890E,0xFBF7,0x890F,0xFBF8,0x8910,0xFBF9,0x8911,0xFFFF,0x0912,
3218
};
3219
#define mxDecompositionSize2 1731
3220
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3221
  0xe4,0xb8,0xbd,0xe4,0xb8,0xb8,0xe4,0xb9,0x81,0xf0,0xa0,0x84,0xa2,0xe4,0xbd,0xa0,0xe4,0xbe,0xae,0xe4,0xbe,0xbb,0xe5,0x80,0x82,0xe5,0x81,0xba,0xe5,0x82,0x99,0xe5,
3222
  0x83,0xa7,0xe5,0x83,0x8f,0xe3,0x92,0x9e,0xf0,0xa0,0x98,0xba,0xe5,0x85,0x8d,0xe5,0x85,0x94,0xe5,0x85,0xa4,0xe5,0x85,0xb7,0xf0,0xa0,0x94,0x9c,0xe3,0x92,0xb9,0xe5,
3223
  0x85,0xa7,0xe5,0x86,0x8d,0xf0,0xa0,0x95,0x8b,0xe5,0x86,0x97,0xe5,0x86,0xa4,0xe4,0xbb,0x8c,0xe5,0x86,0xac,0xe5,0x86,0xb5,0xf0,0xa9,0x87,0x9f,0xe5,0x87,0xb5,0xe5,
3224
  0x88,0x83,0xe3,0x93,0x9f,0xe5,0x88,0xbb,0xe5,0x89,0x86,0xe5,0x89,0xb2,0xe5,0x89,0xb7,0xe3,0x94,0x95,0xe5,0x8b,0x87,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,0x8b,0xba,
3225
  0xe5,0x8c,0x85,0xe5,0x8c,0x86,0xe5,0x8c,0x97,0xe5,0x8d,0x89,0xe5,0x8d,0x91,0xe5,0x8d,0x9a,0xe5,0x8d,0xb3,0xe5,0x8d,0xbd,0xe5,0x8d,0xbf,0xe5,0x8d,0xbf,0xe5,0x8d,
3226
  0xbf,0xf0,0xa0,0xa8,0xac,0xe7,0x81,0xb0,0xe5,0x8f,0x8a,0xe5,0x8f,0x9f,0xf0,0xa0,0xad,0xa3,0xe5,0x8f,0xab,0xe5,0x8f,0xb1,0xe5,0x90,0x86,0xe5,0x92,0x9e,0xe5,0x90,
3227
  0xb8,0xe5,0x91,0x88,0xe5,0x91,0xa8,0xe5,0x92,0xa2,0xe5,0x93,0xb6,0xe5,0x94,0x90,0xe5,0x95,0x93,0xe5,0x95,0xa3,0xe5,0x96,0x84,0xe5,0x96,0x84,0xe5,0x96,0x99,0xe5,
3228
  0x96,0xab,0xe5,0x96,0xb3,0xe5,0x97,0x82,0xe5,0x9c,0x96,0xe5,0x98,0x86,0xe5,0x9c,0x97,0xe5,0x99,0x91,0xe5,0x99,0xb4,0xe5,0x88,0x87,0xe5,0xa3,0xae,0xe5,0x9f,0x8e,
3229
  0xe5,0x9f,0xb4,0xe5,0xa0,0x8d,0xe5,0x9e,0x8b,0xe5,0xa0,0xb2,0xe5,0xa0,0xb1,0xe5,0xa2,0xac,0xf0,0xa1,0x93,0xa4,0xe5,0xa3,0xb2,0xe5,0xa3,0xb7,0xe5,0xa4,0x86,0xe5,
3230
  0xa4,0x9a,0xe5,0xa4,0xa2,0xe5,0xa5,0xa2,0xf0,0xa1,0x9a,0xa8,0xf0,0xa1,0x9b,0xaa,0xe5,0xa7,0xac,0xe5,0xa8,0x9b,0xe5,0xa8,0xa7,0xe5,0xa7,0x98,0xe5,0xa9,0xa6,0xe3,
3231
  0x9b,0xae,0xe3,0x9b,0xbc,0xe5,0xac,0x88,0xe5,0xac,0xbe,0xe5,0xac,0xbe,0xf0,0xa1,0xa7,0x88,0xe5,0xaf,0x83,0xe5,0xaf,0x98,0xe5,0xaf,0xa7,0xe5,0xaf,0xb3,0xf0,0xa1,
3232
  0xac,0x98,0xe5,0xaf,0xbf,0xe5,0xb0,0x86,0xe5,0xbd,0x93,0xe5,0xb0,0xa2,0xe3,0x9e,0x81,0xe5,0xb1,0xa0,0xe5,0xb1,0xae,0xe5,0xb3,0x80,0xe5,0xb2,0x8d,0xf0,0xa1,0xb7,
3233
  0xa4,0xe5,0xb5,0x83,0xf0,0xa1,0xb7,0xa6,0xe5,0xb5,0xae,0xe5,0xb5,0xab,0xe5,0xb5,0xbc,0xe5,0xb7,0xa1,0xe5,0xb7,0xa2,0xe3,0xa0,0xaf,0xe5,0xb7,0xbd,0xe5,0xb8,0xa8,
3234
  0xe5,0xb8,0xbd,0xe5,0xb9,0xa9,0xe3,0xa1,0xa2,0xf0,0xa2,0x86,0x83,0xe3,0xa1,0xbc,0xe5,0xba,0xb0,0xe5,0xba,0xb3,0xe5,0xba,0xb6,0xe5,0xbb,0x8a,0xf0,0xaa,0x8e,0x92,
3235
  0xe5,0xbb,0xbe,0xf0,0xa2,0x8c,0xb1,0xf0,0xa2,0x8c,0xb1,0xe8,0x88,0x81,0xe5,0xbc,0xa2,0xe5,0xbc,0xa2,0xe3,0xa3,0x87,0xf0,0xa3,0x8a,0xb8,0xf0,0xa6,0x87,0x9a,0xe5,
3236
  0xbd,0xa2,0xe5,0xbd,0xab,0xe3,0xa3,0xa3,0xe5,0xbe,0x9a,0xe5,0xbf,0x8d,0xe5,0xbf,0x97,0xe5,0xbf,0xb9,0xe6,0x82,0x81,0xe3,0xa4,0xba,0xe3,0xa4,0x9c,0xe6,0x82,0x94,
3237
  0xf0,0xa2,0x9b,0x94,0xe6,0x83,0x87,0xe6,0x85,0x88,0xe6,0x85,0x8c,0xe6,0x85,0x8e,0xe6,0x85,0x8c,0xe6,0x85,0xba,0xe6,0x86,0x8e,0xe6,0x86,0xb2,0xe6,0x86,0xa4,0xe6,
3238
  0x86,0xaf,0xe6,0x87,0x9e,0xe6,0x87,0xb2,0xe6,0x87,0xb6,0xe6,0x88,0x90,0xe6,0x88,0x9b,0xe6,0x89,0x9d,0xe6,0x8a,0xb1,0xe6,0x8b,0x94,0xe6,0x8d,0x90,0xf0,0xa2,0xac,
3239
  0x8c,0xe6,0x8c,0xbd,0xe6,0x8b,0xbc,0xe6,0x8d,0xa8,0xe6,0x8e,0x83,0xe6,0x8f,0xa4,0xf0,0xa2,0xaf,0xb1,0xe6,0x90,0xa2,0xe6,0x8f,0x85,0xe6,0x8e,0xa9,0xe3,0xa8,0xae,
3240
  0xe6,0x91,0xa9,0xe6,0x91,0xbe,0xe6,0x92,0x9d,0xe6,0x91,0xb7,0xe3,0xa9,0xac,0xe6,0x95,0x8f,0xe6,0x95,0xac,0xf0,0xa3,0x80,0x8a,0xe6,0x97,0xa3,0xe6,0x9b,0xb8,0xe6,
3241
  0x99,0x89,0xe3,0xac,0x99,0xe6,0x9a,0x91,0xe3,0xac,0x88,0xe3,0xab,0xa4,0xe5,0x86,0x92,0xe5,0x86,0x95,0xe6,0x9c,0x80,0xe6,0x9a,0x9c,0xe8,0x82,0xad,0xe4,0x8f,0x99,
3242
  0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9c,0xa1,0xe6,0x9d,0x9e,0xe6,0x9d,0x93,0xf0,0xa3,0x8f,0x83,0xe3,0xad,0x89,0xe6,0x9f,0xba,0xe6,0x9e,0x85,0xe6,0xa1,0x92,0xe6,
3243
  0xa2,0x85,0xf0,0xa3,0x91,0xad,0xe6,0xa2,0x8e,0xe6,0xa0,0x9f,0xe6,0xa4,0x94,0xe3,0xae,0x9d,0xe6,0xa5,0x82,0xe6,0xa6,0xa3,0xe6,0xa7,0xaa,0xe6,0xaa,0xa8,0xf0,0xa3,
3244
  0x9a,0xa3,0xe6,0xab,0x9b,0xe3,0xb0,0x98,0xe6,0xac,0xa1,0xf0,0xa3,0xa2,0xa7,0xe6,0xad,0x94,0xe3,0xb1,0x8e,0xe6,0xad,0xb2,0xe6,0xae,0x9f,0xe6,0xae,0xba,0xe6,0xae,
3245
  0xbb,0xf0,0xa3,0xaa,0x8d,0xf0,0xa1,0xb4,0x8b,0xf0,0xa3,0xab,0xba,0xe6,0xb1,0x8e,0xf0,0xa3,0xb2,0xbc,0xe6,0xb2,0xbf,0xe6,0xb3,0x8d,0xe6,0xb1,0xa7,0xe6,0xb4,0x96,
3246
  0xe6,0xb4,0xbe,0xe6,0xb5,0xb7,0xe6,0xb5,0x81,0xe6,0xb5,0xa9,0xe6,0xb5,0xb8,0xe6,0xb6,0x85,0xf0,0xa3,0xb4,0x9e,0xe6,0xb4,0xb4,0xe6,0xb8,0xaf,0xe6,0xb9,0xae,0xe3,
3247
  0xb4,0xb3,0xe6,0xbb,0x8b,0xe6,0xbb,0x87,0xf0,0xa3,0xbb,0x91,0xe6,0xb7,0xb9,0xe6,0xbd,0xae,0xf0,0xa3,0xbd,0x9e,0xf0,0xa3,0xbe,0x8e,0xe6,0xbf,0x86,0xe7,0x80,0xb9,
3248
  0xe7,0x80,0x9e,0xe7,0x80,0x9b,0xe3,0xb6,0x96,0xe7,0x81,0x8a,0xe7,0x81,0xbd,0xe7,0x81,0xb7,0xe7,0x82,0xad,0xf0,0xa0,0x94,0xa5,0xe7,0x85,0x85,0xf0,0xa4,0x89,0xa3,
3249
  0xe7,0x86,0x9c,0xf0,0xa4,0x8e,0xab,0xe7,0x88,0xa8,0xe7,0x88,0xb5,0xe7,0x89,0x90,0xf0,0xa4,0x98,0x88,0xe7,0x8a,0x80,0xe7,0x8a,0x95,0xf0,0xa4,0x9c,0xb5,0xf0,0xa4,
3250
  0xa0,0x94,0xe7,0x8d,0xba,0xe7,0x8e,0x8b,0xe3,0xba,0xac,0xe7,0x8e,0xa5,0xe3,0xba,0xb8,0xe3,0xba,0xb8,0xe7,0x91,0x87,0xe7,0x91,0x9c,0xe7,0x91,0xb1,0xe7,0x92,0x85,
3251
  0xe7,0x93,0x8a,0xe3,0xbc,0x9b,0xe7,0x94,0xa4,0xf0,0xa4,0xb0,0xb6,0xe7,0x94,0xbe,0xf0,0xa4,0xb2,0x92,0xe7,0x95,0xb0,0xf0,0xa2,0x86,0x9f,0xe7,0x98,0x90,0xf0,0xa4,
3252
  0xbe,0xa1,0xf0,0xa4,0xbe,0xb8,0xf0,0xa5,0x81,0x84,0xe3,0xbf,0xbc,0xe4,0x80,0x88,0xe7,0x9b,0xb4,0xf0,0xa5,0x83,0xb3,0xf0,0xa5,0x83,0xb2,0xf0,0xa5,0x84,0x99,0xf0,
3253
  0xa5,0x84,0xb3,0xe7,0x9c,0x9e,0xe7,0x9c,0x9f,0xe7,0x9c,0x9f,0xe7,0x9d,0x8a,0xe4,0x80,0xb9,0xe7,0x9e,0x8b,0xe4,0x81,0x86,0xe4,0x82,0x96,0xf0,0xa5,0x90,0x9d,0xe7,
3254
  0xa1,0x8e,0xe7,0xa2,0x8c,0xe7,0xa3,0x8c,0xe4,0x83,0xa3,0xf0,0xa5,0x98,0xa6,0xe7,0xa5,0x96,0xf0,0xa5,0x9a,0x9a,0xf0,0xa5,0x9b,0x85,0xe7,0xa6,0x8f,0xe7,0xa7,0xab,
3255
  0xe4,0x84,0xaf,0xe7,0xa9,0x80,0xe7,0xa9,0x8a,0xe7,0xa9,0x8f,0xf0,0xa5,0xa5,0xbc,0xf0,0xa5,0xaa,0xa7,0xf0,0xa5,0xaa,0xa7,0xe7,0xab,0xae,0xe4,0x88,0x82,0xf0,0xa5,
3256
  0xae,0xab,0xe7,0xaf,0x86,0xe7,0xaf,0x89,0xe4,0x88,0xa7,0xf0,0xa5,0xb2,0x80,0xe7,0xb3,0x92,0xe4,0x8a,0xa0,0xe7,0xb3,0xa8,0xe7,0xb3,0xa3,0xe7,0xb4,0x80,0xf0,0xa5,
3257
  0xbe,0x86,0xe7,0xb5,0xa3,0xe4,0x8c,0x81,0xe7,0xb7,0x87,0xe7,0xb8,0x82,0xe7,0xb9,0x85,0xe4,0x8c,0xb4,0xf0,0xa6,0x88,0xa8,0xf0,0xa6,0x89,0x87,0xe4,0x8d,0x99,0xf0,
3258
  0xa6,0x8b,0x99,0xe7,0xbd,0xba,0xf0,0xa6,0x8c,0xbe,0xe7,0xbe,0x95,0xe7,0xbf,0xba,0xe8,0x80,0x85,0xf0,0xa6,0x93,0x9a,0xf0,0xa6,0x94,0xa3,0xe8,0x81,0xa0,0xf0,0xa6,
3259
  0x96,0xa8,0xe8,0x81,0xb0,0xf0,0xa3,0x8d,0x9f,0xe4,0x8f,0x95,0xe8,0x82,0xb2,0xe8,0x84,0x83,0xe4,0x90,0x8b,0xe8,0x84,0xbe,0xe5,0xaa,0xb5,0xf0,0xa6,0x9e,0xa7,0xf0,
3260
  0xa6,0x9e,0xb5,0xf0,0xa3,0x8e,0x93,0xf0,0xa3,0x8e,0x9c,0xe8,0x88,0x81,0xe8,0x88,0x84,0xe8,0xbe,0x9e,0xe4,0x91,0xab,0xe8,0x8a,0x91,0xe8,0x8a,0x8b,0xe8,0x8a,0x9d,
3261
  0xe5,0x8a,0xb3,0xe8,0x8a,0xb1,0xe8,0x8a,0xb3,0xe8,0x8a,0xbd,0xe8,0x8b,0xa6,0xf0,0xa6,0xac,0xbc,0xe8,0x8b,0xa5,0xe8,0x8c,0x9d,0xe8,0x8d,0xa3,0xe8,0x8e,0xad,0xe8,
3262
  0x8c,0xa3,0xe8,0x8e,0xbd,0xe8,0x8f,0xa7,0xe8,0x91,0x97,0xe8,0x8d,0x93,0xe8,0x8f,0x8a,0xe8,0x8f,0x8c,0xe8,0x8f,0x9c,0xf0,0xa6,0xb0,0xb6,0xf0,0xa6,0xb5,0xab,0xf0,
3263
  0xa6,0xb3,0x95,0xe4,0x94,0xab,0xe8,0x93,0xb1,0xe8,0x93,0xb3,0xe8,0x94,0x96,0xf0,0xa7,0x8f,0x8a,0xe8,0x95,0xa4,0xf0,0xa6,0xbc,0xac,0xe4,0x95,0x9d,0xe4,0x95,0xa1,
3264
  0xf0,0xa6,0xbe,0xb1,0xf0,0xa7,0x83,0x92,0xe4,0x95,0xab,0xe8,0x99,0x90,0xe8,0x99,0x9c,0xe8,0x99,0xa7,0xe8,0x99,0xa9,0xe8,0x9a,0xa9,0xe8,0x9a,0x88,0xe8,0x9c,0x8e,
3265
  0xe8,0x9b,0xa2,0xe8,0x9d,0xb9,0xe8,0x9c,0xa8,0xe8,0x9d,0xab,0xe8,0x9e,0x86,0xe4,0x97,0x97,0xe8,0x9f,0xa1,0xe8,0xa0,0x81,0xe4,0x97,0xb9,0xe8,0xa1,0xa0,0xe8,0xa1,
3266
  0xa3,0xf0,0xa7,0x99,0xa7,0xe8,0xa3,0x97,0xe8,0xa3,0x9e,0xe4,0x98,0xb5,0xe8,0xa3,0xba,0xe3,0x92,0xbb,0xf0,0xa7,0xa2,0xae,0xf0,0xa7,0xa5,0xa6,0xe4,0x9a,0xbe,0xe4,
3267
  0x9b,0x87,0xe8,0xaa,0xa0,0xe8,0xab,0xad,0xe8,0xae,0x8a,0xe8,0xb1,0x95,0xf0,0xa7,0xb2,0xa8,0xe8,0xb2,0xab,0xe8,0xb3,0x81,0xe8,0xb4,0x9b,0xe8,0xb5,0xb7,0xf0,0xa7,
3268
  0xbc,0xaf,0xf0,0xa0,0xa0,0x84,0xe8,0xb7,0x8b,0xe8,0xb6,0xbc,0xe8,0xb7,0xb0,0xf0,0xa0,0xa3,0x9e,0xe8,0xbb,0x94,0xe8,0xbc,0xb8,0xf0,0xa8,0x97,0x92,0xf0,0xa8,0x97,
3269
  0xad,0xe9,0x82,0x94,0xe9,0x83,0xb1,0xe9,0x84,0x91,0xf0,0xa8,0x9c,0xae,0xe9,0x84,0x9b,0xe9,0x88,0xb8,0xe9,0x8b,0x97,0xe9,0x8b,0x98,0xe9,0x89,0xbc,0xe9,0x8f,0xb9,
3270
  0xe9,0x90,0x95,0xf0,0xa8,0xaf,0xba,0xe9,0x96,0x8b,0xe4,0xa6,0x95,0xe9,0x96,0xb7,0xf0,0xa8,0xb5,0xb7,0xe4,0xa7,0xa6,0xe9,0x9b,0x83,0xe5,0xb6,0xb2,0xe9,0x9c,0xa3,
3271
  0xf0,0xa9,0x85,0x85,0xf0,0xa9,0x88,0x9a,0xe4,0xa9,0xae,0xe4,0xa9,0xb6,0xe9,0x9f,0xa0,0xf0,0xa9,0x90,0x8a,0xe4,0xaa,0xb2,0xf0,0xa9,0x92,0x96,0xe9,0xa0,0x8b,0xe9,
3272
  0xa0,0x8b,0xe9,0xa0,0xa9,0xf0,0xa9,0x96,0xb6,0xe9,0xa3,0xa2,0xe4,0xac,0xb3,0xe9,0xa4,0xa9,0xe9,0xa6,0xa7,0xe9,0xa7,0x82,0xe9,0xa7,0xbe,0xe4,0xaf,0x8e,0xf0,0xa9,
3273
  0xac,0xb0,0xe9,0xac,0x92,0xe9,0xb1,0x80,0xe9,0xb3,0xbd,0xe4,0xb3,0x8e,0xe4,0xb3,0xad,0xe9,0xb5,0xa7,0xf0,0xaa,0x83,0x8e,0xe4,0xb3,0xb8,0xf0,0xaa,0x84,0x85,0xf0,
3274
  0xaa,0x88,0x8e,0xf0,0xaa,0x8a,0x91,0xe9,0xba,0xbb,0xe4,0xb5,0x96,0xe9,0xbb,0xb9,0xe9,0xbb,0xbe,0xe9,0xbc,0x85,0xe9,0xbc,0x8f,0xe9,0xbc,0x96,0xe9,0xbc,0xbb,0xf0,
3275
  0xaa,0x98,0x80,
3276
};
3277
3.16k
#define mxDecompositionCount2 1086
3278
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3279
  0xF800,0x0000,0xF801,0x0003,0xF802,0x0006,0xF803,0x0009,0xF804,0x000D,0xF805,0x0010,0xF806,0x0013,0xF807,0x0016,0xF808,0x0019,0xF809,0x001C,0xF80A,0x001F,0xF80B,0x0022,0xF80C,0x0025,0xF80D,0x0028,0xF80E,0x002C,0xF80F,0x002F,
3280
  0xF810,0x0032,0xF811,0x0035,0xF812,0x0038,0xF813,0x003C,0xF814,0x003F,0xF815,0x0042,0xF816,0x0045,0xF817,0x0049,0xF818,0x004C,0xF819,0x004F,0xF81A,0x0052,0xF81B,0x0055,0xF81C,0x0058,0xF81D,0x005C,0xF81E,0x005F,0xF81F,0x0062,
3281
  0xF820,0x0065,0xF821,0x0068,0xF822,0x006B,0xF823,0x006E,0xF824,0x0071,0xF825,0x0074,0xF826,0x0077,0xF827,0x007A,0xF828,0x007D,0xF829,0x0080,0xF82A,0x0083,0xF82B,0x0086,0xF82C,0x0089,0xF82D,0x008C,0xF82E,0x008F,0xF82F,0x0092,
3282
  0xF830,0x0095,0xF831,0x0098,0xF832,0x009B,0xF833,0x009E,0xF834,0x00A1,0xF835,0x00A5,0xF836,0x00A8,0xF837,0x00AB,0xF838,0x00AE,0xF839,0x00B2,0xF83A,0x00B5,0xF83B,0x00B8,0xF83C,0x00BB,0xF83D,0x00BE,0xF83E,0x00C1,0xF83F,0x00C4,
3283
  0xF840,0x00C7,0xF841,0x00CA,0xF842,0x00CD,0xF843,0x00D0,0xF844,0x00D3,0xF845,0x00D6,0xF846,0x00D9,0xF847,0x00DC,0xF848,0x00DF,0xF849,0x00E2,0xF84A,0x00E5,0xF84B,0x00E8,0xF84C,0x00EB,0xF84D,0x00EE,0xF84E,0x00F1,0xF84F,0x00F4,
3284
  0xF850,0x00F7,0xF851,0x00FA,0xF852,0x00FD,0xF853,0x0100,0xF854,0x0103,0xF855,0x0106,0xF856,0x0109,0xF857,0x010C,0xF858,0x010F,0xF859,0x0112,0xF85A,0x0116,0xF85B,0x0119,0xF85C,0x011C,0xF85D,0x011F,0xF85E,0x0122,0xF85F,0x0125,
3285
  0xF860,0x0128,0xF861,0x012C,0xF862,0x0130,0xF863,0x0133,0xF864,0x0136,0xF865,0x0139,0xF866,0x013C,0xF867,0x013F,0xF868,0x0142,0xF869,0x0145,0xF86A,0x0148,0xF86B,0x014B,0xF86C,0x014E,0xF86D,0x0152,0xF86E,0x0155,0xF86F,0x0158,
3286
  0xF870,0x015B,0xF871,0x015E,0xF872,0x0162,0xF873,0x0165,0xF874,0x0168,0xF875,0x016B,0xF876,0x016E,0xF877,0x0171,0xF878,0x0174,0xF879,0x0177,0xF87A,0x017A,0xF87B,0x017D,0xF87C,0x0181,0xF87D,0x0184,0xF87E,0x0188,0xF87F,0x018B,
3287
  0xF880,0x018E,0xF881,0x0191,0xF882,0x0194,0xF883,0x0197,0xF884,0x019A,0xF885,0x019D,0xF886,0x01A0,0xF887,0x01A3,0xF888,0x01A6,0xF889,0x01A9,0xF88A,0x01AD,0xF88B,0x01B0,0xF88C,0x01B3,0xF88D,0x01B6,0xF88E,0x01B9,0xF88F,0x01BC,
3288
  0xF890,0x01C0,0xF891,0x01C3,0xF892,0x01C7,0xF893,0x01CB,0xF894,0x01CE,0xF895,0x01D1,0xF896,0x01D4,0xF897,0x01D7,0xF898,0x01DB,0xF899,0x01DF,0xF89A,0x01E2,0xF89B,0x01E5,0xF89C,0x01E8,0xF89D,0x01EB,0xF89E,0x01EE,0xF89F,0x01F1,
3289
  0xF8A0,0x01F4,0xF8A1,0x01F7,0xF8A2,0x01FA,0xF8A3,0x01FD,0xF8A4,0x0200,0xF8A5,0x0204,0xF8A6,0x0207,0xF8A7,0x020A,0xF8A8,0x020D,0xF8A9,0x0210,0xF8AA,0x0213,0xF8AB,0x0216,0xF8AC,0x0219,0xF8AD,0x021C,0xF8AE,0x021F,0xF8AF,0x0222,
3290
  0xF8B0,0x0225,0xF8B1,0x0228,0xF8B2,0x022B,0xF8B3,0x022E,0xF8B4,0x0231,0xF8B5,0x0234,0xF8B6,0x0237,0xF8B7,0x023A,0xF8B8,0x023D,0xF8B9,0x0241,0xF8BA,0x0244,0xF8BB,0x0247,0xF8BC,0x024A,0xF8BD,0x024D,0xF8BE,0x0250,0xF8BF,0x0254,
3291
  0xF8C0,0x0257,0xF8C1,0x025A,0xF8C2,0x025D,0xF8C3,0x0260,0xF8C4,0x0263,0xF8C5,0x0266,0xF8C6,0x0269,0xF8C7,0x026C,0xF8C8,0x026F,0xF8C9,0x0272,0xF8CA,0x0275,0xF8CB,0x0279,0xF8CC,0x027C,0xF8CD,0x027F,0xF8CE,0x0282,0xF8CF,0x0285,
3292
  0xF8D0,0x0288,0xF8D1,0x028B,0xF8D2,0x028E,0xF8D3,0x0291,0xF8D4,0x0294,0xF8D5,0x0297,0xF8D6,0x029A,0xF8D7,0x029D,0xF8D8,0x02A0,0xF8D9,0x02A3,0xF8DA,0x02A6,0xF8DB,0x02A9,0xF8DC,0x02AC,0xF8DD,0x02AF,0xF8DE,0x02B3,0xF8DF,0x02B6,
3293
  0xF8E0,0x02B9,0xF8E1,0x02BC,0xF8E2,0x02BF,0xF8E3,0x02C2,0xF8E4,0x02C6,0xF8E5,0x02C9,0xF8E6,0x02CC,0xF8E7,0x02CF,0xF8E8,0x02D2,0xF8E9,0x02D5,0xF8EA,0x02D8,0xF8EB,0x02DB,0xF8EC,0x02DE,0xF8ED,0x02E2,0xF8EE,0x02E5,0xF8EF,0x02E8,
3294
  0xF8F0,0x02EB,0xF8F1,0x02EF,0xF8F2,0x02F2,0xF8F3,0x02F5,0xF8F4,0x02F8,0xF8F5,0x02FB,0xF8F6,0x02FE,0xF8F7,0x0301,0xF8F8,0x0305,0xF8F9,0x0309,0xF8FA,0x030D,0xF8FB,0x0310,0xF8FC,0x0314,0xF8FD,0x0317,0xF8FE,0x031A,0xF8FF,0x031D,
3295
  0xF900,0x0320,0xF901,0x0323,0xF902,0x0326,0xF903,0x0329,0xF904,0x032C,0xF905,0x032F,0xF906,0x0332,0xF907,0x0336,0xF908,0x0339,0xF909,0x033C,0xF90A,0x033F,0xF90B,0x0342,0xF90C,0x0345,0xF90D,0x0348,0xF90E,0x034C,0xF90F,0x034F,
3296
  0xF910,0x0352,0xF911,0x0356,0xF912,0x035A,0xF913,0x035D,0xF914,0x0360,0xF915,0x0363,0xF916,0x0366,0xF917,0x0369,0xF918,0x036C,0xF919,0x036F,0xF91A,0x0372,0xF91B,0x0375,0xF91C,0x0379,0xF91D,0x037C,0xF91E,0x0380,0xF91F,0x0383,
3297
  0xF920,0x0387,0xF921,0x038A,0xF922,0x038D,0xF923,0x0390,0xF924,0x0394,0xF925,0x0397,0xF926,0x039A,0xF927,0x039E,0xF928,0x03A2,0xF929,0x03A5,0xF92A,0x03A8,0xF92B,0x03AB,0xF92C,0x03AE,0xF92D,0x03B1,0xF92E,0x03B4,0xF92F,0x03B7,
3298
  0xF930,0x03BA,0xF931,0x03BD,0xF932,0x03C0,0xF933,0x03C3,0xF934,0x03C6,0xF935,0x03C9,0xF936,0x03CD,0xF937,0x03D0,0xF938,0x03D4,0xF939,0x03D7,0xF93A,0x03DB,0xF93B,0x03DE,0xF93C,0x03E2,0xF93D,0x03E6,0xF93E,0x03EA,0xF93F,0x03ED,
3299
  0xF940,0x03F0,0xF941,0x03F3,0xF942,0x03F7,0xF943,0x03FB,0xF944,0x03FF,0xF945,0x0403,0xF946,0x0406,0xF947,0x0409,0xF948,0x040C,0xF949,0x040F,0xF94A,0x0412,0xF94B,0x0415,0xF94C,0x0418,0xF94D,0x041B,0xF94E,0x041F,0xF94F,0x0422,
3300
  0xF950,0x0425,0xF951,0x0428,0xF952,0x042B,0xF953,0x042F,0xF954,0x0432,0xF955,0x0436,0xF956,0x043A,0xF957,0x043D,0xF958,0x0440,0xF959,0x0443,0xF95A,0x0446,0xF95B,0x0449,0xF95C,0x044C,0xF95D,0x0450,0xF95E,0x0454,0xF95F,0x0458,
3301
  0xF960,0x045B,0xF961,0x045E,0xF962,0x0462,0xF963,0x0465,0xF964,0x0468,0xF965,0x046B,0xF966,0x046F,0xF967,0x0472,0xF968,0x0475,0xF969,0x0478,0xF96A,0x047B,0xF96B,0x047E,0xF96C,0x0482,0xF96D,0x0485,0xF96E,0x0488,0xF96F,0x048B,
3302
  0xF970,0x048E,0xF971,0x0491,0xF972,0x0494,0xF973,0x0498,0xF974,0x049C,0xF975,0x049F,0xF976,0x04A3,0xF977,0x04A6,0xF978,0x04AA,0xF979,0x04AD,0xF97A,0x04B0,0xF97B,0x04B3,0xF97C,0x04B7,0xF97D,0x04BB,0xF97E,0x04BE,0xF97F,0x04C2,
3303
  0xF980,0x04C5,0xF981,0x04C9,0xF982,0x04CC,0xF983,0x04CF,0xF984,0x04D2,0xF985,0x04D5,0xF986,0x04D8,0xF987,0x04DB,0xF988,0x04DF,0xF989,0x04E3,0xF98A,0x04E7,0xF98B,0x04EB,0xF98C,0x04EE,0xF98D,0x04F1,0xF98E,0x04F4,0xF98F,0x04F7,
3304
  0xF990,0x04FA,0xF991,0x04FD,0xF992,0x0500,0xF993,0x0503,0xF994,0x0506,0xF995,0x0509,0xF996,0x050C,0xF997,0x050F,0xF998,0x0513,0xF999,0x0516,0xF99A,0x0519,0xF99B,0x051C,0xF99C,0x051F,0xF99D,0x0522,0xF99E,0x0525,0xF99F,0x0528,
3305
  0xF9A0,0x052B,0xF9A1,0x052E,0xF9A2,0x0531,0xF9A3,0x0534,0xF9A4,0x0537,0xF9A5,0x053B,0xF9A6,0x053F,0xF9A7,0x0543,0xF9A8,0x0546,0xF9A9,0x0549,0xF9AA,0x054C,0xF9AB,0x054F,0xF9AC,0x0553,0xF9AD,0x0556,0xF9AE,0x055A,0xF9AF,0x055D,
3306
  0xF9B0,0x0560,0xF9B1,0x0564,0xF9B2,0x0568,0xF9B3,0x056B,0xF9B4,0x056E,0xF9B5,0x0571,0xF9B6,0x0574,0xF9B7,0x0577,0xF9B8,0x057A,0xF9B9,0x057D,0xF9BA,0x0580,0xF9BB,0x0583,0xF9BC,0x0586,0xF9BD,0x0589,0xF9BE,0x058C,0xF9BF,0x058F,
3307
  0xF9C0,0x0592,0xF9C1,0x0595,0xF9C2,0x0598,0xF9C3,0x059B,0xF9C4,0x059E,0xF9C5,0x05A1,0xF9C6,0x05A5,0xF9C7,0x05A8,0xF9C8,0x05AB,0xF9C9,0x05AE,0xF9CA,0x05B1,0xF9CB,0x05B4,0xF9CC,0x05B8,0xF9CD,0x05BC,0xF9CE,0x05BF,0xF9CF,0x05C2,
3308
  0xF9D0,0x05C5,0xF9D1,0x05C8,0xF9D2,0x05CB,0xF9D3,0x05CE,0xF9D4,0x05D2,0xF9D5,0x05D5,0xF9D6,0x05D8,0xF9D7,0x05DB,0xF9D8,0x05DE,0xF9D9,0x05E2,0xF9DA,0x05E6,0xF9DB,0x05E9,0xF9DC,0x05EC,0xF9DD,0x05EF,0xF9DE,0x05F3,0xF9DF,0x05F6,
3309
  0xF9E0,0x05F9,0xF9E1,0x05FD,0xF9E2,0x0601,0xF9E3,0x0604,0xF9E4,0x0607,0xF9E5,0x060A,0xF9E6,0x060E,0xF9E7,0x0611,0xF9E8,0x0614,0xF9E9,0x0617,0xF9EA,0x061A,0xF9EB,0x061D,0xF9EC,0x0620,0xF9ED,0x0623,0xF9EE,0x0627,0xF9EF,0x062A,
3310
  0xF9F0,0x062D,0xF9F1,0x0630,0xF9F2,0x0634,0xF9F3,0x0637,0xF9F4,0x063A,0xF9F5,0x063D,0xF9F6,0x0640,0xF9F7,0x0644,0xF9F8,0x0648,0xF9F9,0x064B,0xF9FA,0x064E,0xF9FB,0x0651,0xF9FC,0x0655,0xF9FD,0x0658,0xF9FE,0x065C,0xF9FF,0x065F,
3311
  0xFA00,0x0662,0xFA01,0x0665,0xFA02,0x0669,0xFA03,0x066C,0xFA04,0x066F,0xFA05,0x0672,0xFA06,0x0675,0xFA07,0x0678,0xFA08,0x067B,0xFA09,0x067E,0xFA0A,0x0682,0xFA0B,0x0685,0xFA0C,0x0688,0xFA0D,0x068B,0xFA0E,0x068E,0xFA0F,0x0691,
3312
  0xFA10,0x0694,0xFA11,0x0698,0xFA12,0x069B,0xFA13,0x069F,0xFA14,0x06A3,0xFA15,0x06A7,0xFA16,0x06AA,0xFA17,0x06AD,0xFA18,0x06B0,0xFA19,0x06B3,0xFA1A,0x06B6,0xFA1B,0x06B9,0xFA1C,0x06BC,0xFA1D,0x06BF,0xFFFF,0x06C3,
3313
};
3314
#define mxDecompositionBufferCount 18
3315
3316
78.1M
#define mxSourceBufferCount 32
3317
3318
101M
#define mxHangulSBase 0xAC00
3319
27.6M
#define mxHangulSCount 11172
3320
898k
#define mxHangulLBase 0x1100
3321
170k
#define mxHangulLCount 19
3322
99.0M
#define mxHangulVBase 0x1161
3323
27.6M
#define mxHangulVCount 21
3324
98.2M
#define mxHangulTBase 0x11A7
3325
27.8M
#define mxHangulTCount 28
3326
512k
#define mxHangulNCount 588
3327
3328
static int fxCompareCombination(const void *p1, const void *p2);
3329
static int fxCompareComposition(const void *p1, const void *p2);
3330
static txInteger fxGetCombinationOrder(txInteger character);
3331
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3332
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3333
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3334
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3335
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3336
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3337
3338
int fxCompareCombination(const void *p1, const void *p2)
3339
665M
{
3340
665M
  txCombination* c1 = (txCombination*)p1;
3341
665M
  txCombination* c2 = (txCombination*)p2;
3342
665M
  if (c1->code + c1->count <= c2->code)
3343
431M
    return -1;
3344
233M
  if (c1->code >= c2->code + c2->count)
3345
229M
    return 1;
3346
4.46M
  return 0;
3347
233M
}
3348
3349
int fxCompareComposition(const void *p1, const void *p2)
3350
1.24G
{
3351
1.24G
  txU2 c1 = *((txU2*)p1);
3352
1.24G
  txU2 c2 = *((txU2*)p2);
3353
1.24G
  if (c1 < c2)
3354
787M
    return -1;
3355
454M
  if (c1 > c2)
3356
452M
    return 1;
3357
2.07M
  return 0;
3358
454M
}
3359
3360
txInteger fxGetCombinationOrder(txInteger character)
3361
77.4M
{
3362
77.4M
  txInteger count;
3363
77.4M
  txCombination *index, *it;
3364
77.4M
  txCombination combination;
3365
77.4M
  if (character < 0x10000) {
3366
77.3M
    count = mxCombinationCount0;
3367
77.3M
    index = (txCombination*)gxCombinationIndex0;
3368
77.3M
    combination.code = (txU2)character;
3369
77.3M
  }
3370
4.65k
  else {
3371
4.65k
    count = mxCombinationCount1;
3372
4.65k
    index = (txCombination*)gxCombinationIndex1;
3373
4.65k
    combination.code = (txU2)(character & 0xFFFF);
3374
4.65k
  }
3375
77.4M
  combination.count = 1;
3376
77.4M
  combination.order = 0;
3377
77.4M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3378
77.4M
  if (it)
3379
4.46M
    return it->order;
3380
72.9M
  return 0;
3381
77.4M
}
3382
3383
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3384
70.6M
{
3385
70.6M
  txInteger count;
3386
70.6M
  txU2 *index, *data, code, *it;
3387
70.6M
  if (character < 0x10000) {
3388
70.5M
    count = mxCompositionCount0;
3389
70.5M
    index = (txU2*)gxCompositionIndex0;
3390
70.5M
    data = (txU2*)gxCompositionData0;
3391
70.5M
    code = (txU2)character;
3392
70.5M
  }
3393
3.64k
  else {
3394
3.64k
    count = mxCompositionCount1;
3395
3.64k
    index =(txU2*)gxCompositionIndex1;
3396
3.64k
    data = (txU2*)gxCompositionData1;
3397
3.64k
    code = (txU2)(character & 0xFFFF);
3398
3.64k
  }
3399
70.6M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3400
70.6M
  if (it) {
3401
1.26M
    *pairs = data + (it[1] << 1);
3402
1.26M
    *pairCount = it[3] - it[1];
3403
1.26M
    return 1;
3404
1.26M
  }
3405
69.3M
  return 0;
3406
70.6M
}
3407
3408
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3409
1.05M
{
3410
1.05M
  txU2 code, *it;
3411
1.05M
  txInteger plane;
3412
1.05M
  if (character < 0x10000) {
3413
1.05M
    code = (txU2)character;
3414
1.05M
    plane = 0;
3415
1.05M
  }
3416
1.01k
  else {
3417
1.01k
    code = (txU2)(character & 0xFFFF);
3418
1.01k
    plane = 0x10000;
3419
1.01k
  }
3420
1.05M
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3421
1.05M
  if (it)
3422
295k
    return ((txInteger)it[1]) | plane;
3423
756k
  return 0;
3424
1.05M
}
3425
3426
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3427
72.6M
{
3428
72.6M
  txInteger count;
3429
72.6M
  txU2 *index, code, *it;
3430
72.6M
  txString data;
3431
72.6M
  if (character < 0x10000) {
3432
72.6M
    count = mxDecompositionCount0;
3433
72.6M
    index = (txU2*)gxDecompositionIndex0;
3434
72.6M
    data = (txString)gxDecompositionData0;
3435
72.6M
    code = (txU2)character;
3436
72.6M
  }
3437
3.64k
  else if (character < 0x20000) {
3438
475
    count = mxDecompositionCount1;
3439
475
    index = (txU2*)gxDecompositionIndex1;
3440
475
    data = (txString)gxDecompositionData1;
3441
475
    code = (txU2)(character & 0xFFFF);
3442
475
  }
3443
3.16k
  else {
3444
3.16k
    count = mxDecompositionCount2;
3445
3.16k
    index = (txU2*)gxDecompositionIndex2;
3446
3.16k
    data = (txString)gxDecompositionData2;
3447
3.16k
    code = (txU2)(character & 0xFFFF);
3448
3.16k
  }
3449
72.6M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3450
72.6M
  if (it) {
3451
509k
    txInteger offset = it[1];
3452
509k
    txString p, q;
3453
509k
    txInteger* r;
3454
509k
    if (offset & 0x8000) {
3455
1.29k
      if (!compatible)
3456
630
        return 0;
3457
667
      offset &= 0x7FFF;
3458
667
    }
3459
509k
    p = data + offset;
3460
509k
    q = p + ((it[3] & 0x7FFF) - offset);
3461
509k
    r = buffer;
3462
1.52M
    while (p < q)
3463
1.01M
      p = fxUTF8Decode(p, r++);
3464
509k
    return mxPtrDiff(r - buffer);
3465
509k
  }
3466
72.1M
  return 0;
3467
72.6M
}
3468
3469
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3470
72.6M
{
3471
72.6M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3472
72.6M
  if (buffer->count == resultLength >> 2) {
3473
3.81M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3474
3.81M
    buffer->address = fxToArrayBuffer(the, the->stack);
3475
3.81M
  }
3476
72.6M
  if (at < buffer->count)
3477
428k
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3478
72.6M
  buffer->address[at] = code;
3479
72.6M
  buffer->count++;
3480
72.6M
}
3481
3482
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3483
1.50M
{
3484
1.50M
  txInteger fromIndex = 1;
3485
1.50M
  txInteger toIndex = 1;
3486
1.50M
  if (buffer->count < 2)
3487
1
    return;
3488
72.6M
  while (fromIndex < buffer->count) {
3489
71.1M
    txBoolean flag = 1;
3490
71.1M
    txInteger code = buffer->address[fromIndex];
3491
71.1M
    txU2* pairs;
3492
71.1M
    txInteger pairCount;
3493
71.1M
    txInteger pairFlag;
3494
71.1M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3495
385k
      pairFlag = 3;
3496
70.7M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3497
118k
      pairFlag = 2;
3498
70.6M
    else
3499
70.6M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3500
71.1M
    if (pairFlag) {
3501
1.76M
      txInteger order = fxGetCombinationOrder(code);
3502
1.76M
      txInteger starterIndex = toIndex - 1;
3503
2.08M
      while (starterIndex >= 0) {
3504
2.08M
        txInteger starterCode = buffer->address[starterIndex];
3505
2.08M
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3506
2.08M
        if (starterOrder == 0) {
3507
1.55M
          if (pairFlag == 3) {
3508
385k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3509
170k
              starterCode -= mxHangulLBase;
3510
170k
              code -= mxHangulVBase;
3511
170k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3512
170k
              flag = 0;
3513
170k
            }
3514
385k
          }
3515
1.17M
          else if (pairFlag == 2) {
3516
118k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3517
117k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3518
117k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3519
117k
              flag = 0;
3520
117k
            }
3521
118k
          }
3522
1.05M
          else {
3523
1.05M
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3524
1.05M
            if (starterCode) {
3525
295k
              buffer->address[starterIndex] = starterCode;
3526
295k
              flag = 0;
3527
295k
            }
3528
1.05M
          }
3529
1.55M
          break;
3530
1.55M
        }
3531
534k
        if (starterOrder >= order)
3532
214k
          break;
3533
319k
        starterIndex--;
3534
319k
      }
3535
1.76M
    }
3536
71.1M
    if (flag) {
3537
70.5M
      buffer->address[toIndex] = code;
3538
70.5M
      toIndex++;
3539
70.5M
    }
3540
71.1M
    fromIndex++;
3541
71.1M
  }
3542
1.50M
  buffer->count = toIndex;
3543
1.50M
}
3544
3545
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3546
3.46M
{
3547
3.46M
  txInteger i;
3548
76.3M
  for (i = 0; i < c; i++) {
3549
72.8M
    txInteger code = source[i];
3550
72.8M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3551
170k
      txInteger sIndex = code - mxHangulSBase;
3552
170k
      txInteger lIndex = sIndex / mxHangulNCount;
3553
170k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3554
170k
      txInteger tIndex = sIndex % mxHangulTCount;
3555
170k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3556
170k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3557
170k
      if (tIndex > 0)
3558
117k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3559
170k
      buffer->starterIndex = buffer->count;
3560
170k
    }
3561
72.6M
    else {
3562
72.6M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3563
72.6M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3564
72.6M
      if (decompositionCount == 0) {
3565
72.1M
        txInteger order = fxGetCombinationOrder(code);
3566
72.1M
        if (order == 0) {
3567
70.8M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3568
70.8M
          buffer->starterIndex = buffer->count;
3569
70.8M
        }
3570
1.26M
        else {
3571
1.26M
          txInteger bufferIndex = buffer->count - 1;
3572
1.26M
          txInteger starterIndex = buffer->starterIndex - 1;
3573
2.12M
          while (bufferIndex > starterIndex) {
3574
1.39M
            txInteger starterCode = buffer->address[bufferIndex];
3575
1.39M
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3576
1.39M
            if (starterOrder <= order) {
3577
535k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3578
535k
              break;
3579
535k
            }
3580
857k
            bufferIndex--;
3581
857k
          }
3582
1.26M
          if (bufferIndex == starterIndex)
3583
731k
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3584
1.26M
        }
3585
72.1M
      }
3586
509k
      else
3587
509k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3588
72.6M
    }
3589
72.8M
  }
3590
3.46M
}
3591
3592
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3593
1.50M
{
3594
1.50M
  txNormalizeBuffer _buffer;
3595
1.50M
  txNormalizeBuffer* buffer = &_buffer;
3596
1.50M
  txInteger source[mxSourceBufferCount];
3597
1.50M
  txString p;
3598
3599
1.50M
  mxPushUndefined();
3600
1.50M
  buffer->slot = the->stack;
3601
1.50M
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3602
1.50M
  buffer->count = 0;
3603
1.50M
  buffer->starterIndex = 0;
3604
3605
1.50M
  p = string->value.string;
3606
3.14M
  for (;;) {
3607
3.14M
    txInteger* sourceAddress = source;
3608
3.14M
    txInteger sourceIndex = 0;
3609
74.9M
    while (sourceIndex < mxSourceBufferCount) {
3610
73.3M
      p = mxStringByteDecode(p, sourceAddress);
3611
73.3M
      if (*sourceAddress == C_EOF)
3612
1.50M
        break;
3613
71.8M
      sourceAddress++;
3614
71.8M
      sourceIndex++;
3615
71.8M
    }
3616
3.14M
    if (sourceIndex) {
3617
2.96M
      txInteger offset = mxPtrDiff(p - string->value.string);
3618
2.96M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3619
2.96M
      p = string->value.string + offset;
3620
2.96M
    }
3621
3.14M
    if (sourceIndex < mxSourceBufferCount)
3622
1.50M
      break;
3623
3.14M
  }
3624
1.50M
  if (form & 2)
3625
1.50M
    fxNormalizeComposition(the, buffer);
3626
1.50M
  if (buffer->count) {
3627
1.50M
    txInteger resultIndex;
3628
1.50M
    txInteger stringLength = 0;
3629
73.5M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3630
72.0M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3631
1.50M
    stringLength++;
3632
1.50M
    p = string->value.string = fxNewChunk(the, stringLength);
3633
1.50M
    buffer->address = fxToArrayBuffer(the, the->stack);
3634
73.5M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3635
72.0M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3636
1.50M
    *p = 0;
3637
1.50M
  }
3638
  
3639
1.50M
  mxPop();
3640
1.50M
}
3641
3642
#endif