Coverage Report

Created: 2025-06-13 06:10

/src/moddable/xs/sources/xsString.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2016-2024  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
6.57k
{
65
6.57k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
6.57k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
6.57k
  cache->count = mxStringInfoCacheLength;
69
6.57k
  cache->head = 0;
70
6.57k
  cache->tail = 0;
71
6.57k
  the->stringInfoCache = cache;
72
6.57k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
6.57k
{
76
6.57k
  txStringInfoCache* cache = the->stringInfoCache;
77
6.57k
  if (cache)
78
6.57k
    c_free(cache);  
79
6.57k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
3.16k
{
83
3.16k
  txStringInfoCache* cache = the->stringInfoCache;
84
3.16k
  if (cache) {
85
3.16k
    cache->head = 0;
86
3.16k
    cache->tail = 0;
87
3.16k
  }
88
3.16k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
0
{
92
0
  txStringInfoCache* cache = the->stringInfoCache;
93
0
  txStringInfo* info = C_NULL;
94
0
  if (cache) {
95
0
    txInteger count = cache->count;
96
0
    txInteger head = cache->head;
97
0
    txInteger tail = cache->tail;
98
0
    txInteger i;
99
0
    i = head - 1;
100
0
    info = cache->infos + i;
101
0
    while (i >= 0) {
102
0
      if (info->string == string)
103
0
        return info;
104
0
      i--;
105
0
      info--;
106
0
    }
107
0
    i = tail - 1;
108
0
    info = cache->infos + i;
109
0
    while (i >= head) {
110
0
      if (info->string == string)
111
0
        return info;
112
0
      i--;
113
0
      info--;
114
0
    }
115
0
    if (tail < count)
116
0
      tail++;
117
0
    info = cache->infos + head;
118
0
    head++;
119
0
    if (head == count)
120
0
      head = 0;
121
0
    cache->head = head; 
122
0
    cache->tail = tail; 
123
0
    info->string = string;
124
0
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
0
    info->unicodeOffset = 0;
126
0
    info->utf8Offset = 0;
127
0
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
0
  }
129
0
  return info;
130
0
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
0
{
134
0
  txStringInfo* info = fxCacheStringInfo(the, string);
135
0
  if (info) 
136
0
    return info->utf8Length;
137
0
  return c_strlen(string);
138
0
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
0
{
142
0
  txStringInfo* info;
143
0
  if (offset <= 0)
144
0
    return offset ? -1 : 0; 
145
0
  info = fxCacheStringInfo(the, string);
146
0
  if (info) {
147
0
    txSize delta, sign, unicodeOffset, utf8Offset;
148
0
    txU1* p;
149
0
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
0
    if ((info->ascii) /* || (offset == 0) */)
152
0
      return offset;
153
0
    if (offset == info->utf8Length)
154
0
      return info->unicodeLength;
155
0
    delta = offset - info->utf8Offset;
156
0
    if (delta == 0)
157
0
      return info->unicodeOffset;
158
0
    if (delta > 0) {
159
0
      if (delta < info->utf8Length - offset) {
160
0
        sign = 1;
161
0
        unicodeOffset = info->unicodeOffset + 1;
162
0
        utf8Offset = info->utf8Offset + 1;
163
0
      }
164
0
      else {
165
0
        sign = -1;
166
0
        unicodeOffset = info->unicodeLength - 1;
167
0
        utf8Offset = info->utf8Length - 1;
168
0
      }
169
0
    }
170
0
    else {
171
0
      if (0 - delta < offset) {
172
0
        sign = -1;
173
0
        unicodeOffset = info->unicodeOffset - 1;
174
0
        utf8Offset = info->utf8Offset - 1;
175
0
      }
176
0
      else {
177
0
        sign = 1;
178
0
        unicodeOffset = 1;
179
0
        utf8Offset = 1;
180
0
      }
181
0
    }
182
0
    p = (txU1*)string + utf8Offset;
183
0
    for (;;) {
184
0
      if ((*p & 0xC0) != 0x80) {
185
0
        if (utf8Offset == offset)
186
0
          break;
187
0
        unicodeOffset += sign;
188
0
      }
189
0
      p += sign;
190
0
      utf8Offset += sign;
191
0
    }
192
0
    info->utf8Offset = utf8Offset;
193
0
    info->unicodeOffset = unicodeOffset;
194
0
    return unicodeOffset;
195
0
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
0
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
0
{
201
0
  txStringInfo* info = fxCacheStringInfo(the, string);
202
0
  if (info) 
203
0
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
0
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
0
{
209
0
  txStringInfo* info;
210
0
  if (offset <= 0)
211
0
    return offset ? -1 : 0; 
212
0
  info = fxCacheStringInfo(the, string);
213
0
  if (info) {
214
0
    txSize delta, sign, unicodeOffset, utf8Offset;
215
0
    txU1* p;
216
0
    if ((offset < 0) || (info->unicodeLength < offset))
217
0
      return -1;
218
0
    if ((info->ascii) || (offset == 0))
219
0
      return offset;
220
0
    if (offset == info->unicodeLength)
221
0
      return info->utf8Length;
222
0
    delta = offset - info->unicodeOffset;
223
0
    if (delta == 0)
224
0
      return info->utf8Offset;
225
0
    if (delta > 0) {
226
0
      if (delta < info->unicodeLength - offset) {
227
0
        sign = 1;
228
0
        unicodeOffset = info->unicodeOffset + 1;
229
0
        utf8Offset = info->utf8Offset + 1;
230
0
      }
231
0
      else {
232
0
        sign = -1;
233
0
        unicodeOffset = info->unicodeLength - 1;
234
0
        utf8Offset = info->utf8Length - 1;
235
0
      }
236
0
    }
237
0
    else {
238
0
      if (0 - delta < offset) {
239
0
        sign = -1;
240
0
        unicodeOffset = info->unicodeOffset - 1;
241
0
        utf8Offset = info->utf8Offset - 1;
242
0
      }
243
0
      else {
244
0
        sign = 1;
245
0
        unicodeOffset = 1;
246
0
        utf8Offset = 1;
247
0
      }
248
0
    }
249
0
    p = (txU1*)string + utf8Offset;
250
0
    for (;;) {
251
0
      if ((*p & 0xC0) != 0x80) {
252
0
        if (unicodeOffset == offset)
253
0
          break;
254
0
        unicodeOffset += sign;
255
0
      }
256
0
      p += sign;
257
0
      utf8Offset += sign;
258
0
    }
259
0
    info->utf8Offset = utf8Offset;
260
0
    info->unicodeOffset = unicodeOffset;
261
0
    return utf8Offset;
262
0
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
0
}
265
#endif
266
267
0
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
0
#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
6.57k
{
315
6.57k
  txSlot* instance;
316
6.57k
  txSlot* property;
317
6.57k
  txSlot* slot;
318
  
319
6.57k
  mxPush(mxObjectPrototype);
320
6.57k
  instance = fxNewStringInstance(the);
321
  
322
6.57k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
6.57k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
6.57k
  property->value.home.object = instance;
325
6.57k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
6.57k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
6.57k
  property->value.home.object = instance;
328
6.57k
  mxPushUndefined();
329
6.57k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
6.57k
  the->stack->kind = XS_ACCESSOR_KIND;
331
6.57k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
6.57k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
6.57k
  mxPull(mxStringAccessor);
334
6.57k
  mxPop();
335
6.57k
  mxPop();
336
  
337
6.57k
  slot = fxLastProperty(the, instance);
338
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
6.57k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
6.57k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
6.57k
#if mxECMAScript2024
376
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
6.57k
#endif
379
6.57k
  mxStringPrototype = *the->stack;
380
6.57k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
6.57k
  mxStringConstructor = *the->stack;
382
6.57k
  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
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
6.57k
  mxPop();
390
391
6.57k
  mxPush(mxIteratorPrototype);
392
6.57k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
6.57k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG);
394
6.57k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
6.57k
  mxPull(mxStringIteratorPrototype);
396
6.57k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
6.57k
{
400
6.57k
  txSlot* instance;
401
6.57k
  instance = fxNewObjectInstance(the);
402
6.57k
  instance->flag |= XS_EXOTIC_FLAG;
403
6.57k
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
6.57k
  return instance;
405
6.57k
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
0
{
409
0
  txSlot* string = C_NULL;
410
0
  txID id = the->scratch.value.at.id;
411
0
  txIndex index = the->scratch.value.at.index;
412
0
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
0
    string = mxThis;
414
0
  else {
415
0
    txSlot* instance = fxToInstance(the, mxThis);
416
0
    while (instance) {
417
0
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
0
        string = instance->next;
419
0
        break;
420
0
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
0
  }
424
0
  if (string) {
425
0
    if (id == mxID(_length)) {
426
0
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
0
      mxResult->kind = XS_INTEGER_KIND;
428
0
    }
429
0
    else {
430
0
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
0
      if (from >= 0) {
432
0
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
0
        if (to >= 0) {
434
0
          to += from;
435
0
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
0
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
0
          mxResult->value.string[to - from] = 0;
438
0
          mxResult->kind = XS_STRING_KIND;
439
0
        }
440
0
      }
441
0
    }
442
0
  }
443
0
}
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
0
{
451
0
  if (id == mxID(_length)) {
452
0
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
0
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
0
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
0
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
0
    return 1;
461
0
  }
462
0
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
0
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
0
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
0
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
0
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
0
      return 0;
471
0
    return 1;
472
0
  }
473
0
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
0
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
0
{
478
0
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
0
    return 0;
480
0
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
0
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
0
{
485
0
  if (id == mxID(_length)) {
486
0
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
0
    descriptor->ID = id;
488
0
    descriptor->kind = XS_INTEGER_KIND;
489
0
    descriptor->value.integer = mxStringInstanceLength(instance);
490
0
    return 1;
491
0
  }
492
0
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
0
    txSlot* string = instance->next;
494
0
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
0
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
0
    descriptor->value.string = fxNewChunk(the, length + 1);
497
0
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
0
    descriptor->value.string[length] = 0;
499
0
    descriptor->kind = XS_STRING_KIND;
500
0
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
0
    return 1;
502
0
  }
503
0
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
0
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
0
{
508
0
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
0
    the->scratch.value.at.id = id;
510
0
    the->scratch.value.at.index = index;
511
0
    return &mxStringAccessor;
512
0
  }
513
0
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
0
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
0
{
518
0
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
0
    return 1;
520
0
  return fxOrdinaryHasProperty(the, instance, id, index);
521
0
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
0
{
525
0
  txSlot* property = instance->next;
526
0
  if (flag & XS_EACH_NAME_FLAG) {
527
0
    txIndex length = mxStringInstanceLength(instance), index;
528
0
    for (index = 0; index < length; index++)
529
0
      keys = fxQueueKey(the, 0, index, keys);
530
0
  }
531
0
  property = property->next;
532
0
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
0
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
0
    property = property->next;
535
0
  }
536
0
  if (flag & XS_EACH_NAME_FLAG)
537
0
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
0
  fxQueueIDKeys(the, property, flag, keys);
539
0
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
6.57k
{
543
6.57k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
0
    return C_NULL;
545
6.57k
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
6.57k
}
547
548
void fx_String(txMachine* the)
549
0
{
550
0
  txSlot* slot;
551
0
  txSlot* instance;
552
0
  if (mxArgc > 0) {
553
0
    slot = mxArgv(0);
554
0
    if ((mxTarget->kind == XS_UNDEFINED_KIND) && (slot->kind == XS_SYMBOL_KIND)) {
555
0
      fxSymbolToString(the, slot);
556
0
      *mxResult = *slot;
557
0
      return;
558
0
    }
559
0
    fxToString(the, slot);
560
0
  }
561
0
  else {
562
0
    slot = &mxEmptyString;
563
0
  }
564
0
  if (mxTarget->kind == XS_UNDEFINED_KIND) {
565
0
    *mxResult = *slot;
566
0
    return;
567
0
  }
568
0
  mxPushSlot(mxTarget);
569
0
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
0
  instance = fxNewStringInstance(the);
571
0
  instance->next->kind = slot->kind; // @@
572
0
  instance->next->value.key.string = slot->value.string;
573
0
  mxPullSlot(mxResult);
574
0
}
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
0
{
672
0
  txInteger length = 0;
673
0
  txInteger count = mxArgc;
674
0
  txInteger index = 0;
675
0
  txInteger c; 
676
0
  txString p;
677
0
  while (index < count) {
678
0
    txSlot *slot = mxArgv(index);
679
0
    if (XS_INTEGER_KIND != slot->kind) {
680
0
      txNumber number = fxToNumber(the, slot);
681
0
      switch (c_fpclassify(number)) {
682
0
      case C_FP_INFINITE:
683
0
      case C_FP_NAN:
684
0
      case C_FP_ZERO:
685
0
        slot->value.integer = 0;
686
0
        break;
687
0
      default:
688
0
        #define MODULO 65536.0
689
0
        number = c_fmod(c_trunc(number), MODULO);
690
0
        if (number < 0)
691
0
          number += MODULO;
692
0
        slot->value.integer = (txInteger)number;
693
0
        break;
694
0
      }
695
0
      slot->kind = XS_INTEGER_KIND;
696
0
    }
697
0
    else {
698
0
      txInteger integer = slot->value.integer % 65536;
699
0
      if (integer < 0)
700
0
        integer += 65536;
701
0
      slot->value.integer = integer;
702
0
    }
703
0
    index++;
704
0
  }
705
0
  index = 0;
706
0
  while (index < count) {
707
0
    c = mxArgv(index)->value.integer;
708
0
    index++;
709
0
    if (index < count) {
710
0
      txInteger d = mxArgv(index)->value.integer;
711
0
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
0
    } 
716
0
    length += mxStringByteLength(c);
717
0
  }   
718
0
  mxMeterSome(count);
719
0
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
0
  mxResult->kind = XS_STRING_KIND;
721
0
  p = mxResult->value.string;
722
0
  index = 0;
723
0
  while (index < count) {
724
0
    c = mxArgv(index)->value.integer;
725
0
    index++;
726
0
    if (index < count) {
727
0
      txInteger d = mxArgv(index)->value.integer;
728
0
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
0
    } 
733
0
    p = mxStringByteEncode(p, c);
734
0
  } 
735
0
  *p = 0;
736
0
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
0
{
740
0
  txInteger length = 0;
741
0
  txInteger count = mxArgc;
742
0
  txInteger index = 0;
743
0
  txInteger character; 
744
0
  txString p;
745
0
  while (index < count) {
746
0
    txNumber number = fxToNumber(the, mxArgv(index));
747
0
    txNumber check = c_trunc(number);
748
0
    if (number != check)
749
0
      mxRangeError("invalid code point %lf", number);
750
0
    if ((number < 0) || (0x10FFFF < number))
751
0
      mxRangeError("invalid code point %lf", number);
752
0
    mxArgv(index)->value.integer = (txInteger)number;
753
0
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
0
    index++;
755
0
  }
756
0
  index = 0;
757
0
  while (index < count) {
758
0
    character = mxArgv(index)->value.integer;
759
0
    length += mxStringByteLength(character);
760
0
    index++;
761
0
  }
762
0
  mxMeterSome(count);
763
0
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
764
0
  mxResult->kind = XS_STRING_KIND;
765
0
  p = mxResult->value.string;
766
0
  index = 0;
767
0
  while (index < count) {
768
0
    character = mxArgv(index)->value.integer;
769
0
    p = mxStringByteEncode(p, character);
770
0
    index++;
771
0
  } 
772
0
  *p = 0;
773
0
}
774
775
void fx_String_raw(txMachine* the)
776
0
{
777
0
  txInteger argCount = mxArgc;
778
0
  txSlot* raw;
779
0
  txInteger rawCount;
780
0
  if (argCount > 0)
781
0
    fxToInstance(the, mxArgv(0));
782
0
  else
783
0
    mxTypeError("cannot coerce undefined to object");
784
0
  mxPushSlot(mxArgv(0));
785
0
  mxGetID(mxID(_raw));
786
0
  raw = the->stack;
787
0
  mxPushSlot(raw);
788
0
  mxGetID(mxID(_length));
789
0
  rawCount = fxToInteger(the, the->stack);
790
0
  mxPop();
791
0
  if (rawCount <= 0) {
792
0
    mxResult->value = mxEmptyString.value;
793
0
    mxResult->kind = mxEmptyString.kind;
794
0
  }
795
0
  else {
796
0
    txSlot* list;
797
0
    txInteger index = 0;
798
0
    txSlot* item;
799
0
    txInteger size;
800
0
    list = item = fxNewInstance(the);
801
0
    mxPushSlot(list);
802
0
    for (;;) {
803
0
      mxPushSlot(raw);
804
0
      mxGetIndex(index);
805
0
      fxToString(the, the->stack);
806
0
      item = item->next = fxNewSlot(the);
807
0
      mxPullSlot(item);
808
0
      index++;
809
0
      if (index == rawCount)
810
0
        break;
811
0
      if (index < argCount) {
812
0
        mxPushSlot(mxArgv(index));
813
0
        fxToString(the, the->stack);
814
0
      }
815
0
      else
816
0
        mxPush(mxEmptyString);
817
0
      item = item->next = fxNewSlot(the);
818
0
      mxPullSlot(item);
819
0
    }
820
0
    size = 0;
821
0
    item = list->next;
822
0
    while (item) {
823
0
      item->value.key.sum = mxStringLength(item->value.string);
824
0
      size += item->value.key.sum;
825
0
      item = item->next;
826
0
    }
827
0
    size++;
828
0
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
0
    size = 0;
830
0
    item = list->next;
831
0
    while (item) {
832
0
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
0
      size += item->value.key.sum;
834
0
      item = item->next;
835
0
    }
836
0
    mxResult->value.string[size] = 0;
837
0
    mxPop();
838
0
    mxResult->kind = XS_STRING_KIND;
839
0
  }
840
0
  mxPop();
841
0
}
842
843
void fx_String_prototype_at(txMachine* the)
844
0
{
845
0
  txNumber index;
846
847
0
  fxCoerceToString(the, mxThis);
848
0
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
0
  if (c_isnan(index) || (index == 0))
850
0
    index = 0;
851
0
  else if (index < 0) {
852
0
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
0
    if (index < 0)
854
0
      return;
855
0
  }
856
0
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
0
  if (from >= 0) {
858
0
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
0
    if (to >= 0) {
860
0
      to += from;
861
0
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
0
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
0
      mxResult->value.string[to - from] = 0;
864
0
      mxResult->kind = XS_STRING_KIND;
865
0
    }
866
0
  }
867
0
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
0
{
871
0
  txInteger anOffset;
872
0
  txInteger aLength;
873
  
874
0
  fxCoerceToString(the, mxThis);
875
0
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
0
    anOffset = fxToInteger(the, mxArgv(0));
877
0
    if (anOffset < 0) goto fail;
878
0
  }
879
0
  else
880
0
    anOffset = 0;
881
882
0
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
0
  if (anOffset < 0) goto fail;
884
885
0
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
0
  if (aLength < 0) goto fail;
887
888
0
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
0
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
0
  mxResult->value.string[aLength] = 0;
891
0
  mxResult->kind = XS_STRING_KIND;
892
0
  return;
893
894
0
fail:
895
0
  mxResult->value.string = mxEmptyString.value.string;
896
0
  mxResult->kind = mxEmptyString.kind;
897
0
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
0
{
901
0
  txInteger anOffset;
902
903
0
  fxCoerceToString(the, mxThis);
904
0
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
0
    anOffset = fxToInteger(the, mxArgv(0));
906
0
    if (anOffset < 0) goto fail;
907
0
  }
908
0
  else
909
0
    anOffset = 0;
910
911
0
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
0
  if (anOffset < 0) goto fail;
913
914
0
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
0
    goto fail;
916
917
0
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
0
  mxResult->kind = XS_INTEGER_KIND;
919
0
  return;
920
921
0
fail:
922
0
  mxResult->value.number = C_NAN;
923
0
  mxResult->kind = XS_NUMBER_KIND;
924
0
}
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
0
{
934
0
  txString string = fxCoerceToString(the, mxThis);
935
0
  txInteger length = fxCacheUnicodeLength(the, string);
936
0
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
0
  if (c_isnan(at))
938
0
    at = 0;
939
0
  if ((0 <= at) && (at < (txNumber)length)) {
940
0
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
0
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
0
    if ((offset >= 0) && (length > 0)) {
943
0
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
0
      mxResult->kind = XS_INTEGER_KIND;
945
0
    }
946
0
  }
947
0
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
0
{
951
0
  txInteger aCount;
952
0
  txInteger aLength;
953
0
  txInteger anIndex;
954
  
955
0
  fxCoerceToString(the, mxThis);
956
0
  aCount = mxArgc;
957
0
  aLength = mxStringLength(mxThis->value.string);
958
0
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
0
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
0
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
0
  mxResult->kind = XS_STRING_KIND;
962
0
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
0
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
0
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
0
  mxMeterSome(aCount);
966
0
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
0
{
970
0
  txString string = fxCoerceToString(the, mxThis);
971
0
  txInteger length = fxCacheUnicodeLength(the, string);
972
0
  txString searchString;
973
0
  txInteger searchLength;
974
0
  txInteger offset;
975
0
  mxResult->kind = XS_BOOLEAN_KIND;
976
0
  mxResult->value.boolean = 0;
977
0
  if (mxArgc < 1)
978
0
    return;
979
0
  if (fxIsRegExp(the, mxArgv(0)))
980
0
    mxTypeError("future editions");
981
0
  searchString = fxToString(the, mxArgv(0));
982
0
  offset = fxArgToPosition(the, 1, length, length);
983
0
  string = mxThis->value.string;
984
0
  searchString = mxArgv(0)->value.string;
985
0
  searchLength = mxStringLength(searchString);
986
0
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
0
  if (offset < searchLength)
988
0
    return;
989
0
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
0
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
0
    mxResult->value.boolean = 1;
992
0
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
0
{
996
0
  txString string = fxCoerceToString(the, mxThis);
997
0
  txInteger length = fxCacheUnicodeLength(the, string);
998
0
  txString searchString;
999
0
  txInteger searchLength;
1000
0
  txInteger offset;
1001
0
  mxResult->kind = XS_BOOLEAN_KIND;
1002
0
  mxResult->value.boolean = 0;
1003
0
  if (mxArgc < 1)
1004
0
    return;
1005
0
  if (fxIsRegExp(the, mxArgv(0)))
1006
0
    mxTypeError("future editions");
1007
0
  searchString = fxToString(the, mxArgv(0));
1008
0
  offset = fxArgToPosition(the, 1, 0, length);
1009
0
  string = mxThis->value.string;
1010
0
  length = fxCacheUTF8Length(the, string);
1011
0
  searchString = mxArgv(0)->value.string;
1012
0
  searchLength = mxStringLength(searchString);
1013
0
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
0
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
0
    mxResult->value.boolean = 1;
1016
0
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
0
{
1020
0
  if (stringLength >= searchLength) {
1021
0
    txString result = string;
1022
0
    txString limit = string + stringLength - searchLength;
1023
0
    while (result <= limit) {
1024
0
      txU1 c;
1025
0
      txU1* p = (txU1*)result;
1026
0
      txU1* q = (txU1*)searchString;
1027
0
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
0
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
0
        p++;
1030
0
        q++;
1031
0
      }
1032
0
      if (c)
1033
0
        result++;
1034
0
      else
1035
0
        return result;
1036
0
      mxCheckMetering();
1037
0
    }
1038
0
  }
1039
0
  return C_NULL;
1040
0
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
0
{
1044
0
  txString aString;
1045
0
  txString aSubString;
1046
0
  txInteger aLength;
1047
0
  txInteger aSubLength;
1048
0
  txInteger anOffset;
1049
0
  txNumber aNumber;
1050
0
  txInteger aLimit;
1051
  
1052
0
  aString = fxCoerceToString(the, mxThis);
1053
0
  if (mxArgc < 1) {
1054
0
    mxResult->value.integer = -1;
1055
0
    mxResult->kind = XS_INTEGER_KIND;
1056
0
    return;
1057
0
  }
1058
0
  aSubString = fxToString(the, mxArgv(0));
1059
0
  aString = mxThis->value.string;
1060
0
  aLength = fxCacheUnicodeLength(the, aString);
1061
0
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
0
  anOffset = 0;
1063
0
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
0
    aNumber = fxToNumber(the, mxArgv(1));
1065
0
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
0
    aString = mxThis->value.string;
1068
0
    aSubString = mxArgv(0)->value.string;
1069
0
  }
1070
0
  if (anOffset + aSubLength <= aLength) {
1071
0
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
0
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
0
    while (anOffset <= aLimit) {
1074
0
      txU1 c;
1075
0
      txU1* p = (txU1*)aString + anOffset;
1076
0
      txU1* q = (txU1*)aSubString;
1077
0
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
0
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
0
        p++;
1080
0
        q++;
1081
0
      }
1082
0
      if (c)
1083
0
        anOffset++;
1084
0
      else
1085
0
        break;
1086
0
      mxCheckMetering();
1087
0
    }
1088
0
    if (anOffset <= aLimit)
1089
0
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
0
    else
1091
0
      anOffset = -1;
1092
0
  }
1093
0
  else
1094
0
    anOffset = -1;
1095
0
  mxResult->value.integer = anOffset;
1096
0
  mxResult->kind = XS_INTEGER_KIND;
1097
0
}
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
0
{
1103
0
  theOffsets[0] = theOffset;
1104
0
  theOffsets[1] = theOffset + theSubLength;
1105
0
  while (theOffsets[1] <= theLength) {
1106
0
    txU1 c;
1107
0
    txU1* p = (txU1*)theString + theOffsets[0];
1108
0
    txU1* q = (txU1*)theSubString;
1109
0
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
0
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
0
      p++;
1112
0
      q++;
1113
0
    }
1114
0
    if (c) {
1115
0
      theOffsets[0]++;
1116
0
      theOffsets[1]++;
1117
0
    }
1118
0
    else
1119
0
      return 1;
1120
0
  }
1121
0
  return 0;
1122
0
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
0
{
1126
0
  txString p = fxCoerceToString(the, mxThis);
1127
0
  mxResult->kind = XS_BOOLEAN_KIND;
1128
0
  mxResult->value.boolean = 1;
1129
0
  while (c_read8(p)) {
1130
0
    txInteger c;
1131
0
    p = mxStringByteDecode(p, &c);
1132
0
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
0
      mxResult->value.boolean = 0;
1134
0
      break;
1135
0
    }
1136
0
  }
1137
0
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
0
{
1141
0
  txString aString;
1142
0
  txString aSubString;
1143
0
  txInteger aLength;
1144
0
  txInteger aSubLength;
1145
0
  txInteger anOffset;
1146
0
  txNumber aNumber;
1147
1148
0
  aString = fxCoerceToString(the, mxThis);
1149
0
  if (mxArgc < 1) {
1150
0
    mxResult->value.integer = -1;
1151
0
    mxResult->kind = XS_INTEGER_KIND;
1152
0
    return;
1153
0
  }
1154
0
  aSubString = fxToString(the, mxArgv(0));
1155
0
  aString = mxThis->value.string;
1156
0
  aLength = fxCacheUnicodeLength(the, aString);
1157
0
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
0
  anOffset = aLength;
1159
0
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
0
    aNumber = fxToNumber(the, mxArgv(1));
1161
0
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
0
    anOffset += aSubLength;
1163
0
    if (anOffset > aLength)
1164
0
      anOffset = aLength;
1165
1166
0
    aString = mxThis->value.string;
1167
0
    aSubString = mxArgv(0)->value.string;
1168
0
  }
1169
0
  if (anOffset - aSubLength >= 0) {
1170
0
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
0
    while (anOffset >= 0) {
1172
0
      txU1 c;
1173
0
      txU1* p = (txU1*)aString + anOffset;
1174
0
      txU1* q = (txU1*)aSubString;
1175
0
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
0
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
0
        p++;
1178
0
        q++;
1179
0
      }
1180
0
      if (c)
1181
0
        anOffset--;
1182
0
      else
1183
0
        break;
1184
0
      mxCheckMetering();
1185
0
    }    
1186
0
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
0
  }
1188
0
  else
1189
0
    anOffset = -1;
1190
0
  mxResult->value.integer = anOffset;
1191
0
  mxResult->kind = XS_INTEGER_KIND;
1192
0
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
0
{
1196
0
  txString aString;
1197
0
  txString bString;
1198
1199
0
  if (mxArgc < 1) {
1200
0
    aString = fxCoerceToString(the, mxThis);
1201
0
    bString = "undefined";
1202
0
  }
1203
0
  else {
1204
0
    fxToString(the, mxArgv(0));
1205
0
    aString = fxCoerceToString(the, mxThis);
1206
0
    bString = mxArgv(0)->value.string;
1207
0
  }
1208
0
#ifdef mxMetering
1209
0
  {
1210
0
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
0
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
0
    if (aLength < bLength) {
1213
0
      the->meterIndex += aLength * XS_STRING_METERING;
1214
0
    }
1215
0
    else {
1216
0
      the->meterIndex += bLength * XS_STRING_METERING;
1217
0
    }
1218
0
  }
1219
0
#endif  
1220
0
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
0
  mxResult->kind = XS_INTEGER_KIND;
1222
0
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
0
{ 
1226
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
0
    return;
1228
0
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
0
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
0
{ 
1233
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
0
    return;
1235
0
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
0
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
0
{
1240
0
  txFlag form;
1241
0
  fxCoerceToString(the, mxThis);
1242
0
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
0
    form = 2;
1244
0
  else {
1245
0
    txString string = fxToString(the, mxArgv(0));
1246
0
    if (!c_strcmp(string, "NFC"))
1247
0
      form = 2;
1248
0
    else if (!c_strcmp(string, "NFD"))
1249
0
      form = 0;
1250
0
    else if (!c_strcmp(string, "NFKC"))
1251
0
      form = 3;
1252
0
    else if (!c_strcmp(string, "NFKD"))
1253
0
      form = 1;
1254
0
    else
1255
0
      mxRangeError("invalid form");
1256
0
  }
1257
0
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
0
  mxResult->value.string = mxThis->value.string;
1259
0
  mxResult->kind = mxThis->kind;
1260
0
#ifdef mxStringNormalize
1261
0
  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
0
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
0
{
1287
0
  txString string = fxCoerceToString(the, mxThis), filler;
1288
0
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
0
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
0
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
0
  *mxResult = *mxThis;
1292
0
  if (resultSize > stringSize) {
1293
0
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
0
      mxPushStringX(" ");
1295
0
    else
1296
0
      mxPushSlot(mxArgv(1));
1297
0
    filler = fxToString(the, the->stack);
1298
0
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
0
    if (fillerSize > 0) {
1300
0
      txInteger delta = resultSize - stringSize;
1301
0
      txInteger count = delta / fillerSize;
1302
0
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
0
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
0
      mxResult->kind = XS_STRING_KIND;
1305
0
      string = fxToString(the, mxThis);
1306
0
      filler = fxToString(the, the->stack);
1307
0
      if (flag) {
1308
0
        c_memcpy(result, string, stringLength);
1309
0
        result += stringLength;
1310
0
      }
1311
0
      mxMeterSome(count);
1312
0
      while (count) {
1313
0
        c_memcpy(result, filler, fillerLength);
1314
0
        count--;
1315
0
        result += fillerLength;
1316
0
      }
1317
0
      if (rest) {
1318
0
        mxMeterSome(1);
1319
0
        c_memcpy(result, filler, rest);
1320
0
        result += rest;
1321
0
      }
1322
0
      if (!flag) {
1323
0
        c_memcpy(result, string, stringLength);
1324
0
        result += stringLength;
1325
0
      }
1326
0
      *result = 0;
1327
0
    }
1328
0
    mxPop();
1329
0
  }
1330
0
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
0
{
1334
0
  fx_String_prototype_pad(the, 1);
1335
0
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
0
{
1339
0
  fx_String_prototype_pad(the, 0);
1340
0
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
0
{
1344
0
  txString string = fxCoerceToString(the, mxThis), result;
1345
0
  txInteger length = mxStringLength(string);
1346
0
  txInteger count = 0;
1347
0
  txSlot *arg = mxArgv(0);
1348
0
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
0
    if (XS_INTEGER_KIND == arg->kind) {
1350
0
      count = arg->value.integer;
1351
0
      if (count < 0)
1352
0
        mxRangeError("count < 0");
1353
0
    }
1354
0
    else {
1355
0
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
0
      if (c_isnan(value))
1357
0
        count = 0;
1358
0
      else {
1359
0
        if (value < 0)
1360
0
          mxRangeError("count < 0");
1361
0
        if (0x7FFFFFFF < value)
1362
0
          mxRangeError("count too big");
1363
0
        count = (txInteger)value;
1364
0
      }
1365
0
    }
1366
0
  }
1367
0
  mxMeterSome(count);
1368
0
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
0
  mxResult->kind = XS_STRING_KIND;
1370
0
  string = fxToString(the, mxThis);
1371
0
  if (length) {
1372
0
    while (count) {
1373
0
      c_memcpy(result, string, length);
1374
0
      count--;
1375
0
      result += length;
1376
0
    }
1377
0
  }
1378
0
  *result = 0;
1379
0
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
0
{
1383
0
  txString string;
1384
0
  txSlot* match;
1385
0
  txSize size;
1386
0
  txSize matchLength;
1387
0
  txSlot* function;
1388
0
  txSlot* replace;
1389
1390
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
0
    return;
1392
0
  fxToString(the, mxThis);
1393
0
  if (mxArgc <= 0)
1394
0
    mxPushUndefined();
1395
0
  else
1396
0
    mxPushSlot(mxArgv(0));
1397
0
  match = the->stack;
1398
0
  fxToString(the, match);
1399
0
  if (mxArgc <= 1)
1400
0
    mxPushUndefined();
1401
0
  else
1402
0
    mxPushSlot(mxArgv(1));
1403
0
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
0
    function = the->stack;
1405
0
    replace = C_NULL;
1406
0
  }
1407
0
  else {   
1408
0
    replace = the->stack;
1409
0
    fxToString(the, replace);
1410
0
    function = C_NULL;
1411
0
  }
1412
0
  size = mxStringLength(mxThis->value.string);
1413
0
  matchLength = mxStringLength(match->value.string);
1414
0
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
0
  if (string) {
1416
0
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
0
    txSize replaceLength;
1418
0
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
0
    replaceLength = mxStringLength(the->stack->value.string);
1420
0
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
0
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
0
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
0
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
0
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
0
    mxResult->kind = XS_STRING_KIND;
1426
0
    mxPop();
1427
0
  }
1428
0
  else
1429
0
    *mxResult = *mxThis;
1430
0
  mxPop();
1431
0
  mxPop();
1432
0
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
0
{
1436
0
  txSlot* match;
1437
0
  txSlot* function;
1438
0
  txSlot* replace;
1439
0
  txInteger size;
1440
0
  txInteger matchLength;
1441
0
  txInteger resultSize = 0;
1442
0
  txSlot* list;
1443
0
  txSlot* item;
1444
0
  txInteger offset = 0;
1445
0
  txBoolean flag = 0;
1446
1447
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
0
    return;
1449
0
  fxToString(the, mxThis);
1450
0
  if (mxArgc <= 0)
1451
0
    mxPushUndefined();
1452
0
  else
1453
0
    mxPushSlot(mxArgv(0));
1454
0
  match = the->stack;
1455
0
  fxToString(the, match);
1456
0
  if (mxArgc <= 1)
1457
0
    mxPushUndefined();
1458
0
  else
1459
0
    mxPushSlot(mxArgv(1));
1460
0
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
0
    function = the->stack;
1462
0
    replace = C_NULL;
1463
0
  }
1464
0
  else {   
1465
0
    replace = the->stack;
1466
0
    fxToString(the, replace);
1467
0
    function = C_NULL;
1468
0
  }
1469
0
  size = mxStringLength(mxThis->value.string);
1470
0
  matchLength = mxStringLength(match->value.string);
1471
  
1472
0
  list = item = fxNewInstance(the);
1473
0
  mxPushSlot(list);
1474
  
1475
0
  if (!matchLength) {
1476
0
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
0
    item = item->next = fxNewSlot(the);
1478
0
    mxPullSlot(item);
1479
0
    item->value.key.sum = mxStringLength(item->value.string);
1480
0
    resultSize += item->value.key.sum;
1481
0
    flag = 1;
1482
0
  }
1483
0
  while (offset < size) {
1484
0
    txInteger current;
1485
0
    if (!matchLength) {
1486
0
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
0
    }
1488
0
    else {
1489
0
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
0
            if (string)
1491
0
        current = mxPtrDiff(string - mxThis->value.string);
1492
0
      else
1493
0
        current = size;
1494
0
    }
1495
0
    if (offset < current) {
1496
0
      txInteger length = current - offset;
1497
0
      item = item->next = fxNewSlot(the);
1498
0
      item->value.dataView.offset = offset;
1499
0
      item->value.dataView.size = length;
1500
0
      item->kind = XS_DATA_VIEW_KIND;
1501
0
      resultSize += length;
1502
0
    }
1503
0
    if ((!matchLength) || (current < size)) {
1504
0
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
0
      item = item->next = fxNewSlot(the);
1506
0
            mxPullSlot(item);
1507
0
      item->value.key.sum = mxStringLength(item->value.string);
1508
0
      resultSize += item->value.key.sum;
1509
0
      flag = 1;
1510
0
    }
1511
0
    offset = current + matchLength;
1512
0
  }   
1513
0
  if (flag) {
1514
0
    resultSize++;
1515
0
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
0
    offset = 0;
1517
0
    item = list->next;
1518
0
    while (item) {
1519
0
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
0
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
0
        offset += item->value.dataView.size;
1522
0
      }
1523
0
      else {
1524
0
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
0
        offset += item->value.key.sum;
1526
0
      }
1527
0
      item = item->next;
1528
0
    }
1529
0
    mxResult->value.string[offset] = 0;
1530
0
    mxResult->kind = XS_STRING_KIND;
1531
0
  }
1532
0
  else {
1533
0
    mxResult->value = mxThis->value;
1534
0
    mxResult->kind = mxThis->kind;
1535
0
  }
1536
  
1537
0
  mxPop();
1538
  
1539
0
  mxPop();
1540
0
  mxPop();
1541
0
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
0
{
1545
0
  if (function) {
1546
0
    mxPushUndefined();
1547
0
    mxPushSlot(function);
1548
0
    mxCall();
1549
0
    mxPushSlot(match);
1550
0
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
0
    mxPushSlot(mxThis);
1552
0
    mxRunCount(3);
1553
0
    fxToString(the, the->stack);
1554
0
  }
1555
0
  else
1556
0
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
0
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
0
{
1561
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
0
    return;
1563
0
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
0
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
0
{
1568
0
  txString string = fxCoerceToString(the, mxThis);
1569
0
  txInteger length = fxCacheUnicodeLength(the, string);
1570
0
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
0
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
0
  if (start < end) {
1573
0
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
0
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
0
    if ((offset >= 0) && (length > 0)) {
1576
0
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
0
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
0
      mxResult->value.string[length] = 0;
1579
0
      mxResult->kind = XS_STRING_KIND;
1580
0
      return;
1581
0
    }
1582
0
  }
1583
0
  mxResult->value.string = mxEmptyString.value.string;
1584
0
  mxResult->kind = mxEmptyString.kind;
1585
0
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
0
{
1589
0
  txString aString;
1590
0
  txInteger aLength;
1591
0
  txIndex aLimit;
1592
0
  txSlot* anArray;
1593
0
  txSlot* anItem;
1594
0
  txInteger anOffset;
1595
0
  txInteger aCount;
1596
0
  txString aSubString;
1597
0
  txInteger aSubLength;
1598
0
  txInteger aSubOffset;
1599
0
  txInteger subOffsets[2];
1600
1601
0
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
0
    return;
1603
0
  aString = fxToString(the, mxThis);
1604
0
  aLength = mxStringLength(aString);
1605
0
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
0
  mxPush(mxArrayPrototype);
1607
0
  anArray = fxNewArrayInstance(the);
1608
0
  mxPullSlot(mxResult);
1609
0
  fxGetInstance(the, mxResult);
1610
0
  anItem = fxLastProperty(the, anArray);
1611
0
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
0
    if (!aLimit)
1613
0
      goto bail;
1614
0
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
0
    goto bail;
1616
0
  }
1617
0
  aSubString = fxToString(the, mxArgv(0));
1618
0
  aSubLength = mxStringLength(aSubString);
1619
0
  if (!aLimit)
1620
0
    goto bail;
1621
0
  if (aSubLength == 0) {
1622
0
    anOffset = 0;
1623
0
    while (anOffset < aLength) {
1624
0
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
0
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
0
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
0
      anOffset = aSubOffset;
1629
0
    }
1630
0
  }
1631
0
  else if (aLength == 0) {
1632
0
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
0
  }
1634
0
  else {
1635
0
    anOffset = 0;
1636
0
    for (;;) {
1637
0
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
0
      if (aCount <= 0)
1639
0
        break;
1640
0
      if (anOffset <= subOffsets[0]) {
1641
0
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
0
        if (anArray->next->value.array.length >= aLimit)
1643
0
          goto bail;
1644
0
      }
1645
0
      anOffset = subOffsets[1];
1646
0
    }
1647
0
    if (anOffset <= aLength)
1648
0
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
0
  }
1650
0
bail:
1651
0
  fxCacheArray(the, anArray);
1652
0
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
0
{
1656
0
  theStop -= theStart;
1657
0
  theItem->next = fxNewSlot(the);
1658
0
  theItem = theItem->next;
1659
0
  theItem->next = C_NULL;
1660
0
  if (theStart >= 0) {
1661
0
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
0
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
0
    theItem->value.string[theStop] = 0;
1664
0
    theItem->kind = XS_STRING_KIND;
1665
0
  }
1666
0
  theArray->next->value.array.length++;
1667
0
  return theItem;
1668
0
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
0
{
1672
0
  txString string = fxCoerceToString(the, mxThis);
1673
0
  txInteger length = fxCacheUnicodeLength(the, string);
1674
0
  txString searchString;
1675
0
  txInteger searchLength;
1676
0
  txInteger offset;
1677
0
  mxResult->kind = XS_BOOLEAN_KIND;
1678
0
  mxResult->value.boolean = 0;
1679
0
  if (mxArgc < 1)
1680
0
    return;
1681
0
  if (fxIsRegExp(the, mxArgv(0)))
1682
0
    mxTypeError("future editions");
1683
0
  searchString = fxToString(the, mxArgv(0));
1684
0
  offset = fxArgToPosition(the, 1, 0, length);
1685
0
  string = mxThis->value.string;
1686
0
  length = fxCacheUTF8Length(the, string);
1687
0
  searchString = mxArgv(0)->value.string;
1688
0
  searchLength = mxStringLength(searchString);
1689
0
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
0
  if (length - offset < searchLength)
1691
0
    return;
1692
0
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
0
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
0
    mxResult->value.boolean = 1;
1695
0
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
0
{
1699
0
  txString string = fxCoerceToString(the, mxThis);
1700
0
  txInteger size = fxCacheUnicodeLength(the, string);
1701
0
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
0
  txInteger stop = size;
1703
0
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
0
    stop = start + fxToInteger(the, mxArgv(1));
1705
0
    if (stop > size)
1706
0
      stop = size;
1707
0
  } 
1708
0
  if (start < stop) {
1709
0
    txInteger length;
1710
0
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
0
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
0
    length = stop - start;
1713
0
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
0
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
0
    mxResult->value.string[length] = 0;
1716
0
    mxResult->kind = XS_STRING_KIND;
1717
0
  }
1718
0
  else {
1719
0
    mxResult->value.string = mxEmptyString.value.string;
1720
0
    mxResult->kind = mxEmptyString.kind;
1721
0
  }
1722
0
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
0
{
1726
0
  txString aString;
1727
0
  txInteger aLength;
1728
0
  txNumber aNumber;
1729
0
  txInteger aStart;
1730
0
  txInteger aStop;
1731
0
  txInteger anOffset;
1732
1733
0
  aString = fxCoerceToString(the, mxThis);
1734
0
  aLength = fxCacheUnicodeLength(the, aString);
1735
0
  aStart = 0;
1736
0
  aStop = aLength;
1737
0
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
0
    aNumber = fxToNumber(the, mxArgv(0));
1739
0
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
0
  }
1741
0
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
0
    aNumber = fxToNumber(the, mxArgv(1));
1743
0
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
0
  }
1745
0
  if (aStart > aStop) {
1746
0
    aLength = aStart;
1747
0
    aStart = aStop;
1748
0
    aStop = aLength;
1749
0
  }
1750
0
  if (aStart < aStop) {
1751
0
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
0
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
0
    if ((anOffset >= 0) && (aLength > 0)) {
1754
0
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
0
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
0
      mxResult->value.string[aLength] = 0;
1757
0
      mxResult->kind = XS_STRING_KIND;
1758
0
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
0
  }
1764
0
  else {
1765
0
    mxResult->value.string = mxEmptyString.value.string;
1766
0
    mxResult->kind = mxEmptyString.kind;
1767
0
  }
1768
0
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
0
{
1772
0
  fxCoerceToString(the, mxThis);
1773
0
  fx_String_prototype_toCase(the, 0);
1774
0
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
0
{
1778
0
  fxCoerceToString(the, mxThis);
1779
0
  fx_String_prototype_toCase(the, 1);
1780
0
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
0
{
1784
0
  txString string = fxCoerceToString(the, mxThis);
1785
0
  txSize length = mxStringLength(string);
1786
0
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
0
  mxResult->kind = XS_STRING_KIND;
1788
0
  txString p = mxThis->value.string;
1789
0
  txString q = mxResult->value.string;
1790
0
  while (c_read8(p)) {
1791
0
    txInteger c;
1792
0
    p = mxStringByteDecode(p, &c);
1793
0
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
0
      c = 0x0000FFFD;
1795
0
    q = mxStringByteEncode(q, c);
1796
0
  }
1797
0
  *q = 0;
1798
0
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
0
{
1802
0
  fx_String_prototype_trimAux(the, 1, 1);
1803
0
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
0
{
1807
0
  txString string = fxCoerceToString(the, mxThis), start;
1808
0
  txInteger offset, length;
1809
0
  if (trimStart) {
1810
0
    start = fxSkipSpaces(string);
1811
0
    offset = mxPtrDiff(start - string);
1812
0
    mxMeterSome(offset);
1813
0
  }
1814
0
  else {
1815
0
    start = string;
1816
0
    offset = 0;
1817
0
  }
1818
0
  if (trimEnd) {
1819
0
    txString current = start;
1820
0
    txString end = current;
1821
0
    while (c_read8(current)) {
1822
0
      end = current + 1;
1823
0
      current = fxSkipSpaces(end);
1824
0
    }
1825
0
    length = mxPtrDiff(end - start);
1826
0
    mxMeterSome(length);
1827
0
  }
1828
0
  else
1829
0
    length = mxStringLength(start);
1830
0
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1831
0
  c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1832
0
  mxResult->value.string[length] = 0;
1833
0
  mxResult->kind = XS_STRING_KIND;
1834
0
}
1835
1836
void fx_String_prototype_trimEnd(txMachine* the)
1837
0
{
1838
0
  fx_String_prototype_trimAux(the, 0, 1);
1839
0
}
1840
1841
void fx_String_prototype_trimStart(txMachine* the)
1842
0
{
1843
0
  fx_String_prototype_trimAux(the, 1, 0);
1844
0
}
1845
1846
void fx_String_prototype_valueOf(txMachine* the)
1847
0
{
1848
0
  txSlot* slot = fxCheckString(the, mxThis);
1849
0
  if (!slot) mxTypeError("this: not a string");
1850
0
  mxResult->kind = slot->kind;
1851
0
  mxResult->value = slot->value;
1852
0
}
1853
1854
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1855
0
{
1856
0
  if (mxIsUndefined(mxThis))
1857
0
    mxTypeError("this: undefined");
1858
0
  if (mxIsNull(mxThis))
1859
0
    mxTypeError("this: null");
1860
0
  if (mxArgc > 0) {
1861
0
    txSlot* regexp = mxArgv(0);
1862
0
    if (!mxIsUndefined(regexp) && !mxIsNull(regexp)) {
1863
0
      if (global && fxIsRegExp(the, regexp)) {
1864
0
        mxPushSlot(regexp);
1865
0
        mxGetID(mxID(_flags));
1866
0
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1867
0
          mxTypeError("regexp has no g flag");
1868
0
        mxPop();
1869
0
      }
1870
0
      mxPushSlot(regexp);
1871
0
      mxPushSlot(regexp);
1872
0
      mxGetID(id);
1873
0
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1874
0
        mxCall();
1875
0
        mxPushSlot(mxThis);
1876
0
        if (count > 1) {
1877
0
          if (mxArgc > 1)
1878
0
            mxPushSlot(mxArgv(1));
1879
0
          else
1880
0
            mxPushUndefined();
1881
0
        }
1882
0
        mxRunCount(count);
1883
0
        mxPullSlot(mxResult);
1884
0
        return 1;
1885
0
      }
1886
0
      mxPop();
1887
0
      mxPop();
1888
0
    }
1889
0
  }
1890
0
  return 0;
1891
0
}
1892
1893
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1894
0
{
1895
0
  fxToString(the, mxThis);
1896
0
  mxPush(mxRegExpPrototype);
1897
0
  fxNewRegExpInstance(the);
1898
0
  mxPush(mxInitializeRegExpFunction);
1899
0
  mxCall();
1900
0
  if (mxArgc > 0)
1901
0
    mxPushSlot(mxArgv(0));
1902
0
  else
1903
0
    mxPushUndefined();
1904
0
  if (global)
1905
0
    mxPushStringX("g");
1906
0
  else
1907
0
    mxPushUndefined();
1908
0
  mxRunCount(2);
1909
0
  mxDub();
1910
0
  mxGetID(id);
1911
0
  mxCall();
1912
0
  mxPushSlot(mxThis);
1913
0
  if (count > 1) {
1914
0
    if (mxArgc > 1)
1915
0
      mxPushSlot(mxArgv(1));
1916
0
    else
1917
0
      mxPushUndefined();
1918
0
  }
1919
0
  mxRunCount(count);
1920
0
  mxPullSlot(mxResult);
1921
0
}
1922
1923
txSlot* fxCheckString(txMachine* the, txSlot* it)
1924
0
{
1925
0
  txSlot* result = C_NULL;
1926
0
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1927
0
    result = it;
1928
0
  else if (it->kind == XS_REFERENCE_KIND) {
1929
0
    it = it->value.reference->next;
1930
0
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1931
0
      result = it;
1932
0
  }
1933
0
  return result;
1934
0
}
1935
1936
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1937
0
{
1938
0
  if (theSlot->kind == XS_UNDEFINED_KIND)
1939
0
    mxTypeError("this: undefined");
1940
0
  if (theSlot->kind == XS_NULL_KIND)
1941
0
    mxTypeError("this: null");
1942
0
  return fxToString(the, theSlot);
1943
0
}
1944
1945
void fx_String_prototype_iterator(txMachine* the)
1946
0
{
1947
0
  txSlot* property;
1948
0
  fxCoerceToString(the, mxThis);
1949
0
  mxPush(mxStringIteratorPrototype);
1950
0
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1951
0
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1952
0
  mxPullSlot(mxResult);
1953
0
}
1954
1955
void fx_String_prototype_iterator_next(txMachine* the)
1956
0
{
1957
0
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1958
0
  txSlot* result = iterator->next;
1959
0
  txSlot* iterable = result->next;
1960
0
  txSlot* index = iterable->next;
1961
0
  txSlot* length = index->next;
1962
0
  txSlot* value = fxCheckIteratorResult(the, result);
1963
0
  txSlot* done = value->next;
1964
0
  if (index->value.integer < length->value.integer) {
1965
0
    txInteger character, size;
1966
0
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1967
0
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1968
0
    size = mxStringByteLength(character);
1969
0
    value->value.string = (txString)fxNewChunk(the, size + 1);
1970
0
    string = mxStringByteEncode(value->value.string, character);
1971
0
    *string = 0;
1972
0
    value->kind = XS_STRING_KIND;
1973
0
  }
1974
0
  else {
1975
0
    value->kind = XS_UNDEFINED_KIND;
1976
0
    done->value.boolean = 1;
1977
0
  }
1978
0
  mxResult->kind = result->kind;
1979
0
  mxResult->value = result->value;
1980
0
}
1981
1982
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1983
0
{
1984
0
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1985
0
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1986
0
    if (c_isnan(i))
1987
0
      i = 0;
1988
0
    if (i < 0)
1989
0
      index = 0;
1990
0
    else if (i > (txNumber)length)
1991
0
      index = length;
1992
0
    else
1993
0
      index = (txInteger)i;
1994
0
  }
1995
0
  return index;
1996
0
}
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
0
{
2000
0
  txString r;
2001
0
  txInteger m;
2002
0
  txInteger l;
2003
0
  txBoolean flag;
2004
0
  txByte c, d;
2005
0
  txInteger i, j;
2006
0
  txSlot* capture;
2007
0
  txString s;
2008
0
  r = replace->value.string;
2009
0
  m = 0;
2010
0
  l = 0;
2011
0
  flag = 0;
2012
0
  while ((c = c_read8(r++))) {
2013
0
    if (m <= l)
2014
0
      m = l;
2015
0
    else
2016
0
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2017
0
    if (c == '$') {
2018
0
      c = c_read8(r++);
2019
0
      switch (c) {
2020
0
      case '$':
2021
0
        l++;
2022
0
        flag = 1;
2023
0
        break;
2024
0
      case '&':
2025
0
        l += length;
2026
0
        flag = 1;
2027
0
        break;
2028
0
      case '`':
2029
0
        l += offset;
2030
0
        flag = 1;
2031
0
        break;
2032
0
      case '\'':
2033
0
        l += size - (offset + length);
2034
0
        flag = 1;
2035
0
        break;
2036
0
      case '<':
2037
0
        if (groups && mxIsReference(groups)) {
2038
0
          txString t = r;
2039
0
          while ((d = c_read8(r))) {
2040
0
            if (d == '>')
2041
0
              break;
2042
0
            r++;
2043
0
          }
2044
0
          if (d) {
2045
0
            txInteger n = mxPtrDiff(r - t);
2046
0
            txID name;
2047
0
            if (n > 255)
2048
0
              fxJump(the);
2049
0
            c_memcpy(the->nameBuffer, t, n);
2050
0
            the->nameBuffer[n] = 0;
2051
0
            name = fxFindName(the, the->nameBuffer);
2052
0
            if (name) {
2053
0
              mxPushSlot(groups);
2054
0
              mxGetID(name);
2055
0
              if (!mxIsUndefined(the->stack)) {
2056
0
                fxToString(the, the->stack);
2057
0
                l = fxAddChunkSizes(the, l, mxStringLength(the->stack->value.string));
2058
0
              }
2059
0
              mxPop();
2060
0
            }
2061
0
            r++;
2062
0
            flag = 1;
2063
0
          }
2064
0
          else {
2065
0
            r = t;
2066
0
            l += 2;
2067
0
          }
2068
0
        }
2069
0
        else {
2070
0
          l += 2;
2071
0
        }
2072
0
        break;
2073
0
      default:
2074
0
        if (('0' <= c) && (c <= '9')) {
2075
0
          i = c - '0';
2076
0
          d = c_read8(r);
2077
0
          if (('0' <= d) && (d <= '9')) {
2078
0
            j = (i * 10) + d - '0';
2079
0
            if ((0 < j) && (j <= count)) {
2080
0
              i = j;
2081
0
              r++;
2082
0
            }
2083
0
            else
2084
0
              d = 0;
2085
0
          }
2086
0
          else
2087
0
            d = 0;
2088
0
          if ((0 < i) && (i <= count)) {
2089
0
            capture = (captures + count - i);
2090
0
            if (capture->kind != XS_UNDEFINED_KIND)
2091
0
              l = fxAddChunkSizes(the, l, mxStringLength(capture->value.string));
2092
0
            flag = 1;
2093
0
          }
2094
0
          else {
2095
0
            l++;
2096
0
            l++;
2097
0
            if (d)
2098
0
              l++;
2099
0
          }
2100
0
        }
2101
0
        else {
2102
0
          l++;
2103
0
          if (c)
2104
0
            l++;
2105
0
        }
2106
0
        break;
2107
0
      }
2108
0
      if (!c)
2109
0
        break;
2110
0
    }
2111
0
    else
2112
0
      l++;
2113
0
  }
2114
0
  if (m > l)
2115
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2116
0
  if (flag) {
2117
0
    mxPushUndefined();
2118
0
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2119
0
    the->stack->kind = XS_STRING_KIND;
2120
0
    r = replace->value.string;
2121
0
    s = the->stack->value.string;
2122
0
    while ((c = c_read8(r++))) {
2123
0
      if (c == '$') {
2124
0
        c = c_read8(r++);
2125
0
        switch (c) {
2126
0
        case '$':
2127
0
          *s++ = c;
2128
0
          break;
2129
0
        case '&':
2130
0
          l = length;
2131
0
          c_memcpy(s, match->value.string, l);
2132
0
          s += l;
2133
0
          break;
2134
0
        case '`':
2135
0
          l = offset;
2136
0
          c_memcpy(s, string->value.string, l);
2137
0
          s += l;
2138
0
          break;
2139
0
        case '\'':
2140
0
          l = size - (offset + length);
2141
0
                    if (l > 0) {
2142
0
                        c_memcpy(s, string->value.string + offset + length, l);
2143
0
                        s += l;
2144
0
                    }
2145
0
          break;
2146
0
        case '<':
2147
0
          if (groups && mxIsReference(groups)) {
2148
0
            txString t = r;
2149
0
            while ((d = c_read8(r))) {
2150
0
              if (d == '>')
2151
0
                break;
2152
0
              r++;
2153
0
            }
2154
0
            if (d) {
2155
0
              txInteger n = mxPtrDiff(r - t);
2156
0
              txID name;
2157
0
              if (n > 255)
2158
0
                fxJump(the);
2159
0
              c_memcpy(the->nameBuffer, t, n);
2160
0
              the->nameBuffer[n] = 0;
2161
0
              name = fxFindName(the, the->nameBuffer);
2162
0
              if (name) {
2163
0
                mxPushSlot(groups);
2164
0
                mxGetID(name);
2165
0
                if (!mxIsUndefined(the->stack)) {
2166
0
                  fxToString(the, the->stack);
2167
0
                  l = mxStringLength(the->stack->value.string);
2168
0
                  c_memcpy(s, the->stack->value.string, l);
2169
0
                  s += l;
2170
0
                }
2171
0
                mxPop();
2172
0
              }
2173
0
              r++;
2174
0
            }
2175
0
            else {
2176
0
              r = t;
2177
0
              *s++ = '$';
2178
0
              *s++ = '<';
2179
0
            }
2180
0
          }
2181
0
          else {
2182
0
            *s++ = '$';
2183
0
            *s++ = '<';
2184
0
          }
2185
0
          break;
2186
0
        default:
2187
0
          if (('0' <= c) && (c <= '9')) {
2188
0
            i = c - '0';
2189
0
            d = c_read8(r);
2190
0
            if (('0' <= d) && (d <= '9')) {
2191
0
              j = (i * 10) + d - '0';
2192
0
              if ((0 < j) && (j <= count)) {
2193
0
                i = j;
2194
0
                r++;
2195
0
              }
2196
0
              else
2197
0
                d = 0;
2198
0
            }
2199
0
            else
2200
0
              d = 0;
2201
0
            if ((0 < i) && (i <= count)) {
2202
0
              capture = (captures + count - i);
2203
0
              if (capture->kind != XS_UNDEFINED_KIND) {
2204
0
                l = mxStringLength(capture->value.string);
2205
0
                c_memcpy(s, capture->value.string, l);
2206
0
                s += l;
2207
0
              }
2208
0
            }
2209
0
            else {
2210
0
              *s++ = '$';
2211
0
              *s++ = c;
2212
0
              if (d)
2213
0
                *s++ = d;
2214
0
            }
2215
0
          }
2216
0
          else {
2217
0
            *s++ = '$';
2218
0
            if (c)
2219
0
              *s++ = c;
2220
0
          }
2221
0
          break;
2222
0
        }
2223
0
        if (!c)
2224
0
          break;
2225
0
      }
2226
0
      else
2227
0
        *s++ = c;
2228
0
    }
2229
0
    *s = 0;
2230
0
  }
2231
0
  else
2232
0
    mxPushSlot(replace);
2233
0
}
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
0
#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
0
#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
0
#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
0
#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
0
#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
0
#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
0
#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
0
#define mxSourceBufferCount 32
3317
3318
0
#define mxHangulSBase 0xAC00
3319
0
#define mxHangulSCount 11172
3320
0
#define mxHangulLBase 0x1100
3321
0
#define mxHangulLCount 19
3322
0
#define mxHangulVBase 0x1161
3323
0
#define mxHangulVCount 21
3324
0
#define mxHangulTBase 0x11A7
3325
0
#define mxHangulTCount 28
3326
0
#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
0
{
3340
0
  txCombination* c1 = (txCombination*)p1;
3341
0
  txCombination* c2 = (txCombination*)p2;
3342
0
  if (c1->code + c1->count <= c2->code)
3343
0
    return -1;
3344
0
  if (c1->code >= c2->code + c2->count)
3345
0
    return 1;
3346
0
  return 0;
3347
0
}
3348
3349
int fxCompareComposition(const void *p1, const void *p2)
3350
0
{
3351
0
  txU2 c1 = *((txU2*)p1);
3352
0
  txU2 c2 = *((txU2*)p2);
3353
0
  if (c1 < c2)
3354
0
    return -1;
3355
0
  if (c1 > c2)
3356
0
    return 1;
3357
0
  return 0;
3358
0
}
3359
3360
txInteger fxGetCombinationOrder(txInteger character)
3361
0
{
3362
0
  txInteger count;
3363
0
  txCombination *index, *it;
3364
0
  txCombination combination;
3365
0
  if (character < 0x10000) {
3366
0
    count = mxCombinationCount0;
3367
0
    index = (txCombination*)gxCombinationIndex0;
3368
0
    combination.code = (txU2)character;
3369
0
  }
3370
0
  else {
3371
0
    count = mxCombinationCount1;
3372
0
    index = (txCombination*)gxCombinationIndex1;
3373
0
    combination.code = (txU2)(character & 0xFFFF);
3374
0
  }
3375
0
  combination.count = 1;
3376
0
  combination.order = 0;
3377
0
  it = (txCombination*)bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3378
0
  if (it)
3379
0
    return it->order;
3380
0
  return 0;
3381
0
}
3382
3383
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3384
0
{
3385
0
  txInteger count;
3386
0
  txU2 *index, *data, code, *it;
3387
0
  if (character < 0x10000) {
3388
0
    count = mxCompositionCount0;
3389
0
    index = (txU2*)gxCompositionIndex0;
3390
0
    data = (txU2*)gxCompositionData0;
3391
0
    code = (txU2)character;
3392
0
  }
3393
0
  else {
3394
0
    count = mxCompositionCount1;
3395
0
    index =(txU2*)gxCompositionIndex1;
3396
0
    data = (txU2*)gxCompositionData1;
3397
0
    code = (txU2)(character & 0xFFFF);
3398
0
  }
3399
0
  it = (txU2*)bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3400
0
  if (it) {
3401
0
    *pairs = data + (it[1] << 1);
3402
0
    *pairCount = it[3] - it[1];
3403
0
    return 1;
3404
0
  }
3405
0
  return 0;
3406
0
}
3407
3408
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3409
0
{
3410
0
  txU2 code, *it;
3411
0
  txInteger plane;
3412
0
  if (character < 0x10000) {
3413
0
    code = (txU2)character;
3414
0
    plane = 0;
3415
0
  }
3416
0
  else {
3417
0
    code = (txU2)(character & 0xFFFF);
3418
0
    plane = 0x10000;
3419
0
  }
3420
0
  it = (txU2*)bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3421
0
  if (it)
3422
0
    return ((txInteger)it[1]) | plane;
3423
0
  return 0;
3424
0
}
3425
3426
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3427
0
{
3428
0
  txInteger count;
3429
0
  txU2 *index, code, *it;
3430
0
  txString data;
3431
0
  if (character < 0x10000) {
3432
0
    count = mxDecompositionCount0;
3433
0
    index = (txU2*)gxDecompositionIndex0;
3434
0
    data = (txString)gxDecompositionData0;
3435
0
    code = (txU2)character;
3436
0
  }
3437
0
  else if (character < 0x20000) {
3438
0
    count = mxDecompositionCount1;
3439
0
    index = (txU2*)gxDecompositionIndex1;
3440
0
    data = (txString)gxDecompositionData1;
3441
0
    code = (txU2)(character & 0xFFFF);
3442
0
  }
3443
0
  else {
3444
0
    count = mxDecompositionCount2;
3445
0
    index = (txU2*)gxDecompositionIndex2;
3446
0
    data = (txString)gxDecompositionData2;
3447
0
    code = (txU2)(character & 0xFFFF);
3448
0
  }
3449
0
  it = (txU2*)bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3450
0
  if (it) {
3451
0
    txInteger offset = it[1];
3452
0
    txString p, q;
3453
0
    txInteger* r;
3454
0
    if (offset & 0x8000) {
3455
0
      if (!compatible)
3456
0
        return 0;
3457
0
      offset &= 0x7FFF;
3458
0
    }
3459
0
    p = data + offset;
3460
0
    q = p + ((it[3] & 0x7FFF) - offset);
3461
0
    r = buffer;
3462
0
    while (p < q)
3463
0
      p = fxUTF8Decode(p, r++);
3464
0
    return mxPtrDiff(r - buffer);
3465
0
  }
3466
0
  return 0;
3467
0
}
3468
3469
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3470
0
{
3471
0
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3472
0
  if (buffer->count == resultLength >> 2) {
3473
0
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3474
0
    buffer->address = fxToArrayBuffer(the, the->stack);
3475
0
  }
3476
0
  if (at < buffer->count)
3477
0
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3478
0
  buffer->address[at] = code;
3479
0
  buffer->count++;
3480
0
}
3481
3482
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3483
0
{
3484
0
  txInteger fromIndex = 1;
3485
0
  txInteger toIndex = 1;
3486
0
  if (buffer->count < 2)
3487
0
    return;
3488
0
  while (fromIndex < buffer->count) {
3489
0
    txBoolean flag = 1;
3490
0
    txInteger code = buffer->address[fromIndex];
3491
0
    txU2* pairs;
3492
0
    txInteger pairCount;
3493
0
    txInteger pairFlag;
3494
0
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3495
0
      pairFlag = 3;
3496
0
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3497
0
      pairFlag = 2;
3498
0
    else
3499
0
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3500
0
    if (pairFlag) {
3501
0
      txInteger order = fxGetCombinationOrder(code);
3502
0
      txInteger starterIndex = toIndex - 1;
3503
0
      while (starterIndex >= 0) {
3504
0
        txInteger starterCode = buffer->address[starterIndex];
3505
0
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3506
0
        if (starterOrder == 0) {
3507
0
          if (pairFlag == 3) {
3508
0
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3509
0
              starterCode -= mxHangulLBase;
3510
0
              code -= mxHangulVBase;
3511
0
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3512
0
              flag = 0;
3513
0
            }
3514
0
          }
3515
0
          else if (pairFlag == 2) {
3516
0
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3517
0
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3518
0
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3519
0
              flag = 0;
3520
0
            }
3521
0
          }
3522
0
          else {
3523
0
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3524
0
            if (starterCode) {
3525
0
              buffer->address[starterIndex] = starterCode;
3526
0
              flag = 0;
3527
0
            }
3528
0
          }
3529
0
          break;
3530
0
        }
3531
0
        if (starterOrder >= order)
3532
0
          break;
3533
0
        starterIndex--;
3534
0
      }
3535
0
    }
3536
0
    if (flag) {
3537
0
      buffer->address[toIndex] = code;
3538
0
      toIndex++;
3539
0
    }
3540
0
    fromIndex++;
3541
0
  }
3542
0
  buffer->count = toIndex;
3543
0
}
3544
3545
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3546
0
{
3547
0
  txInteger i;
3548
0
  for (i = 0; i < c; i++) {
3549
0
    txInteger code = source[i];
3550
0
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3551
0
      txInteger sIndex = code - mxHangulSBase;
3552
0
      txInteger lIndex = sIndex / mxHangulNCount;
3553
0
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3554
0
      txInteger tIndex = sIndex % mxHangulTCount;
3555
0
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3556
0
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3557
0
      if (tIndex > 0)
3558
0
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3559
0
      buffer->starterIndex = buffer->count;
3560
0
    }
3561
0
    else {
3562
0
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3563
0
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3564
0
      if (decompositionCount == 0) {
3565
0
        txInteger order = fxGetCombinationOrder(code);
3566
0
        if (order == 0) {
3567
0
          fxInsertDecomposition(the, buffer, buffer->count, code);
3568
0
          buffer->starterIndex = buffer->count;
3569
0
        }
3570
0
        else {
3571
0
          txInteger bufferIndex = buffer->count - 1;
3572
0
          txInteger starterIndex = buffer->starterIndex - 1;
3573
0
          while (bufferIndex > starterIndex) {
3574
0
            txInteger starterCode = buffer->address[bufferIndex];
3575
0
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3576
0
            if (starterOrder <= order) {
3577
0
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3578
0
              break;
3579
0
            }
3580
0
            bufferIndex--;
3581
0
          }
3582
0
          if (bufferIndex == starterIndex)
3583
0
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3584
0
        }
3585
0
      }
3586
0
      else
3587
0
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3588
0
    }
3589
0
  }
3590
0
}
3591
3592
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3593
0
{
3594
0
  txNormalizeBuffer _buffer;
3595
0
  txNormalizeBuffer* buffer = &_buffer;
3596
0
  txInteger source[mxSourceBufferCount];
3597
0
  txString p;
3598
3599
0
  mxPushUndefined();
3600
0
  buffer->slot = the->stack;
3601
0
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3602
0
  buffer->count = 0;
3603
0
  buffer->starterIndex = 0;
3604
3605
0
  p = string->value.string;
3606
0
  for (;;) {
3607
0
    txInteger* sourceAddress = source;
3608
0
    txInteger sourceIndex = 0;
3609
0
    while (sourceIndex < mxSourceBufferCount) {
3610
0
      p = mxStringByteDecode(p, sourceAddress);
3611
0
      if (*sourceAddress == C_EOF)
3612
0
        break;
3613
0
      sourceAddress++;
3614
0
      sourceIndex++;
3615
0
    }
3616
0
    if (sourceIndex) {
3617
0
      txInteger offset = mxPtrDiff(p - string->value.string);
3618
0
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3619
0
      p = string->value.string + offset;
3620
0
    }
3621
0
    if (sourceIndex < mxSourceBufferCount)
3622
0
      break;
3623
0
  }
3624
0
  if (form & 2)
3625
0
    fxNormalizeComposition(the, buffer);
3626
0
  if (buffer->count) {
3627
0
    txInteger resultIndex;
3628
0
    txInteger stringLength = 0;
3629
0
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3630
0
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3631
0
    stringLength++;
3632
0
    p = string->value.string = fxNewChunk(the, stringLength);
3633
0
    buffer->address = fxToArrayBuffer(the, the->stack);
3634
0
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3635
0
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3636
0
    *p = 0;
3637
0
  }
3638
  
3639
0
  mxPop();
3640
0
}
3641
3642
#endif