Coverage Report

Created: 2025-08-28 06:23

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