Coverage Report

Created: 2026-11-12 06:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/moddable/xs/sources/xsString.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016-2026  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.9k
{
65
23.9k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
23.9k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
23.9k
  cache->count = mxStringInfoCacheLength;
69
23.9k
  cache->head = 0;
70
23.9k
  cache->tail = 0;
71
23.9k
  the->stringInfoCache = cache;
72
23.9k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
23.9k
{
76
23.9k
  txStringInfoCache* cache = the->stringInfoCache;
77
23.9k
  if (cache)
78
23.9k
    c_free(cache);  
79
23.9k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
31.2k
{
83
31.2k
  txStringInfoCache* cache = the->stringInfoCache;
84
31.2k
  if (cache) {
85
31.2k
    cache->head = 0;
86
31.2k
    cache->tail = 0;
87
31.2k
  }
88
31.2k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
95.5M
{
92
95.5M
  txStringInfoCache* cache = the->stringInfoCache;
93
95.5M
  txStringInfo* info = C_NULL;
94
95.5M
  if (cache) {
95
95.5M
    txInteger count = cache->count;
96
95.5M
    txInteger head = cache->head;
97
95.5M
    txInteger tail = cache->tail;
98
95.5M
    txInteger i;
99
95.5M
    i = head - 1;
100
95.5M
    info = cache->infos + i;
101
101M
    while (i >= 0) {
102
78.4M
      if (info->string == string)
103
72.4M
        return info;
104
5.97M
      i--;
105
5.97M
      info--;
106
5.97M
    }
107
23.1M
    i = tail - 1;
108
23.1M
    info = cache->infos + i;
109
30.6M
    while (i >= head) {
110
28.2M
      if (info->string == string)
111
20.6M
        return info;
112
7.55M
      i--;
113
7.55M
      info--;
114
7.55M
    }
115
2.42M
    if (tail < count)
116
44.2k
      tail++;
117
2.42M
    info = cache->infos + head;
118
2.42M
    head++;
119
2.42M
    if (head == count)
120
596k
      head = 0;
121
2.42M
    cache->head = head; 
122
2.42M
    cache->tail = tail; 
123
2.42M
    info->string = string;
124
2.42M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
2.42M
    info->unicodeOffset = 0;
126
2.42M
    info->utf8Offset = 0;
127
2.42M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
2.42M
  }
129
2.42M
  return info;
130
95.5M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
6.68M
{
134
6.68M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
6.68M
  if (info) 
136
6.68M
    return info->utf8Length;
137
0
  return (txSize)c_strlen(string);
138
6.68M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
14.0M
{
142
14.0M
  txStringInfo* info;
143
14.0M
  if (offset <= 0)
144
431k
    return offset ? -1 : 0;  
145
13.5M
  info = fxCacheStringInfo(the, string);
146
13.5M
  if (info) {
147
13.5M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
13.5M
    txU1* p;
149
13.5M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
13.5M
    if ((info->ascii) /* || (offset == 0) */)
152
34.4k
      return offset;
153
13.5M
    if (offset == info->utf8Length)
154
281k
      return info->unicodeLength;
155
13.2M
    delta = offset - info->utf8Offset;
156
13.2M
    if (delta == 0)
157
7.07M
      return info->unicodeOffset;
158
6.19M
    if (delta > 0) {
159
5.30M
      if (delta < info->utf8Length - offset) {
160
5.11M
        sign = 1;
161
5.11M
        unicodeOffset = info->unicodeOffset + 1;
162
5.11M
        utf8Offset = info->utf8Offset + 1;
163
5.11M
      }
164
183k
      else {
165
183k
        sign = -1;
166
183k
        unicodeOffset = info->unicodeLength - 1;
167
183k
        utf8Offset = info->utf8Length - 1;
168
183k
      }
169
5.30M
    }
170
890k
    else {
171
890k
      if (0 - delta < offset) {
172
767k
        sign = -1;
173
767k
        unicodeOffset = info->unicodeOffset - 1;
174
767k
        utf8Offset = info->utf8Offset - 1;
175
767k
      }
176
123k
      else {
177
123k
        sign = 1;
178
123k
        unicodeOffset = 1;
179
123k
        utf8Offset = 1;
180
123k
      }
181
890k
    }
182
6.19M
    p = (txU1*)string + utf8Offset;
183
42.0M
    for (;;) {
184
42.0M
      if ((*p & 0xC0) != 0x80) {
185
23.4M
        if (utf8Offset == offset)
186
6.19M
          break;
187
17.2M
        unicodeOffset += sign;
188
17.2M
      }
189
35.8M
      p += sign;
190
35.8M
      utf8Offset += sign;
191
35.8M
    }
192
6.19M
    info->utf8Offset = utf8Offset;
193
6.19M
    info->unicodeOffset = unicodeOffset;
194
6.19M
    return unicodeOffset;
195
13.2M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
13.5M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
34.3M
{
201
34.3M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
34.3M
  if (info) 
203
34.3M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
34.3M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
42.4M
{
209
42.4M
  txStringInfo* info;
210
42.4M
  if (offset <= 0)
211
1.45M
    return offset ? -1 : 0;  
212
40.9M
  info = fxCacheStringInfo(the, string);
213
40.9M
  if (info) {
214
40.9M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
40.9M
    txU1* p;
216
40.9M
    if ((offset < 0) || (info->unicodeLength < offset))
217
239k
      return -1;
218
40.7M
    if ((info->ascii) || (offset == 0))
219
30.1k
      return offset;
220
40.6M
    if (offset == info->unicodeLength)
221
173k
      return info->utf8Length;
222
40.5M
    delta = offset - info->unicodeOffset;
223
40.5M
    if (delta == 0)
224
19.9M
      return info->utf8Offset;
225
20.5M
    if (delta > 0) {
226
19.0M
      if (delta < info->unicodeLength - offset) {
227
18.3M
        sign = 1;
228
18.3M
        unicodeOffset = info->unicodeOffset + 1;
229
18.3M
        utf8Offset = info->utf8Offset + 1;
230
18.3M
      }
231
668k
      else {
232
668k
        sign = -1;
233
668k
        unicodeOffset = info->unicodeLength - 1;
234
668k
        utf8Offset = info->utf8Length - 1;
235
668k
      }
236
19.0M
    }
237
1.51M
    else {
238
1.51M
      if (0 - delta < offset) {
239
1.44M
        sign = -1;
240
1.44M
        unicodeOffset = info->unicodeOffset - 1;
241
1.44M
        utf8Offset = info->utf8Offset - 1;
242
1.44M
      }
243
68.7k
      else {
244
68.7k
        sign = 1;
245
68.7k
        unicodeOffset = 1;
246
68.7k
        utf8Offset = 1;
247
68.7k
      }
248
1.51M
    }
249
20.5M
    p = (txU1*)string + utf8Offset;
250
74.6M
    for (;;) {
251
74.6M
      if ((*p & 0xC0) != 0x80) {
252
43.2M
        if (unicodeOffset == offset)
253
20.5M
          break;
254
22.7M
        unicodeOffset += sign;
255
22.7M
      }
256
54.0M
      p += sign;
257
54.0M
      utf8Offset += sign;
258
54.0M
    }
259
20.5M
    info->utf8Offset = utf8Offset;
260
20.5M
    info->unicodeOffset = unicodeOffset;
261
20.5M
    return utf8Offset;
262
40.5M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
40.9M
}
265
#endif
266
267
1.06M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
28.5M
#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.9k
{
315
23.9k
  txSlot* instance;
316
23.9k
  txSlot* property;
317
23.9k
  txSlot* slot;
318
  
319
23.9k
  mxPush(mxObjectPrototype);
320
23.9k
  instance = fxNewStringInstance(the);
321
  
322
23.9k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
23.9k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
23.9k
  property->value.home.object = instance;
325
23.9k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
23.9k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
23.9k
  property->value.home.object = instance;
328
23.9k
  mxPushUndefined();
329
23.9k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
23.9k
  the->stack->kind = XS_ACCESSOR_KIND;
331
23.9k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
23.9k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
23.9k
  mxPull(mxStringAccessor);
334
23.9k
  mxPop();
335
23.9k
  mxPop();
336
  
337
23.9k
  slot = fxLastProperty(the, instance);
338
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
23.9k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
23.9k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
23.9k
#if mxECMAScript2024
376
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
23.9k
#endif
379
23.9k
  mxStringPrototype = *the->stack;
380
23.9k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
23.9k
  mxStringConstructor = *the->stack;
382
23.9k
  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.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
23.9k
  mxPop();
390
391
23.9k
  mxPush(mxIteratorPrototype);
392
23.9k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
23.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_NO_FLAG);
394
23.9k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
23.9k
  mxPull(mxStringIteratorPrototype);
396
23.9k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
10.4M
{
400
10.4M
  txSlot* instance;
401
10.4M
  instance = fxNewObjectInstance(the);
402
10.4M
  instance->flag |= XS_EXOTIC_FLAG;
403
10.4M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
10.4M
  return instance;
405
10.4M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
11.4M
{
409
11.4M
  txSlot* string = C_NULL;
410
11.4M
  txID id = the->scratch.value.at.id;
411
11.4M
  txIndex index = the->scratch.value.at.index;
412
11.4M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
58.8k
    string = mxThis;
414
11.4M
  else {
415
11.4M
    txSlot* instance = fxToInstance(the, mxThis);
416
11.4M
    while (instance) {
417
11.4M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
11.4M
        string = instance->next;
419
11.4M
        break;
420
11.4M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
11.4M
  }
424
11.4M
  if (string) {
425
11.4M
    if (id == mxID(_length)) {
426
42.4k
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
42.4k
      mxResult->kind = XS_INTEGER_KIND;
428
42.4k
    }
429
11.4M
    else {
430
11.4M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
11.4M
      if (from >= 0) {
432
11.4M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
11.4M
        if (to >= 0) {
434
11.4M
          to += from;
435
11.4M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
11.4M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
11.4M
          mxResult->value.string[to - from] = 0;
438
11.4M
          mxResult->kind = XS_STRING_KIND;
439
11.4M
        }
440
11.4M
      }
441
11.4M
    }
442
11.4M
  }
443
11.4M
}
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.51k
{
451
1.51k
  if (id == mxID(_length)) {
452
51
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
51
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
51
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
51
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
51
    return 1;
461
51
  }
462
1.46k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
434
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
434
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
434
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
434
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
3
      return 0;
471
431
    return 1;
472
434
  }
473
1.03k
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
1.46k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
882
{
478
882
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
347
    return 0;
480
535
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
882
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
19.8M
{
485
19.8M
  if (id == mxID(_length)) {
486
423k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
423k
    descriptor->ID = id;
488
423k
    descriptor->kind = XS_INTEGER_KIND;
489
423k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
423k
    return 1;
491
423k
  }
492
19.3M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
16.3M
    txSlot* string = instance->next;
494
16.3M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
16.3M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
16.3M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
16.3M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
16.3M
    descriptor->value.string[length] = 0;
499
16.3M
    descriptor->kind = XS_STRING_KIND;
500
16.3M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
16.3M
    return 1;
502
16.3M
  }
503
3.00M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
19.3M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
36.4M
{
508
36.4M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
11.4M
    the->scratch.value.at.id = id;
510
11.4M
    the->scratch.value.at.index = index;
511
11.4M
    return &mxStringAccessor;
512
11.4M
  }
513
24.9M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
36.4M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
41.3k
{
518
41.3k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
15.5k
    return 1;
520
25.7k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
41.3k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
424k
{
525
424k
  txSlot* property = instance->next;
526
424k
  if (flag & XS_EACH_NAME_FLAG) {
527
424k
    txIndex length = mxStringInstanceLength(instance), index;
528
16.8M
    for (index = 0; index < length; index++)
529
16.4M
      keys = fxQueueKey(the, 0, index, keys);
530
424k
  }
531
424k
  property = property->next;
532
424k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
2.38k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
2.38k
    property = property->next;
535
2.38k
  }
536
424k
  if (flag & XS_EACH_NAME_FLAG)
537
424k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
424k
  fxQueueIDKeys(the, property, flag, keys);
539
424k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
1.17M
{
543
1.17M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
12.7k
    return C_NULL;
545
1.16M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
1.17M
}
547
548
void fx_String(txMachine* the)
549
23.9k
{
550
23.9k
  txSlot* slot;
551
23.9k
  txSlot* instance;
552
23.9k
  if (mxArgc > 0) {
553
16.1k
    slot = mxArgv(0);
554
16.1k
    if (!mxHasTarget && (slot->kind == XS_SYMBOL_KIND)) {
555
25
      fxSymbolToString(the, slot);
556
25
      *mxResult = *slot;
557
25
      return;
558
25
    }
559
16.1k
    fxToString(the, slot);
560
16.1k
  }
561
7.81k
  else {
562
7.81k
    slot = &mxEmptyString;
563
7.81k
  }
564
23.9k
  if (!mxHasTarget) {
565
7.78k
    *mxResult = *slot;
566
7.78k
    return;
567
7.78k
  }
568
16.1k
  mxPushSlot(mxTarget);
569
16.1k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
16.1k
  instance = fxNewStringInstance(the);
571
16.1k
  instance->next->kind = slot->kind; // @@
572
16.1k
  instance->next->value.key.string = slot->value.string;
573
16.1k
  mxPullSlot(mxResult);
574
16.1k
}
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
485k
{
672
485k
  txInteger length = 0;
673
485k
  txInteger count = mxArgc;
674
485k
  txInteger index = 0;
675
485k
  txInteger c; 
676
485k
  txString p;
677
1.08M
  while (index < count) {
678
603k
    txSlot *slot = mxArgv(index);
679
603k
    if (XS_INTEGER_KIND != slot->kind) {
680
141k
      txNumber number = fxToNumber(the, slot);
681
141k
      switch (c_fpclassify(number)) {
682
12
      case C_FP_INFINITE:
683
4.50k
      case C_FP_NAN:
684
4.51k
      case C_FP_ZERO:
685
4.51k
        slot->value.integer = 0;
686
4.51k
        break;
687
137k
      default:
688
270k
        #define MODULO 65536.0
689
137k
        number = c_fmod(c_trunc(number), MODULO);
690
137k
        if (number < 0)
691
132k
          number += MODULO;
692
137k
        slot->value.integer = (txInteger)number;
693
137k
        break;
694
141k
      }
695
141k
      slot->kind = XS_INTEGER_KIND;
696
141k
    }
697
461k
    else {
698
461k
      txInteger integer = slot->value.integer % 65536;
699
461k
      if (integer < 0)
700
365
        integer += 65536;
701
461k
      slot->value.integer = integer;
702
461k
    }
703
603k
    index++;
704
603k
  }
705
485k
  index = 0;
706
1.08M
  while (index < count) {
707
603k
    c = mxArgv(index)->value.integer;
708
603k
    index++;
709
603k
    if (index < count) {
710
117k
      txInteger d = mxArgv(index)->value.integer;
711
117k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
117k
    }  
716
603k
    length += mxStringByteLength(c);
717
603k
  }    
718
485k
  mxMeterSome(count);
719
485k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
485k
  mxResult->kind = XS_STRING_KIND;
721
485k
  p = mxResult->value.string;
722
485k
  index = 0;
723
1.08M
  while (index < count) {
724
603k
    c = mxArgv(index)->value.integer;
725
603k
    index++;
726
603k
    if (index < count) {
727
117k
      txInteger d = mxArgv(index)->value.integer;
728
117k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
117k
    }  
733
603k
    p = mxStringByteEncode(p, c);
734
603k
  }  
735
485k
  *p = 0;
736
485k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
53
{
740
53
  txInteger length = 0;
741
53
  txInteger count = mxArgc;
742
53
  txInteger index = 0;
743
53
  txInteger character; 
744
53
  txString p;
745
106
  while (index < count) {
746
75
    txNumber number = fxToNumber(the, mxArgv(index));
747
75
    txNumber check = c_trunc(number);
748
75
    if (number != check)
749
10
      mxRangeError("invalid code point %lf", number);
750
65
    if ((number < 0) || (0x10FFFF < number))
751
12
      mxRangeError("invalid code point %lf", number);
752
53
    mxArgv(index)->value.integer = (txInteger)number;
753
53
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
53
    index++;
755
53
  }
756
31
  index = 0;
757
75
  while (index < count) {
758
44
    character = mxArgv(index)->value.integer;
759
44
    length += mxStringByteLength(character);
760
44
    index++;
761
44
  }
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
75
  while (index < count) {
768
44
    character = mxArgv(index)->value.integer;
769
44
    p = mxStringByteEncode(p, character);
770
44
    index++;
771
44
  }  
772
31
  *p = 0;
773
31
}
774
775
void fx_String_raw(txMachine* the)
776
37
{
777
37
  txInteger argCount = mxArgc;
778
37
  txSlot* raw;
779
37
  txNumber rawCount;
780
37
  if (argCount > 0)
781
36
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
36
  mxPushSlot(mxArgv(0));
785
36
  mxGetID(mxID(_raw));
786
36
  raw = the->stack;
787
36
  mxPushSlot(raw);
788
36
  mxGetID(mxID(_length));
789
36
  rawCount = fxToLength(the, the->stack);
790
36
  mxPop();
791
36
  if (rawCount <= 0) {
792
11
    mxResult->value = mxEmptyString.value;
793
11
    mxResult->kind = mxEmptyString.kind;
794
11
  }
795
25
  else {
796
25
    txSlot* list;
797
25
    txInteger index = 0;
798
25
    txSlot* item;
799
25
    txInteger size;
800
25
    list = item = fxNewInstance(the);
801
25
    mxPushSlot(list);
802
195
    for (;;) {
803
195
      mxPushSlot(raw);
804
195
      mxGetIndex(index);
805
195
      fxToString(the, the->stack);
806
195
      item = item->next = fxNewSlot(the);
807
195
      mxPullSlot(item);
808
195
      index++;
809
195
      if (index == rawCount)
810
20
        break;
811
175
      if (index < argCount) {
812
20
        mxPushSlot(mxArgv(index));
813
20
        fxToString(the, the->stack);
814
20
      }
815
155
      else
816
155
        mxPush(mxEmptyString);
817
175
      item = item->next = fxNewSlot(the);
818
175
      mxPullSlot(item);
819
175
    }
820
25
    size = 0;
821
25
    item = list->next;
822
387
    while (item) {
823
362
      item->value.key.sum = mxStringLength(item->value.string);
824
362
      size = fxAddChunkSizes(the, size, item->value.key.sum);
825
362
      item = item->next;
826
362
    }
827
25
    size++;
828
25
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
25
    size = 0;
830
25
    item = list->next;
831
387
    while (item) {
832
362
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
362
      size += item->value.key.sum;
834
362
      item = item->next;
835
362
    }
836
25
    mxResult->value.string[size] = 0;
837
25
    mxPop();
838
25
    mxResult->kind = XS_STRING_KIND;
839
25
  }
840
36
  mxPop();
841
36
}
842
843
void fx_String_prototype_at(txMachine* the)
844
4.38k
{
845
4.38k
  txNumber index;
846
847
4.38k
  fxCoerceToString(the, mxThis);
848
4.38k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
4.38k
  if (c_isnan(index) || (index == 0))
850
2.99k
    index = 0;
851
1.39k
  else if (index < 0) {
852
1.29k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
1.29k
    if (index < 0)
854
1.23k
      return;
855
1.29k
  }
856
3.15k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
3.15k
  if (from >= 0) {
858
3.07k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
3.07k
    if (to >= 0) {
860
2.98k
      to += from;
861
2.98k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
2.98k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
2.98k
      mxResult->value.string[to - from] = 0;
864
2.98k
      mxResult->kind = XS_STRING_KIND;
865
2.98k
    }
866
3.07k
  }
867
3.15k
}
868
869
static txInteger fxPositionToIndex(txMachine* the, txInteger argi)
870
149k
{
871
149k
  if (mxArgc <= argi)
872
155
    return 0;
873
149k
  txSlot* slot = mxArgv(0);
874
149k
  if (slot->kind == XS_INTEGER_KIND)
875
148k
    return slot->value.integer;
876
601
  txNumber index = fxToNumber(the, slot);
877
601
  if (c_isnan(index) || (index == 0))
878
211
    return 0;
879
390
  if (index < -2147483648)
880
91
    return -2147483648;
881
299
  if (index > 2147483647)
882
97
    return 2147483647;
883
202
  return (txInteger)c_trunc(index);
884
299
}    
885
886
void fx_String_prototype_charAt(txMachine* the)
887
254k
{
888
254k
  txInteger anOffset;
889
254k
  txInteger aLength;
890
  
891
254k
  fxCoerceToString(the, mxThis);
892
254k
  anOffset = fxPositionToIndex(the, 0);
893
254k
  if (anOffset < 0) goto fail;
894
895
254k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
896
254k
  if (anOffset < 0) goto fail;
897
898
105k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
899
105k
  if (aLength < 0) goto fail;
900
901
105k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
902
105k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
903
105k
  mxResult->value.string[aLength] = 0;
904
105k
  mxResult->kind = XS_STRING_KIND;
905
105k
  return;
906
907
149k
fail:
908
149k
  mxResult->value.string = mxEmptyString.value.string;
909
149k
  mxResult->kind = mxEmptyString.kind;
910
149k
}
911
912
void fx_String_prototype_charCodeAt(txMachine* the)
913
270
{
914
270
  txInteger anOffset;
915
916
270
  fxCoerceToString(the, mxThis);
917
270
  anOffset = fxPositionToIndex(the, 0);
918
270
  if (anOffset < 0) goto fail;
919
920
266
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
921
266
  if (anOffset < 0) goto fail;
922
923
263
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
924
1
    goto fail;
925
926
262
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
927
262
  mxResult->kind = XS_INTEGER_KIND;
928
262
  return;
929
930
8
fail:
931
8
  mxResult->value.number = C_NAN;
932
8
  mxResult->kind = XS_NUMBER_KIND;
933
8
}
934
935
void fx_String_prototype_compare(txMachine* the)
936
0
{
937
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
938
0
  fx_String_prototype_localeCompare(the);
939
0
}
940
941
void fx_String_prototype_codePointAt(txMachine* the)
942
2.01k
{
943
2.01k
  txString string = fxCoerceToString(the, mxThis);
944
2.01k
  txInteger length = fxCacheUnicodeLength(the, string);
945
2.01k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
946
2.01k
  if (c_isnan(at))
947
1.16k
    at = 0;
948
2.01k
  if ((0 <= at) && (at < (txNumber)length)) {
949
1.74k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
950
1.74k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
951
1.74k
    if ((offset >= 0) && (length > 0)) {
952
1.74k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
953
1.74k
      mxResult->kind = XS_INTEGER_KIND;
954
1.74k
    }
955
1.74k
  }
956
2.01k
}
957
958
void fx_String_prototype_concat(txMachine* the)
959
1.36k
{
960
1.36k
  txInteger aCount;
961
1.36k
  txInteger aLength;
962
1.36k
  txInteger anIndex;
963
  
964
1.36k
  fxCoerceToString(the, mxThis);
965
1.36k
  aCount = mxArgc;
966
1.36k
  aLength = mxStringLength(mxThis->value.string);
967
4.74k
  for (anIndex = 0; anIndex < aCount; anIndex++)
968
3.37k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
969
1.36k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
970
1.36k
  mxResult->kind = XS_STRING_KIND;
971
1.36k
  c_strcpy(mxResult->value.string, mxThis->value.string);
972
4.74k
  for (anIndex = 0; anIndex < aCount; anIndex++)
973
3.37k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
974
1.36k
  mxMeterSome(aCount);
975
1.36k
}
976
977
void fx_String_prototype_endsWith(txMachine* the)
978
1.72k
{
979
1.72k
  txSlot* arg;
980
1.72k
  txString string = fxCoerceToString(the, mxThis);
981
1.72k
  txInteger length = fxCacheUnicodeLength(the, string);
982
1.72k
  txString searchString;
983
1.72k
  txInteger searchLength;
984
1.72k
  txInteger offset;
985
1.72k
  mxResult->kind = XS_BOOLEAN_KIND;
986
1.72k
  mxResult->value.boolean = 0;
987
1.72k
  if (mxArgc < 1)
988
1
    arg = &mxUndefinedString;
989
1.72k
  else
990
1.72k
    arg = mxArgv(0);
991
1.72k
  if (fxIsRegExp(the, arg))
992
1
    mxTypeError("future editions");
993
1.72k
  searchString = fxToString(the, arg);
994
1.72k
  offset = fxArgToPosition(the, 1, length, length);
995
1.72k
  string = mxThis->value.string;
996
1.72k
  searchString = arg->value.string;
997
1.72k
  searchLength = mxStringLength(searchString);
998
1.72k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
999
1.72k
  if (offset < searchLength)
1000
742
    return;
1001
982
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1002
982
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
1003
41
    mxResult->value.boolean = 1;
1004
982
}
1005
1006
void fx_String_prototype_includes(txMachine* the)
1007
93
{
1008
93
  txSlot* arg;
1009
93
  txString string = fxCoerceToString(the, mxThis);
1010
93
  txInteger length = fxCacheUnicodeLength(the, string);
1011
93
  txString searchString;
1012
93
  txInteger searchLength;
1013
93
  txInteger offset;
1014
93
  mxResult->kind = XS_BOOLEAN_KIND;
1015
93
  mxResult->value.boolean = 0;
1016
93
  if (mxArgc < 1)
1017
1
    arg = &mxUndefinedString;
1018
92
  else
1019
92
    arg = mxArgv(0);
1020
93
  if (fxIsRegExp(the, arg))
1021
1
    mxTypeError("future editions");
1022
92
  searchString = fxToString(the, arg);
1023
92
  offset = fxArgToPosition(the, 1, 0, length);
1024
92
  string = mxThis->value.string;
1025
92
  length = fxCacheUTF8Length(the, string);
1026
92
  searchString = arg->value.string;
1027
92
  searchLength = mxStringLength(searchString);
1028
92
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1029
92
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1030
26
    mxResult->value.boolean = 1;
1031
92
}
1032
1033
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1034
2.20M
{
1035
2.20M
  if (stringLength >= searchLength) {
1036
1.89M
    txString result = string;
1037
1.89M
    txString limit = string + stringLength - searchLength;
1038
361M
    while (result <= limit) {
1039
359M
      txU1 c;
1040
359M
      txU1* p = (txU1*)result;
1041
359M
      txU1* q = (txU1*)searchString;
1042
361M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1043
1.67M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1044
1.67M
        p++;
1045
1.67M
        q++;
1046
1.67M
      }
1047
359M
      if (c)
1048
359M
        result++;
1049
95.4k
      else
1050
95.4k
        return result;
1051
359M
      mxCheckMetering();
1052
359M
    }
1053
1.89M
  }
1054
2.10M
  return C_NULL;
1055
2.20M
}
1056
1057
void fx_String_prototype_indexOf(txMachine* the)
1058
225k
{
1059
225k
  txSlot* arg;
1060
225k
  txString aString;
1061
225k
  txString aSubString;
1062
225k
  txInteger aLength;
1063
225k
  txInteger aSubLength;
1064
225k
  txInteger anOffset;
1065
225k
  txNumber aNumber;
1066
225k
  txInteger aLimit;
1067
  
1068
225k
  aString = fxCoerceToString(the, mxThis);
1069
225k
  if (mxArgc < 1)
1070
1
    arg = &mxUndefinedString;
1071
225k
  else
1072
225k
    arg = mxArgv(0);
1073
225k
  aSubString = fxToString(the, arg);
1074
225k
  aString = mxThis->value.string;
1075
225k
  aLength = fxCacheUnicodeLength(the, aString);
1076
225k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1077
225k
  anOffset = 0;
1078
225k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1079
43.2k
    aNumber = fxToNumber(the, mxArgv(1));
1080
43.2k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1081
1082
43.2k
    aString = mxThis->value.string;
1083
43.2k
    aSubString = arg->value.string;
1084
43.2k
  }
1085
225k
  if (anOffset + aSubLength <= aLength) {
1086
225k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1087
225k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1088
68.1M
    while (anOffset <= aLimit) {
1089
67.9M
      txU1 c;
1090
67.9M
      txU1* p = (txU1*)aString + anOffset;
1091
67.9M
      txU1* q = (txU1*)aSubString;
1092
68.1M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1093
135k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1094
135k
        p++;
1095
135k
        q++;
1096
135k
      }
1097
67.9M
      if (c)
1098
67.9M
        anOffset++;
1099
42.9k
      else
1100
42.9k
        break;
1101
67.9M
      mxCheckMetering();
1102
67.9M
    }
1103
225k
    if (anOffset <= aLimit)
1104
42.9k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1105
182k
    else
1106
182k
      anOffset = -1;
1107
225k
  }
1108
110
  else
1109
110
    anOffset = -1;
1110
225k
  mxResult->value.integer = anOffset;
1111
225k
  mxResult->kind = XS_INTEGER_KIND;
1112
225k
}
1113
1114
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1115
    txInteger theLength, txInteger theOffset,
1116
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1117
268k
{
1118
268k
  theOffsets[0] = theOffset;
1119
268k
  theOffsets[1] = theOffset + theSubLength;
1120
16.4M
  while (theOffsets[1] <= theLength) {
1121
16.4M
    txU1 c;
1122
16.4M
    txU1* p = (txU1*)theString + theOffsets[0];
1123
16.4M
    txU1* q = (txU1*)theSubString;
1124
16.7M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1125
290k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1126
290k
      p++;
1127
290k
      q++;
1128
290k
    }
1129
16.4M
    if (c) {
1130
16.2M
      theOffsets[0]++;
1131
16.2M
      theOffsets[1]++;
1132
16.2M
    }
1133
265k
    else
1134
265k
      return 1;
1135
16.4M
  }
1136
3.02k
  return 0;
1137
268k
}
1138
1139
void fx_String_prototype_isWellFormed(txMachine* the)
1140
89
{
1141
89
  txString p = fxCoerceToString(the, mxThis);
1142
89
  mxResult->kind = XS_BOOLEAN_KIND;
1143
89
  mxResult->value.boolean = 1;
1144
338
  while (c_read8(p)) {
1145
287
    txInteger c;
1146
287
    p = mxStringByteDecode(p, &c);
1147
287
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1148
38
      mxResult->value.boolean = 0;
1149
38
      break;
1150
38
    }
1151
287
  }
1152
89
}
1153
1154
void fx_String_prototype_lastIndexOf(txMachine* the)
1155
182k
{
1156
182k
  txSlot* arg;
1157
182k
  txString aString;
1158
182k
  txString aSubString;
1159
182k
  txInteger aLength;
1160
182k
  txInteger aSubLength;
1161
182k
  txInteger anOffset;
1162
182k
  txNumber aNumber;
1163
1164
182k
  aString = fxCoerceToString(the, mxThis);
1165
182k
  if (mxArgc < 1)
1166
45.5k
    arg = &mxUndefinedString;
1167
136k
  else
1168
136k
    arg = mxArgv(0);
1169
182k
  aSubString = fxToString(the, arg);
1170
182k
  aString = mxThis->value.string;
1171
182k
  aLength = fxCacheUnicodeLength(the, aString);
1172
182k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1173
182k
  anOffset = aLength;
1174
182k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1175
181
    aNumber = fxToNumber(the, mxArgv(1));
1176
181
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1177
181
    anOffset += aSubLength;
1178
181
    if (anOffset > aLength)
1179
160
      anOffset = aLength;
1180
1181
181
    aString = mxThis->value.string;
1182
181
    aSubString = arg->value.string;
1183
181
  }
1184
182k
  if (anOffset - aSubLength >= 0) {
1185
182k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1186
9.01M
    while (anOffset >= 0) {
1187
8.96M
      txU1 c;
1188
8.96M
      txU1* p = (txU1*)aString + anOffset;
1189
8.96M
      txU1* q = (txU1*)aSubString;
1190
9.09M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1191
131k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1192
131k
        p++;
1193
131k
        q++;
1194
131k
      }
1195
8.96M
      if (c)
1196
8.83M
        anOffset--;
1197
131k
      else
1198
131k
        break;
1199
8.83M
      mxCheckMetering();
1200
8.83M
    }    
1201
182k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1202
182k
  }
1203
163
  else
1204
163
    anOffset = -1;
1205
182k
  mxResult->value.integer = anOffset;
1206
182k
  mxResult->kind = XS_INTEGER_KIND;
1207
182k
}
1208
1209
void fx_String_prototype_localeCompare(txMachine* the)
1210
113k
{
1211
113k
  txString aString;
1212
113k
  txString bString;
1213
1214
113k
  if (mxArgc < 1) {
1215
56.6k
    aString = fxCoerceToString(the, mxThis);
1216
56.6k
    bString = "undefined";
1217
56.6k
  }
1218
56.7k
  else {
1219
56.7k
    fxToString(the, mxArgv(0));
1220
56.7k
    aString = fxCoerceToString(the, mxThis);
1221
56.7k
    bString = mxArgv(0)->value.string;
1222
56.7k
  }
1223
113k
#ifdef mxMetering
1224
113k
  {
1225
113k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1226
113k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1227
113k
    if (aLength < bLength) {
1228
113k
      the->meterIndex += aLength * XS_STRING_METERING;
1229
113k
    }
1230
36
    else {
1231
36
      the->meterIndex += bLength * XS_STRING_METERING;
1232
36
    }
1233
113k
  }
1234
113k
#endif  
1235
113k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1236
113k
  mxResult->kind = XS_INTEGER_KIND;
1237
113k
}
1238
1239
void fx_String_prototype_match(txMachine* the)
1240
144k
{ 
1241
144k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1242
89.7k
    return;
1243
55.2k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1244
55.2k
}
1245
1246
void fx_String_prototype_matchAll(txMachine* the)
1247
2.31k
{ 
1248
2.31k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1249
558
    return;
1250
1.75k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1251
1.75k
}
1252
1253
void fx_String_prototype_normalize(txMachine* the)
1254
2.11M
{
1255
2.11M
  txFlag form;
1256
2.11M
  fxCoerceToString(the, mxThis);
1257
2.11M
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1258
1.87M
    form = 2;
1259
237k
  else {
1260
237k
    txString string = fxToString(the, mxArgv(0));
1261
237k
    if (!c_strcmp(string, "NFC"))
1262
21
      form = 2;
1263
237k
    else if (!c_strcmp(string, "NFD"))
1264
9
      form = 0;
1265
237k
    else if (!c_strcmp(string, "NFKC"))
1266
204k
      form = 3;
1267
33.0k
    else if (!c_strcmp(string, "NFKD"))
1268
33.0k
      form = 1;
1269
19
    else
1270
19
      mxRangeError("invalid form");
1271
237k
  }
1272
2.11M
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1273
2.11M
  mxResult->value.string = mxThis->value.string;
1274
2.11M
  mxResult->kind = mxThis->kind;
1275
2.11M
#ifdef mxStringNormalize
1276
2.11M
  fxNormalizeString(the, mxResult, form);
1277
#else 
1278
  {
1279
    txInteger max = 0;
1280
    txString string = mxResult->value.string;
1281
    for (;;) {
1282
      txInteger c;
1283
      string = mxStringByteDecode(string, &c);
1284
      if (c == C_EOF)
1285
        break;
1286
      if (max < c)
1287
        max = c;
1288
    }
1289
    if (max < 128) {
1290
    }
1291
    else if ((max < 256) && (form == 2)) {
1292
    }
1293
    else {
1294
      mxRangeError("not built-in");
1295
    }
1296
  }
1297
#endif
1298
2.11M
}
1299
1300
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1301
68.7k
{
1302
68.7k
  txString string = fxCoerceToString(the, mxThis), filler;
1303
68.7k
  txInteger stringLength = mxStringLength(string), fillerLength;
1304
68.7k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1305
68.7k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1306
68.7k
  *mxResult = *mxThis;
1307
68.7k
  if (resultSize > stringSize) {
1308
115
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1309
35
      mxPushStringX(" ");
1310
80
    else
1311
80
      mxPushSlot(mxArgv(1));
1312
115
    filler = fxToString(the, the->stack);
1313
115
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1314
115
    if (fillerSize > 0) {
1315
113
      txInteger delta = resultSize - stringSize;
1316
113
      txInteger count = delta / fillerSize;
1317
113
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1318
113
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1319
113
      mxResult->kind = XS_STRING_KIND;
1320
113
      string = fxToString(the, mxThis);
1321
113
      filler = fxToString(the, the->stack);
1322
113
      if (flag) {
1323
28
        c_memcpy(result, string, stringLength);
1324
28
        result += stringLength;
1325
28
      }
1326
113
      mxMeterSome(count);
1327
739k
      while (count) {
1328
739k
        c_memcpy(result, filler, fillerLength);
1329
739k
        count--;
1330
739k
        result += fillerLength;
1331
739k
      }
1332
113
      if (rest) {
1333
43
        mxMeterSome(1);
1334
43
        c_memcpy(result, filler, rest);
1335
43
        result += rest;
1336
43
      }
1337
113
      if (!flag) {
1338
83
        c_memcpy(result, string, stringLength);
1339
83
        result += stringLength;
1340
83
      }
1341
113
      *result = 0;
1342
113
    }
1343
115
    mxPop();
1344
115
  }
1345
68.7k
}
1346
1347
void fx_String_prototype_padEnd(txMachine* the)
1348
68.5k
{
1349
68.5k
  fx_String_prototype_pad(the, 1);
1350
68.5k
}
1351
1352
void fx_String_prototype_padStart(txMachine* the)
1353
151
{
1354
151
  fx_String_prototype_pad(the, 0);
1355
151
}
1356
1357
void fx_String_prototype_repeat(txMachine* the)
1358
74.1k
{
1359
74.1k
  txString string = fxCoerceToString(the, mxThis), result;
1360
74.1k
  txInteger length = mxStringLength(string);
1361
74.1k
  txInteger count = 0;
1362
74.1k
  txSlot *arg = mxArgv(0);
1363
74.1k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1364
20.5k
    if (XS_INTEGER_KIND == arg->kind) {
1365
93
      count = arg->value.integer;
1366
93
      if (count < 0)
1367
4
        mxRangeError("count < 0");
1368
93
    }
1369
20.4k
    else {
1370
20.4k
      txNumber value = fxToNumber(the, arg);
1371
20.4k
      if (c_isnan(value) || (value == 0))
1372
11.9k
        count = 0;
1373
8.46k
      else if (value < 0)
1374
5.42k
        mxRangeError("count < 0");
1375
3.03k
      else if (c_isfinite(value))
1376
1.98k
        count = (0x7FFFFFFF < value) ? 0x7FFFFFFF : (txInteger)c_trunc(value);
1377
1.05k
      else
1378
1.05k
        mxRangeError("count infinite");
1379
20.4k
    }
1380
20.5k
  }
1381
67.7k
  mxMeterSome(count);
1382
67.7k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1383
67.7k
  mxResult->kind = XS_STRING_KIND;
1384
67.7k
  string = fxToString(the, mxThis);
1385
67.7k
  if (length) {
1386
53.7M
    while (count) {
1387
53.6M
      c_memcpy(result, string, length);
1388
53.6M
      count--;
1389
53.6M
      result += length;
1390
53.6M
    }
1391
66.7k
  }
1392
67.7k
  *result = 0;
1393
67.7k
}
1394
1395
void fx_String_prototype_replace(txMachine* the)
1396
1.07M
{
1397
1.07M
  txString string;
1398
1.07M
  txSlot* match;
1399
1.07M
  txSize size;
1400
1.07M
  txSize matchLength;
1401
1.07M
  txSlot* function;
1402
1.07M
  txSlot* replace;
1403
1404
1.07M
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1405
130k
    return;
1406
949k
  fxToString(the, mxThis);
1407
949k
  if (mxArgc <= 0)
1408
949k
    mxPushUndefined();
1409
502
  else
1410
502
    mxPushSlot(mxArgv(0));
1411
949k
  match = the->stack;
1412
949k
  fxToString(the, match);
1413
949k
  if (mxArgc <= 1)
1414
949k
    mxPushUndefined();
1415
111
  else
1416
111
    mxPushSlot(mxArgv(1));
1417
949k
  if (fxIsCallable(the, the->stack)) {
1418
3
    function = the->stack;
1419
3
    replace = C_NULL;
1420
3
  }
1421
949k
  else {   
1422
949k
    replace = the->stack;
1423
949k
    fxToString(the, replace);
1424
949k
    function = C_NULL;
1425
949k
  }
1426
949k
  size = mxStringLength(mxThis->value.string);
1427
949k
  matchLength = mxStringLength(match->value.string);
1428
949k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1429
949k
  if (string) {
1430
93.0k
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1431
93.0k
    txSize replaceLength;
1432
93.0k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1433
93.0k
    replaceLength = mxStringLength(the->stack->value.string);
1434
93.0k
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1435
93.0k
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1436
93.0k
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1437
93.0k
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1438
93.0k
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1439
93.0k
    mxResult->kind = XS_STRING_KIND;
1440
93.0k
    mxPop();
1441
93.0k
  }
1442
856k
  else
1443
856k
    *mxResult = *mxThis;
1444
949k
  mxPop();
1445
949k
  mxPop();
1446
949k
}
1447
1448
void fx_String_prototype_replaceAll(txMachine* the)
1449
1.35M
{
1450
1.35M
  txSlot* match;
1451
1.35M
  txSlot* function;
1452
1.35M
  txSlot* replace;
1453
1.35M
  txInteger size;
1454
1.35M
  txInteger matchLength;
1455
1.35M
  txInteger resultSize = 0;
1456
1.35M
  txSlot* list;
1457
1.35M
  txSlot* item;
1458
1.35M
  txInteger offset = 0;
1459
1.35M
  txBoolean flag = 0;
1460
1461
1.35M
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1462
83
    return;
1463
1.35M
  fxToString(the, mxThis);
1464
1.35M
  if (mxArgc <= 0)
1465
10
    mxPushUndefined();
1466
1.35M
  else
1467
1.35M
    mxPushSlot(mxArgv(0));
1468
1.35M
  match = the->stack;
1469
1.35M
  fxToString(the, match);
1470
1.35M
  if (mxArgc <= 1)
1471
1.05M
    mxPushUndefined();
1472
298k
  else
1473
298k
    mxPushSlot(mxArgv(1));
1474
1.35M
  if (fxIsCallable(the, the->stack)) {
1475
298k
    function = the->stack;
1476
298k
    replace = C_NULL;
1477
298k
  }
1478
1.05M
  else {   
1479
1.05M
    replace = the->stack;
1480
1.05M
    fxToString(the, replace);
1481
1.05M
    function = C_NULL;
1482
1.05M
  }
1483
1.35M
  size = mxStringLength(mxThis->value.string);
1484
1.35M
  matchLength = mxStringLength(match->value.string);
1485
  
1486
1.35M
  list = item = fxNewInstance(the);
1487
1.35M
  mxPushSlot(list);
1488
  
1489
1.35M
  if (!matchLength) {
1490
107k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1491
107k
    item = item->next = fxNewSlot(the);
1492
107k
    mxPullSlot(item);
1493
107k
    item->value.key.sum = mxStringLength(item->value.string);
1494
107k
    resultSize += item->value.key.sum;
1495
107k
    flag = 1;
1496
107k
  }
1497
4.45M
  while (offset < size) {
1498
3.09M
    txInteger current;
1499
3.09M
    if (!matchLength) {
1500
1.84M
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1501
1.84M
    }
1502
1.25M
    else {
1503
1.25M
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1504
1.25M
            if (string)
1505
2.42k
        current = mxPtrDiff(string - mxThis->value.string);
1506
1.24M
      else
1507
1.24M
        current = size;
1508
1.25M
    }
1509
3.09M
    if (offset < current) {
1510
3.09M
      txInteger length = current - offset;
1511
3.09M
      item = item->next = fxNewSlot(the);
1512
3.09M
      item->value.dataView.offset = offset;
1513
3.09M
      item->value.dataView.size = length;
1514
3.09M
      item->kind = XS_DATA_VIEW_KIND;
1515
3.09M
      resultSize += length;
1516
3.09M
    }
1517
3.09M
    if ((!matchLength) || (current < size)) {
1518
1.84M
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1519
1.84M
      item = item->next = fxNewSlot(the);
1520
1.84M
            mxPullSlot(item);
1521
1.84M
      item->value.key.sum = mxStringLength(item->value.string);
1522
1.84M
      resultSize += item->value.key.sum;
1523
1.84M
      flag = 1;
1524
1.84M
    }
1525
3.09M
    offset = current + matchLength;
1526
3.09M
  }    
1527
1.35M
  if (flag) {
1528
107k
    resultSize++;
1529
107k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1530
107k
    offset = 0;
1531
107k
    item = list->next;
1532
3.90M
    while (item) {
1533
3.79M
      if (item->kind == XS_DATA_VIEW_KIND) {
1534
1.84M
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1535
1.84M
        offset += item->value.dataView.size;
1536
1.84M
      }
1537
1.95M
      else {
1538
1.95M
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1539
1.95M
        offset += item->value.key.sum;
1540
1.95M
      }
1541
3.79M
      item = item->next;
1542
3.79M
    }
1543
107k
    mxResult->value.string[offset] = 0;
1544
107k
    mxResult->kind = XS_STRING_KIND;
1545
107k
  }
1546
1.24M
  else {
1547
1.24M
    mxResult->value = mxThis->value;
1548
1.24M
    mxResult->kind = mxThis->kind;
1549
1.24M
  }
1550
  
1551
1.35M
  mxPop();
1552
  
1553
1.35M
  mxPop();
1554
1.35M
  mxPop();
1555
1.35M
}
1556
1557
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1558
2.04M
{
1559
2.04M
  if (function) {
1560
1.94M
    mxPushUndefined();
1561
1.94M
    mxPushSlot(function);
1562
1.94M
    mxCall();
1563
1.94M
    mxPushSlot(match);
1564
1.94M
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1565
1.94M
    mxPushSlot(mxThis);
1566
1.94M
    mxRunCount(3);
1567
1.94M
    fxToString(the, the->stack);
1568
1.94M
  }
1569
95.4k
  else
1570
95.4k
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1571
2.04M
}
1572
1573
void fx_String_prototype_search(txMachine* the)
1574
2.33k
{
1575
2.33k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1576
22
    return;
1577
2.31k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1578
2.31k
}
1579
1580
void fx_String_prototype_slice(txMachine* the)
1581
50.1k
{
1582
50.1k
  txString string = fxCoerceToString(the, mxThis);
1583
50.1k
  txInteger length = fxCacheUnicodeLength(the, string);
1584
50.1k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1585
50.1k
  txNumber end = fxArgToIndex(the, 1, length, length);
1586
50.1k
  if (start < end) {
1587
18.1k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1588
18.1k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1589
18.1k
    if ((offset >= 0) && (length > 0)) {
1590
18.1k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1591
18.1k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1592
18.1k
      mxResult->value.string[length] = 0;
1593
18.1k
      mxResult->kind = XS_STRING_KIND;
1594
18.1k
      return;
1595
18.1k
    }
1596
18.1k
  }
1597
31.9k
  mxResult->value.string = mxEmptyString.value.string;
1598
31.9k
  mxResult->kind = mxEmptyString.kind;
1599
31.9k
}
1600
1601
void fx_String_prototype_split(txMachine* the)
1602
267k
{
1603
267k
  txString aString;
1604
267k
  txInteger aLength;
1605
267k
  txIndex aLimit;
1606
267k
  txSlot* anArray;
1607
267k
  txSlot* anItem;
1608
267k
  txInteger anOffset;
1609
267k
  txInteger aCount;
1610
267k
  txString aSubString;
1611
267k
  txInteger aSubLength;
1612
267k
  txInteger aSubOffset;
1613
267k
  txInteger subOffsets[2];
1614
1615
267k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1616
28.8k
    return;
1617
238k
  aString = fxToString(the, mxThis);
1618
238k
  aLength = mxStringLength(aString);
1619
238k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1620
238k
  mxPush(mxArrayPrototype);
1621
238k
  anArray = fxNewArrayInstance(the);
1622
238k
  mxPullSlot(mxResult);
1623
238k
  fxGetInstance(the, mxResult);
1624
238k
  anItem = fxLastProperty(the, anArray);
1625
238k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1626
521
    if (!aLimit)
1627
46
      goto bail;
1628
475
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1629
475
    goto bail;
1630
521
  }
1631
237k
  aSubString = fxToString(the, mxArgv(0));
1632
237k
  aSubLength = mxStringLength(aSubString);
1633
237k
  if (!aLimit)
1634
892
    goto bail;
1635
236k
  if (aSubLength == 0) {
1636
232k
    anOffset = 0;
1637
12.3M
    while (anOffset < aLength) {
1638
12.0M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1639
12.0M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1640
12.0M
      if (anArray->next->value.array.length >= aLimit)
1641
0
        goto bail;
1642
12.0M
      anOffset = aSubOffset;
1643
12.0M
    }
1644
232k
  }
1645
4.32k
  else if (aLength == 0) {
1646
201
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1647
201
  }
1648
4.12k
  else {
1649
4.12k
    anOffset = 0;
1650
268k
    for (;;) {
1651
268k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1652
268k
      if (aCount <= 0)
1653
3.02k
        break;
1654
265k
      if (anOffset <= subOffsets[0]) {
1655
265k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1656
265k
        if (anArray->next->value.array.length >= aLimit)
1657
841
          goto bail;
1658
265k
      }
1659
264k
      anOffset = subOffsets[1];
1660
264k
    }
1661
3.28k
    if (anOffset <= aLength)
1662
3.02k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1663
3.28k
  }
1664
238k
bail:
1665
238k
  fxCacheArray(the, anArray);
1666
238k
}
1667
1668
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1669
12.3M
{
1670
12.3M
  theStop -= theStart;
1671
12.3M
  theItem->next = fxNewSlot(the);
1672
12.3M
  theItem = theItem->next;
1673
12.3M
  theItem->next = C_NULL;
1674
12.3M
  if (theStart >= 0) {
1675
12.3M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1676
12.3M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1677
12.3M
    theItem->value.string[theStop] = 0;
1678
12.3M
    theItem->kind = XS_STRING_KIND;
1679
12.3M
  }
1680
12.3M
  theArray->next->value.array.length++;
1681
12.3M
  return theItem;
1682
12.3M
}
1683
1684
void fx_String_prototype_startsWith(txMachine* the)
1685
124
{
1686
124
  txSlot* arg;
1687
124
  txString string = fxCoerceToString(the, mxThis);
1688
124
  txInteger length = fxCacheUnicodeLength(the, string);
1689
124
  txString searchString;
1690
124
  txInteger searchLength;
1691
124
  txInteger offset;
1692
124
  mxResult->kind = XS_BOOLEAN_KIND;
1693
124
  mxResult->value.boolean = 0;
1694
124
  if (mxArgc < 1)
1695
1
    arg = &mxUndefinedString;
1696
123
  else
1697
123
    arg = mxArgv(0);
1698
124
  if (fxIsRegExp(the, arg))
1699
1
    mxTypeError("future editions");
1700
123
  searchString = fxToString(the, arg);
1701
123
  offset = fxArgToPosition(the, 1, 0, length);
1702
123
  string = mxThis->value.string;
1703
123
  length = fxCacheUTF8Length(the, string);
1704
123
  searchString = arg->value.string;
1705
123
  searchLength = mxStringLength(searchString);
1706
123
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1707
123
  if (length - offset < searchLength)
1708
28
    return;
1709
95
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1710
95
  if (!c_strncmp(string + offset, searchString, searchLength))
1711
28
    mxResult->value.boolean = 1;
1712
95
}
1713
1714
void fx_String_prototype_substr(txMachine* the)
1715
764k
{
1716
764k
  txString string = fxCoerceToString(the, mxThis);
1717
764k
  txInteger size = fxCacheUnicodeLength(the, string);
1718
764k
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1719
764k
  txInteger stop = size;
1720
764k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1721
583k
    txInteger length = fxToInteger(the, mxArgv(1));
1722
583k
    if (length > size - start)
1723
503k
      stop = size;
1724
80.5k
    else
1725
80.5k
      stop = start + length;
1726
583k
  }  
1727
764k
  if (start < stop) {
1728
3.81k
    txInteger length;
1729
3.81k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1730
3.81k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1731
3.81k
    length = stop - start;
1732
3.81k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1733
3.81k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1734
3.81k
    mxResult->value.string[length] = 0;
1735
3.81k
    mxResult->kind = XS_STRING_KIND;
1736
3.81k
  }
1737
760k
  else {
1738
760k
    mxResult->value.string = mxEmptyString.value.string;
1739
760k
    mxResult->kind = mxEmptyString.kind;
1740
760k
  }
1741
764k
}
1742
1743
void fx_String_prototype_substring(txMachine* the)
1744
148k
{
1745
148k
  txString aString;
1746
148k
  txInteger aLength;
1747
148k
  txNumber aNumber;
1748
148k
  txInteger aStart;
1749
148k
  txInteger aStop;
1750
148k
  txInteger anOffset;
1751
1752
148k
  aString = fxCoerceToString(the, mxThis);
1753
148k
  aLength = fxCacheUnicodeLength(the, aString);
1754
148k
  aStart = 0;
1755
148k
  aStop = aLength;
1756
148k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1757
148k
    aNumber = fxToNumber(the, mxArgv(0));
1758
148k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1759
148k
  }
1760
148k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1761
39
    aNumber = fxToNumber(the, mxArgv(1));
1762
39
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1763
39
  }
1764
148k
  if (aStart > aStop) {
1765
3
    aLength = aStart;
1766
3
    aStart = aStop;
1767
3
    aStop = aLength;
1768
3
  }
1769
148k
  if (aStart < aStop) {
1770
20
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1771
20
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1772
20
    if ((anOffset >= 0) && (aLength > 0)) {
1773
20
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1774
20
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1775
20
      mxResult->value.string[aLength] = 0;
1776
20
      mxResult->kind = XS_STRING_KIND;
1777
20
    }
1778
0
    else {
1779
0
      mxResult->value.string = mxEmptyString.value.string;
1780
0
      mxResult->kind = mxEmptyString.kind;
1781
0
    }
1782
20
  }
1783
148k
  else {
1784
148k
    mxResult->value.string = mxEmptyString.value.string;
1785
148k
    mxResult->kind = mxEmptyString.kind;
1786
148k
  }
1787
148k
}
1788
1789
void fx_String_prototype_toLowerCase(txMachine* the)
1790
310
{
1791
310
  fxCoerceToString(the, mxThis);
1792
310
  fx_String_prototype_toCase(the, 0);
1793
310
}
1794
1795
void fx_String_prototype_toUpperCase(txMachine* the)
1796
230
{
1797
230
  fxCoerceToString(the, mxThis);
1798
230
  fx_String_prototype_toCase(the, 1);
1799
230
}
1800
1801
void fx_String_prototype_toWellFormed(txMachine* the)
1802
53
{
1803
53
  txString string = fxCoerceToString(the, mxThis);
1804
53
  txSize length = mxStringLength(string);
1805
53
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1806
53
  mxResult->kind = XS_STRING_KIND;
1807
53
  txString p = mxThis->value.string;
1808
53
  txString q = mxResult->value.string;
1809
495
  while (c_read8(p)) {
1810
442
    txInteger c;
1811
442
    p = mxStringByteDecode(p, &c);
1812
442
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1813
31
      c = 0x0000FFFD;
1814
442
    q = mxStringByteEncode(q, c);
1815
442
  }
1816
53
  *q = 0;
1817
53
}
1818
1819
void fx_String_prototype_trim(txMachine* the)
1820
237
{
1821
237
  fx_String_prototype_trimAux(the, 1, 1);
1822
237
}
1823
1824
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1825
269
{
1826
269
  txString string = fxCoerceToString(the, mxThis), start;
1827
269
  txInteger offset, length, trimmed = 0;
1828
269
  if (trimStart) {
1829
254
    start = fxSkipSpaces(string);
1830
254
    offset = mxPtrDiff(start - string);
1831
254
    mxMeterSome(offset);
1832
254
    trimmed = offset > 0;
1833
254
  }
1834
15
  else {
1835
15
    start = string;
1836
15
    offset = 0;
1837
15
  }
1838
269
  if (trimEnd) {
1839
246
    txString end = start;
1840
246
    txString current = fxSkipSpaces(end);
1841
1.40k
    while (c_read8(current)) {
1842
1.15k
      end = current + 1;
1843
1.15k
      current = fxSkipSpaces(end);
1844
1.15k
    }
1845
246
    length = mxPtrDiff(end - start);
1846
246
    mxMeterSome(length);
1847
246
    trimmed = trimmed || (end < current);
1848
246
  }
1849
23
  else
1850
23
    length = mxStringLength(start);
1851
269
  if (trimmed) {
1852
224
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1853
224
    c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1854
224
    mxResult->value.string[length] = 0;
1855
224
    mxResult->kind = XS_STRING_KIND;
1856
224
  }
1857
45
  else {
1858
45
    mxResult->value.string = mxThis->value.string;
1859
45
    mxResult->kind = mxThis->kind;
1860
45
  }
1861
269
}
1862
1863
void fx_String_prototype_trimEnd(txMachine* the)
1864
11
{
1865
11
  fx_String_prototype_trimAux(the, 0, 1);
1866
11
}
1867
1868
void fx_String_prototype_trimStart(txMachine* the)
1869
21
{
1870
21
  fx_String_prototype_trimAux(the, 1, 0);
1871
21
}
1872
1873
void fx_String_prototype_valueOf(txMachine* the)
1874
376k
{
1875
376k
  txSlot* slot = fxCheckString(the, mxThis);
1876
376k
  if (!slot) mxTypeError("this: not a string");
1877
376k
  mxResult->kind = slot->kind;
1878
376k
  mxResult->value = slot->value;
1879
376k
}
1880
1881
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1882
2.85M
{
1883
2.85M
  if (mxIsUndefined(mxThis))
1884
809
    mxTypeError("this: undefined");
1885
2.85M
  if (mxIsNull(mxThis))
1886
1
    mxTypeError("this: null");
1887
2.85M
  if (mxArgc > 0) {
1888
1.90M
    txSlot* regexp = mxArgv(0);
1889
1.90M
    if (mxIsReference(regexp)) {
1890
498k
      if (global && fxIsRegExp(the, regexp)) {
1891
656
        mxPushSlot(regexp);
1892
656
        mxGetID(mxID(_flags));
1893
656
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1894
10
          mxTypeError("regexp has no g flag");
1895
646
        mxPop();
1896
646
      }
1897
498k
      mxPushSlot(regexp);
1898
498k
      mxPushSlot(regexp);
1899
498k
      mxGetID(id);
1900
498k
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1901
249k
        mxCall();
1902
249k
        mxPushSlot(mxThis);
1903
249k
        if (count > 1) {
1904
159k
          if (mxArgc > 1)
1905
130k
            mxPushSlot(mxArgv(1));
1906
28.6k
          else
1907
28.6k
            mxPushUndefined();
1908
159k
        }
1909
249k
        mxRunCount(count);
1910
249k
        mxPullSlot(mxResult);
1911
249k
        return 1;
1912
249k
      }
1913
249k
      mxPop();
1914
249k
      mxPop();
1915
249k
    }
1916
1.90M
  }
1917
2.60M
  return 0;
1918
2.85M
}
1919
1920
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1921
58.5k
{
1922
58.5k
  fxToString(the, mxThis);
1923
58.5k
  mxPush(mxRegExpPrototype);
1924
58.5k
  fxNewRegExpInstance(the);
1925
58.5k
  mxPush(mxInitializeRegExpFunction);
1926
58.5k
  mxCall();
1927
58.5k
  if (mxArgc > 0)
1928
58.1k
    mxPushSlot(mxArgv(0));
1929
359
  else
1930
359
    mxPushUndefined();
1931
58.5k
  if (global)
1932
1.74k
    mxPushStringX("g");
1933
56.7k
  else
1934
56.7k
    mxPushUndefined();
1935
58.5k
  mxRunCount(2);
1936
58.5k
  mxDub();
1937
58.5k
  mxGetID(id);
1938
58.5k
  mxCall();
1939
58.5k
  mxPushSlot(mxThis);
1940
58.5k
  if (count > 1) {
1941
0
    if (mxArgc > 1)
1942
0
      mxPushSlot(mxArgv(1));
1943
0
    else
1944
0
      mxPushUndefined();
1945
0
  }
1946
58.5k
  mxRunCount(count);
1947
58.5k
  mxPullSlot(mxResult);
1948
58.5k
}
1949
1950
txSlot* fxCheckString(txMachine* the, txSlot* it)
1951
376k
{
1952
376k
  txSlot* result = C_NULL;
1953
376k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1954
61
    result = it;
1955
376k
  else if (it->kind == XS_REFERENCE_KIND) {
1956
376k
    it = it->value.reference->next;
1957
376k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1958
376k
      result = it;
1959
376k
  }
1960
376k
  return result;
1961
376k
}
1962
1963
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1964
4.84M
{
1965
4.84M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1966
105k
    mxTypeError("this: undefined");
1967
4.73M
  if (theSlot->kind == XS_NULL_KIND)
1968
28
    mxTypeError("this: null");
1969
4.73M
  return fxToString(the, theSlot);
1970
4.73M
}
1971
1972
void fx_String_prototype_iterator(txMachine* the)
1973
831k
{
1974
831k
  txSlot* property;
1975
831k
  fxCoerceToString(the, mxThis);
1976
831k
  mxPush(mxStringIteratorPrototype);
1977
831k
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1978
831k
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1979
831k
  mxPullSlot(mxResult);
1980
831k
}
1981
1982
void fx_String_prototype_iterator_next(txMachine* the)
1983
17.5M
{
1984
17.5M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1985
17.5M
  txSlot* result = iterator->next;
1986
17.5M
  txSlot* iterable = result->next;
1987
17.5M
  txSlot* index = iterable->next;
1988
17.5M
  txSlot* length = index->next;
1989
17.5M
  txSlot* value = fxCheckIteratorResult(the, result);
1990
17.5M
  txSlot* done = value->next;
1991
17.5M
  if (index->value.integer < length->value.integer) {
1992
16.7M
    txInteger character, size;
1993
16.7M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1994
16.7M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1995
16.7M
    size = mxStringByteLength(character);
1996
16.7M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1997
16.7M
    string = mxStringByteEncode(value->value.string, character);
1998
16.7M
    *string = 0;
1999
16.7M
    value->kind = XS_STRING_KIND;
2000
16.7M
  }
2001
831k
  else {
2002
831k
    value->kind = XS_UNDEFINED_KIND;
2003
831k
    done->value.boolean = 1;
2004
831k
  }
2005
17.5M
  mxResult->kind = result->kind;
2006
17.5M
  mxResult->value = result->value;
2007
17.5M
}
2008
2009
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
2010
1.93k
{
2011
1.93k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
2012
190
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
2013
190
    if (c_isnan(i))
2014
22
      i = 0;
2015
190
    if (i < 0)
2016
21
      index = 0;
2017
169
    else if (i > (txNumber)length)
2018
19
      index = length;
2019
150
    else
2020
150
      index = (txInteger)i;
2021
190
  }
2022
1.93k
  return index;
2023
1.93k
}
2024
2025
#if __has_builtin(__builtin_add_overflow)
2026
  #define mxAddSize(a, b) \
2027
206M
    if (__builtin_add_overflow(a, b, &a)) \
2028
206M
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT)
2029
#else
2030
  #define mxAddSize(a, b) \
2031
    if ((txInteger)((txU4)a + (txU4)b) < a) \
2032
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT); \
2033
    else \
2034
      a = (txInteger)((txU4)a + (txU4)b)
2035
#endif
2036
2037
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
2038
1.79M
{
2039
1.79M
  txString r;
2040
1.79M
  txInteger l;
2041
1.79M
  txBoolean flag;
2042
1.79M
  txByte c, d;
2043
1.79M
  txInteger i, j;
2044
1.79M
  txSlot* capture;
2045
1.79M
  txString s;
2046
1.79M
  txSlot* result;
2047
1.79M
  txSlot* group;
2048
1.79M
  mxPushSlot(replace);
2049
1.79M
  result = the->stack;
2050
1.79M
  group = result;
2051
1.79M
  r = replace->value.string;
2052
1.79M
  l = 0;
2053
1.79M
  flag = 0;
2054
208M
  while ((c = c_read8(r++))) {
2055
206M
    txInteger delta = 1;
2056
206M
    if (c == '$') {
2057
168M
      c = c_read8(r++);
2058
168M
      switch (c) {
2059
2.00k
      case '$':
2060
2.00k
        flag = 1;
2061
2.00k
        break;
2062
1.48k
      case '&':
2063
1.48k
        delta = length;
2064
1.48k
        flag = 1;
2065
1.48k
        break;
2066
189
      case '`':
2067
189
        delta = offset;
2068
189
        flag = 1;
2069
189
        break;
2070
2.36k
      case '\'':
2071
2.36k
        delta = size - offset - length;
2072
2.36k
        if (delta < 0)
2073
3
          delta = 0;
2074
2.36k
        flag = 1;
2075
2.36k
        break;
2076
3.64k
      case '<':
2077
3.64k
        if (groups && mxIsReference(groups)) {
2078
2.87k
          txString t = r;
2079
138k
          while ((d = c_read8(r))) {
2080
137k
            if (d == '>')
2081
1.79k
              break;
2082
135k
            r++;
2083
135k
          }
2084
2.87k
          if (d) {
2085
1.79k
            txInteger n = mxPtrDiff(r - t);
2086
1.79k
            txID name = XS_NO_ID;
2087
1.79k
            if ((size_t)(n + 1) <= sizeof(the->nameBuffer)) {
2088
1.49k
              c_memcpy(the->nameBuffer, t, n);
2089
1.49k
              the->nameBuffer[n] = 0;
2090
1.49k
              name = fxFindName(the, the->nameBuffer);
2091
1.49k
            }
2092
1.79k
            delta = 0;
2093
1.79k
            if (name) {
2094
275
              mxPushSlot(groups);
2095
275
              mxGetID(name);
2096
275
              if (!mxIsUndefined(the->stack)) {
2097
143
                fxToString(the, the->stack);
2098
143
                delta = mxStringLength(the->stack->value.string);
2099
143
              }
2100
275
            }
2101
1.51k
            else
2102
1.51k
              mxPushUndefined();
2103
1.79k
            r++;
2104
1.79k
            flag = 1;
2105
1.79k
          }
2106
1.08k
          else {
2107
1.08k
            r = t;
2108
1.08k
            delta = 2;
2109
1.08k
          }
2110
2.87k
        }
2111
769
        else {
2112
769
          delta = 2;
2113
769
        }
2114
3.64k
        break;
2115
168M
      default:
2116
168M
        if (('0' <= c) && (c <= '9')) {
2117
168M
          i = c - '0';
2118
168M
          d = c_read8(r);
2119
168M
          if (('0' <= d) && (d <= '9')) {
2120
26.8k
            j = (i * 10) + d - '0';
2121
26.8k
            if ((0 < j) && (j <= count)) {
2122
494
              i = j;
2123
494
              r++;
2124
494
            }
2125
26.3k
            else
2126
26.3k
              d = 0;
2127
26.8k
          }
2128
168M
          else
2129
168M
            d = 0;
2130
168M
          if ((0 < i) && (i <= count)) {
2131
157k
            capture = (captures + count - i);
2132
157k
            delta = 0;
2133
157k
            if (capture->kind != XS_UNDEFINED_KIND)
2134
156k
              delta = mxStringLength(capture->value.string);
2135
157k
            flag = 1;
2136
157k
          }
2137
168M
          else
2138
168M
            delta = d ? 3 : 2;
2139
168M
        }
2140
2.53k
        else {
2141
2.53k
          if (c)
2142
1.89k
            delta = 2;
2143
639
          else
2144
639
            r--;
2145
2.53k
        }
2146
168M
        break;
2147
168M
      }
2148
168M
    }
2149
206M
    mxAddSize(l, delta);
2150
206M
  }
2151
1.79M
  if (flag) {
2152
3.35k
    result->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2153
3.35k
    result->kind = XS_STRING_KIND;
2154
3.35k
    group = result;
2155
3.35k
    r = replace->value.string;
2156
3.35k
    s = result->value.string;
2157
512k
    while ((c = c_read8(r++))) {
2158
509k
      if (c == '$') {
2159
38.6k
        c = c_read8(r++);
2160
38.6k
        switch (c) {
2161
2.00k
        case '$':
2162
2.00k
          *s++ = c;
2163
2.00k
          break;
2164
1.48k
        case '&':
2165
1.48k
          l = length;
2166
1.48k
          c_memcpy(s, match->value.string, l);
2167
1.48k
          s += l;
2168
1.48k
          break;
2169
189
        case '`':
2170
189
          l = offset;
2171
189
          c_memcpy(s, string->value.string, l);
2172
189
          s += l;
2173
189
          break;
2174
2.36k
        case '\'':
2175
2.36k
          l = size - offset - length;
2176
2.36k
                    if (l > 0) {
2177
2.35k
                        c_memcpy(s, string->value.string + offset + length, l);
2178
2.35k
                        s += l;
2179
2.35k
                    }
2180
2.36k
          break;
2181
3.27k
        case '<':
2182
3.27k
          if (groups && mxIsReference(groups)) {
2183
2.81k
            txString t = r;
2184
137k
            while ((d = c_read8(r))) {
2185
136k
              if (d == '>')
2186
1.79k
                break;
2187
134k
              r++;
2188
134k
            }
2189
2.81k
            if (d) {
2190
1.79k
              group--;
2191
1.79k
              if (!mxIsUndefined(group)) {
2192
143
                l = mxStringLength(group->value.string);
2193
143
                c_memcpy(s, group->value.string, l);
2194
143
                s += l;
2195
143
              }
2196
1.79k
              r++;
2197
1.79k
            }
2198
1.02k
            else {
2199
1.02k
              r = t;
2200
1.02k
              *s++ = '$';
2201
1.02k
              *s++ = '<';
2202
1.02k
            }
2203
2.81k
          }
2204
464
          else {
2205
464
            *s++ = '$';
2206
464
            *s++ = '<';
2207
464
          }
2208
3.27k
          break;
2209
29.3k
        default:
2210
29.3k
          if (('0' <= c) && (c <= '9')) {
2211
27.0k
            i = c - '0';
2212
27.0k
            d = c_read8(r);
2213
27.0k
            if (('0' <= d) && (d <= '9')) {
2214
26.6k
              j = (i * 10) + d - '0';
2215
26.6k
              if ((0 < j) && (j <= count)) {
2216
494
                i = j;
2217
494
                r++;
2218
494
              }
2219
26.1k
              else
2220
26.1k
                d = 0;
2221
26.6k
            }
2222
379
            else
2223
379
              d = 0;
2224
27.0k
            if ((0 < i) && (i <= count)) {
2225
26.4k
              capture = (captures + count - i);
2226
26.4k
              if (capture->kind != XS_UNDEFINED_KIND) {
2227
25.9k
                l = mxStringLength(capture->value.string);
2228
25.9k
                c_memcpy(s, capture->value.string, l);
2229
25.9k
                s += l;
2230
25.9k
              }
2231
26.4k
            }
2232
618
            else {
2233
618
              *s++ = '$';
2234
618
              *s++ = c;
2235
618
              if (d)
2236
0
                *s++ = d;
2237
618
            }
2238
27.0k
          }
2239
2.35k
          else {
2240
2.35k
            *s++ = '$';
2241
2.35k
            if (c)
2242
1.85k
              *s++ = c;
2243
2.35k
          }
2244
29.3k
          break;
2245
38.6k
        }
2246
38.6k
        if (!c)
2247
492
          break;
2248
38.6k
      }
2249
470k
      else
2250
470k
        *s++ = c;
2251
509k
    }
2252
3.35k
    *s = 0;
2253
3.35k
  }
2254
1.79M
  the->stack = result;
2255
1.79M
}
2256
2257
#ifdef mxStringNormalize
2258
2259
typedef struct {
2260
  txSlot* slot;
2261
  txInteger* address;
2262
  txInteger count;
2263
  txInteger starterIndex;
2264
} txNormalizeBuffer;
2265
2266
typedef struct {
2267
  txU2 code;
2268
  txU1 count;
2269
  txU1 order;
2270
} txCombination;
2271
2272
107M
#define mxCombinationCount0 300
2273
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2274
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2275
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2276
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2277
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2278
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2279
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2280
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2281
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2282
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2283
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2284
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2285
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2286
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2287
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2288
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2289
  {0x0897,2,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2290
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2291
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2292
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2293
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2294
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2295
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2296
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2297
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2298
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2299
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2300
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,18,230},{0x1ADD,1,220},{0x1AE0,6,230},{0x1AE6,1,220},{0x1AE7,4,230},{0x1AEB,1,234},
2301
  {0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},{0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},
2302
  {0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},{0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},
2303
  {0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},{0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},
2304
  {0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},{0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},
2305
  {0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},{0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},
2306
  {0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},{0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},
2307
  {0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},{0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},
2308
  {0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},{0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},
2309
  {0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},{0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},
2310
  {0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},{0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},
2311
  {0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2312
};
2313
1.98M
#define mxCombinationCount1 103
2314
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2315
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2316
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0D69,5,230},{0x0EAB,2,230},{0x0EFA,2,220},{0x0EFD,3,220},
2317
  {0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},{0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},
2318
  {0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},{0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},
2319
  {0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},{0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},
2320
  {0x134D,1,9},{0x1366,7,230},{0x1370,5,230},{0x13CE,3,9},{0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},
2321
  {0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},{0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},
2322
  {0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},{0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},
2323
  {0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x1F41,2,9},{0x612F,1,9},{0x6AF0,5,1},{0x6B30,7,230},{0x6FF0,2,6},
2324
  {0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},{0xD185,5,230},{0xD18A,2,220},
2325
  {0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},{0xE026,5,230},{0xE08F,1,230},
2326
  {0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE4EC,2,232},{0xE4EE,1,220},{0xE4EF,1,230},{0xE5EE,1,230},{0xE5EF,1,220},
2327
  {0xE6E3,1,230},{0xE6E6,1,230},{0xE6EE,2,230},{0xE6F5,1,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2328
};
2329
#define mxCompositionSize0 1860
2330
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2331
  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,
2332
  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,
2333
  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,
2334
  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,
2335
  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,
2336
  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,
2337
  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,
2338
  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,
2339
  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,
2340
  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,
2341
  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,
2342
  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,
2343
  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,
2344
  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,
2345
  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,
2346
  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,
2347
  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,
2348
  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,
2349
  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,
2350
  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,
2351
  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,
2352
  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,
2353
  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,
2354
  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,0x05D2,0x05C9,
2355
  0x05DA,0x05E4,0x0041,0x00C4,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,
2356
  0x0075,0x00FC,0x0077,0x1E85,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,
2357
  0x0416,0x04DC,0x0417,0x04DE,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,
2358
  0x044B,0x04F9,0x044D,0x04ED,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,
2359
  0x006F,0x1ECF,0x0075,0x1EE7,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,
2360
  0x0055,0x016E,0x0061,0x00E5,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,
2361
  0x0048,0x021E,0x0049,0x01CF,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,
2362
  0x0068,0x021F,0x0069,0x01D0,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,
2363
  0x0041,0x0200,0x0045,0x0204,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,
2364
  0x0049,0x020A,0x004F,0x020E,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,
2365
  0x03B1,0x1F00,0x03B5,0x1F10,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,
2366
  0x03B1,0x1F01,0x03B5,0x1F11,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,
2367
  0x0048,0x1E24,0x0049,0x1ECA,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,
2368
  0x0062,0x1E05,0x0064,0x1E0D,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,
2369
  0x0079,0x1EF5,0x007A,0x1E93,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,
2370
  0x0045,0x0228,0x0047,0x0122,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,
2371
  0x006E,0x0146,0x0072,0x0157,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,
2372
  0x004C,0x1E3C,0x004E,0x1E4A,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,
2373
  0x0069,0x1E2D,0x0075,0x1E75,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,
2374
  0x0072,0x1E5F,0x0074,0x1E6F,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,
2375
  0x2225,0x2226,0x223C,0x2241,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,
2376
  0x227D,0x22E1,0x2282,0x2284,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,
2377
  0x03B1,0x1FB6,0x03B7,0x1FC6,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,
2378
  0x1F31,0x1F37,0x1F38,0x1F3E,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,
2379
  0x03AE,0x1FC4,0x03B1,0x1FB3,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,
2380
  0x1F0B,0x1F8B,0x1F0C,0x1F8C,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,
2381
  0x1F2B,0x1F9B,0x1F2C,0x1F9C,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,
2382
  0x1F6B,0x1FAB,0x1F6C,0x1FAC,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,
2383
  0x06D2,0x06D3,0x06D5,0x06C0,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,
2384
  0x0CC6,0x0CCA,0x0CBF,0x0CC0,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,
2385
  0x1B0B,0x1B0C,0x1B0D,0x1B0E,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,
2386
  0x3059,0x305A,0x305B,0x305C,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,
2387
  0x30AD,0x30AE,0x30AF,0x30B0,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,
2388
  0x30D5,0x30D6,0x30D8,0x30D9,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,
2389
  0x30D8,0x30DA,0x30DB,0x30DD,
2390
};
2391
97.4M
#define mxCompositionCount0 110
2392
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2393
  0x0300,0,0x0301,84,0x0302,201,0x0303,233,0x0304,261,0x0306,305,0x0307,337,0x0308,385,0x0309,439,0x030A,463,0x030B,469,0x030C,475,0x030F,512,0x0311,526,0x0313,538,0x0314,552,
2394
  0x031B,568,0x0323,572,0x0324,614,0x0325,616,0x0326,618,0x0327,622,0x0328,644,0x032D,654,0x032E,666,0x0330,668,0x0331,674,0x0338,691,0x0342,735,0x0345,764,0x0653,827,0x0654,828,
2395
  0x0655,834,0x093C,835,0x09BE,838,0x09D7,839,0x0B3E,840,0x0B56,841,0x0B57,842,0x0BBE,843,0x0BD7,845,0x0C56,847,0x0CC2,848,0x0CD5,849,0x0CD6,852,0x0D3E,853,0x0D57,855,0x0DCA,856,
2396
  0x0DCF,858,0x0DDF,859,0x102E,860,0x1B35,861,0x3099,872,0x309A,920,0xFFFF,930,
2397
};
2398
#define mxCompositionSize1 62
2399
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2400
  0x1099,0x109A,0x109B,0x109C,0x10A5,0x10AB,0x1131,0x112E,0x1132,0x112F,0x1347,0x134B,0x1347,0x134C,0x13C2,0x13C7,0x1384,0x1385,0x138B,0x138E,0x13C2,0x13C5,0x1382,0x1383,0x1390,0x1391,0x13C2,0x13C8,0x14B9,0x14BC,0x14B9,0x14BB,
2401
  0x14B9,0x14BE,0x15B8,0x15BA,0x15B9,0x15BB,0x1935,0x1938,0x611E,0x6121,0x611E,0x6123,0x6121,0x6126,0x6122,0x6127,0x6129,0x6124,0x611E,0x6125,0x6121,0x6128,0x611E,0x6122,0x6D63,0x6D69,0x6D67,0x6D68,0x6D69,0x6D6A,
2402
};
2403
851k
#define mxCompositionCount1 38
2404
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2405
  0x10BA,0,0x1127,3,0x133E,5,0x1357,6,0x13B8,7,0x13BB,8,0x13C2,9,0x13C9,11,0x14B0,14,0x14BA,15,0x14BD,16,0x15AF,17,0x1930,19,0x611E,20,0x611F,21,0x6120,25,
2406
  0x6129,27,0x6D67,28,0xFFFF,31,
2407
};
2408
#define mxDecompositionSize0 13559
2409
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2410
  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,
2411
  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,
2412
  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,
2413
  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,
2414
  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,
2415
  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,
2416
  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,
2417
  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,
2418
  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,
2419
  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,
2420
  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,
2421
  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,
2422
  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,
2423
  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,
2424
  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,
2425
  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,
2426
  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,
2427
  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,
2428
  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,
2429
  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,
2430
  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,
2431
  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,
2432
  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,
2433
  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,
2434
  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,
2435
  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,
2436
  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,
2437
  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,
2438
  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,
2439
  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,
2440
  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,
2441
  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,
2442
  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,
2443
  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,
2444
  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,
2445
  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,
2446
  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,
2447
  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,
2448
  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,
2449
  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,
2450
  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,
2451
  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,
2452
  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,
2453
  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,
2454
  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,
2455
  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,
2456
  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,
2457
  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,
2458
  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,
2459
  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,
2460
  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,
2461
  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,
2462
  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,
2463
  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,
2464
  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,
2465
  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,
2466
  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,
2467
  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,
2468
  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,
2469
  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,
2470
  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,
2471
  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,
2472
  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,
2473
  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,
2474
  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,
2475
  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,
2476
  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,
2477
  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,
2478
  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,
2479
  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,
2480
  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,
2481
  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,
2482
  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,
2483
  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,
2484
  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,
2485
  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,
2486
  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,
2487
  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,
2488
  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,
2489
  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,
2490
  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,
2491
  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,
2492
  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,
2493
  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,
2494
  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,
2495
  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,
2496
  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,
2497
  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,
2498
  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,
2499
  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,
2500
  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,
2501
  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,
2502
  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,
2503
  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,
2504
  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,
2505
  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,
2506
  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,
2507
  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,
2508
  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,
2509
  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,
2510
  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,
2511
  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,
2512
  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,
2513
  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,
2514
  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,
2515
  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,
2516
  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,
2517
  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,
2518
  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,
2519
  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,
2520
  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,
2521
  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,
2522
  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,
2523
  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,
2524
  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,
2525
  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,
2526
  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,
2527
  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,
2528
  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,
2529
  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,
2530
  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,
2531
  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,
2532
  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,
2533
  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,
2534
  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,
2535
  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,
2536
  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,
2537
  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,
2538
  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,
2539
  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,
2540
  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,
2541
  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,
2542
  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,
2543
  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,
2544
  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,
2545
  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,
2546
  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,
2547
  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,
2548
  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,
2549
  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,
2550
  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,
2551
  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,
2552
  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,
2553
  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,
2554
  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,
2555
  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,
2556
  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,
2557
  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,
2558
  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,
2559
  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,
2560
  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,
2561
  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,
2562
  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,
2563
  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,
2564
  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,
2565
  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,
2566
  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,
2567
  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,
2568
  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,
2569
  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,
2570
  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,
2571
  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,
2572
  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,
2573
  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,
2574
  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,
2575
  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,
2576
  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,
2577
  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,
2578
  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,
2579
  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,
2580
  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,
2581
  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,
2582
  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,
2583
  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,
2584
  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,
2585
  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,
2586
  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,
2587
  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,
2588
  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,
2589
  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,
2590
  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,
2591
  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,
2592
  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,
2593
  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,
2594
  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,
2595
  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,
2596
  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,
2597
  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,
2598
  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,
2599
  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,
2600
  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,
2601
  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,
2602
  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,
2603
  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,
2604
  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,
2605
  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,
2606
  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,
2607
  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,
2608
  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,
2609
  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,
2610
  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,
2611
  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,
2612
  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,
2613
  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,
2614
  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,
2615
  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,
2616
  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,
2617
  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,
2618
  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,
2619
  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,
2620
  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,
2621
  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,
2622
  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,
2623
  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,
2624
  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,
2625
  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,
2626
  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,
2627
  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,
2628
  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,
2629
  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,
2630
  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,
2631
  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,
2632
  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,
2633
  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,
2634
  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,
2635
  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,
2636
  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,
2637
  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,
2638
  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,
2639
  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,
2640
  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,
2641
  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,
2642
  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,
2643
  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,
2644
  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,
2645
  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,
2646
  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,
2647
  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,
2648
  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,
2649
  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,
2650
  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,
2651
  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,
2652
  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,
2653
  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,
2654
  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,
2655
  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,
2656
  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,
2657
  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,
2658
  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,
2659
  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,
2660
  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,
2661
  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,
2662
  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,
2663
  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,
2664
  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,
2665
  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,
2666
  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,
2667
  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,
2668
  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,
2669
  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,
2670
  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,
2671
  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,
2672
  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,
2673
  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,
2674
  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,
2675
  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,
2676
  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,
2677
  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,
2678
  0xa5,0x33,0x31,0xe6,0x97,0xa5,0x67,0x61,0x6c,0xd1,0x8a,0xd1,0x8c,0xea,0x9d,0xaf,0x53,0x43,0x46,0x51,0xc4,0xa6,0xc5,0x93,0xea,0x9c,0xa7,0xea,0xac,0xb7,0xc9,0xab,
2679
  0xea,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,
2680
  0xe5,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,
2681
  0x8f,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,
2682
  0x88,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,
2683
  0xe6,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,
2684
  0xa7,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,
2685
  0x8f,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,
2686
  0xe9,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,
2687
  0x8b,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,
2688
  0xb8,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,
2689
  0xe6,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,
2690
  0xbe,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,
2691
  0x87,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,
2692
  0xe9,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,
2693
  0x89,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,
2694
  0x92,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,
2695
  0xe5,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,
2696
  0x88,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,
2697
  0x96,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,
2698
  0xe6,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,
2699
  0xb8,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,
2700
  0x90,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,
2701
  0xe9,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,
2702
  0x9f,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,
2703
  0x8c,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,
2704
  0xe9,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,
2705
  0xbc,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,
2706
  0xa3,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,
2707
  0xe5,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,
2708
  0x8e,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,
2709
  0x90,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,
2710
  0xe7,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,
2711
  0x97,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,
2712
  0xa0,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,
2713
  0x87,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,
2714
  0xac,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,
2715
  0xe6,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,
2716
  0xba,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,
2717
  0x91,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,
2718
  0xe7,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,
2719
  0x81,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,
2720
  0xb4,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,
2721
  0xe9,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,
2722
  0x89,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,
2723
  0x74,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,
2724
  0x90,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,
2725
  0xd7,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,
2726
  0xd6,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,
2727
  0xd6,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,
2728
  0xd6,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,
2729
  0xd9,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,
2730
  0xd9,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,
2731
  0xda,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,
2732
  0xda,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,
2733
  0xda,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,
2734
  0xdb,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,
2735
  0xda,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,
2736
  0xdb,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,
2737
  0xd8,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,
2738
  0xd8,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,
2739
  0xd8,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,
2740
  0xd8,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,
2741
  0xd8,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,
2742
  0xd8,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,
2743
  0xd8,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,
2744
  0xd8,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,
2745
  0xd9,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,
2746
  0xd9,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,
2747
  0xd9,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,
2748
  0xd9,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,
2749
  0xd9,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,
2750
  0xd9,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,
2751
  0xd9,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,
2752
  0xd9,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,
2753
  0xd8,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,
2754
  0xd9,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,
2755
  0xd8,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,
2756
  0xd8,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,
2757
  0xd9,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,
2758
  0xd8,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,
2759
  0xd9,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,
2760
  0xd9,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,
2761
  0xd9,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,
2762
  0xd8,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,
2763
  0xd8,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,
2764
  0xd9,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,
2765
  0xd8,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,
2766
  0xd9,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,
2767
  0xd9,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,
2768
  0xd9,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,
2769
  0xd9,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,
2770
  0xd8,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,
2771
  0xd8,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,
2772
  0xd8,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,
2773
  0xd8,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,
2774
  0xd8,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,
2775
  0xd8,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,
2776
  0xd8,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,
2777
  0xd8,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,
2778
  0xd8,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,
2779
  0xd9,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,
2780
  0xd8,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,
2781
  0xd9,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,
2782
  0xd8,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,
2783
  0xd8,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,
2784
  0xd9,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,
2785
  0xd9,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,
2786
  0xd8,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,
2787
  0xd9,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,
2788
  0xd9,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,
2789
  0xd9,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,
2790
  0xd8,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,
2791
  0xd8,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,
2792
  0xd9,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,
2793
  0xd9,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,
2794
  0xd9,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,
2795
  0xd8,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,
2796
  0xd9,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,
2797
  0xd9,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,
2798
  0xd9,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,
2799
  0xd8,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,
2800
  0xd9,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,
2801
  0xd8,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,
2802
  0xd9,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,
2803
  0xd9,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,
2804
  0xd9,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,
2805
  0xd9,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,
2806
  0x5f,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,
2807
  0xe3,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,
2808
  0x3a,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,
2809
  0x80,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,
2810
  0x91,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,
2811
  0xd8,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,
2812
  0xd8,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,
2813
  0xd8,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,
2814
  0xd8,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,
2815
  0xd8,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,
2816
  0xd9,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,
2817
  0xd9,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,
2818
  0xd8,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,
2819
  0x2b,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,
2820
  0x4b,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,
2821
  0x6b,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,
2822
  0xe3,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,
2823
  0xa5,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,
2824
  0x82,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,
2825
  0xe3,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,
2826
  0x98,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,
2827
  0x83,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,
2828
  0xe3,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,
2829
  0xbd,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,
2830
  0x85,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,
2831
  0xe3,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,
2832
  0x9d,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,
2833
  0x82,0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2834
};
2835
100M
#define mxDecompositionCount0 7780
2836
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2837
  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,
2838
  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,
2839
  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,
2840
  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,
2841
  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,
2842
  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,
2843
  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,
2844
  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,
2845
  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,
2846
  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,
2847
  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,
2848
  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,
2849
  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,
2850
  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,
2851
  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,
2852
  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,
2853
  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,
2854
  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,
2855
  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,
2856
  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,
2857
  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,
2858
  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,
2859
  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,
2860
  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,
2861
  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,
2862
  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,
2863
  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,
2864
  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,
2865
  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,
2866
  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,
2867
  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,
2868
  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,
2869
  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,
2870
  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,
2871
  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,
2872
  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,
2873
  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,
2874
  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,
2875
  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,
2876
  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,
2877
  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,
2878
  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,
2879
  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,
2880
  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,
2881
  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,
2882
  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,
2883
  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,
2884
  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,
2885
  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,
2886
  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,
2887
  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,
2888
  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,
2889
  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,
2890
  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,
2891
  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,
2892
  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,
2893
  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,
2894
  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,
2895
  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,
2896
  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,
2897
  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,
2898
  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,
2899
  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,
2900
  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,
2901
  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,
2902
  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,
2903
  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,
2904
  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,
2905
  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,
2906
  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,
2907
  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,
2908
  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,
2909
  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,
2910
  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,
2911
  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,
2912
  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,
2913
  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,
2914
  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,
2915
  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,
2916
  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,
2917
  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,
2918
  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,
2919
  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,
2920
  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,
2921
  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,
2922
  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,
2923
  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,
2924
  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,
2925
  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,
2926
  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,
2927
  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,
2928
  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,
2929
  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,
2930
  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,
2931
  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,
2932
  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,
2933
  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,
2934
  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,
2935
  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,
2936
  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,
2937
  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,
2938
  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,
2939
  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,
2940
  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,
2941
  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,
2942
  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,
2943
  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,
2944
  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,
2945
  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,
2946
  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,
2947
  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,
2948
  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,
2949
  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,
2950
  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,
2951
  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,
2952
  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,
2953
  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,
2954
  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,
2955
  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,
2956
  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,
2957
  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,
2958
  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,
2959
  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,
2960
  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,
2961
  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,
2962
  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,
2963
  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,
2964
  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,
2965
  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,
2966
  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,
2967
  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,
2968
  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,
2969
  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,
2970
  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,
2971
  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,
2972
  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,
2973
  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,
2974
  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,
2975
  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,
2976
  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,
2977
  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,
2978
  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,
2979
  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,
2980
  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,
2981
  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,
2982
  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,
2983
  0xA69C,0xA189,0xA69D,0xA18B,0xA770,0xA18D,0xA7F1,0xA190,0xA7F2,0xA191,0xA7F3,0xA192,0xA7F4,0xA193,0xA7F8,0xA194,0xA7F9,0xA196,0xAB5C,0xA198,0xAB5D,0xA19B,0xAB5E,0xA19E,0xAB5F,0xA1A0,0xAB69,0xA1A3,0xF900,0x21A5,0xF901,0x21A8,
2984
  0xF902,0x21AB,0xF903,0x21AE,0xF904,0x21B1,0xF905,0x21B4,0xF906,0x21B7,0xF907,0x21BA,0xF908,0x21BD,0xF909,0x21C0,0xF90A,0x21C3,0xF90B,0x21C6,0xF90C,0x21C9,0xF90D,0x21CC,0xF90E,0x21CF,0xF90F,0x21D2,0xF910,0x21D5,0xF911,0x21D8,
2985
  0xF912,0x21DB,0xF913,0x21DE,0xF914,0x21E1,0xF915,0x21E4,0xF916,0x21E7,0xF917,0x21EA,0xF918,0x21ED,0xF919,0x21F0,0xF91A,0x21F3,0xF91B,0x21F6,0xF91C,0x21F9,0xF91D,0x21FC,0xF91E,0x21FF,0xF91F,0x2202,0xF920,0x2205,0xF921,0x2208,
2986
  0xF922,0x220B,0xF923,0x220E,0xF924,0x2211,0xF925,0x2214,0xF926,0x2217,0xF927,0x221A,0xF928,0x221D,0xF929,0x2220,0xF92A,0x2223,0xF92B,0x2226,0xF92C,0x2229,0xF92D,0x222C,0xF92E,0x222F,0xF92F,0x2232,0xF930,0x2235,0xF931,0x2238,
2987
  0xF932,0x223B,0xF933,0x223E,0xF934,0x2241,0xF935,0x2244,0xF936,0x2247,0xF937,0x224A,0xF938,0x224D,0xF939,0x2250,0xF93A,0x2253,0xF93B,0x2256,0xF93C,0x2259,0xF93D,0x225C,0xF93E,0x225F,0xF93F,0x2262,0xF940,0x2265,0xF941,0x2268,
2988
  0xF942,0x226B,0xF943,0x226E,0xF944,0x2271,0xF945,0x2274,0xF946,0x2277,0xF947,0x227A,0xF948,0x227D,0xF949,0x2280,0xF94A,0x2283,0xF94B,0x2286,0xF94C,0x2289,0xF94D,0x228C,0xF94E,0x228F,0xF94F,0x2292,0xF950,0x2295,0xF951,0x2298,
2989
  0xF952,0x229B,0xF953,0x229E,0xF954,0x22A1,0xF955,0x22A4,0xF956,0x22A7,0xF957,0x22AA,0xF958,0x22AD,0xF959,0x22B0,0xF95A,0x22B3,0xF95B,0x22B6,0xF95C,0x22B9,0xF95D,0x22BC,0xF95E,0x22BF,0xF95F,0x22C2,0xF960,0x22C5,0xF961,0x22C8,
2990
  0xF962,0x22CB,0xF963,0x22CE,0xF964,0x22D1,0xF965,0x22D4,0xF966,0x22D7,0xF967,0x22DA,0xF968,0x22DD,0xF969,0x22E0,0xF96A,0x22E3,0xF96B,0x22E6,0xF96C,0x22E9,0xF96D,0x22EC,0xF96E,0x22EF,0xF96F,0x22F2,0xF970,0x22F5,0xF971,0x22F8,
2991
  0xF972,0x22FB,0xF973,0x22FE,0xF974,0x2301,0xF975,0x2304,0xF976,0x2307,0xF977,0x230A,0xF978,0x230D,0xF979,0x2310,0xF97A,0x2313,0xF97B,0x2316,0xF97C,0x2319,0xF97D,0x231C,0xF97E,0x231F,0xF97F,0x2322,0xF980,0x2325,0xF981,0x2328,
2992
  0xF982,0x232B,0xF983,0x232E,0xF984,0x2331,0xF985,0x2334,0xF986,0x2337,0xF987,0x233A,0xF988,0x233D,0xF989,0x2340,0xF98A,0x2343,0xF98B,0x2346,0xF98C,0x2349,0xF98D,0x234C,0xF98E,0x234F,0xF98F,0x2352,0xF990,0x2355,0xF991,0x2358,
2993
  0xF992,0x235B,0xF993,0x235E,0xF994,0x2361,0xF995,0x2364,0xF996,0x2367,0xF997,0x236A,0xF998,0x236D,0xF999,0x2370,0xF99A,0x2373,0xF99B,0x2376,0xF99C,0x2379,0xF99D,0x237C,0xF99E,0x237F,0xF99F,0x2382,0xF9A0,0x2385,0xF9A1,0x2388,
2994
  0xF9A2,0x238B,0xF9A3,0x238E,0xF9A4,0x2391,0xF9A5,0x2394,0xF9A6,0x2397,0xF9A7,0x239A,0xF9A8,0x239D,0xF9A9,0x23A0,0xF9AA,0x23A3,0xF9AB,0x23A6,0xF9AC,0x23A9,0xF9AD,0x23AC,0xF9AE,0x23AF,0xF9AF,0x23B2,0xF9B0,0x23B5,0xF9B1,0x23B8,
2995
  0xF9B2,0x23BB,0xF9B3,0x23BE,0xF9B4,0x23C1,0xF9B5,0x23C4,0xF9B6,0x23C7,0xF9B7,0x23CA,0xF9B8,0x23CD,0xF9B9,0x23D0,0xF9BA,0x23D3,0xF9BB,0x23D6,0xF9BC,0x23D9,0xF9BD,0x23DC,0xF9BE,0x23DF,0xF9BF,0x23E2,0xF9C0,0x23E5,0xF9C1,0x23E8,
2996
  0xF9C2,0x23EB,0xF9C3,0x23EE,0xF9C4,0x23F1,0xF9C5,0x23F4,0xF9C6,0x23F7,0xF9C7,0x23FA,0xF9C8,0x23FD,0xF9C9,0x2400,0xF9CA,0x2403,0xF9CB,0x2406,0xF9CC,0x2409,0xF9CD,0x240C,0xF9CE,0x240F,0xF9CF,0x2412,0xF9D0,0x2415,0xF9D1,0x2418,
2997
  0xF9D2,0x241B,0xF9D3,0x241E,0xF9D4,0x2421,0xF9D5,0x2424,0xF9D6,0x2427,0xF9D7,0x242A,0xF9D8,0x242D,0xF9D9,0x2430,0xF9DA,0x2433,0xF9DB,0x2436,0xF9DC,0x2439,0xF9DD,0x243C,0xF9DE,0x243F,0xF9DF,0x2442,0xF9E0,0x2445,0xF9E1,0x2448,
2998
  0xF9E2,0x244B,0xF9E3,0x244E,0xF9E4,0x2451,0xF9E5,0x2454,0xF9E6,0x2457,0xF9E7,0x245A,0xF9E8,0x245D,0xF9E9,0x2460,0xF9EA,0x2463,0xF9EB,0x2466,0xF9EC,0x2469,0xF9ED,0x246C,0xF9EE,0x246F,0xF9EF,0x2472,0xF9F0,0x2475,0xF9F1,0x2478,
2999
  0xF9F2,0x247B,0xF9F3,0x247E,0xF9F4,0x2481,0xF9F5,0x2484,0xF9F6,0x2487,0xF9F7,0x248A,0xF9F8,0x248D,0xF9F9,0x2490,0xF9FA,0x2493,0xF9FB,0x2496,0xF9FC,0x2499,0xF9FD,0x249C,0xF9FE,0x249F,0xF9FF,0x24A2,0xFA00,0x24A5,0xFA01,0x24A8,
3000
  0xFA02,0x24AB,0xFA03,0x24AE,0xFA04,0x24B1,0xFA05,0x24B4,0xFA06,0x24B7,0xFA07,0x24BA,0xFA08,0x24BD,0xFA09,0x24C0,0xFA0A,0x24C3,0xFA0B,0x24C6,0xFA0C,0x24C9,0xFA0D,0x24CC,0xFA10,0x24CF,0xFA12,0x24D2,0xFA15,0x24D5,0xFA16,0x24D8,
3001
  0xFA17,0x24DB,0xFA18,0x24DE,0xFA19,0x24E1,0xFA1A,0x24E4,0xFA1B,0x24E7,0xFA1C,0x24EA,0xFA1D,0x24ED,0xFA1E,0x24F0,0xFA20,0x24F3,0xFA22,0x24F6,0xFA25,0x24F9,0xFA26,0x24FC,0xFA2A,0x24FF,0xFA2B,0x2502,0xFA2C,0x2505,0xFA2D,0x2508,
3002
  0xFA2E,0x250B,0xFA2F,0x250E,0xFA30,0x2511,0xFA31,0x2514,0xFA32,0x2517,0xFA33,0x251A,0xFA34,0x251D,0xFA35,0x2520,0xFA36,0x2523,0xFA37,0x2526,0xFA38,0x2529,0xFA39,0x252C,0xFA3A,0x252F,0xFA3B,0x2532,0xFA3C,0x2535,0xFA3D,0x2538,
3003
  0xFA3E,0x253B,0xFA3F,0x253E,0xFA40,0x2541,0xFA41,0x2544,0xFA42,0x2547,0xFA43,0x254A,0xFA44,0x254D,0xFA45,0x2550,0xFA46,0x2553,0xFA47,0x2556,0xFA48,0x2559,0xFA49,0x255C,0xFA4A,0x255F,0xFA4B,0x2562,0xFA4C,0x2565,0xFA4D,0x2568,
3004
  0xFA4E,0x256B,0xFA4F,0x256E,0xFA50,0x2571,0xFA51,0x2574,0xFA52,0x2577,0xFA53,0x257A,0xFA54,0x257D,0xFA55,0x2580,0xFA56,0x2583,0xFA57,0x2586,0xFA58,0x2589,0xFA59,0x258C,0xFA5A,0x258F,0xFA5B,0x2592,0xFA5C,0x2595,0xFA5D,0x2598,
3005
  0xFA5E,0x259B,0xFA5F,0x259E,0xFA60,0x25A1,0xFA61,0x25A4,0xFA62,0x25A7,0xFA63,0x25AA,0xFA64,0x25AD,0xFA65,0x25B0,0xFA66,0x25B3,0xFA67,0x25B6,0xFA68,0x25B9,0xFA69,0x25BC,0xFA6A,0x25BF,0xFA6B,0x25C2,0xFA6C,0x25C5,0xFA6D,0x25C9,
3006
  0xFA70,0x25CC,0xFA71,0x25CF,0xFA72,0x25D2,0xFA73,0x25D5,0xFA74,0x25D8,0xFA75,0x25DB,0xFA76,0x25DE,0xFA77,0x25E1,0xFA78,0x25E4,0xFA79,0x25E7,0xFA7A,0x25EA,0xFA7B,0x25ED,0xFA7C,0x25F0,0xFA7D,0x25F3,0xFA7E,0x25F6,0xFA7F,0x25F9,
3007
  0xFA80,0x25FC,0xFA81,0x25FF,0xFA82,0x2602,0xFA83,0x2605,0xFA84,0x2608,0xFA85,0x260B,0xFA86,0x260E,0xFA87,0x2611,0xFA88,0x2614,0xFA89,0x2617,0xFA8A,0x261A,0xFA8B,0x261D,0xFA8C,0x2620,0xFA8D,0x2623,0xFA8E,0x2626,0xFA8F,0x2629,
3008
  0xFA90,0x262C,0xFA91,0x262F,0xFA92,0x2632,0xFA93,0x2635,0xFA94,0x2638,0xFA95,0x263B,0xFA96,0x263E,0xFA97,0x2641,0xFA98,0x2644,0xFA99,0x2647,0xFA9A,0x264A,0xFA9B,0x264D,0xFA9C,0x2650,0xFA9D,0x2653,0xFA9E,0x2656,0xFA9F,0x2659,
3009
  0xFAA0,0x265C,0xFAA1,0x265F,0xFAA2,0x2662,0xFAA3,0x2665,0xFAA4,0x2668,0xFAA5,0x266B,0xFAA6,0x266E,0xFAA7,0x2671,0xFAA8,0x2674,0xFAA9,0x2677,0xFAAA,0x267A,0xFAAB,0x267D,0xFAAC,0x2680,0xFAAD,0x2683,0xFAAE,0x2686,0xFAAF,0x2689,
3010
  0xFAB0,0x268C,0xFAB1,0x268F,0xFAB2,0x2692,0xFAB3,0x2695,0xFAB4,0x2698,0xFAB5,0x269B,0xFAB6,0x269E,0xFAB7,0x26A1,0xFAB8,0x26A4,0xFAB9,0x26A7,0xFABA,0x26AA,0xFABB,0x26AD,0xFABC,0x26B0,0xFABD,0x26B3,0xFABE,0x26B6,0xFABF,0x26B9,
3011
  0xFAC0,0x26BC,0xFAC1,0x26BF,0xFAC2,0x26C2,0xFAC3,0x26C5,0xFAC4,0x26C8,0xFAC5,0x26CB,0xFAC6,0x26CE,0xFAC7,0x26D1,0xFAC8,0x26D4,0xFAC9,0x26D7,0xFACA,0x26DA,0xFACB,0x26DD,0xFACC,0x26E0,0xFACD,0x26E3,0xFACE,0x26E6,0xFACF,0x26E9,
3012
  0xFAD0,0x26ED,0xFAD1,0x26F1,0xFAD2,0x26F5,0xFAD3,0x26F8,0xFAD4,0x26FB,0xFAD5,0x26FE,0xFAD6,0x2702,0xFAD7,0x2706,0xFAD8,0x270A,0xFAD9,0x270D,0xFB00,0xA710,0xFB01,0xA712,0xFB02,0xA714,0xFB03,0xA716,0xFB04,0xA719,0xFB05,0xA71C,
3013
  0xFB06,0xA71F,0xFB13,0xA721,0xFB14,0xA725,0xFB15,0xA729,0xFB16,0xA72D,0xFB17,0xA731,0xFB1D,0x2735,0xFB1F,0x2739,0xFB20,0xA73D,0xFB21,0xA73F,0xFB22,0xA741,0xFB23,0xA743,0xFB24,0xA745,0xFB25,0xA747,0xFB26,0xA749,0xFB27,0xA74B,
3014
  0xFB28,0xA74D,0xFB29,0xA74F,0xFB2A,0x2750,0xFB2B,0x2754,0xFB2C,0x2758,0xFB2D,0x275D,0xFB2E,0x2762,0xFB2F,0x2766,0xFB30,0x276A,0xFB31,0x276E,0xFB32,0x2772,0xFB33,0x2776,0xFB34,0x277A,0xFB35,0x277E,0xFB36,0x2782,0xFB38,0x2786,
3015
  0xFB39,0x278A,0xFB3A,0x278E,0xFB3B,0x2792,0xFB3C,0x2796,0xFB3E,0x279A,0xFB40,0x279E,0xFB41,0x27A2,0xFB43,0x27A6,0xFB44,0x27AA,0xFB46,0x27AE,0xFB47,0x27B2,0xFB48,0x27B6,0xFB49,0x27BA,0xFB4A,0x27BE,0xFB4B,0x27C2,0xFB4C,0x27C6,
3016
  0xFB4D,0x27CA,0xFB4E,0x27CE,0xFB4F,0xA7D2,0xFB50,0xA7D6,0xFB51,0xA7D8,0xFB52,0xA7DA,0xFB53,0xA7DC,0xFB54,0xA7DE,0xFB55,0xA7E0,0xFB56,0xA7E2,0xFB57,0xA7E4,0xFB58,0xA7E6,0xFB59,0xA7E8,0xFB5A,0xA7EA,0xFB5B,0xA7EC,0xFB5C,0xA7EE,
3017
  0xFB5D,0xA7F0,0xFB5E,0xA7F2,0xFB5F,0xA7F4,0xFB60,0xA7F6,0xFB61,0xA7F8,0xFB62,0xA7FA,0xFB63,0xA7FC,0xFB64,0xA7FE,0xFB65,0xA800,0xFB66,0xA802,0xFB67,0xA804,0xFB68,0xA806,0xFB69,0xA808,0xFB6A,0xA80A,0xFB6B,0xA80C,0xFB6C,0xA80E,
3018
  0xFB6D,0xA810,0xFB6E,0xA812,0xFB6F,0xA814,0xFB70,0xA816,0xFB71,0xA818,0xFB72,0xA81A,0xFB73,0xA81C,0xFB74,0xA81E,0xFB75,0xA820,0xFB76,0xA822,0xFB77,0xA824,0xFB78,0xA826,0xFB79,0xA828,0xFB7A,0xA82A,0xFB7B,0xA82C,0xFB7C,0xA82E,
3019
  0xFB7D,0xA830,0xFB7E,0xA832,0xFB7F,0xA834,0xFB80,0xA836,0xFB81,0xA838,0xFB82,0xA83A,0xFB83,0xA83C,0xFB84,0xA83E,0xFB85,0xA840,0xFB86,0xA842,0xFB87,0xA844,0xFB88,0xA846,0xFB89,0xA848,0xFB8A,0xA84A,0xFB8B,0xA84C,0xFB8C,0xA84E,
3020
  0xFB8D,0xA850,0xFB8E,0xA852,0xFB8F,0xA854,0xFB90,0xA856,0xFB91,0xA858,0xFB92,0xA85A,0xFB93,0xA85C,0xFB94,0xA85E,0xFB95,0xA860,0xFB96,0xA862,0xFB97,0xA864,0xFB98,0xA866,0xFB99,0xA868,0xFB9A,0xA86A,0xFB9B,0xA86C,0xFB9C,0xA86E,
3021
  0xFB9D,0xA870,0xFB9E,0xA872,0xFB9F,0xA874,0xFBA0,0xA876,0xFBA1,0xA878,0xFBA2,0xA87A,0xFBA3,0xA87C,0xFBA4,0xA87E,0xFBA5,0xA880,0xFBA6,0xA882,0xFBA7,0xA884,0xFBA8,0xA886,0xFBA9,0xA888,0xFBAA,0xA88A,0xFBAB,0xA88C,0xFBAC,0xA88E,
3022
  0xFBAD,0xA890,0xFBAE,0xA892,0xFBAF,0xA894,0xFBB0,0xA896,0xFBB1,0xA898,0xFBD3,0xA89A,0xFBD4,0xA89C,0xFBD5,0xA89E,0xFBD6,0xA8A0,0xFBD7,0xA8A2,0xFBD8,0xA8A4,0xFBD9,0xA8A6,0xFBDA,0xA8A8,0xFBDB,0xA8AA,0xFBDC,0xA8AC,0xFBDD,0xA8AE,
3023
  0xFBDE,0xA8B0,0xFBDF,0xA8B2,0xFBE0,0xA8B4,0xFBE1,0xA8B6,0xFBE2,0xA8B8,0xFBE3,0xA8BA,0xFBE4,0xA8BC,0xFBE5,0xA8BE,0xFBE6,0xA8C0,0xFBE7,0xA8C2,0xFBE8,0xA8C4,0xFBE9,0xA8C6,0xFBEA,0xA8C8,0xFBEB,0xA8CC,0xFBEC,0xA8D0,0xFBED,0xA8D4,
3024
  0xFBEE,0xA8D8,0xFBEF,0xA8DC,0xFBF0,0xA8E0,0xFBF1,0xA8E4,0xFBF2,0xA8E8,0xFBF3,0xA8EC,0xFBF4,0xA8F0,0xFBF5,0xA8F4,0xFBF6,0xA8F8,0xFBF7,0xA8FC,0xFBF8,0xA900,0xFBF9,0xA904,0xFBFA,0xA908,0xFBFB,0xA90C,0xFBFC,0xA910,0xFBFD,0xA912,
3025
  0xFBFE,0xA914,0xFBFF,0xA916,0xFC00,0xA918,0xFC01,0xA91C,0xFC02,0xA920,0xFC03,0xA924,0xFC04,0xA928,0xFC05,0xA92C,0xFC06,0xA930,0xFC07,0xA934,0xFC08,0xA938,0xFC09,0xA93C,0xFC0A,0xA940,0xFC0B,0xA944,0xFC0C,0xA948,0xFC0D,0xA94C,
3026
  0xFC0E,0xA950,0xFC0F,0xA954,0xFC10,0xA958,0xFC11,0xA95C,0xFC12,0xA960,0xFC13,0xA964,0xFC14,0xA968,0xFC15,0xA96C,0xFC16,0xA970,0xFC17,0xA974,0xFC18,0xA978,0xFC19,0xA97C,0xFC1A,0xA980,0xFC1B,0xA984,0xFC1C,0xA988,0xFC1D,0xA98C,
3027
  0xFC1E,0xA990,0xFC1F,0xA994,0xFC20,0xA998,0xFC21,0xA99C,0xFC22,0xA9A0,0xFC23,0xA9A4,0xFC24,0xA9A8,0xFC25,0xA9AC,0xFC26,0xA9B0,0xFC27,0xA9B4,0xFC28,0xA9B8,0xFC29,0xA9BC,0xFC2A,0xA9C0,0xFC2B,0xA9C4,0xFC2C,0xA9C8,0xFC2D,0xA9CC,
3028
  0xFC2E,0xA9D0,0xFC2F,0xA9D4,0xFC30,0xA9D8,0xFC31,0xA9DC,0xFC32,0xA9E0,0xFC33,0xA9E4,0xFC34,0xA9E8,0xFC35,0xA9EC,0xFC36,0xA9F0,0xFC37,0xA9F4,0xFC38,0xA9F8,0xFC39,0xA9FC,0xFC3A,0xAA00,0xFC3B,0xAA04,0xFC3C,0xAA08,0xFC3D,0xAA0C,
3029
  0xFC3E,0xAA10,0xFC3F,0xAA14,0xFC40,0xAA18,0xFC41,0xAA1C,0xFC42,0xAA20,0xFC43,0xAA24,0xFC44,0xAA28,0xFC45,0xAA2C,0xFC46,0xAA30,0xFC47,0xAA34,0xFC48,0xAA38,0xFC49,0xAA3C,0xFC4A,0xAA40,0xFC4B,0xAA44,0xFC4C,0xAA48,0xFC4D,0xAA4C,
3030
  0xFC4E,0xAA50,0xFC4F,0xAA54,0xFC50,0xAA58,0xFC51,0xAA5C,0xFC52,0xAA60,0xFC53,0xAA64,0xFC54,0xAA68,0xFC55,0xAA6C,0xFC56,0xAA70,0xFC57,0xAA74,0xFC58,0xAA78,0xFC59,0xAA7C,0xFC5A,0xAA80,0xFC5B,0xAA84,0xFC5C,0xAA88,0xFC5D,0xAA8C,
3031
  0xFC5E,0xAA90,0xFC5F,0xAA95,0xFC60,0xAA9A,0xFC61,0xAA9F,0xFC62,0xAAA4,0xFC63,0xAAA9,0xFC64,0xAAAE,0xFC65,0xAAB2,0xFC66,0xAAB6,0xFC67,0xAABA,0xFC68,0xAABE,0xFC69,0xAAC2,0xFC6A,0xAAC6,0xFC6B,0xAACA,0xFC6C,0xAACE,0xFC6D,0xAAD2,
3032
  0xFC6E,0xAAD6,0xFC6F,0xAADA,0xFC70,0xAADE,0xFC71,0xAAE2,0xFC72,0xAAE6,0xFC73,0xAAEA,0xFC74,0xAAEE,0xFC75,0xAAF2,0xFC76,0xAAF6,0xFC77,0xAAFA,0xFC78,0xAAFE,0xFC79,0xAB02,0xFC7A,0xAB06,0xFC7B,0xAB0A,0xFC7C,0xAB0E,0xFC7D,0xAB12,
3033
  0xFC7E,0xAB16,0xFC7F,0xAB1A,0xFC80,0xAB1E,0xFC81,0xAB22,0xFC82,0xAB26,0xFC83,0xAB2A,0xFC84,0xAB2E,0xFC85,0xAB32,0xFC86,0xAB36,0xFC87,0xAB3A,0xFC88,0xAB3E,0xFC89,0xAB42,0xFC8A,0xAB46,0xFC8B,0xAB4A,0xFC8C,0xAB4E,0xFC8D,0xAB52,
3034
  0xFC8E,0xAB56,0xFC8F,0xAB5A,0xFC90,0xAB5E,0xFC91,0xAB62,0xFC92,0xAB66,0xFC93,0xAB6A,0xFC94,0xAB6E,0xFC95,0xAB72,0xFC96,0xAB76,0xFC97,0xAB7A,0xFC98,0xAB7E,0xFC99,0xAB82,0xFC9A,0xAB86,0xFC9B,0xAB8A,0xFC9C,0xAB8E,0xFC9D,0xAB92,
3035
  0xFC9E,0xAB96,0xFC9F,0xAB9A,0xFCA0,0xAB9E,0xFCA1,0xABA2,0xFCA2,0xABA6,0xFCA3,0xABAA,0xFCA4,0xABAE,0xFCA5,0xABB2,0xFCA6,0xABB6,0xFCA7,0xABBA,0xFCA8,0xABBE,0xFCA9,0xABC2,0xFCAA,0xABC6,0xFCAB,0xABCA,0xFCAC,0xABCE,0xFCAD,0xABD2,
3036
  0xFCAE,0xABD6,0xFCAF,0xABDA,0xFCB0,0xABDE,0xFCB1,0xABE2,0xFCB2,0xABE6,0xFCB3,0xABEA,0xFCB4,0xABEE,0xFCB5,0xABF2,0xFCB6,0xABF6,0xFCB7,0xABFA,0xFCB8,0xABFE,0xFCB9,0xAC02,0xFCBA,0xAC06,0xFCBB,0xAC0A,0xFCBC,0xAC0E,0xFCBD,0xAC12,
3037
  0xFCBE,0xAC16,0xFCBF,0xAC1A,0xFCC0,0xAC1E,0xFCC1,0xAC22,0xFCC2,0xAC26,0xFCC3,0xAC2A,0xFCC4,0xAC2E,0xFCC5,0xAC32,0xFCC6,0xAC36,0xFCC7,0xAC3A,0xFCC8,0xAC3E,0xFCC9,0xAC42,0xFCCA,0xAC46,0xFCCB,0xAC4A,0xFCCC,0xAC4E,0xFCCD,0xAC52,
3038
  0xFCCE,0xAC56,0xFCCF,0xAC5A,0xFCD0,0xAC5E,0xFCD1,0xAC62,0xFCD2,0xAC66,0xFCD3,0xAC6A,0xFCD4,0xAC6E,0xFCD5,0xAC72,0xFCD6,0xAC76,0xFCD7,0xAC7A,0xFCD8,0xAC7E,0xFCD9,0xAC82,0xFCDA,0xAC86,0xFCDB,0xAC8A,0xFCDC,0xAC8E,0xFCDD,0xAC92,
3039
  0xFCDE,0xAC96,0xFCDF,0xAC9A,0xFCE0,0xAC9E,0xFCE1,0xACA2,0xFCE2,0xACA6,0xFCE3,0xACAA,0xFCE4,0xACAE,0xFCE5,0xACB2,0xFCE6,0xACB6,0xFCE7,0xACBA,0xFCE8,0xACBE,0xFCE9,0xACC2,0xFCEA,0xACC6,0xFCEB,0xACCA,0xFCEC,0xACCE,0xFCED,0xACD2,
3040
  0xFCEE,0xACD6,0xFCEF,0xACDA,0xFCF0,0xACDE,0xFCF1,0xACE2,0xFCF2,0xACE6,0xFCF3,0xACEC,0xFCF4,0xACF2,0xFCF5,0xACF8,0xFCF6,0xACFC,0xFCF7,0xAD00,0xFCF8,0xAD04,0xFCF9,0xAD08,0xFCFA,0xAD0C,0xFCFB,0xAD10,0xFCFC,0xAD14,0xFCFD,0xAD18,
3041
  0xFCFE,0xAD1C,0xFCFF,0xAD20,0xFD00,0xAD24,0xFD01,0xAD28,0xFD02,0xAD2C,0xFD03,0xAD30,0xFD04,0xAD34,0xFD05,0xAD38,0xFD06,0xAD3C,0xFD07,0xAD40,0xFD08,0xAD44,0xFD09,0xAD48,0xFD0A,0xAD4C,0xFD0B,0xAD50,0xFD0C,0xAD54,0xFD0D,0xAD58,
3042
  0xFD0E,0xAD5C,0xFD0F,0xAD60,0xFD10,0xAD64,0xFD11,0xAD68,0xFD12,0xAD6C,0xFD13,0xAD70,0xFD14,0xAD74,0xFD15,0xAD78,0xFD16,0xAD7C,0xFD17,0xAD80,0xFD18,0xAD84,0xFD19,0xAD88,0xFD1A,0xAD8C,0xFD1B,0xAD90,0xFD1C,0xAD94,0xFD1D,0xAD98,
3043
  0xFD1E,0xAD9C,0xFD1F,0xADA0,0xFD20,0xADA4,0xFD21,0xADA8,0xFD22,0xADAC,0xFD23,0xADB0,0xFD24,0xADB4,0xFD25,0xADB8,0xFD26,0xADBC,0xFD27,0xADC0,0xFD28,0xADC4,0xFD29,0xADC8,0xFD2A,0xADCC,0xFD2B,0xADD0,0xFD2C,0xADD4,0xFD2D,0xADD8,
3044
  0xFD2E,0xADDC,0xFD2F,0xADE0,0xFD30,0xADE4,0xFD31,0xADE8,0xFD32,0xADEC,0xFD33,0xADF0,0xFD34,0xADF4,0xFD35,0xADF8,0xFD36,0xADFC,0xFD37,0xAE00,0xFD38,0xAE04,0xFD39,0xAE08,0xFD3A,0xAE0C,0xFD3B,0xAE10,0xFD3C,0xAE14,0xFD3D,0xAE18,
3045
  0xFD50,0xAE1C,0xFD51,0xAE22,0xFD52,0xAE28,0xFD53,0xAE2E,0xFD54,0xAE34,0xFD55,0xAE3A,0xFD56,0xAE40,0xFD57,0xAE46,0xFD58,0xAE4C,0xFD59,0xAE52,0xFD5A,0xAE58,0xFD5B,0xAE5E,0xFD5C,0xAE64,0xFD5D,0xAE6A,0xFD5E,0xAE70,0xFD5F,0xAE76,
3046
  0xFD60,0xAE7C,0xFD61,0xAE82,0xFD62,0xAE88,0xFD63,0xAE8E,0xFD64,0xAE94,0xFD65,0xAE9A,0xFD66,0xAEA0,0xFD67,0xAEA6,0xFD68,0xAEAC,0xFD69,0xAEB2,0xFD6A,0xAEB8,0xFD6B,0xAEBE,0xFD6C,0xAEC4,0xFD6D,0xAECA,0xFD6E,0xAED0,0xFD6F,0xAED6,
3047
  0xFD70,0xAEDC,0xFD71,0xAEE2,0xFD72,0xAEE8,0xFD73,0xAEEE,0xFD74,0xAEF4,0xFD75,0xAEFA,0xFD76,0xAF00,0xFD77,0xAF06,0xFD78,0xAF0C,0xFD79,0xAF12,0xFD7A,0xAF18,0xFD7B,0xAF1E,0xFD7C,0xAF24,0xFD7D,0xAF2A,0xFD7E,0xAF30,0xFD7F,0xAF36,
3048
  0xFD80,0xAF3C,0xFD81,0xAF42,0xFD82,0xAF48,0xFD83,0xAF4E,0xFD84,0xAF54,0xFD85,0xAF5A,0xFD86,0xAF60,0xFD87,0xAF66,0xFD88,0xAF6C,0xFD89,0xAF72,0xFD8A,0xAF78,0xFD8B,0xAF7E,0xFD8C,0xAF84,0xFD8D,0xAF8A,0xFD8E,0xAF90,0xFD8F,0xAF96,
3049
  0xFD92,0xAF9C,0xFD93,0xAFA2,0xFD94,0xAFA8,0xFD95,0xAFAE,0xFD96,0xAFB4,0xFD97,0xAFBA,0xFD98,0xAFC0,0xFD99,0xAFC6,0xFD9A,0xAFCC,0xFD9B,0xAFD2,0xFD9C,0xAFD8,0xFD9D,0xAFDE,0xFD9E,0xAFE4,0xFD9F,0xAFEA,0xFDA0,0xAFF0,0xFDA1,0xAFF6,
3050
  0xFDA2,0xAFFC,0xFDA3,0xB002,0xFDA4,0xB008,0xFDA5,0xB00E,0xFDA6,0xB014,0xFDA7,0xB01A,0xFDA8,0xB020,0xFDA9,0xB026,0xFDAA,0xB02C,0xFDAB,0xB032,0xFDAC,0xB038,0xFDAD,0xB03E,0xFDAE,0xB044,0xFDAF,0xB04A,0xFDB0,0xB050,0xFDB1,0xB056,
3051
  0xFDB2,0xB05C,0xFDB3,0xB062,0xFDB4,0xB068,0xFDB5,0xB06E,0xFDB6,0xB074,0xFDB7,0xB07A,0xFDB8,0xB080,0xFDB9,0xB086,0xFDBA,0xB08C,0xFDBB,0xB092,0xFDBC,0xB098,0xFDBD,0xB09E,0xFDBE,0xB0A4,0xFDBF,0xB0AA,0xFDC0,0xB0B0,0xFDC1,0xB0B6,
3052
  0xFDC2,0xB0BC,0xFDC3,0xB0C2,0xFDC4,0xB0C8,0xFDC5,0xB0CE,0xFDC6,0xB0D4,0xFDC7,0xB0DA,0xFDF0,0xB0E0,0xFDF1,0xB0E6,0xFDF2,0xB0EC,0xFDF3,0xB0F4,0xFDF4,0xB0FC,0xFDF5,0xB104,0xFDF6,0xB10C,0xFDF7,0xB114,0xFDF8,0xB11C,0xFDF9,0xB124,
3053
  0xFDFA,0xB12A,0xFDFB,0xB14B,0xFDFC,0xB15A,0xFE10,0xB162,0xFE11,0xB163,0xFE12,0xB166,0xFE13,0xB169,0xFE14,0xB16A,0xFE15,0xB16B,0xFE16,0xB16C,0xFE17,0xB16D,0xFE18,0xB170,0xFE19,0xB173,0xFE30,0xB176,0xFE31,0xB179,0xFE32,0xB17C,
3054
  0xFE33,0xB17F,0xFE34,0xB180,0xFE35,0xB181,0xFE36,0xB182,0xFE37,0xB183,0xFE38,0xB184,0xFE39,0xB185,0xFE3A,0xB188,0xFE3B,0xB18B,0xFE3C,0xB18E,0xFE3D,0xB191,0xFE3E,0xB194,0xFE3F,0xB197,0xFE40,0xB19A,0xFE41,0xB19D,0xFE42,0xB1A0,
3055
  0xFE43,0xB1A3,0xFE44,0xB1A6,0xFE47,0xB1A9,0xFE48,0xB1AA,0xFE49,0xB1AB,0xFE4A,0xB1AE,0xFE4B,0xB1B1,0xFE4C,0xB1B4,0xFE4D,0xB1B7,0xFE4E,0xB1B8,0xFE4F,0xB1B9,0xFE50,0xB1BA,0xFE51,0xB1BB,0xFE52,0xB1BE,0xFE54,0xB1BF,0xFE55,0xB1C0,
3056
  0xFE56,0xB1C1,0xFE57,0xB1C2,0xFE58,0xB1C3,0xFE59,0xB1C6,0xFE5A,0xB1C7,0xFE5B,0xB1C8,0xFE5C,0xB1C9,0xFE5D,0xB1CA,0xFE5E,0xB1CD,0xFE5F,0xB1D0,0xFE60,0xB1D1,0xFE61,0xB1D2,0xFE62,0xB1D3,0xFE63,0xB1D4,0xFE64,0xB1D5,0xFE65,0xB1D6,
3057
  0xFE66,0xB1D7,0xFE68,0xB1D8,0xFE69,0xB1D9,0xFE6A,0xB1DA,0xFE6B,0xB1DB,0xFE70,0xB1DC,0xFE71,0xB1DF,0xFE72,0xB1E3,0xFE74,0xB1E6,0xFE76,0xB1E9,0xFE77,0xB1EC,0xFE78,0xB1F0,0xFE79,0xB1F3,0xFE7A,0xB1F7,0xFE7B,0xB1FA,0xFE7C,0xB1FE,
3058
  0xFE7D,0xB201,0xFE7E,0xB205,0xFE7F,0xB208,0xFE80,0xB20C,0xFE81,0xB20E,0xFE82,0xB210,0xFE83,0xB212,0xFE84,0xB214,0xFE85,0xB216,0xFE86,0xB218,0xFE87,0xB21A,0xFE88,0xB21C,0xFE89,0xB21E,0xFE8A,0xB220,0xFE8B,0xB222,0xFE8C,0xB224,
3059
  0xFE8D,0xB226,0xFE8E,0xB228,0xFE8F,0xB22A,0xFE90,0xB22C,0xFE91,0xB22E,0xFE92,0xB230,0xFE93,0xB232,0xFE94,0xB234,0xFE95,0xB236,0xFE96,0xB238,0xFE97,0xB23A,0xFE98,0xB23C,0xFE99,0xB23E,0xFE9A,0xB240,0xFE9B,0xB242,0xFE9C,0xB244,
3060
  0xFE9D,0xB246,0xFE9E,0xB248,0xFE9F,0xB24A,0xFEA0,0xB24C,0xFEA1,0xB24E,0xFEA2,0xB250,0xFEA3,0xB252,0xFEA4,0xB254,0xFEA5,0xB256,0xFEA6,0xB258,0xFEA7,0xB25A,0xFEA8,0xB25C,0xFEA9,0xB25E,0xFEAA,0xB260,0xFEAB,0xB262,0xFEAC,0xB264,
3061
  0xFEAD,0xB266,0xFEAE,0xB268,0xFEAF,0xB26A,0xFEB0,0xB26C,0xFEB1,0xB26E,0xFEB2,0xB270,0xFEB3,0xB272,0xFEB4,0xB274,0xFEB5,0xB276,0xFEB6,0xB278,0xFEB7,0xB27A,0xFEB8,0xB27C,0xFEB9,0xB27E,0xFEBA,0xB280,0xFEBB,0xB282,0xFEBC,0xB284,
3062
  0xFEBD,0xB286,0xFEBE,0xB288,0xFEBF,0xB28A,0xFEC0,0xB28C,0xFEC1,0xB28E,0xFEC2,0xB290,0xFEC3,0xB292,0xFEC4,0xB294,0xFEC5,0xB296,0xFEC6,0xB298,0xFEC7,0xB29A,0xFEC8,0xB29C,0xFEC9,0xB29E,0xFECA,0xB2A0,0xFECB,0xB2A2,0xFECC,0xB2A4,
3063
  0xFECD,0xB2A6,0xFECE,0xB2A8,0xFECF,0xB2AA,0xFED0,0xB2AC,0xFED1,0xB2AE,0xFED2,0xB2B0,0xFED3,0xB2B2,0xFED4,0xB2B4,0xFED5,0xB2B6,0xFED6,0xB2B8,0xFED7,0xB2BA,0xFED8,0xB2BC,0xFED9,0xB2BE,0xFEDA,0xB2C0,0xFEDB,0xB2C2,0xFEDC,0xB2C4,
3064
  0xFEDD,0xB2C6,0xFEDE,0xB2C8,0xFEDF,0xB2CA,0xFEE0,0xB2CC,0xFEE1,0xB2CE,0xFEE2,0xB2D0,0xFEE3,0xB2D2,0xFEE4,0xB2D4,0xFEE5,0xB2D6,0xFEE6,0xB2D8,0xFEE7,0xB2DA,0xFEE8,0xB2DC,0xFEE9,0xB2DE,0xFEEA,0xB2E0,0xFEEB,0xB2E2,0xFEEC,0xB2E4,
3065
  0xFEED,0xB2E6,0xFEEE,0xB2E8,0xFEEF,0xB2EA,0xFEF0,0xB2EC,0xFEF1,0xB2EE,0xFEF2,0xB2F0,0xFEF3,0xB2F2,0xFEF4,0xB2F4,0xFEF5,0xB2F6,0xFEF6,0xB2FA,0xFEF7,0xB2FE,0xFEF8,0xB302,0xFEF9,0xB306,0xFEFA,0xB30A,0xFEFB,0xB30E,0xFEFC,0xB312,
3066
  0xFF01,0xB316,0xFF02,0xB317,0xFF03,0xB318,0xFF04,0xB319,0xFF05,0xB31A,0xFF06,0xB31B,0xFF07,0xB31C,0xFF08,0xB31D,0xFF09,0xB31E,0xFF0A,0xB31F,0xFF0B,0xB320,0xFF0C,0xB321,0xFF0D,0xB322,0xFF0E,0xB323,0xFF0F,0xB324,0xFF10,0xB325,
3067
  0xFF11,0xB326,0xFF12,0xB327,0xFF13,0xB328,0xFF14,0xB329,0xFF15,0xB32A,0xFF16,0xB32B,0xFF17,0xB32C,0xFF18,0xB32D,0xFF19,0xB32E,0xFF1A,0xB32F,0xFF1B,0xB330,0xFF1C,0xB331,0xFF1D,0xB332,0xFF1E,0xB333,0xFF1F,0xB334,0xFF20,0xB335,
3068
  0xFF21,0xB336,0xFF22,0xB337,0xFF23,0xB338,0xFF24,0xB339,0xFF25,0xB33A,0xFF26,0xB33B,0xFF27,0xB33C,0xFF28,0xB33D,0xFF29,0xB33E,0xFF2A,0xB33F,0xFF2B,0xB340,0xFF2C,0xB341,0xFF2D,0xB342,0xFF2E,0xB343,0xFF2F,0xB344,0xFF30,0xB345,
3069
  0xFF31,0xB346,0xFF32,0xB347,0xFF33,0xB348,0xFF34,0xB349,0xFF35,0xB34A,0xFF36,0xB34B,0xFF37,0xB34C,0xFF38,0xB34D,0xFF39,0xB34E,0xFF3A,0xB34F,0xFF3B,0xB350,0xFF3C,0xB351,0xFF3D,0xB352,0xFF3E,0xB353,0xFF3F,0xB354,0xFF40,0xB355,
3070
  0xFF41,0xB356,0xFF42,0xB357,0xFF43,0xB358,0xFF44,0xB359,0xFF45,0xB35A,0xFF46,0xB35B,0xFF47,0xB35C,0xFF48,0xB35D,0xFF49,0xB35E,0xFF4A,0xB35F,0xFF4B,0xB360,0xFF4C,0xB361,0xFF4D,0xB362,0xFF4E,0xB363,0xFF4F,0xB364,0xFF50,0xB365,
3071
  0xFF51,0xB366,0xFF52,0xB367,0xFF53,0xB368,0xFF54,0xB369,0xFF55,0xB36A,0xFF56,0xB36B,0xFF57,0xB36C,0xFF58,0xB36D,0xFF59,0xB36E,0xFF5A,0xB36F,0xFF5B,0xB370,0xFF5C,0xB371,0xFF5D,0xB372,0xFF5E,0xB373,0xFF5F,0xB374,0xFF60,0xB377,
3072
  0xFF61,0xB37A,0xFF62,0xB37D,0xFF63,0xB380,0xFF64,0xB383,0xFF65,0xB386,0xFF66,0xB389,0xFF67,0xB38C,0xFF68,0xB38F,0xFF69,0xB392,0xFF6A,0xB395,0xFF6B,0xB398,0xFF6C,0xB39B,0xFF6D,0xB39E,0xFF6E,0xB3A1,0xFF6F,0xB3A4,0xFF70,0xB3A7,
3073
  0xFF71,0xB3AA,0xFF72,0xB3AD,0xFF73,0xB3B0,0xFF74,0xB3B3,0xFF75,0xB3B6,0xFF76,0xB3B9,0xFF77,0xB3BC,0xFF78,0xB3BF,0xFF79,0xB3C2,0xFF7A,0xB3C5,0xFF7B,0xB3C8,0xFF7C,0xB3CB,0xFF7D,0xB3CE,0xFF7E,0xB3D1,0xFF7F,0xB3D4,0xFF80,0xB3D7,
3074
  0xFF81,0xB3DA,0xFF82,0xB3DD,0xFF83,0xB3E0,0xFF84,0xB3E3,0xFF85,0xB3E6,0xFF86,0xB3E9,0xFF87,0xB3EC,0xFF88,0xB3EF,0xFF89,0xB3F2,0xFF8A,0xB3F5,0xFF8B,0xB3F8,0xFF8C,0xB3FB,0xFF8D,0xB3FE,0xFF8E,0xB401,0xFF8F,0xB404,0xFF90,0xB407,
3075
  0xFF91,0xB40A,0xFF92,0xB40D,0xFF93,0xB410,0xFF94,0xB413,0xFF95,0xB416,0xFF96,0xB419,0xFF97,0xB41C,0xFF98,0xB41F,0xFF99,0xB422,0xFF9A,0xB425,0xFF9B,0xB428,0xFF9C,0xB42B,0xFF9D,0xB42E,0xFF9E,0xB431,0xFF9F,0xB434,0xFFA0,0xB437,
3076
  0xFFA1,0xB43A,0xFFA2,0xB43D,0xFFA3,0xB440,0xFFA4,0xB443,0xFFA5,0xB446,0xFFA6,0xB449,0xFFA7,0xB44C,0xFFA8,0xB44F,0xFFA9,0xB452,0xFFAA,0xB455,0xFFAB,0xB458,0xFFAC,0xB45B,0xFFAD,0xB45E,0xFFAE,0xB461,0xFFAF,0xB464,0xFFB0,0xB467,
3077
  0xFFB1,0xB46A,0xFFB2,0xB46D,0xFFB3,0xB470,0xFFB4,0xB473,0xFFB5,0xB476,0xFFB6,0xB479,0xFFB7,0xB47C,0xFFB8,0xB47F,0xFFB9,0xB482,0xFFBA,0xB485,0xFFBB,0xB488,0xFFBC,0xB48B,0xFFBD,0xB48E,0xFFBE,0xB491,0xFFC2,0xB494,0xFFC3,0xB497,
3078
  0xFFC4,0xB49A,0xFFC5,0xB49D,0xFFC6,0xB4A0,0xFFC7,0xB4A3,0xFFCA,0xB4A6,0xFFCB,0xB4A9,0xFFCC,0xB4AC,0xFFCD,0xB4AF,0xFFCE,0xB4B2,0xFFCF,0xB4B5,0xFFD2,0xB4B8,0xFFD3,0xB4BB,0xFFD4,0xB4BE,0xFFD5,0xB4C1,0xFFD6,0xB4C4,0xFFD7,0xB4C7,
3079
  0xFFDA,0xB4CA,0xFFDB,0xB4CD,0xFFDC,0xB4D0,0xFFE0,0xB4D3,0xFFE1,0xB4D5,0xFFE2,0xB4D7,0xFFE3,0xB4D9,0xFFE4,0xB4DB,0xFFE5,0xB4DD,0xFFE6,0xB4DF,0xFFE8,0xB4E2,0xFFE9,0xB4E5,0xFFEA,0xB4E8,0xFFEB,0xB4EB,0xFFEC,0xB4EE,0xFFED,0xB4F1,
3080
  0xFFEE,0xB4F4,0xFFFF,0x34F7,
3081
};
3082
#define mxDecompositionSize1 2640
3083
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3084
  0xf0,0x90,0x97,0x92,0xcc,0x87,0xf0,0x90,0x97,0x9a,0xcc,0x87,0xcb,0x90,0xcb,0x91,0xc3,0xa6,0xca,0x99,0xc9,0x93,0xca,0xa3,0xea,0xad,0xa6,0xca,0xa5,0xca,0xa4,0xc9,
3085
  0x96,0xc9,0x97,0xe1,0xb6,0x91,0xc9,0x98,0xc9,0x9e,0xca,0xa9,0xc9,0xa4,0xc9,0xa2,0xc9,0xa0,0xca,0x9b,0xc4,0xa7,0xca,0x9c,0xc9,0xa7,0xca,0x84,0xca,0xaa,0xca,0xab,
3086
  0xc9,0xac,0xf0,0x9d,0xbc,0x84,0xea,0x9e,0x8e,0xc9,0xae,0xf0,0x9d,0xbc,0x85,0xca,0x8e,0xf0,0x9d,0xbc,0x86,0xc3,0xb8,0xc9,0xb6,0xc9,0xb7,0x71,0xc9,0xba,0xf0,0x9d,
3087
  0xbc,0x88,0xc9,0xbd,0xc9,0xbe,0xca,0x80,0xca,0xa8,0xca,0xa6,0xea,0xad,0xa7,0xca,0xa7,0xca,0x88,0xe2,0xb1,0xb1,0xca,0x8f,0xca,0xa1,0xca,0xa2,0xca,0x98,0xc7,0x80,
3088
  0xc7,0x81,0xc7,0x82,0xf0,0x9d,0xbc,0x8a,0xf0,0x9d,0xbc,0x9e,0xf0,0x91,0x82,0x99,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0x9b,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0xa5,
3089
  0xf0,0x91,0x82,0xba,0xf0,0x91,0x84,0xb1,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x84,0xb2,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8c,0xbe,0xf0,0x91,0x8d,0x87,
3090
  0xf0,0x91,0x8d,0x97,0xf0,0x91,0x8e,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8e,0x84,0xf0,0x91,0x8e,0xbb,0xf0,0x91,0x8e,0x8b,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0x90,
3091
  0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0xb8,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x92,0xb9,
3092
  0xf0,0x91,0x92,0xba,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,
3093
  0xf0,0x91,0x96,0xaf,0xf0,0x91,0xa4,0xb5,0xf0,0x91,0xa4,0xb0,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9e,
3094
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa0,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa2,
3095
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0xa0,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa3,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa9,
3096
  0xf0,0x96,0xb5,0xa7,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,0x30,0x31,
3097
  0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xf0,0x9d,0x85,0x97,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x98,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xae,
3098
  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,
3099
  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,
3100
  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,
3101
  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,
3102
  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,
3103
  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,
3104
  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,
3105
  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,
3106
  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,
3107
  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,
3108
  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,
3109
  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,
3110
  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,
3111
  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,
3112
  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,
3113
  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,
3114
  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,
3115
  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,
3116
  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,
3117
  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,
3118
  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,
3119
  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,
3120
  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,
3121
  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,
3122
  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,
3123
  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,
3124
  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,
3125
  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,
3126
  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,
3127
  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,
3128
  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,
3129
  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,
3130
  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,
3131
  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,
3132
  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,
3133
  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,
3134
  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,
3135
  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,
3136
  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,
3137
  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,
3138
  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,
3139
  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,
3140
  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,
3141
  0x36,0x37,0x38,0x39,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbc,0xd0,0xbe,0xd0,0xbf,
3142
  0xd1,0x80,0xd1,0x81,0xd1,0x82,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8b,0xd1,0x8d,0xd1,0x8e,0xea,0x9a,0x89,0xd3,0x99,0xd1,0x96,0xd1,
3143
  0x98,0xd3,0xa9,0xd2,0xaf,0xd3,0x8f,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbe,0xd0,
3144
  0xbf,0xd1,0x81,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8a,0xd1,0x8b,0xd2,0x91,0xd1,0x96,0xd1,0x95,0xd1,0x9f,0xd2,0xab,0xea,0x99,0x91,
3145
  0xd2,0xb1,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,0xd8,0xb9,
3146
  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,0xd9,0xaf,
3147
  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,0xd8,0xaa,
3148
  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,0xd8,0xb6,
3149
  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,0xd8,0xb5,
3150
  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,0xd9,0x88,
3151
  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,0xd8,0xab,
3152
  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,0xd9,0x86,
3153
  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,0x30,0x2c,
3154
  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,0x28,0x45,
3155
  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,0x29,0x28,
3156
  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,0x5a,0x29,
3157
  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,0x52,0x53,
3158
  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,0xbb,0xe3,
3159
  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,0xa7,0xa3,
3160
  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,0xe7,0xb5,
3161
  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,0x8a,0xe5,
3162
  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,0x9c,0x89,
3163
  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,0xe3,0x80,
3164
  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,0x94,0xe6,
3165
  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,0x80,0x95,
3166
  0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3167
};
3168
6
#define mxDecompositionCount1 2968
3169
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3170
  0x05C9,0x0000,0x05E4,0x0006,0x0781,0x800C,0x0782,0x800E,0x0783,0x8010,0x0784,0x8012,0x0785,0x8014,0x0787,0x8016,0x0788,0x8018,0x0789,0x801B,0x078A,0x801D,0x078B,0x801F,0x078C,0x8021,0x078D,0x8023,0x078E,0x8026,0x078F,0x8028,
3171
  0x0790,0x802A,0x0791,0x802C,0x0792,0x802E,0x0793,0x8030,0x0794,0x8032,0x0795,0x8034,0x0796,0x8036,0x0797,0x8038,0x0798,0x803A,0x0799,0x803C,0x079A,0x803E,0x079B,0x8040,0x079C,0x8042,0x079D,0x8046,0x079E,0x8049,0x079F,0x804B,
3172
  0x07A0,0x804F,0x07A1,0x8051,0x07A2,0x8055,0x07A3,0x8057,0x07A4,0x8059,0x07A5,0x805B,0x07A6,0x805C,0x07A7,0x805E,0x07A8,0x8062,0x07A9,0x8064,0x07AA,0x8066,0x07AB,0x8068,0x07AC,0x806A,0x07AD,0x806C,0x07AE,0x806F,0x07AF,0x8071,
3173
  0x07B0,0x8073,0x07B2,0x8076,0x07B3,0x8078,0x07B4,0x807A,0x07B5,0x807C,0x07B6,0x807E,0x07B7,0x8080,0x07B8,0x8082,0x07B9,0x8084,0x07BA,0x8088,0x109A,0x008C,0x109C,0x0094,0x10AB,0x009C,0x112E,0x00A4,0x112F,0x00AC,0x134B,0x00B4,
3174
  0x134C,0x00BC,0x1383,0x00C4,0x1385,0x00CC,0x138E,0x00D4,0x1391,0x00DC,0x13C5,0x00E4,0x13C7,0x00EC,0x13C8,0x00F4,0x14BB,0x00FC,0x14BC,0x0104,0x14BE,0x010C,0x15BA,0x0114,0x15BB,0x011C,0x1938,0x0124,0x6121,0x012C,0x6122,0x0134,
3175
  0x6123,0x013C,0x6124,0x0144,0x6125,0x014C,0x6126,0x0154,0x6127,0x015C,0x6128,0x0164,0x6D68,0x016C,0x6D69,0x0174,0x6D6A,0x017C,0xCCD6,0x8184,0xCCD7,0x8185,0xCCD8,0x8186,0xCCD9,0x8187,0xCCDA,0x8188,0xCCDB,0x8189,0xCCDC,0x818A,
3176
  0xCCDD,0x818B,0xCCDE,0x818C,0xCCDF,0x818D,0xCCE0,0x818E,0xCCE1,0x818F,0xCCE2,0x8190,0xCCE3,0x8191,0xCCE4,0x8192,0xCCE5,0x8193,0xCCE6,0x8194,0xCCE7,0x8195,0xCCE8,0x8196,0xCCE9,0x8197,0xCCEA,0x8198,0xCCEB,0x8199,0xCCEC,0x819A,
3177
  0xCCED,0x819B,0xCCEE,0x819C,0xCCEF,0x819D,0xCCF0,0x819E,0xCCF1,0x819F,0xCCF2,0x81A0,0xCCF3,0x81A1,0xCCF4,0x81A2,0xCCF5,0x81A3,0xCCF6,0x81A4,0xCCF7,0x81A5,0xCCF8,0x81A6,0xCCF9,0x81A7,0xD15E,0x01A8,0xD15F,0x01B0,0xD160,0x01B8,
3178
  0xD161,0x01C0,0xD162,0x01C8,0xD163,0x01D0,0xD164,0x01D8,0xD1BB,0x01E0,0xD1BC,0x01E8,0xD1BD,0x01F0,0xD1BE,0x01F8,0xD1BF,0x0200,0xD1C0,0x0208,0xD400,0x8210,0xD401,0x8211,0xD402,0x8212,0xD403,0x8213,0xD404,0x8214,0xD405,0x8215,
3179
  0xD406,0x8216,0xD407,0x8217,0xD408,0x8218,0xD409,0x8219,0xD40A,0x821A,0xD40B,0x821B,0xD40C,0x821C,0xD40D,0x821D,0xD40E,0x821E,0xD40F,0x821F,0xD410,0x8220,0xD411,0x8221,0xD412,0x8222,0xD413,0x8223,0xD414,0x8224,0xD415,0x8225,
3180
  0xD416,0x8226,0xD417,0x8227,0xD418,0x8228,0xD419,0x8229,0xD41A,0x822A,0xD41B,0x822B,0xD41C,0x822C,0xD41D,0x822D,0xD41E,0x822E,0xD41F,0x822F,0xD420,0x8230,0xD421,0x8231,0xD422,0x8232,0xD423,0x8233,0xD424,0x8234,0xD425,0x8235,
3181
  0xD426,0x8236,0xD427,0x8237,0xD428,0x8238,0xD429,0x8239,0xD42A,0x823A,0xD42B,0x823B,0xD42C,0x823C,0xD42D,0x823D,0xD42E,0x823E,0xD42F,0x823F,0xD430,0x8240,0xD431,0x8241,0xD432,0x8242,0xD433,0x8243,0xD434,0x8244,0xD435,0x8245,
3182
  0xD436,0x8246,0xD437,0x8247,0xD438,0x8248,0xD439,0x8249,0xD43A,0x824A,0xD43B,0x824B,0xD43C,0x824C,0xD43D,0x824D,0xD43E,0x824E,0xD43F,0x824F,0xD440,0x8250,0xD441,0x8251,0xD442,0x8252,0xD443,0x8253,0xD444,0x8254,0xD445,0x8255,
3183
  0xD446,0x8256,0xD447,0x8257,0xD448,0x8258,0xD449,0x8259,0xD44A,0x825A,0xD44B,0x825B,0xD44C,0x825C,0xD44D,0x825D,0xD44E,0x825E,0xD44F,0x825F,0xD450,0x8260,0xD451,0x8261,0xD452,0x8262,0xD453,0x8263,0xD454,0x8264,0xD456,0x8265,
3184
  0xD457,0x8266,0xD458,0x8267,0xD459,0x8268,0xD45A,0x8269,0xD45B,0x826A,0xD45C,0x826B,0xD45D,0x826C,0xD45E,0x826D,0xD45F,0x826E,0xD460,0x826F,0xD461,0x8270,0xD462,0x8271,0xD463,0x8272,0xD464,0x8273,0xD465,0x8274,0xD466,0x8275,
3185
  0xD467,0x8276,0xD468,0x8277,0xD469,0x8278,0xD46A,0x8279,0xD46B,0x827A,0xD46C,0x827B,0xD46D,0x827C,0xD46E,0x827D,0xD46F,0x827E,0xD470,0x827F,0xD471,0x8280,0xD472,0x8281,0xD473,0x8282,0xD474,0x8283,0xD475,0x8284,0xD476,0x8285,
3186
  0xD477,0x8286,0xD478,0x8287,0xD479,0x8288,0xD47A,0x8289,0xD47B,0x828A,0xD47C,0x828B,0xD47D,0x828C,0xD47E,0x828D,0xD47F,0x828E,0xD480,0x828F,0xD481,0x8290,0xD482,0x8291,0xD483,0x8292,0xD484,0x8293,0xD485,0x8294,0xD486,0x8295,
3187
  0xD487,0x8296,0xD488,0x8297,0xD489,0x8298,0xD48A,0x8299,0xD48B,0x829A,0xD48C,0x829B,0xD48D,0x829C,0xD48E,0x829D,0xD48F,0x829E,0xD490,0x829F,0xD491,0x82A0,0xD492,0x82A1,0xD493,0x82A2,0xD494,0x82A3,0xD495,0x82A4,0xD496,0x82A5,
3188
  0xD497,0x82A6,0xD498,0x82A7,0xD499,0x82A8,0xD49A,0x82A9,0xD49B,0x82AA,0xD49C,0x82AB,0xD49E,0x82AC,0xD49F,0x82AD,0xD4A2,0x82AE,0xD4A5,0x82AF,0xD4A6,0x82B0,0xD4A9,0x82B1,0xD4AA,0x82B2,0xD4AB,0x82B3,0xD4AC,0x82B4,0xD4AE,0x82B5,
3189
  0xD4AF,0x82B6,0xD4B0,0x82B7,0xD4B1,0x82B8,0xD4B2,0x82B9,0xD4B3,0x82BA,0xD4B4,0x82BB,0xD4B5,0x82BC,0xD4B6,0x82BD,0xD4B7,0x82BE,0xD4B8,0x82BF,0xD4B9,0x82C0,0xD4BB,0x82C1,0xD4BD,0x82C2,0xD4BE,0x82C3,0xD4BF,0x82C4,0xD4C0,0x82C5,
3190
  0xD4C1,0x82C6,0xD4C2,0x82C7,0xD4C3,0x82C8,0xD4C5,0x82C9,0xD4C6,0x82CA,0xD4C7,0x82CB,0xD4C8,0x82CC,0xD4C9,0x82CD,0xD4CA,0x82CE,0xD4CB,0x82CF,0xD4CC,0x82D0,0xD4CD,0x82D1,0xD4CE,0x82D2,0xD4CF,0x82D3,0xD4D0,0x82D4,0xD4D1,0x82D5,
3191
  0xD4D2,0x82D6,0xD4D3,0x82D7,0xD4D4,0x82D8,0xD4D5,0x82D9,0xD4D6,0x82DA,0xD4D7,0x82DB,0xD4D8,0x82DC,0xD4D9,0x82DD,0xD4DA,0x82DE,0xD4DB,0x82DF,0xD4DC,0x82E0,0xD4DD,0x82E1,0xD4DE,0x82E2,0xD4DF,0x82E3,0xD4E0,0x82E4,0xD4E1,0x82E5,
3192
  0xD4E2,0x82E6,0xD4E3,0x82E7,0xD4E4,0x82E8,0xD4E5,0x82E9,0xD4E6,0x82EA,0xD4E7,0x82EB,0xD4E8,0x82EC,0xD4E9,0x82ED,0xD4EA,0x82EE,0xD4EB,0x82EF,0xD4EC,0x82F0,0xD4ED,0x82F1,0xD4EE,0x82F2,0xD4EF,0x82F3,0xD4F0,0x82F4,0xD4F1,0x82F5,
3193
  0xD4F2,0x82F6,0xD4F3,0x82F7,0xD4F4,0x82F8,0xD4F5,0x82F9,0xD4F6,0x82FA,0xD4F7,0x82FB,0xD4F8,0x82FC,0xD4F9,0x82FD,0xD4FA,0x82FE,0xD4FB,0x82FF,0xD4FC,0x8300,0xD4FD,0x8301,0xD4FE,0x8302,0xD4FF,0x8303,0xD500,0x8304,0xD501,0x8305,
3194
  0xD502,0x8306,0xD503,0x8307,0xD504,0x8308,0xD505,0x8309,0xD507,0x830A,0xD508,0x830B,0xD509,0x830C,0xD50A,0x830D,0xD50D,0x830E,0xD50E,0x830F,0xD50F,0x8310,0xD510,0x8311,0xD511,0x8312,0xD512,0x8313,0xD513,0x8314,0xD514,0x8315,
3195
  0xD516,0x8316,0xD517,0x8317,0xD518,0x8318,0xD519,0x8319,0xD51A,0x831A,0xD51B,0x831B,0xD51C,0x831C,0xD51E,0x831D,0xD51F,0x831E,0xD520,0x831F,0xD521,0x8320,0xD522,0x8321,0xD523,0x8322,0xD524,0x8323,0xD525,0x8324,0xD526,0x8325,
3196
  0xD527,0x8326,0xD528,0x8327,0xD529,0x8328,0xD52A,0x8329,0xD52B,0x832A,0xD52C,0x832B,0xD52D,0x832C,0xD52E,0x832D,0xD52F,0x832E,0xD530,0x832F,0xD531,0x8330,0xD532,0x8331,0xD533,0x8332,0xD534,0x8333,0xD535,0x8334,0xD536,0x8335,
3197
  0xD537,0x8336,0xD538,0x8337,0xD539,0x8338,0xD53B,0x8339,0xD53C,0x833A,0xD53D,0x833B,0xD53E,0x833C,0xD540,0x833D,0xD541,0x833E,0xD542,0x833F,0xD543,0x8340,0xD544,0x8341,0xD546,0x8342,0xD54A,0x8343,0xD54B,0x8344,0xD54C,0x8345,
3198
  0xD54D,0x8346,0xD54E,0x8347,0xD54F,0x8348,0xD550,0x8349,0xD552,0x834A,0xD553,0x834B,0xD554,0x834C,0xD555,0x834D,0xD556,0x834E,0xD557,0x834F,0xD558,0x8350,0xD559,0x8351,0xD55A,0x8352,0xD55B,0x8353,0xD55C,0x8354,0xD55D,0x8355,
3199
  0xD55E,0x8356,0xD55F,0x8357,0xD560,0x8358,0xD561,0x8359,0xD562,0x835A,0xD563,0x835B,0xD564,0x835C,0xD565,0x835D,0xD566,0x835E,0xD567,0x835F,0xD568,0x8360,0xD569,0x8361,0xD56A,0x8362,0xD56B,0x8363,0xD56C,0x8364,0xD56D,0x8365,
3200
  0xD56E,0x8366,0xD56F,0x8367,0xD570,0x8368,0xD571,0x8369,0xD572,0x836A,0xD573,0x836B,0xD574,0x836C,0xD575,0x836D,0xD576,0x836E,0xD577,0x836F,0xD578,0x8370,0xD579,0x8371,0xD57A,0x8372,0xD57B,0x8373,0xD57C,0x8374,0xD57D,0x8375,
3201
  0xD57E,0x8376,0xD57F,0x8377,0xD580,0x8378,0xD581,0x8379,0xD582,0x837A,0xD583,0x837B,0xD584,0x837C,0xD585,0x837D,0xD586,0x837E,0xD587,0x837F,0xD588,0x8380,0xD589,0x8381,0xD58A,0x8382,0xD58B,0x8383,0xD58C,0x8384,0xD58D,0x8385,
3202
  0xD58E,0x8386,0xD58F,0x8387,0xD590,0x8388,0xD591,0x8389,0xD592,0x838A,0xD593,0x838B,0xD594,0x838C,0xD595,0x838D,0xD596,0x838E,0xD597,0x838F,0xD598,0x8390,0xD599,0x8391,0xD59A,0x8392,0xD59B,0x8393,0xD59C,0x8394,0xD59D,0x8395,
3203
  0xD59E,0x8396,0xD59F,0x8397,0xD5A0,0x8398,0xD5A1,0x8399,0xD5A2,0x839A,0xD5A3,0x839B,0xD5A4,0x839C,0xD5A5,0x839D,0xD5A6,0x839E,0xD5A7,0x839F,0xD5A8,0x83A0,0xD5A9,0x83A1,0xD5AA,0x83A2,0xD5AB,0x83A3,0xD5AC,0x83A4,0xD5AD,0x83A5,
3204
  0xD5AE,0x83A6,0xD5AF,0x83A7,0xD5B0,0x83A8,0xD5B1,0x83A9,0xD5B2,0x83AA,0xD5B3,0x83AB,0xD5B4,0x83AC,0xD5B5,0x83AD,0xD5B6,0x83AE,0xD5B7,0x83AF,0xD5B8,0x83B0,0xD5B9,0x83B1,0xD5BA,0x83B2,0xD5BB,0x83B3,0xD5BC,0x83B4,0xD5BD,0x83B5,
3205
  0xD5BE,0x83B6,0xD5BF,0x83B7,0xD5C0,0x83B8,0xD5C1,0x83B9,0xD5C2,0x83BA,0xD5C3,0x83BB,0xD5C4,0x83BC,0xD5C5,0x83BD,0xD5C6,0x83BE,0xD5C7,0x83BF,0xD5C8,0x83C0,0xD5C9,0x83C1,0xD5CA,0x83C2,0xD5CB,0x83C3,0xD5CC,0x83C4,0xD5CD,0x83C5,
3206
  0xD5CE,0x83C6,0xD5CF,0x83C7,0xD5D0,0x83C8,0xD5D1,0x83C9,0xD5D2,0x83CA,0xD5D3,0x83CB,0xD5D4,0x83CC,0xD5D5,0x83CD,0xD5D6,0x83CE,0xD5D7,0x83CF,0xD5D8,0x83D0,0xD5D9,0x83D1,0xD5DA,0x83D2,0xD5DB,0x83D3,0xD5DC,0x83D4,0xD5DD,0x83D5,
3207
  0xD5DE,0x83D6,0xD5DF,0x83D7,0xD5E0,0x83D8,0xD5E1,0x83D9,0xD5E2,0x83DA,0xD5E3,0x83DB,0xD5E4,0x83DC,0xD5E5,0x83DD,0xD5E6,0x83DE,0xD5E7,0x83DF,0xD5E8,0x83E0,0xD5E9,0x83E1,0xD5EA,0x83E2,0xD5EB,0x83E3,0xD5EC,0x83E4,0xD5ED,0x83E5,
3208
  0xD5EE,0x83E6,0xD5EF,0x83E7,0xD5F0,0x83E8,0xD5F1,0x83E9,0xD5F2,0x83EA,0xD5F3,0x83EB,0xD5F4,0x83EC,0xD5F5,0x83ED,0xD5F6,0x83EE,0xD5F7,0x83EF,0xD5F8,0x83F0,0xD5F9,0x83F1,0xD5FA,0x83F2,0xD5FB,0x83F3,0xD5FC,0x83F4,0xD5FD,0x83F5,
3209
  0xD5FE,0x83F6,0xD5FF,0x83F7,0xD600,0x83F8,0xD601,0x83F9,0xD602,0x83FA,0xD603,0x83FB,0xD604,0x83FC,0xD605,0x83FD,0xD606,0x83FE,0xD607,0x83FF,0xD608,0x8400,0xD609,0x8401,0xD60A,0x8402,0xD60B,0x8403,0xD60C,0x8404,0xD60D,0x8405,
3210
  0xD60E,0x8406,0xD60F,0x8407,0xD610,0x8408,0xD611,0x8409,0xD612,0x840A,0xD613,0x840B,0xD614,0x840C,0xD615,0x840D,0xD616,0x840E,0xD617,0x840F,0xD618,0x8410,0xD619,0x8411,0xD61A,0x8412,0xD61B,0x8413,0xD61C,0x8414,0xD61D,0x8415,
3211
  0xD61E,0x8416,0xD61F,0x8417,0xD620,0x8418,0xD621,0x8419,0xD622,0x841A,0xD623,0x841B,0xD624,0x841C,0xD625,0x841D,0xD626,0x841E,0xD627,0x841F,0xD628,0x8420,0xD629,0x8421,0xD62A,0x8422,0xD62B,0x8423,0xD62C,0x8424,0xD62D,0x8425,
3212
  0xD62E,0x8426,0xD62F,0x8427,0xD630,0x8428,0xD631,0x8429,0xD632,0x842A,0xD633,0x842B,0xD634,0x842C,0xD635,0x842D,0xD636,0x842E,0xD637,0x842F,0xD638,0x8430,0xD639,0x8431,0xD63A,0x8432,0xD63B,0x8433,0xD63C,0x8434,0xD63D,0x8435,
3213
  0xD63E,0x8436,0xD63F,0x8437,0xD640,0x8438,0xD641,0x8439,0xD642,0x843A,0xD643,0x843B,0xD644,0x843C,0xD645,0x843D,0xD646,0x843E,0xD647,0x843F,0xD648,0x8440,0xD649,0x8441,0xD64A,0x8442,0xD64B,0x8443,0xD64C,0x8444,0xD64D,0x8445,
3214
  0xD64E,0x8446,0xD64F,0x8447,0xD650,0x8448,0xD651,0x8449,0xD652,0x844A,0xD653,0x844B,0xD654,0x844C,0xD655,0x844D,0xD656,0x844E,0xD657,0x844F,0xD658,0x8450,0xD659,0x8451,0xD65A,0x8452,0xD65B,0x8453,0xD65C,0x8454,0xD65D,0x8455,
3215
  0xD65E,0x8456,0xD65F,0x8457,0xD660,0x8458,0xD661,0x8459,0xD662,0x845A,0xD663,0x845B,0xD664,0x845C,0xD665,0x845D,0xD666,0x845E,0xD667,0x845F,0xD668,0x8460,0xD669,0x8461,0xD66A,0x8462,0xD66B,0x8463,0xD66C,0x8464,0xD66D,0x8465,
3216
  0xD66E,0x8466,0xD66F,0x8467,0xD670,0x8468,0xD671,0x8469,0xD672,0x846A,0xD673,0x846B,0xD674,0x846C,0xD675,0x846D,0xD676,0x846E,0xD677,0x846F,0xD678,0x8470,0xD679,0x8471,0xD67A,0x8472,0xD67B,0x8473,0xD67C,0x8474,0xD67D,0x8475,
3217
  0xD67E,0x8476,0xD67F,0x8477,0xD680,0x8478,0xD681,0x8479,0xD682,0x847A,0xD683,0x847B,0xD684,0x847C,0xD685,0x847D,0xD686,0x847E,0xD687,0x847F,0xD688,0x8480,0xD689,0x8481,0xD68A,0x8482,0xD68B,0x8483,0xD68C,0x8484,0xD68D,0x8485,
3218
  0xD68E,0x8486,0xD68F,0x8487,0xD690,0x8488,0xD691,0x8489,0xD692,0x848A,0xD693,0x848B,0xD694,0x848C,0xD695,0x848D,0xD696,0x848E,0xD697,0x848F,0xD698,0x8490,0xD699,0x8491,0xD69A,0x8492,0xD69B,0x8493,0xD69C,0x8494,0xD69D,0x8495,
3219
  0xD69E,0x8496,0xD69F,0x8497,0xD6A0,0x8498,0xD6A1,0x8499,0xD6A2,0x849A,0xD6A3,0x849B,0xD6A4,0x849C,0xD6A5,0x849E,0xD6A8,0x84A0,0xD6A9,0x84A2,0xD6AA,0x84A4,0xD6AB,0x84A6,0xD6AC,0x84A8,0xD6AD,0x84AA,0xD6AE,0x84AC,0xD6AF,0x84AE,
3220
  0xD6B0,0x84B0,0xD6B1,0x84B2,0xD6B2,0x84B4,0xD6B3,0x84B6,0xD6B4,0x84B8,0xD6B5,0x84BA,0xD6B6,0x84BC,0xD6B7,0x84BE,0xD6B8,0x84C0,0xD6B9,0x84C2,0xD6BA,0x84C4,0xD6BB,0x84C6,0xD6BC,0x84C8,0xD6BD,0x84CA,0xD6BE,0x84CC,0xD6BF,0x84CE,
3221
  0xD6C0,0x84D0,0xD6C1,0x84D2,0xD6C2,0x84D5,0xD6C3,0x84D7,0xD6C4,0x84D9,0xD6C5,0x84DB,0xD6C6,0x84DD,0xD6C7,0x84DF,0xD6C8,0x84E1,0xD6C9,0x84E3,0xD6CA,0x84E5,0xD6CB,0x84E7,0xD6CC,0x84E9,0xD6CD,0x84EB,0xD6CE,0x84ED,0xD6CF,0x84EF,
3222
  0xD6D0,0x84F1,0xD6D1,0x84F3,0xD6D2,0x84F5,0xD6D3,0x84F7,0xD6D4,0x84F9,0xD6D5,0x84FB,0xD6D6,0x84FD,0xD6D7,0x84FF,0xD6D8,0x8501,0xD6D9,0x8503,0xD6DA,0x8505,0xD6DB,0x8507,0xD6DC,0x850A,0xD6DD,0x850C,0xD6DE,0x850E,0xD6DF,0x8510,
3223
  0xD6E0,0x8512,0xD6E1,0x8514,0xD6E2,0x8516,0xD6E3,0x8518,0xD6E4,0x851A,0xD6E5,0x851C,0xD6E6,0x851E,0xD6E7,0x8520,0xD6E8,0x8522,0xD6E9,0x8524,0xD6EA,0x8526,0xD6EB,0x8528,0xD6EC,0x852A,0xD6ED,0x852C,0xD6EE,0x852E,0xD6EF,0x8530,
3224
  0xD6F0,0x8532,0xD6F1,0x8534,0xD6F2,0x8536,0xD6F3,0x8538,0xD6F4,0x853A,0xD6F5,0x853C,0xD6F6,0x853E,0xD6F7,0x8540,0xD6F8,0x8542,0xD6F9,0x8544,0xD6FA,0x8546,0xD6FB,0x8548,0xD6FC,0x854B,0xD6FD,0x854D,0xD6FE,0x854F,0xD6FF,0x8551,
3225
  0xD700,0x8553,0xD701,0x8555,0xD702,0x8557,0xD703,0x8559,0xD704,0x855B,0xD705,0x855D,0xD706,0x855F,0xD707,0x8561,0xD708,0x8563,0xD709,0x8565,0xD70A,0x8567,0xD70B,0x8569,0xD70C,0x856B,0xD70D,0x856D,0xD70E,0x856F,0xD70F,0x8571,
3226
  0xD710,0x8573,0xD711,0x8575,0xD712,0x8577,0xD713,0x8579,0xD714,0x857B,0xD715,0x857D,0xD716,0x8580,0xD717,0x8582,0xD718,0x8584,0xD719,0x8586,0xD71A,0x8588,0xD71B,0x858A,0xD71C,0x858C,0xD71D,0x858E,0xD71E,0x8590,0xD71F,0x8592,
3227
  0xD720,0x8594,0xD721,0x8596,0xD722,0x8598,0xD723,0x859A,0xD724,0x859C,0xD725,0x859E,0xD726,0x85A0,0xD727,0x85A2,0xD728,0x85A4,0xD729,0x85A6,0xD72A,0x85A8,0xD72B,0x85AA,0xD72C,0x85AC,0xD72D,0x85AE,0xD72E,0x85B0,0xD72F,0x85B2,
3228
  0xD730,0x85B4,0xD731,0x85B6,0xD732,0x85B8,0xD733,0x85BA,0xD734,0x85BC,0xD735,0x85BE,0xD736,0x85C1,0xD737,0x85C3,0xD738,0x85C5,0xD739,0x85C7,0xD73A,0x85C9,0xD73B,0x85CB,0xD73C,0x85CD,0xD73D,0x85CF,0xD73E,0x85D1,0xD73F,0x85D3,
3229
  0xD740,0x85D5,0xD741,0x85D7,0xD742,0x85D9,0xD743,0x85DB,0xD744,0x85DD,0xD745,0x85DF,0xD746,0x85E1,0xD747,0x85E3,0xD748,0x85E5,0xD749,0x85E7,0xD74A,0x85E9,0xD74B,0x85EB,0xD74C,0x85ED,0xD74D,0x85EF,0xD74E,0x85F1,0xD74F,0x85F3,
3230
  0xD750,0x85F6,0xD751,0x85F8,0xD752,0x85FA,0xD753,0x85FC,0xD754,0x85FE,0xD755,0x8600,0xD756,0x8602,0xD757,0x8604,0xD758,0x8606,0xD759,0x8608,0xD75A,0x860A,0xD75B,0x860C,0xD75C,0x860E,0xD75D,0x8610,0xD75E,0x8612,0xD75F,0x8614,
3231
  0xD760,0x8616,0xD761,0x8618,0xD762,0x861A,0xD763,0x861C,0xD764,0x861E,0xD765,0x8620,0xD766,0x8622,0xD767,0x8624,0xD768,0x8626,0xD769,0x8628,0xD76A,0x862A,0xD76B,0x862C,0xD76C,0x862E,0xD76D,0x8630,0xD76E,0x8632,0xD76F,0x8634,
3232
  0xD770,0x8637,0xD771,0x8639,0xD772,0x863B,0xD773,0x863D,0xD774,0x863F,0xD775,0x8641,0xD776,0x8643,0xD777,0x8645,0xD778,0x8647,0xD779,0x8649,0xD77A,0x864B,0xD77B,0x864D,0xD77C,0x864F,0xD77D,0x8651,0xD77E,0x8653,0xD77F,0x8655,
3233
  0xD780,0x8657,0xD781,0x8659,0xD782,0x865B,0xD783,0x865D,0xD784,0x865F,0xD785,0x8661,0xD786,0x8663,0xD787,0x8665,0xD788,0x8667,0xD789,0x8669,0xD78A,0x866C,0xD78B,0x866E,0xD78C,0x8670,0xD78D,0x8672,0xD78E,0x8674,0xD78F,0x8676,
3234
  0xD790,0x8678,0xD791,0x867A,0xD792,0x867C,0xD793,0x867E,0xD794,0x8680,0xD795,0x8682,0xD796,0x8684,0xD797,0x8686,0xD798,0x8688,0xD799,0x868A,0xD79A,0x868C,0xD79B,0x868E,0xD79C,0x8690,0xD79D,0x8692,0xD79E,0x8694,0xD79F,0x8696,
3235
  0xD7A0,0x8698,0xD7A1,0x869A,0xD7A2,0x869C,0xD7A3,0x869E,0xD7A4,0x86A0,0xD7A5,0x86A2,0xD7A6,0x86A4,0xD7A7,0x86A6,0xD7A8,0x86A8,0xD7A9,0x86AA,0xD7AA,0x86AD,0xD7AB,0x86AF,0xD7AC,0x86B1,0xD7AD,0x86B3,0xD7AE,0x86B5,0xD7AF,0x86B7,
3236
  0xD7B0,0x86B9,0xD7B1,0x86BB,0xD7B2,0x86BD,0xD7B3,0x86BF,0xD7B4,0x86C1,0xD7B5,0x86C3,0xD7B6,0x86C5,0xD7B7,0x86C7,0xD7B8,0x86C9,0xD7B9,0x86CB,0xD7BA,0x86CD,0xD7BB,0x86CF,0xD7BC,0x86D1,0xD7BD,0x86D3,0xD7BE,0x86D5,0xD7BF,0x86D7,
3237
  0xD7C0,0x86D9,0xD7C1,0x86DB,0xD7C2,0x86DD,0xD7C3,0x86DF,0xD7C4,0x86E2,0xD7C5,0x86E4,0xD7C6,0x86E6,0xD7C7,0x86E8,0xD7C8,0x86EA,0xD7C9,0x86EC,0xD7CA,0x86EE,0xD7CB,0x86F0,0xD7CE,0x86F2,0xD7CF,0x86F3,0xD7D0,0x86F4,0xD7D1,0x86F5,
3238
  0xD7D2,0x86F6,0xD7D3,0x86F7,0xD7D4,0x86F8,0xD7D5,0x86F9,0xD7D6,0x86FA,0xD7D7,0x86FB,0xD7D8,0x86FC,0xD7D9,0x86FD,0xD7DA,0x86FE,0xD7DB,0x86FF,0xD7DC,0x8700,0xD7DD,0x8701,0xD7DE,0x8702,0xD7DF,0x8703,0xD7E0,0x8704,0xD7E1,0x8705,
3239
  0xD7E2,0x8706,0xD7E3,0x8707,0xD7E4,0x8708,0xD7E5,0x8709,0xD7E6,0x870A,0xD7E7,0x870B,0xD7E8,0x870C,0xD7E9,0x870D,0xD7EA,0x870E,0xD7EB,0x870F,0xD7EC,0x8710,0xD7ED,0x8711,0xD7EE,0x8712,0xD7EF,0x8713,0xD7F0,0x8714,0xD7F1,0x8715,
3240
  0xD7F2,0x8716,0xD7F3,0x8717,0xD7F4,0x8718,0xD7F5,0x8719,0xD7F6,0x871A,0xD7F7,0x871B,0xD7F8,0x871C,0xD7F9,0x871D,0xD7FA,0x871E,0xD7FB,0x871F,0xD7FC,0x8720,0xD7FD,0x8721,0xD7FE,0x8722,0xD7FF,0x8723,0xE030,0x8724,0xE031,0x8726,
3241
  0xE032,0x8728,0xE033,0x872A,0xE034,0x872C,0xE035,0x872E,0xE036,0x8730,0xE037,0x8732,0xE038,0x8734,0xE039,0x8736,0xE03A,0x8738,0xE03B,0x873A,0xE03C,0x873C,0xE03D,0x873E,0xE03E,0x8740,0xE03F,0x8742,0xE040,0x8744,0xE041,0x8746,
3242
  0xE042,0x8748,0xE043,0x874A,0xE044,0x874C,0xE045,0x874E,0xE046,0x8750,0xE047,0x8752,0xE048,0x8754,0xE049,0x8756,0xE04A,0x8758,0xE04B,0x875B,0xE04C,0x875D,0xE04D,0x875F,0xE04E,0x8761,0xE04F,0x8763,0xE050,0x8765,0xE051,0x8767,
3243
  0xE052,0x8769,0xE053,0x876B,0xE054,0x876D,0xE055,0x876F,0xE056,0x8771,0xE057,0x8773,0xE058,0x8775,0xE059,0x8777,0xE05A,0x8779,0xE05B,0x877B,0xE05C,0x877D,0xE05D,0x877F,0xE05E,0x8781,0xE05F,0x8783,0xE060,0x8785,0xE061,0x8787,
3244
  0xE062,0x8789,0xE063,0x878B,0xE064,0x878D,0xE065,0x878F,0xE066,0x8791,0xE067,0x8793,0xE068,0x8795,0xE069,0x8797,0xE06A,0x8799,0xE06B,0x879B,0xE06C,0x879D,0xE06D,0x87A0,0xEE00,0x87A2,0xEE01,0x87A4,0xEE02,0x87A6,0xEE03,0x87A8,
3245
  0xEE05,0x87AA,0xEE06,0x87AC,0xEE07,0x87AE,0xEE08,0x87B0,0xEE09,0x87B2,0xEE0A,0x87B4,0xEE0B,0x87B6,0xEE0C,0x87B8,0xEE0D,0x87BA,0xEE0E,0x87BC,0xEE0F,0x87BE,0xEE10,0x87C0,0xEE11,0x87C2,0xEE12,0x87C4,0xEE13,0x87C6,0xEE14,0x87C8,
3246
  0xEE15,0x87CA,0xEE16,0x87CC,0xEE17,0x87CE,0xEE18,0x87D0,0xEE19,0x87D2,0xEE1A,0x87D4,0xEE1B,0x87D6,0xEE1C,0x87D8,0xEE1D,0x87DA,0xEE1E,0x87DC,0xEE1F,0x87DE,0xEE21,0x87E0,0xEE22,0x87E2,0xEE24,0x87E4,0xEE27,0x87E6,0xEE29,0x87E8,
3247
  0xEE2A,0x87EA,0xEE2B,0x87EC,0xEE2C,0x87EE,0xEE2D,0x87F0,0xEE2E,0x87F2,0xEE2F,0x87F4,0xEE30,0x87F6,0xEE31,0x87F8,0xEE32,0x87FA,0xEE34,0x87FC,0xEE35,0x87FE,0xEE36,0x8800,0xEE37,0x8802,0xEE39,0x8804,0xEE3B,0x8806,0xEE42,0x8808,
3248
  0xEE47,0x880A,0xEE49,0x880C,0xEE4B,0x880E,0xEE4D,0x8810,0xEE4E,0x8812,0xEE4F,0x8814,0xEE51,0x8816,0xEE52,0x8818,0xEE54,0x881A,0xEE57,0x881C,0xEE59,0x881E,0xEE5B,0x8820,0xEE5D,0x8822,0xEE5F,0x8824,0xEE61,0x8826,0xEE62,0x8828,
3249
  0xEE64,0x882A,0xEE67,0x882C,0xEE68,0x882E,0xEE69,0x8830,0xEE6A,0x8832,0xEE6C,0x8834,0xEE6D,0x8836,0xEE6E,0x8838,0xEE6F,0x883A,0xEE70,0x883C,0xEE71,0x883E,0xEE72,0x8840,0xEE74,0x8842,0xEE75,0x8844,0xEE76,0x8846,0xEE77,0x8848,
3250
  0xEE79,0x884A,0xEE7A,0x884C,0xEE7B,0x884E,0xEE7C,0x8850,0xEE7E,0x8852,0xEE80,0x8854,0xEE81,0x8856,0xEE82,0x8858,0xEE83,0x885A,0xEE84,0x885C,0xEE85,0x885E,0xEE86,0x8860,0xEE87,0x8862,0xEE88,0x8864,0xEE89,0x8866,0xEE8B,0x8868,
3251
  0xEE8C,0x886A,0xEE8D,0x886C,0xEE8E,0x886E,0xEE8F,0x8870,0xEE90,0x8872,0xEE91,0x8874,0xEE92,0x8876,0xEE93,0x8878,0xEE94,0x887A,0xEE95,0x887C,0xEE96,0x887E,0xEE97,0x8880,0xEE98,0x8882,0xEE99,0x8884,0xEE9A,0x8886,0xEE9B,0x8888,
3252
  0xEEA1,0x888A,0xEEA2,0x888C,0xEEA3,0x888E,0xEEA5,0x8890,0xEEA6,0x8892,0xEEA7,0x8894,0xEEA8,0x8896,0xEEA9,0x8898,0xEEAB,0x889A,0xEEAC,0x889C,0xEEAD,0x889E,0xEEAE,0x88A0,0xEEAF,0x88A2,0xEEB0,0x88A4,0xEEB1,0x88A6,0xEEB2,0x88A8,
3253
  0xEEB3,0x88AA,0xEEB4,0x88AC,0xEEB5,0x88AE,0xEEB6,0x88B0,0xEEB7,0x88B2,0xEEB8,0x88B4,0xEEB9,0x88B6,0xEEBA,0x88B8,0xEEBB,0x88BA,0xF100,0x88BC,0xF101,0x88BE,0xF102,0x88C0,0xF103,0x88C2,0xF104,0x88C4,0xF105,0x88C6,0xF106,0x88C8,
3254
  0xF107,0x88CA,0xF108,0x88CC,0xF109,0x88CE,0xF10A,0x88D0,0xF110,0x88D2,0xF111,0x88D5,0xF112,0x88D8,0xF113,0x88DB,0xF114,0x88DE,0xF115,0x88E1,0xF116,0x88E4,0xF117,0x88E7,0xF118,0x88EA,0xF119,0x88ED,0xF11A,0x88F0,0xF11B,0x88F3,
3255
  0xF11C,0x88F6,0xF11D,0x88F9,0xF11E,0x88FC,0xF11F,0x88FF,0xF120,0x8902,0xF121,0x8905,0xF122,0x8908,0xF123,0x890B,0xF124,0x890E,0xF125,0x8911,0xF126,0x8914,0xF127,0x8917,0xF128,0x891A,0xF129,0x891D,0xF12A,0x8920,0xF12B,0x8927,
3256
  0xF12C,0x8928,0xF12D,0x8929,0xF12E,0x892B,0xF130,0x892D,0xF131,0x892E,0xF132,0x892F,0xF133,0x8930,0xF134,0x8931,0xF135,0x8932,0xF136,0x8933,0xF137,0x8934,0xF138,0x8935,0xF139,0x8936,0xF13A,0x8937,0xF13B,0x8938,0xF13C,0x8939,
3257
  0xF13D,0x893A,0xF13E,0x893B,0xF13F,0x893C,0xF140,0x893D,0xF141,0x893E,0xF142,0x893F,0xF143,0x8940,0xF144,0x8941,0xF145,0x8942,0xF146,0x8943,0xF147,0x8944,0xF148,0x8945,0xF149,0x8946,0xF14A,0x8947,0xF14B,0x8949,0xF14C,0x894B,
3258
  0xF14D,0x894D,0xF14E,0x894F,0xF14F,0x8952,0xF16A,0x8954,0xF16B,0x8956,0xF16C,0x8958,0xF190,0x895A,0xF200,0x895C,0xF201,0x8962,0xF202,0x8968,0xF210,0x896B,0xF211,0x896E,0xF212,0x8971,0xF213,0x8974,0xF214,0x8977,0xF215,0x897A,
3259
  0xF216,0x897D,0xF217,0x8980,0xF218,0x8983,0xF219,0x8986,0xF21A,0x8989,0xF21B,0x898C,0xF21C,0x898F,0xF21D,0x8992,0xF21E,0x8995,0xF21F,0x8998,0xF220,0x899B,0xF221,0x899E,0xF222,0x89A1,0xF223,0x89A4,0xF224,0x89A7,0xF225,0x89AA,
3260
  0xF226,0x89AD,0xF227,0x89B0,0xF228,0x89B3,0xF229,0x89B6,0xF22A,0x89B9,0xF22B,0x89BC,0xF22C,0x89BF,0xF22D,0x89C2,0xF22E,0x89C5,0xF22F,0x89C8,0xF230,0x89CB,0xF231,0x89CE,0xF232,0x89D1,0xF233,0x89D4,0xF234,0x89D7,0xF235,0x89DA,
3261
  0xF236,0x89DD,0xF237,0x89E0,0xF238,0x89E3,0xF239,0x89E6,0xF23A,0x89E9,0xF23B,0x89EC,0xF240,0x89EF,0xF241,0x89F8,0xF242,0x8A01,0xF243,0x8A0A,0xF244,0x8A13,0xF245,0x8A1C,0xF246,0x8A25,0xF247,0x8A2E,0xF248,0x8A37,0xF250,0x8A40,
3262
  0xF251,0x8A43,0xFBF0,0x8A46,0xFBF1,0x8A47,0xFBF2,0x8A48,0xFBF3,0x8A49,0xFBF4,0x8A4A,0xFBF5,0x8A4B,0xFBF6,0x8A4C,0xFBF7,0x8A4D,0xFBF8,0x8A4E,0xFBF9,0x8A4F,0xFFFF,0x0A50,
3263
};
3264
#define mxDecompositionSize2 1731
3265
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3266
  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,
3267
  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,
3268
  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,
3269
  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,
3270
  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,
3271
  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,
3272
  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,
3273
  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,
3274
  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,
3275
  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,
3276
  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,
3277
  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,
3278
  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,
3279
  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,
3280
  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,
3281
  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,
3282
  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,
3283
  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,
3284
  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,
3285
  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,
3286
  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,
3287
  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,
3288
  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,
3289
  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,
3290
  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,
3291
  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,
3292
  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,
3293
  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,
3294
  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,
3295
  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,
3296
  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,
3297
  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,
3298
  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,
3299
  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,
3300
  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,
3301
  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,
3302
  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,
3303
  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,
3304
  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,
3305
  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,
3306
  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,
3307
  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,
3308
  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,
3309
  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,
3310
  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,
3311
  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,
3312
  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,
3313
  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,
3314
  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,
3315
  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,
3316
  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,
3317
  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,
3318
  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,
3319
  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,
3320
  0xaa,0x98,0x80,
3321
};
3322
851k
#define mxDecompositionCount2 1086
3323
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3324
  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,
3325
  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,
3326
  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,
3327
  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,
3328
  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,
3329
  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,
3330
  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,
3331
  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,
3332
  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,
3333
  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,
3334
  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,
3335
  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,
3336
  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,
3337
  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,
3338
  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,
3339
  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,
3340
  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,
3341
  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,
3342
  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,
3343
  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,
3344
  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,
3345
  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,
3346
  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,
3347
  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,
3348
  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,
3349
  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,
3350
  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,
3351
  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,
3352
  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,
3353
  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,
3354
  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,
3355
  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,
3356
  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,
3357
  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,
3358
};
3359
#define mxDecompositionBufferCount 18
3360
3361
110M
#define mxSourceBufferCount 32
3362
3363
128M
#define mxHangulSBase 0xAC00
3364
26.9M
#define mxHangulSCount 11172
3365
371k
#define mxHangulLBase 0x1100
3366
81.9k
#define mxHangulLCount 19
3367
125M
#define mxHangulVBase 0x1161
3368
26.5M
#define mxHangulVCount 21
3369
125M
#define mxHangulTBase 0x11A7
3370
26.7M
#define mxHangulTCount 28
3371
245k
#define mxHangulNCount 588
3372
3373
static int fxCompareCombination(const void *p1, const void *p2);
3374
static int fxCompareComposition(const void *p1, const void *p2);
3375
static txInteger fxGetCombinationOrder(txInteger character);
3376
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3377
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3378
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3379
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3380
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3381
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3382
3383
int fxCompareCombination(const void *p1, const void *p2)
3384
942M
{
3385
942M
  txCombination* c1 = (txCombination*)p1;
3386
942M
  txCombination* c2 = (txCombination*)p2;
3387
942M
  if (c1->code + c1->count <= c2->code)
3388
701M
    return -1;
3389
240M
  if (c1->code >= c2->code + c2->count)
3390
232M
    return 1;
3391
8.19M
  return 0;
3392
240M
}
3393
3394
int fxCompareComposition(const void *p1, const void *p2)
3395
1.75G
{
3396
1.75G
  txU2 c1 = *((txU2*)p1);
3397
1.75G
  txU2 c2 = *((txU2*)p2);
3398
1.75G
  if (c1 < c2)
3399
1.30G
    return -1;
3400
448M
  if (c1 > c2)
3401
445M
    return 1;
3402
2.92M
  return 0;
3403
448M
}
3404
3405
txInteger fxGetCombinationOrder(txInteger character)
3406
109M
{
3407
109M
  txInteger count;
3408
109M
  txCombination *index, *it;
3409
109M
  txCombination combination;
3410
109M
  if (character < 0x10000) {
3411
107M
    count = mxCombinationCount0;
3412
107M
    index = (txCombination*)gxCombinationIndex0;
3413
107M
    combination.code = (txU2)character;
3414
107M
  }
3415
1.98M
  else {
3416
1.98M
    count = mxCombinationCount1;
3417
1.98M
    index = (txCombination*)gxCombinationIndex1;
3418
1.98M
    combination.code = (txU2)(character & 0xFFFF);
3419
1.98M
  }
3420
109M
  combination.count = 1;
3421
109M
  combination.order = 0;
3422
109M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3423
109M
  if (it)
3424
8.19M
    return it->order;
3425
100M
  return 0;
3426
109M
}
3427
3428
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3429
98.3M
{
3430
98.3M
  txInteger count;
3431
98.3M
  txU2 *index, *data, code, *it;
3432
98.3M
  if (character < 0x10000) {
3433
97.4M
    count = mxCompositionCount0;
3434
97.4M
    index = (txU2*)gxCompositionIndex0;
3435
97.4M
    data = (txU2*)gxCompositionData0;
3436
97.4M
    code = (txU2)character;
3437
97.4M
  }
3438
851k
  else {
3439
851k
    count = mxCompositionCount1;
3440
851k
    index =(txU2*)gxCompositionIndex1;
3441
851k
    data = (txU2*)gxCompositionData1;
3442
851k
    code = (txU2)(character & 0xFFFF);
3443
851k
  }
3444
98.3M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3445
98.3M
  if (it) {
3446
2.84M
    *pairs = data + (it[1] << 1);
3447
2.84M
    *pairCount = it[3] - it[1];
3448
2.84M
    return 1;
3449
2.84M
  }
3450
95.5M
  return 0;
3451
98.3M
}
3452
3453
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3454
1.95M
{
3455
1.95M
  txU2 code, *it;
3456
1.95M
  txInteger plane;
3457
1.95M
  if (character < 0x10000) {
3458
981k
    code = (txU2)character;
3459
981k
    plane = 0;
3460
981k
  }
3461
968k
  else {
3462
968k
    code = (txU2)(character & 0xFFFF);
3463
968k
    plane = 0x10000;
3464
968k
  }
3465
1.95M
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3466
1.95M
  if (it)
3467
39.5k
    return ((txInteger)it[1]) | plane;
3468
1.91M
  return 0;
3469
1.95M
}
3470
3471
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3472
101M
{
3473
101M
  txInteger count;
3474
101M
  txU2 *index, code, *it;
3475
101M
  txString data;
3476
101M
  if (character < 0x10000) {
3477
100M
    count = mxDecompositionCount0;
3478
100M
    index = (txU2*)gxDecompositionIndex0;
3479
100M
    data = (txString)gxDecompositionData0;
3480
100M
    code = (txU2)character;
3481
100M
  }
3482
851k
  else if (character < 0x20000) {
3483
6
    count = mxDecompositionCount1;
3484
6
    index = (txU2*)gxDecompositionIndex1;
3485
6
    data = (txString)gxDecompositionData1;
3486
6
    code = (txU2)(character & 0xFFFF);
3487
6
  }
3488
851k
  else {
3489
851k
    count = mxDecompositionCount2;
3490
851k
    index = (txU2*)gxDecompositionIndex2;
3491
851k
    data = (txString)gxDecompositionData2;
3492
851k
    code = (txU2)(character & 0xFFFF);
3493
851k
  }
3494
101M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3495
101M
  if (it) {
3496
40.0k
    txInteger offset = it[1];
3497
40.0k
    txString p, q;
3498
40.0k
    txInteger* r;
3499
40.0k
    if (offset & 0x8000) {
3500
392
      if (!compatible)
3501
106
        return 0;
3502
286
      offset &= 0x7FFF;
3503
286
    }
3504
39.9k
    p = data + offset;
3505
39.9k
    q = p + ((it[3] & 0x7FFF) - offset);
3506
39.9k
    r = buffer;
3507
119k
    while (p < q)
3508
79.8k
      p = fxUTF8Decode(p, r++);
3509
39.9k
    return mxPtrDiff(r - buffer);
3510
40.0k
  }
3511
101M
  return 0;
3512
101M
}
3513
3514
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3515
101M
{
3516
101M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3517
101M
  if (buffer->count == resultLength >> 2) {
3518
5.27M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3519
5.27M
    buffer->address = fxToArrayBuffer(the, the->stack);
3520
5.27M
  }
3521
101M
  if (at < buffer->count)
3522
314k
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3523
101M
  buffer->address[at] = code;
3524
101M
  buffer->count++;
3525
101M
}
3526
3527
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3528
2.08M
{
3529
2.08M
  txInteger fromIndex = 1;
3530
2.08M
  txInteger toIndex = 1;
3531
2.08M
  if (buffer->count < 2)
3532
312k
    return;
3533
100M
  while (fromIndex < buffer->count) {
3534
98.6M
    txBoolean flag = 1;
3535
98.6M
    txInteger code = buffer->address[fromIndex];
3536
98.6M
    txU2* pairs;
3537
98.6M
    txInteger pairCount;
3538
98.6M
    txInteger pairFlag;
3539
98.6M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3540
125k
      pairFlag = 3;
3541
98.5M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3542
214k
      pairFlag = 2;
3543
98.3M
    else
3544
98.3M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3545
98.6M
    if (pairFlag) {
3546
3.18M
      txInteger order = fxGetCombinationOrder(code);
3547
3.18M
      txInteger starterIndex = toIndex - 1;
3548
3.42M
      while (starterIndex >= 0) {
3549
3.42M
        txInteger starterCode = buffer->address[starterIndex];
3550
3.42M
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3551
3.42M
        if (starterOrder == 0) {
3552
2.29M
          if (pairFlag == 3) {
3553
125k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3554
81.9k
              starterCode -= mxHangulLBase;
3555
81.9k
              code -= mxHangulVBase;
3556
81.9k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3557
81.9k
              flag = 0;
3558
81.9k
            }
3559
125k
          }
3560
2.16M
          else if (pairFlag == 2) {
3561
214k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3562
81.9k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3563
81.9k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3564
81.9k
              flag = 0;
3565
81.9k
            }
3566
214k
          }
3567
1.95M
          else {
3568
1.95M
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3569
1.95M
            if (starterCode) {
3570
39.5k
              buffer->address[starterIndex] = starterCode;
3571
39.5k
              flag = 0;
3572
39.5k
            }
3573
1.95M
          }
3574
2.29M
          break;
3575
2.29M
        }
3576
1.13M
        if (starterOrder >= order)
3577
892k
          break;
3578
238k
        starterIndex--;
3579
238k
      }
3580
3.18M
    }
3581
98.6M
    if (flag) {
3582
98.4M
      buffer->address[toIndex] = code;
3583
98.4M
      toIndex++;
3584
98.4M
    }
3585
98.6M
    fromIndex++;
3586
98.6M
  }
3587
1.77M
  buffer->count = toIndex;
3588
1.77M
}
3589
3590
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3591
4.25M
{
3592
4.25M
  txInteger i;
3593
105M
  for (i = 0; i < c; i++) {
3594
101M
    txInteger code = source[i];
3595
101M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3596
81.9k
      txInteger sIndex = code - mxHangulSBase;
3597
81.9k
      txInteger lIndex = sIndex / mxHangulNCount;
3598
81.9k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3599
81.9k
      txInteger tIndex = sIndex % mxHangulTCount;
3600
81.9k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3601
81.9k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3602
81.9k
      if (tIndex > 0)
3603
81.9k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3604
81.9k
      buffer->starterIndex = buffer->count;
3605
81.9k
    }
3606
101M
    else {
3607
101M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3608
101M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3609
101M
      if (decompositionCount == 0) {
3610
101M
        txInteger order = fxGetCombinationOrder(code);
3611
101M
        if (order == 0) {
3612
98.2M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3613
98.2M
          buffer->starterIndex = buffer->count;
3614
98.2M
        }
3615
2.92M
        else {
3616
2.92M
          txInteger bufferIndex = buffer->count - 1;
3617
2.92M
          txInteger starterIndex = buffer->starterIndex - 1;
3618
3.23M
          while (bufferIndex > starterIndex) {
3619
1.29M
            txInteger starterCode = buffer->address[bufferIndex];
3620
1.29M
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3621
1.29M
            if (starterOrder <= order) {
3622
978k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3623
978k
              break;
3624
978k
            }
3625
314k
            bufferIndex--;
3626
314k
          }
3627
2.92M
          if (bufferIndex == starterIndex)
3628
1.94M
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3629
2.92M
        }
3630
101M
      }
3631
39.9k
      else
3632
39.9k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3633
101M
    }
3634
101M
  }
3635
4.25M
}
3636
3637
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3638
2.11M
{
3639
2.11M
  txNormalizeBuffer _buffer;
3640
2.11M
  txNormalizeBuffer* buffer = &_buffer;
3641
2.11M
  txInteger source[mxSourceBufferCount];
3642
2.11M
  txString p;
3643
3644
2.11M
  mxPushUndefined();
3645
2.11M
  buffer->slot = the->stack;
3646
2.11M
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3647
2.11M
  buffer->count = 0;
3648
2.11M
  buffer->starterIndex = 0;
3649
3650
2.11M
  p = string->value.string;
3651
4.49M
  for (;;) {
3652
4.49M
    txInteger* sourceAddress = source;
3653
4.49M
    txInteger sourceIndex = 0;
3654
105M
    while (sourceIndex < mxSourceBufferCount) {
3655
103M
      p = mxStringByteDecode(p, sourceAddress);
3656
103M
      if (*sourceAddress == C_EOF)
3657
2.11M
        break;
3658
101M
      sourceAddress++;
3659
101M
      sourceIndex++;
3660
101M
    }
3661
4.49M
    if (sourceIndex) {
3662
4.21M
      txInteger offset = mxPtrDiff(p - string->value.string);
3663
4.21M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3664
4.21M
      p = string->value.string + offset;
3665
4.21M
    }
3666
4.49M
    if (sourceIndex < mxSourceBufferCount)
3667
2.11M
      break;
3668
4.49M
  }
3669
2.11M
  if (form & 2)
3670
2.08M
    fxNormalizeComposition(the, buffer);
3671
2.11M
  if (buffer->count) {
3672
1.92M
    txInteger resultIndex;
3673
1.92M
    txInteger stringLength = 0;
3674
103M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3675
101M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3676
1.92M
    stringLength++;
3677
1.92M
    p = string->value.string = fxNewChunk(the, stringLength);
3678
1.92M
    buffer->address = fxToArrayBuffer(the, the->stack);
3679
103M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3680
101M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3681
1.92M
    *p = 0;
3682
1.92M
  }
3683
  
3684
2.11M
  mxPop();
3685
2.11M
}
3686
3687
#endif