Coverage Report

Created: 2026-09-28 06:57

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
25.5k
{
65
25.5k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
25.5k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
25.5k
  cache->count = mxStringInfoCacheLength;
69
25.5k
  cache->head = 0;
70
25.5k
  cache->tail = 0;
71
25.5k
  the->stringInfoCache = cache;
72
25.5k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
25.5k
{
76
25.5k
  txStringInfoCache* cache = the->stringInfoCache;
77
25.5k
  if (cache)
78
25.5k
    c_free(cache);  
79
25.5k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
46.1k
{
83
46.1k
  txStringInfoCache* cache = the->stringInfoCache;
84
46.1k
  if (cache) {
85
46.1k
    cache->head = 0;
86
46.1k
    cache->tail = 0;
87
46.1k
  }
88
46.1k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
119M
{
92
119M
  txStringInfoCache* cache = the->stringInfoCache;
93
119M
  txStringInfo* info = C_NULL;
94
119M
  if (cache) {
95
119M
    txInteger count = cache->count;
96
119M
    txInteger head = cache->head;
97
119M
    txInteger tail = cache->tail;
98
119M
    txInteger i;
99
119M
    i = head - 1;
100
119M
    info = cache->infos + i;
101
125M
    while (i >= 0) {
102
96.8M
      if (info->string == string)
103
91.4M
        return info;
104
5.33M
      i--;
105
5.33M
      info--;
106
5.33M
    }
107
28.3M
    i = tail - 1;
108
28.3M
    info = cache->infos + i;
109
35.3M
    while (i >= head) {
110
32.9M
      if (info->string == string)
111
25.8M
        return info;
112
7.07M
      i--;
113
7.07M
      info--;
114
7.07M
    }
115
2.40M
    if (tail < count)
116
54.5k
      tail++;
117
2.40M
    info = cache->infos + head;
118
2.40M
    head++;
119
2.40M
    if (head == count)
120
591k
      head = 0;
121
2.40M
    cache->head = head; 
122
2.40M
    cache->tail = tail; 
123
2.40M
    info->string = string;
124
2.40M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
2.40M
    info->unicodeOffset = 0;
126
2.40M
    info->utf8Offset = 0;
127
2.40M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
2.40M
  }
129
2.40M
  return info;
130
119M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
9.35M
{
134
9.35M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
9.35M
  if (info) 
136
9.35M
    return info->utf8Length;
137
0
  return (txSize)c_strlen(string);
138
9.35M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
19.3M
{
142
19.3M
  txStringInfo* info;
143
19.3M
  if (offset <= 0)
144
215k
    return offset ? -1 : 0;  
145
19.0M
  info = fxCacheStringInfo(the, string);
146
19.0M
  if (info) {
147
19.0M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
19.0M
    txU1* p;
149
19.0M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
19.0M
    if ((info->ascii) /* || (offset == 0) */)
152
47.1k
      return offset;
153
19.0M
    if (offset == info->utf8Length)
154
350k
      return info->unicodeLength;
155
18.6M
    delta = offset - info->utf8Offset;
156
18.6M
    if (delta == 0)
157
9.92M
      return info->unicodeOffset;
158
8.76M
    if (delta > 0) {
159
7.66M
      if (delta < info->utf8Length - offset) {
160
7.43M
        sign = 1;
161
7.43M
        unicodeOffset = info->unicodeOffset + 1;
162
7.43M
        utf8Offset = info->utf8Offset + 1;
163
7.43M
      }
164
235k
      else {
165
235k
        sign = -1;
166
235k
        unicodeOffset = info->unicodeLength - 1;
167
235k
        utf8Offset = info->utf8Length - 1;
168
235k
      }
169
7.66M
    }
170
1.09M
    else {
171
1.09M
      if (0 - delta < offset) {
172
1.01M
        sign = -1;
173
1.01M
        unicodeOffset = info->unicodeOffset - 1;
174
1.01M
        utf8Offset = info->utf8Offset - 1;
175
1.01M
      }
176
77.9k
      else {
177
77.9k
        sign = 1;
178
77.9k
        unicodeOffset = 1;
179
77.9k
        utf8Offset = 1;
180
77.9k
      }
181
1.09M
    }
182
8.76M
    p = (txU1*)string + utf8Offset;
183
37.8M
    for (;;) {
184
37.8M
      if ((*p & 0xC0) != 0x80) {
185
21.6M
        if (utf8Offset == offset)
186
8.76M
          break;
187
12.9M
        unicodeOffset += sign;
188
12.9M
      }
189
29.0M
      p += sign;
190
29.0M
      utf8Offset += sign;
191
29.0M
    }
192
8.76M
    info->utf8Offset = utf8Offset;
193
8.76M
    info->unicodeOffset = unicodeOffset;
194
8.76M
    return unicodeOffset;
195
18.6M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
19.0M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
40.6M
{
201
40.6M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
40.6M
  if (info) 
203
40.6M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
40.6M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
52.1M
{
209
52.1M
  txStringInfo* info;
210
52.1M
  if (offset <= 0)
211
1.42M
    return offset ? -1 : 0;  
212
50.6M
  info = fxCacheStringInfo(the, string);
213
50.6M
  if (info) {
214
50.6M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
50.6M
    txU1* p;
216
50.6M
    if ((offset < 0) || (info->unicodeLength < offset))
217
259k
      return -1;
218
50.4M
    if ((info->ascii) || (offset == 0))
219
45.2k
      return offset;
220
50.3M
    if (offset == info->unicodeLength)
221
207k
      return info->utf8Length;
222
50.1M
    delta = offset - info->unicodeOffset;
223
50.1M
    if (delta == 0)
224
25.8M
      return info->utf8Offset;
225
24.3M
    if (delta > 0) {
226
22.5M
      if (delta < info->unicodeLength - offset) {
227
21.7M
        sign = 1;
228
21.7M
        unicodeOffset = info->unicodeOffset + 1;
229
21.7M
        utf8Offset = info->utf8Offset + 1;
230
21.7M
      }
231
784k
      else {
232
784k
        sign = -1;
233
784k
        unicodeOffset = info->unicodeLength - 1;
234
784k
        utf8Offset = info->utf8Length - 1;
235
784k
      }
236
22.5M
    }
237
1.75M
    else {
238
1.75M
      if (0 - delta < offset) {
239
1.68M
        sign = -1;
240
1.68M
        unicodeOffset = info->unicodeOffset - 1;
241
1.68M
        utf8Offset = info->utf8Offset - 1;
242
1.68M
      }
243
68.5k
      else {
244
68.5k
        sign = 1;
245
68.5k
        unicodeOffset = 1;
246
68.5k
        utf8Offset = 1;
247
68.5k
      }
248
1.75M
    }
249
24.3M
    p = (txU1*)string + utf8Offset;
250
77.5M
    for (;;) {
251
77.5M
      if ((*p & 0xC0) != 0x80) {
252
45.0M
        if (unicodeOffset == offset)
253
24.3M
          break;
254
20.7M
        unicodeOffset += sign;
255
20.7M
      }
256
53.1M
      p += sign;
257
53.1M
      utf8Offset += sign;
258
53.1M
    }
259
24.3M
    info->utf8Offset = utf8Offset;
260
24.3M
    info->unicodeOffset = unicodeOffset;
261
24.3M
    return utf8Offset;
262
50.1M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
50.6M
}
265
#endif
266
267
1.03M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
32.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
25.5k
{
315
25.5k
  txSlot* instance;
316
25.5k
  txSlot* property;
317
25.5k
  txSlot* slot;
318
  
319
25.5k
  mxPush(mxObjectPrototype);
320
25.5k
  instance = fxNewStringInstance(the);
321
  
322
25.5k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
25.5k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
25.5k
  property->value.home.object = instance;
325
25.5k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
25.5k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
25.5k
  property->value.home.object = instance;
328
25.5k
  mxPushUndefined();
329
25.5k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
25.5k
  the->stack->kind = XS_ACCESSOR_KIND;
331
25.5k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
25.5k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
25.5k
  mxPull(mxStringAccessor);
334
25.5k
  mxPop();
335
25.5k
  mxPop();
336
  
337
25.5k
  slot = fxLastProperty(the, instance);
338
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
25.5k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
25.5k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
25.5k
#if mxECMAScript2024
376
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
25.5k
#endif
379
25.5k
  mxStringPrototype = *the->stack;
380
25.5k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
25.5k
  mxStringConstructor = *the->stack;
382
25.5k
  slot = fxLastProperty(the, slot);
383
#ifndef mxCESU8
384
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromArrayBuffer), 1, mxID(_fromArrayBuffer), XS_DONT_ENUM_FLAG);
385
#endif
386
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
25.5k
  mxPop();
390
391
25.5k
  mxPush(mxIteratorPrototype);
392
25.5k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
25.5k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_NO_FLAG);
394
25.5k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
25.5k
  mxPull(mxStringIteratorPrototype);
396
25.5k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
9.21M
{
400
9.21M
  txSlot* instance;
401
9.21M
  instance = fxNewObjectInstance(the);
402
9.21M
  instance->flag |= XS_EXOTIC_FLAG;
403
9.21M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
9.21M
  return instance;
405
9.21M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
12.8M
{
409
12.8M
  txSlot* string = C_NULL;
410
12.8M
  txID id = the->scratch.value.at.id;
411
12.8M
  txIndex index = the->scratch.value.at.index;
412
12.8M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
83.3k
    string = mxThis;
414
12.8M
  else {
415
12.8M
    txSlot* instance = fxToInstance(the, mxThis);
416
12.8M
    while (instance) {
417
12.8M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
12.8M
        string = instance->next;
419
12.8M
        break;
420
12.8M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
12.8M
  }
424
12.8M
  if (string) {
425
12.8M
    if (id == mxID(_length)) {
426
34.2k
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
34.2k
      mxResult->kind = XS_INTEGER_KIND;
428
34.2k
    }
429
12.8M
    else {
430
12.8M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
12.8M
      if (from >= 0) {
432
12.8M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
12.8M
        if (to >= 0) {
434
12.8M
          to += from;
435
12.8M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
12.8M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
12.8M
          mxResult->value.string[to - from] = 0;
438
12.8M
          mxResult->kind = XS_STRING_KIND;
439
12.8M
        }
440
12.8M
      }
441
12.8M
    }
442
12.8M
  }
443
12.8M
}
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.83k
{
451
1.83k
  if (id == mxID(_length)) {
452
69
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
69
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
69
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
69
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
69
    return 1;
461
69
  }
462
1.76k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
738
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
738
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
738
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
738
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
3
      return 0;
471
735
    return 1;
472
738
  }
473
1.02k
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
1.76k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
1.15k
{
478
1.15k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
559
    return 0;
480
596
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
1.15k
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
22.6M
{
485
22.6M
  if (id == mxID(_length)) {
486
395k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
395k
    descriptor->ID = id;
488
395k
    descriptor->kind = XS_INTEGER_KIND;
489
395k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
395k
    return 1;
491
395k
  }
492
22.2M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
18.9M
    txSlot* string = instance->next;
494
18.9M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
18.9M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
18.9M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
18.9M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
18.9M
    descriptor->value.string[length] = 0;
499
18.9M
    descriptor->kind = XS_STRING_KIND;
500
18.9M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
18.9M
    return 1;
502
18.9M
  }
503
3.21M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
22.2M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
35.1M
{
508
35.1M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
12.8M
    the->scratch.value.at.id = id;
510
12.8M
    the->scratch.value.at.index = index;
511
12.8M
    return &mxStringAccessor;
512
12.8M
  }
513
22.2M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
35.1M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
72.4k
{
518
72.4k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
32.3k
    return 1;
520
40.1k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
72.4k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
397k
{
525
397k
  txSlot* property = instance->next;
526
397k
  if (flag & XS_EACH_NAME_FLAG) {
527
397k
    txIndex length = mxStringInstanceLength(instance), index;
528
19.6M
    for (index = 0; index < length; index++)
529
19.2M
      keys = fxQueueKey(the, 0, index, keys);
530
397k
  }
531
397k
  property = property->next;
532
397k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
2.71k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
2.71k
    property = property->next;
535
2.71k
  }
536
397k
  if (flag & XS_EACH_NAME_FLAG)
537
397k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
397k
  fxQueueIDKeys(the, property, flag, keys);
539
397k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
1.04M
{
543
1.04M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
43.4k
    return C_NULL;
545
1.00M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
1.04M
}
547
548
void fx_String(txMachine* the)
549
152k
{
550
152k
  txSlot* slot;
551
152k
  txSlot* instance;
552
152k
  if (mxArgc > 0) {
553
147k
    slot = mxArgv(0);
554
147k
    if (!mxHasTarget && (slot->kind == XS_SYMBOL_KIND)) {
555
27
      fxSymbolToString(the, slot);
556
27
      *mxResult = *slot;
557
27
      return;
558
27
    }
559
147k
    fxToString(the, slot);
560
147k
  }
561
4.91k
  else {
562
4.91k
    slot = &mxEmptyString;
563
4.91k
  }
564
152k
  if (!mxHasTarget) {
565
143k
    *mxResult = *slot;
566
143k
    return;
567
143k
  }
568
8.74k
  mxPushSlot(mxTarget);
569
8.74k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
8.74k
  instance = fxNewStringInstance(the);
571
8.74k
  instance->next->kind = slot->kind; // @@
572
8.74k
  instance->next->value.key.string = slot->value.string;
573
8.74k
  mxPullSlot(mxResult);
574
8.74k
}
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
538k
{
672
538k
  txInteger length = 0;
673
538k
  txInteger count = mxArgc;
674
538k
  txInteger index = 0;
675
538k
  txInteger c; 
676
538k
  txString p;
677
1.22M
  while (index < count) {
678
686k
    txSlot *slot = mxArgv(index);
679
686k
    if (XS_INTEGER_KIND != slot->kind) {
680
186k
      txNumber number = fxToNumber(the, slot);
681
186k
      switch (c_fpclassify(number)) {
682
15
      case C_FP_INFINITE:
683
4.41k
      case C_FP_NAN:
684
4.41k
      case C_FP_ZERO:
685
4.41k
        slot->value.integer = 0;
686
4.41k
        break;
687
182k
      default:
688
360k
        #define MODULO 65536.0
689
182k
        number = c_fmod(c_trunc(number), MODULO);
690
182k
        if (number < 0)
691
177k
          number += MODULO;
692
182k
        slot->value.integer = (txInteger)number;
693
182k
        break;
694
186k
      }
695
186k
      slot->kind = XS_INTEGER_KIND;
696
186k
    }
697
499k
    else {
698
499k
      txInteger integer = slot->value.integer % 65536;
699
499k
      if (integer < 0)
700
366
        integer += 65536;
701
499k
      slot->value.integer = integer;
702
499k
    }
703
686k
    index++;
704
686k
  }
705
538k
  index = 0;
706
1.22M
  while (index < count) {
707
686k
    c = mxArgv(index)->value.integer;
708
686k
    index++;
709
686k
    if (index < count) {
710
147k
      txInteger d = mxArgv(index)->value.integer;
711
147k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
147k
    }  
716
686k
    length += mxStringByteLength(c);
717
686k
  }    
718
538k
  mxMeterSome(count);
719
538k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
538k
  mxResult->kind = XS_STRING_KIND;
721
538k
  p = mxResult->value.string;
722
538k
  index = 0;
723
1.22M
  while (index < count) {
724
686k
    c = mxArgv(index)->value.integer;
725
686k
    index++;
726
686k
    if (index < count) {
727
147k
      txInteger d = mxArgv(index)->value.integer;
728
147k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
147k
    }  
733
686k
    p = mxStringByteEncode(p, c);
734
686k
  }  
735
538k
  *p = 0;
736
538k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
55
{
740
55
  txInteger length = 0;
741
55
  txInteger count = mxArgc;
742
55
  txInteger index = 0;
743
55
  txInteger character; 
744
55
  txString p;
745
104
  while (index < count) {
746
73
    txNumber number = fxToNumber(the, mxArgv(index));
747
73
    txNumber check = c_trunc(number);
748
73
    if (number != check)
749
12
      mxRangeError("invalid code point %lf", number);
750
61
    if ((number < 0) || (0x10FFFF < number))
751
12
      mxRangeError("invalid code point %lf", number);
752
49
    mxArgv(index)->value.integer = (txInteger)number;
753
49
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
49
    index++;
755
49
  }
756
31
  index = 0;
757
71
  while (index < count) {
758
40
    character = mxArgv(index)->value.integer;
759
40
    length += mxStringByteLength(character);
760
40
    index++;
761
40
  }
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
71
  while (index < count) {
768
40
    character = mxArgv(index)->value.integer;
769
40
    p = mxStringByteEncode(p, character);
770
40
    index++;
771
40
  }  
772
31
  *p = 0;
773
31
}
774
775
void fx_String_raw(txMachine* the)
776
29
{
777
29
  txInteger argCount = mxArgc;
778
29
  txSlot* raw;
779
29
  txNumber rawCount;
780
29
  if (argCount > 0)
781
28
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
28
  mxPushSlot(mxArgv(0));
785
28
  mxGetID(mxID(_raw));
786
28
  raw = the->stack;
787
28
  mxPushSlot(raw);
788
28
  mxGetID(mxID(_length));
789
28
  rawCount = fxToLength(the, the->stack);
790
28
  mxPop();
791
28
  if (rawCount <= 0) {
792
11
    mxResult->value = mxEmptyString.value;
793
11
    mxResult->kind = mxEmptyString.kind;
794
11
  }
795
17
  else {
796
17
    txSlot* list;
797
17
    txInteger index = 0;
798
17
    txSlot* item;
799
17
    txInteger size;
800
17
    list = item = fxNewInstance(the);
801
17
    mxPushSlot(list);
802
52
    for (;;) {
803
52
      mxPushSlot(raw);
804
52
      mxGetIndex(index);
805
52
      fxToString(the, the->stack);
806
52
      item = item->next = fxNewSlot(the);
807
52
      mxPullSlot(item);
808
52
      index++;
809
52
      if (index == rawCount)
810
12
        break;
811
40
      if (index < argCount) {
812
16
        mxPushSlot(mxArgv(index));
813
16
        fxToString(the, the->stack);
814
16
      }
815
24
      else
816
24
        mxPush(mxEmptyString);
817
40
      item = item->next = fxNewSlot(the);
818
40
      mxPullSlot(item);
819
40
    }
820
17
    size = 0;
821
17
    item = list->next;
822
101
    while (item) {
823
84
      item->value.key.sum = mxStringLength(item->value.string);
824
84
      size = fxAddChunkSizes(the, size, item->value.key.sum);
825
84
      item = item->next;
826
84
    }
827
17
    size++;
828
17
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
17
    size = 0;
830
17
    item = list->next;
831
101
    while (item) {
832
84
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
84
      size += item->value.key.sum;
834
84
      item = item->next;
835
84
    }
836
17
    mxResult->value.string[size] = 0;
837
17
    mxPop();
838
17
    mxResult->kind = XS_STRING_KIND;
839
17
  }
840
28
  mxPop();
841
28
}
842
843
void fx_String_prototype_at(txMachine* the)
844
9.49k
{
845
9.49k
  txNumber index;
846
847
9.49k
  fxCoerceToString(the, mxThis);
848
9.49k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
9.49k
  if (c_isnan(index) || (index == 0))
850
6.54k
    index = 0;
851
2.94k
  else if (index < 0) {
852
2.62k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
2.62k
    if (index < 0)
854
2.09k
      return;
855
2.62k
  }
856
7.39k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
7.39k
  if (from >= 0) {
858
7.09k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
7.09k
    if (to >= 0) {
860
6.61k
      to += from;
861
6.61k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
6.61k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
6.61k
      mxResult->value.string[to - from] = 0;
864
6.61k
      mxResult->kind = XS_STRING_KIND;
865
6.61k
    }
866
7.09k
  }
867
7.39k
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
253k
{
871
253k
  txInteger anOffset;
872
253k
  txInteger aLength;
873
  
874
253k
  fxCoerceToString(the, mxThis);
875
253k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
148k
    anOffset = fxToInteger(the, mxArgv(0));
877
148k
    if (anOffset < 0) goto fail;
878
148k
  }
879
105k
  else
880
105k
    anOffset = 0;
881
882
253k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
253k
  if (anOffset < 0) goto fail;
884
885
105k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
105k
  if (aLength < 0) goto fail;
887
888
105k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
105k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
105k
  mxResult->value.string[aLength] = 0;
891
105k
  mxResult->kind = XS_STRING_KIND;
892
105k
  return;
893
894
148k
fail:
895
148k
  mxResult->value.string = mxEmptyString.value.string;
896
148k
  mxResult->kind = mxEmptyString.kind;
897
148k
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
126
{
901
126
  txInteger anOffset;
902
903
126
  fxCoerceToString(the, mxThis);
904
126
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
114
    anOffset = fxToInteger(the, mxArgv(0));
906
114
    if (anOffset < 0) goto fail;
907
114
  }
908
12
  else
909
12
    anOffset = 0;
910
911
120
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
120
  if (anOffset < 0) goto fail;
913
914
117
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
1
    goto fail;
916
917
116
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
116
  mxResult->kind = XS_INTEGER_KIND;
919
116
  return;
920
921
10
fail:
922
10
  mxResult->value.number = C_NAN;
923
10
  mxResult->kind = XS_NUMBER_KIND;
924
10
}
925
926
void fx_String_prototype_compare(txMachine* the)
927
0
{
928
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
929
0
  fx_String_prototype_localeCompare(the);
930
0
}
931
932
void fx_String_prototype_codePointAt(txMachine* the)
933
3.65k
{
934
3.65k
  txString string = fxCoerceToString(the, mxThis);
935
3.65k
  txInteger length = fxCacheUnicodeLength(the, string);
936
3.65k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
3.65k
  if (c_isnan(at))
938
719
    at = 0;
939
3.65k
  if ((0 <= at) && (at < (txNumber)length)) {
940
2.27k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
2.27k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
2.27k
    if ((offset >= 0) && (length > 0)) {
943
2.27k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
2.27k
      mxResult->kind = XS_INTEGER_KIND;
945
2.27k
    }
946
2.27k
  }
947
3.65k
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
1.41k
{
951
1.41k
  txInteger aCount;
952
1.41k
  txInteger aLength;
953
1.41k
  txInteger anIndex;
954
  
955
1.41k
  fxCoerceToString(the, mxThis);
956
1.41k
  aCount = mxArgc;
957
1.41k
  aLength = mxStringLength(mxThis->value.string);
958
5.20k
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
3.79k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
1.41k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
1.41k
  mxResult->kind = XS_STRING_KIND;
962
1.41k
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
5.20k
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
3.79k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
1.41k
  mxMeterSome(aCount);
966
1.41k
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
2.87k
{
970
2.87k
  txString string = fxCoerceToString(the, mxThis);
971
2.87k
  txInteger length = fxCacheUnicodeLength(the, string);
972
2.87k
  txString searchString;
973
2.87k
  txInteger searchLength;
974
2.87k
  txInteger offset;
975
2.87k
  mxResult->kind = XS_BOOLEAN_KIND;
976
2.87k
  mxResult->value.boolean = 0;
977
2.87k
  if (mxArgc < 1)
978
1
    return;
979
2.87k
  if (fxIsRegExp(the, mxArgv(0)))
980
1
    mxTypeError("future editions");
981
2.87k
  searchString = fxToString(the, mxArgv(0));
982
2.87k
  offset = fxArgToPosition(the, 1, length, length);
983
2.87k
  string = mxThis->value.string;
984
2.87k
  searchString = mxArgv(0)->value.string;
985
2.87k
  searchLength = mxStringLength(searchString);
986
2.87k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
2.87k
  if (offset < searchLength)
988
1.27k
    return;
989
1.60k
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
1.60k
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
47
    mxResult->value.boolean = 1;
992
1.60k
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
116
{
996
116
  txString string = fxCoerceToString(the, mxThis);
997
116
  txInteger length = fxCacheUnicodeLength(the, string);
998
116
  txString searchString;
999
116
  txInteger searchLength;
1000
116
  txInteger offset;
1001
116
  mxResult->kind = XS_BOOLEAN_KIND;
1002
116
  mxResult->value.boolean = 0;
1003
116
  if (mxArgc < 1)
1004
1
    return;
1005
115
  if (fxIsRegExp(the, mxArgv(0)))
1006
1
    mxTypeError("future editions");
1007
114
  searchString = fxToString(the, mxArgv(0));
1008
114
  offset = fxArgToPosition(the, 1, 0, length);
1009
114
  string = mxThis->value.string;
1010
114
  length = fxCacheUTF8Length(the, string);
1011
114
  searchString = mxArgv(0)->value.string;
1012
114
  searchLength = mxStringLength(searchString);
1013
114
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
114
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
26
    mxResult->value.boolean = 1;
1016
114
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
1.71M
{
1020
1.71M
  if (stringLength >= searchLength) {
1021
1.14M
    txString result = string;
1022
1.14M
    txString limit = string + stringLength - searchLength;
1023
261M
    while (result <= limit) {
1024
260M
      txU1 c;
1025
260M
      txU1* p = (txU1*)result;
1026
260M
      txU1* q = (txU1*)searchString;
1027
260M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
294k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
294k
        p++;
1030
294k
        q++;
1031
294k
      }
1032
260M
      if (c)
1033
260M
        result++;
1034
1.31k
      else
1035
1.31k
        return result;
1036
260M
      mxCheckMetering();
1037
260M
    }
1038
1.14M
  }
1039
1.70M
  return C_NULL;
1040
1.71M
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
218k
{
1044
218k
  txString aString;
1045
218k
  txString aSubString;
1046
218k
  txInteger aLength;
1047
218k
  txInteger aSubLength;
1048
218k
  txInteger anOffset;
1049
218k
  txNumber aNumber;
1050
218k
  txInteger aLimit;
1051
  
1052
218k
  aString = fxCoerceToString(the, mxThis);
1053
218k
  if (mxArgc < 1) {
1054
1
    mxResult->value.integer = -1;
1055
1
    mxResult->kind = XS_INTEGER_KIND;
1056
1
    return;
1057
1
  }
1058
218k
  aSubString = fxToString(the, mxArgv(0));
1059
218k
  aString = mxThis->value.string;
1060
218k
  aLength = fxCacheUnicodeLength(the, aString);
1061
218k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
218k
  anOffset = 0;
1063
218k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
85.2k
    aNumber = fxToNumber(the, mxArgv(1));
1065
85.2k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
85.2k
    aString = mxThis->value.string;
1068
85.2k
    aSubString = mxArgv(0)->value.string;
1069
85.2k
  }
1070
218k
  if (anOffset + aSubLength <= aLength) {
1071
218k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
218k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
83.4M
    while (anOffset <= aLimit) {
1074
83.3M
      txU1 c;
1075
83.3M
      txU1* p = (txU1*)aString + anOffset;
1076
83.3M
      txU1* q = (txU1*)aSubString;
1077
95.0M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
11.6M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
11.6M
        p++;
1080
11.6M
        q++;
1081
11.6M
      }
1082
83.3M
      if (c)
1083
83.2M
        anOffset++;
1084
39.9k
      else
1085
39.9k
        break;
1086
83.2M
      mxCheckMetering();
1087
83.2M
    }
1088
218k
    if (anOffset <= aLimit)
1089
39.9k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
178k
    else
1091
178k
      anOffset = -1;
1092
218k
  }
1093
176
  else
1094
176
    anOffset = -1;
1095
218k
  mxResult->value.integer = anOffset;
1096
218k
  mxResult->kind = XS_INTEGER_KIND;
1097
218k
}
1098
1099
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1100
    txInteger theLength, txInteger theOffset,
1101
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1102
275k
{
1103
275k
  theOffsets[0] = theOffset;
1104
275k
  theOffsets[1] = theOffset + theSubLength;
1105
16.8M
  while (theOffsets[1] <= theLength) {
1106
16.8M
    txU1 c;
1107
16.8M
    txU1* p = (txU1*)theString + theOffsets[0];
1108
16.8M
    txU1* q = (txU1*)theSubString;
1109
17.1M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
291k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
291k
      p++;
1112
291k
      q++;
1113
291k
    }
1114
16.8M
    if (c) {
1115
16.5M
      theOffsets[0]++;
1116
16.5M
      theOffsets[1]++;
1117
16.5M
    }
1118
268k
    else
1119
268k
      return 1;
1120
16.8M
  }
1121
7.26k
  return 0;
1122
275k
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
61
{
1126
61
  txString p = fxCoerceToString(the, mxThis);
1127
61
  mxResult->kind = XS_BOOLEAN_KIND;
1128
61
  mxResult->value.boolean = 1;
1129
331
  while (c_read8(p)) {
1130
299
    txInteger c;
1131
299
    p = mxStringByteDecode(p, &c);
1132
299
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
29
      mxResult->value.boolean = 0;
1134
29
      break;
1135
29
    }
1136
299
  }
1137
61
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
263k
{
1141
263k
  txString aString;
1142
263k
  txString aSubString;
1143
263k
  txInteger aLength;
1144
263k
  txInteger aSubLength;
1145
263k
  txInteger anOffset;
1146
263k
  txNumber aNumber;
1147
1148
263k
  aString = fxCoerceToString(the, mxThis);
1149
263k
  if (mxArgc < 1) {
1150
41.6k
    mxResult->value.integer = -1;
1151
41.6k
    mxResult->kind = XS_INTEGER_KIND;
1152
41.6k
    return;
1153
41.6k
  }
1154
221k
  aSubString = fxToString(the, mxArgv(0));
1155
221k
  aString = mxThis->value.string;
1156
221k
  aLength = fxCacheUnicodeLength(the, aString);
1157
221k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
221k
  anOffset = aLength;
1159
221k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
1.16k
    aNumber = fxToNumber(the, mxArgv(1));
1161
1.16k
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
1.16k
    anOffset += aSubLength;
1163
1.16k
    if (anOffset > aLength)
1164
964
      anOffset = aLength;
1165
1166
1.16k
    aString = mxThis->value.string;
1167
1.16k
    aSubString = mxArgv(0)->value.string;
1168
1.16k
  }
1169
221k
  if (anOffset - aSubLength >= 0) {
1170
220k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
2.06M
    while (anOffset >= 0) {
1172
2.04M
      txU1 c;
1173
2.04M
      txU1* p = (txU1*)aString + anOffset;
1174
2.04M
      txU1* q = (txU1*)aSubString;
1175
2.25M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
206k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
206k
        p++;
1178
206k
        q++;
1179
206k
      }
1180
2.04M
      if (c)
1181
1.84M
        anOffset--;
1182
206k
      else
1183
206k
        break;
1184
1.84M
      mxCheckMetering();
1185
1.84M
    }    
1186
220k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
220k
  }
1188
923
  else
1189
923
    anOffset = -1;
1190
221k
  mxResult->value.integer = anOffset;
1191
221k
  mxResult->kind = XS_INTEGER_KIND;
1192
221k
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
113k
{
1196
113k
  txString aString;
1197
113k
  txString bString;
1198
1199
113k
  if (mxArgc < 1) {
1200
56.6k
    aString = fxCoerceToString(the, mxThis);
1201
56.6k
    bString = "undefined";
1202
56.6k
  }
1203
56.7k
  else {
1204
56.7k
    fxToString(the, mxArgv(0));
1205
56.7k
    aString = fxCoerceToString(the, mxThis);
1206
56.7k
    bString = mxArgv(0)->value.string;
1207
56.7k
  }
1208
113k
#ifdef mxMetering
1209
113k
  {
1210
113k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
113k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
113k
    if (aLength < bLength) {
1213
113k
      the->meterIndex += aLength * XS_STRING_METERING;
1214
113k
    }
1215
37
    else {
1216
37
      the->meterIndex += bLength * XS_STRING_METERING;
1217
37
    }
1218
113k
  }
1219
113k
#endif  
1220
113k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
113k
  mxResult->kind = XS_INTEGER_KIND;
1222
113k
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
96.3k
{ 
1226
96.3k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
38.8k
    return;
1228
57.4k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
57.4k
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
9.03k
{ 
1233
9.03k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
328
    return;
1235
8.70k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
8.70k
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
859k
{
1240
859k
  txFlag form;
1241
859k
  fxCoerceToString(the, mxThis);
1242
859k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
564k
    form = 2;
1244
294k
  else {
1245
294k
    txString string = fxToString(the, mxArgv(0));
1246
294k
    if (!c_strcmp(string, "NFC"))
1247
24
      form = 2;
1248
294k
    else if (!c_strcmp(string, "NFD"))
1249
13
      form = 0;
1250
294k
    else if (!c_strcmp(string, "NFKC"))
1251
227k
      form = 3;
1252
67.5k
    else if (!c_strcmp(string, "NFKD"))
1253
67.4k
      form = 1;
1254
14
    else
1255
14
      mxRangeError("invalid form");
1256
294k
  }
1257
859k
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
859k
  mxResult->value.string = mxThis->value.string;
1259
859k
  mxResult->kind = mxThis->kind;
1260
859k
#ifdef mxStringNormalize
1261
859k
  fxNormalizeString(the, mxResult, form);
1262
#else 
1263
  {
1264
    txInteger max = 0;
1265
    txString string = mxResult->value.string;
1266
    for (;;) {
1267
      txInteger c;
1268
      string = mxStringByteDecode(string, &c);
1269
      if (c == C_EOF)
1270
        break;
1271
      if (max < c)
1272
        max = c;
1273
    }
1274
    if (max < 128) {
1275
    }
1276
    else if ((max < 256) && (form == 2)) {
1277
    }
1278
    else {
1279
      mxRangeError("not built-in");
1280
    }
1281
  }
1282
#endif
1283
859k
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
133k
{
1287
133k
  txString string = fxCoerceToString(the, mxThis), filler;
1288
133k
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
133k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
133k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
133k
  *mxResult = *mxThis;
1292
133k
  if (resultSize > stringSize) {
1293
489
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
11
      mxPushStringX(" ");
1295
478
    else
1296
478
      mxPushSlot(mxArgv(1));
1297
489
    filler = fxToString(the, the->stack);
1298
489
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
489
    if (fillerSize > 0) {
1300
487
      txInteger delta = resultSize - stringSize;
1301
487
      txInteger count = delta / fillerSize;
1302
487
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
487
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
487
      mxResult->kind = XS_STRING_KIND;
1305
487
      string = fxToString(the, mxThis);
1306
487
      filler = fxToString(the, the->stack);
1307
487
      if (flag) {
1308
28
        c_memcpy(result, string, stringLength);
1309
28
        result += stringLength;
1310
28
      }
1311
487
      mxMeterSome(count);
1312
511k
      while (count) {
1313
510k
        c_memcpy(result, filler, fillerLength);
1314
510k
        count--;
1315
510k
        result += fillerLength;
1316
510k
      }
1317
487
      if (rest) {
1318
118
        mxMeterSome(1);
1319
118
        c_memcpy(result, filler, rest);
1320
118
        result += rest;
1321
118
      }
1322
487
      if (!flag) {
1323
457
        c_memcpy(result, string, stringLength);
1324
457
        result += stringLength;
1325
457
      }
1326
487
      *result = 0;
1327
487
    }
1328
489
    mxPop();
1329
489
  }
1330
133k
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
132k
{
1334
132k
  fx_String_prototype_pad(the, 1);
1335
132k
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
1.06k
{
1339
1.06k
  fx_String_prototype_pad(the, 0);
1340
1.06k
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
38.0k
{
1344
38.0k
  txString string = fxCoerceToString(the, mxThis), result;
1345
38.0k
  txInteger length = mxStringLength(string);
1346
38.0k
  txInteger count = 0;
1347
38.0k
  txSlot *arg = mxArgv(0);
1348
38.0k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
11.1k
    if (XS_INTEGER_KIND == arg->kind) {
1350
84
      count = arg->value.integer;
1351
84
      if (count < 0)
1352
6
        mxRangeError("count < 0");
1353
84
    }
1354
11.0k
    else {
1355
11.0k
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
11.0k
      if (c_isnan(value))
1357
4.90k
        count = 0;
1358
6.16k
      else {
1359
6.16k
        if (value < 0)
1360
1.65k
          mxRangeError("count < 0");
1361
4.51k
        if (0x7FFFFFFF < value)
1362
3.67k
          mxRangeError("count too big");
1363
836
        count = (txInteger)value;
1364
836
      }
1365
11.0k
    }
1366
11.1k
  }
1367
32.6k
  mxMeterSome(count);
1368
32.6k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
32.6k
  mxResult->kind = XS_STRING_KIND;
1370
32.6k
  string = fxToString(the, mxThis);
1371
32.6k
  if (length) {
1372
48.8M
    while (count) {
1373
48.8M
      c_memcpy(result, string, length);
1374
48.8M
      count--;
1375
48.8M
      result += length;
1376
48.8M
    }
1377
30.3k
  }
1378
32.6k
  *result = 0;
1379
32.6k
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
811k
{
1383
811k
  txString string;
1384
811k
  txSlot* match;
1385
811k
  txSize size;
1386
811k
  txSize matchLength;
1387
811k
  txSlot* function;
1388
811k
  txSlot* replace;
1389
1390
811k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
144k
    return;
1392
666k
  fxToString(the, mxThis);
1393
666k
  if (mxArgc <= 0)
1394
665k
    mxPushUndefined();
1395
616
  else
1396
616
    mxPushSlot(mxArgv(0));
1397
666k
  match = the->stack;
1398
666k
  fxToString(the, match);
1399
666k
  if (mxArgc <= 1)
1400
666k
    mxPushUndefined();
1401
128
  else
1402
128
    mxPushSlot(mxArgv(1));
1403
666k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
5
    function = the->stack;
1405
5
    replace = C_NULL;
1406
5
  }
1407
666k
  else {   
1408
666k
    replace = the->stack;
1409
666k
    fxToString(the, replace);
1410
666k
    function = C_NULL;
1411
666k
  }
1412
666k
  size = mxStringLength(mxThis->value.string);
1413
666k
  matchLength = mxStringLength(match->value.string);
1414
666k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
666k
  if (string) {
1416
237
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
237
    txSize replaceLength;
1418
237
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
237
    replaceLength = mxStringLength(the->stack->value.string);
1420
237
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
237
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
237
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
237
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
237
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
237
    mxResult->kind = XS_STRING_KIND;
1426
237
    mxPop();
1427
237
  }
1428
666k
  else
1429
666k
    *mxResult = *mxThis;
1430
666k
  mxPop();
1431
666k
  mxPop();
1432
666k
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
1.09M
{
1436
1.09M
  txSlot* match;
1437
1.09M
  txSlot* function;
1438
1.09M
  txSlot* replace;
1439
1.09M
  txInteger size;
1440
1.09M
  txInteger matchLength;
1441
1.09M
  txInteger resultSize = 0;
1442
1.09M
  txSlot* list;
1443
1.09M
  txSlot* item;
1444
1.09M
  txInteger offset = 0;
1445
1.09M
  txBoolean flag = 0;
1446
1447
1.09M
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
61
    return;
1449
1.09M
  fxToString(the, mxThis);
1450
1.09M
  if (mxArgc <= 0)
1451
10
    mxPushUndefined();
1452
1.09M
  else
1453
1.09M
    mxPushSlot(mxArgv(0));
1454
1.09M
  match = the->stack;
1455
1.09M
  fxToString(the, match);
1456
1.09M
  if (mxArgc <= 1)
1457
716k
    mxPushUndefined();
1458
375k
  else
1459
375k
    mxPushSlot(mxArgv(1));
1460
1.09M
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
240k
    function = the->stack;
1462
240k
    replace = C_NULL;
1463
240k
  }
1464
852k
  else {   
1465
852k
    replace = the->stack;
1466
852k
    fxToString(the, replace);
1467
852k
    function = C_NULL;
1468
852k
  }
1469
1.09M
  size = mxStringLength(mxThis->value.string);
1470
1.09M
  matchLength = mxStringLength(match->value.string);
1471
  
1472
1.09M
  list = item = fxNewInstance(the);
1473
1.09M
  mxPushSlot(list);
1474
  
1475
1.09M
  if (!matchLength) {
1476
49.6k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
49.6k
    item = item->next = fxNewSlot(the);
1478
49.6k
    mxPullSlot(item);
1479
49.6k
    item->value.key.sum = mxStringLength(item->value.string);
1480
49.6k
    resultSize += item->value.key.sum;
1481
49.6k
    flag = 1;
1482
49.6k
  }
1483
2.48M
  while (offset < size) {
1484
1.39M
    txInteger current;
1485
1.39M
    if (!matchLength) {
1486
347k
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
347k
    }
1488
1.04M
    else {
1489
1.04M
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
1.04M
            if (string)
1491
1.05k
        current = mxPtrDiff(string - mxThis->value.string);
1492
1.04M
      else
1493
1.04M
        current = size;
1494
1.04M
    }
1495
1.39M
    if (offset < current) {
1496
1.39M
      txInteger length = current - offset;
1497
1.39M
      item = item->next = fxNewSlot(the);
1498
1.39M
      item->value.dataView.offset = offset;
1499
1.39M
      item->value.dataView.size = length;
1500
1.39M
      item->kind = XS_DATA_VIEW_KIND;
1501
1.39M
      resultSize += length;
1502
1.39M
    }
1503
1.39M
    if ((!matchLength) || (current < size)) {
1504
348k
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
348k
      item = item->next = fxNewSlot(the);
1506
348k
            mxPullSlot(item);
1507
348k
      item->value.key.sum = mxStringLength(item->value.string);
1508
348k
      resultSize += item->value.key.sum;
1509
348k
      flag = 1;
1510
348k
    }
1511
1.39M
    offset = current + matchLength;
1512
1.39M
  }    
1513
1.09M
  if (flag) {
1514
49.7k
    resultSize++;
1515
49.7k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
49.7k
    offset = 0;
1517
49.7k
    item = list->next;
1518
795k
    while (item) {
1519
746k
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
347k
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
347k
        offset += item->value.dataView.size;
1522
347k
      }
1523
398k
      else {
1524
398k
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
398k
        offset += item->value.key.sum;
1526
398k
      }
1527
746k
      item = item->next;
1528
746k
    }
1529
49.7k
    mxResult->value.string[offset] = 0;
1530
49.7k
    mxResult->kind = XS_STRING_KIND;
1531
49.7k
  }
1532
1.04M
  else {
1533
1.04M
    mxResult->value = mxThis->value;
1534
1.04M
    mxResult->kind = mxThis->kind;
1535
1.04M
  }
1536
  
1537
1.09M
  mxPop();
1538
  
1539
1.09M
  mxPop();
1540
1.09M
  mxPop();
1541
1.09M
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
398k
{
1545
398k
  if (function) {
1546
397k
    mxPushUndefined();
1547
397k
    mxPushSlot(function);
1548
397k
    mxCall();
1549
397k
    mxPushSlot(match);
1550
397k
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
397k
    mxPushSlot(mxThis);
1552
397k
    mxRunCount(3);
1553
397k
    fxToString(the, the->stack);
1554
397k
  }
1555
1.30k
  else
1556
1.30k
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
398k
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
5.33k
{
1561
5.33k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
29
    return;
1563
5.31k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
5.31k
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
59.1k
{
1568
59.1k
  txString string = fxCoerceToString(the, mxThis);
1569
59.1k
  txInteger length = fxCacheUnicodeLength(the, string);
1570
59.1k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
59.1k
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
59.1k
  if (start < end) {
1573
25.3k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
25.3k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
25.3k
    if ((offset >= 0) && (length > 0)) {
1576
25.3k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
25.3k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
25.3k
      mxResult->value.string[length] = 0;
1579
25.3k
      mxResult->kind = XS_STRING_KIND;
1580
25.3k
      return;
1581
25.3k
    }
1582
25.3k
  }
1583
33.7k
  mxResult->value.string = mxEmptyString.value.string;
1584
33.7k
  mxResult->kind = mxEmptyString.kind;
1585
33.7k
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
647k
{
1589
647k
  txString aString;
1590
647k
  txInteger aLength;
1591
647k
  txIndex aLimit;
1592
647k
  txSlot* anArray;
1593
647k
  txSlot* anItem;
1594
647k
  txInteger anOffset;
1595
647k
  txInteger aCount;
1596
647k
  txString aSubString;
1597
647k
  txInteger aSubLength;
1598
647k
  txInteger aSubOffset;
1599
647k
  txInteger subOffsets[2];
1600
1601
647k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
43.9k
    return;
1603
603k
  aString = fxToString(the, mxThis);
1604
603k
  aLength = mxStringLength(aString);
1605
603k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
603k
  mxPush(mxArrayPrototype);
1607
603k
  anArray = fxNewArrayInstance(the);
1608
603k
  mxPullSlot(mxResult);
1609
603k
  fxGetInstance(the, mxResult);
1610
603k
  anItem = fxLastProperty(the, anArray);
1611
603k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
630
    if (!aLimit)
1613
48
      goto bail;
1614
582
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
582
    goto bail;
1616
630
  }
1617
603k
  aSubString = fxToString(the, mxArgv(0));
1618
603k
  aSubLength = mxStringLength(aSubString);
1619
603k
  if (!aLimit)
1620
1.38k
    goto bail;
1621
601k
  if (aSubLength == 0) {
1622
592k
    anOffset = 0;
1623
23.1M
    while (anOffset < aLength) {
1624
22.5M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
22.5M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
22.5M
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
22.5M
      anOffset = aSubOffset;
1629
22.5M
    }
1630
592k
  }
1631
9.28k
  else if (aLength == 0) {
1632
210
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
210
  }
1634
9.07k
  else {
1635
9.07k
    anOffset = 0;
1636
275k
    for (;;) {
1637
275k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
275k
      if (aCount <= 0)
1639
7.26k
        break;
1640
268k
      if (anOffset <= subOffsets[0]) {
1641
268k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
268k
        if (anArray->next->value.array.length >= aLimit)
1643
1.54k
          goto bail;
1644
268k
      }
1645
266k
      anOffset = subOffsets[1];
1646
266k
    }
1647
7.52k
    if (anOffset <= aLength)
1648
7.26k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
7.52k
  }
1650
603k
bail:
1651
603k
  fxCacheArray(the, anArray);
1652
603k
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
22.8M
{
1656
22.8M
  theStop -= theStart;
1657
22.8M
  theItem->next = fxNewSlot(the);
1658
22.8M
  theItem = theItem->next;
1659
22.8M
  theItem->next = C_NULL;
1660
22.8M
  if (theStart >= 0) {
1661
22.8M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
22.8M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
22.8M
    theItem->value.string[theStop] = 0;
1664
22.8M
    theItem->kind = XS_STRING_KIND;
1665
22.8M
  }
1666
22.8M
  theArray->next->value.array.length++;
1667
22.8M
  return theItem;
1668
22.8M
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
131
{
1672
131
  txString string = fxCoerceToString(the, mxThis);
1673
131
  txInteger length = fxCacheUnicodeLength(the, string);
1674
131
  txString searchString;
1675
131
  txInteger searchLength;
1676
131
  txInteger offset;
1677
131
  mxResult->kind = XS_BOOLEAN_KIND;
1678
131
  mxResult->value.boolean = 0;
1679
131
  if (mxArgc < 1)
1680
1
    return;
1681
130
  if (fxIsRegExp(the, mxArgv(0)))
1682
1
    mxTypeError("future editions");
1683
129
  searchString = fxToString(the, mxArgv(0));
1684
129
  offset = fxArgToPosition(the, 1, 0, length);
1685
129
  string = mxThis->value.string;
1686
129
  length = fxCacheUTF8Length(the, string);
1687
129
  searchString = mxArgv(0)->value.string;
1688
129
  searchLength = mxStringLength(searchString);
1689
129
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
129
  if (length - offset < searchLength)
1691
30
    return;
1692
99
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
99
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
23
    mxResult->value.boolean = 1;
1695
99
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
757k
{
1699
757k
  txString string = fxCoerceToString(the, mxThis);
1700
757k
  txInteger size = fxCacheUnicodeLength(the, string);
1701
757k
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
757k
  txInteger stop = size;
1703
757k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
748k
    stop = start + fxToInteger(the, mxArgv(1));
1705
748k
    if (stop > size)
1706
667k
      stop = size;
1707
748k
  }  
1708
757k
  if (start < stop) {
1709
9.10k
    txInteger length;
1710
9.10k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
9.10k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
9.10k
    length = stop - start;
1713
9.10k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
9.10k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
9.10k
    mxResult->value.string[length] = 0;
1716
9.10k
    mxResult->kind = XS_STRING_KIND;
1717
9.10k
  }
1718
748k
  else {
1719
748k
    mxResult->value.string = mxEmptyString.value.string;
1720
748k
    mxResult->kind = mxEmptyString.kind;
1721
748k
  }
1722
757k
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
148k
{
1726
148k
  txString aString;
1727
148k
  txInteger aLength;
1728
148k
  txNumber aNumber;
1729
148k
  txInteger aStart;
1730
148k
  txInteger aStop;
1731
148k
  txInteger anOffset;
1732
1733
148k
  aString = fxCoerceToString(the, mxThis);
1734
148k
  aLength = fxCacheUnicodeLength(the, aString);
1735
148k
  aStart = 0;
1736
148k
  aStop = aLength;
1737
148k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
148k
    aNumber = fxToNumber(the, mxArgv(0));
1739
148k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
148k
  }
1741
148k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
40
    aNumber = fxToNumber(the, mxArgv(1));
1743
40
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
40
  }
1745
148k
  if (aStart > aStop) {
1746
3
    aLength = aStart;
1747
3
    aStart = aStop;
1748
3
    aStop = aLength;
1749
3
  }
1750
148k
  if (aStart < aStop) {
1751
22
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
22
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
22
    if ((anOffset >= 0) && (aLength > 0)) {
1754
22
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
22
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
22
      mxResult->value.string[aLength] = 0;
1757
22
      mxResult->kind = XS_STRING_KIND;
1758
22
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
22
  }
1764
148k
  else {
1765
148k
    mxResult->value.string = mxEmptyString.value.string;
1766
148k
    mxResult->kind = mxEmptyString.kind;
1767
148k
  }
1768
148k
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
202
{
1772
202
  fxCoerceToString(the, mxThis);
1773
202
  fx_String_prototype_toCase(the, 0);
1774
202
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
240
{
1778
240
  fxCoerceToString(the, mxThis);
1779
240
  fx_String_prototype_toCase(the, 1);
1780
240
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
71
{
1784
71
  txString string = fxCoerceToString(the, mxThis);
1785
71
  txSize length = mxStringLength(string);
1786
71
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
71
  mxResult->kind = XS_STRING_KIND;
1788
71
  txString p = mxThis->value.string;
1789
71
  txString q = mxResult->value.string;
1790
716
  while (c_read8(p)) {
1791
645
    txInteger c;
1792
645
    p = mxStringByteDecode(p, &c);
1793
645
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
43
      c = 0x0000FFFD;
1795
645
    q = mxStringByteEncode(q, c);
1796
645
  }
1797
71
  *q = 0;
1798
71
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
30
{
1802
30
  fx_String_prototype_trimAux(the, 1, 1);
1803
30
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
63
{
1807
63
  txString string = fxCoerceToString(the, mxThis), start;
1808
63
  txInteger offset, length, trimmed = 0;
1809
63
  if (trimStart) {
1810
47
    start = fxSkipSpaces(string);
1811
47
    offset = mxPtrDiff(start - string);
1812
47
    mxMeterSome(offset);
1813
47
    trimmed = offset > 0;
1814
47
  }
1815
16
  else {
1816
16
    start = string;
1817
16
    offset = 0;
1818
16
  }
1819
63
  if (trimEnd) {
1820
40
    txString end = start;
1821
40
    txString current = fxSkipSpaces(end);
1822
690
    while (c_read8(current)) {
1823
650
      end = current + 1;
1824
650
      current = fxSkipSpaces(end);
1825
650
    }
1826
40
    length = mxPtrDiff(end - start);
1827
40
    mxMeterSome(length);
1828
40
    trimmed = trimmed || (end < current);
1829
40
  }
1830
23
  else
1831
23
    length = mxStringLength(start);
1832
63
  if (trimmed) {
1833
14
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1834
14
    c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1835
14
    mxResult->value.string[length] = 0;
1836
14
    mxResult->kind = XS_STRING_KIND;
1837
14
  }
1838
49
  else {
1839
49
    mxResult->value.string = mxThis->value.string;
1840
49
    mxResult->kind = mxThis->kind;
1841
49
  }
1842
63
}
1843
1844
void fx_String_prototype_trimEnd(txMachine* the)
1845
12
{
1846
12
  fx_String_prototype_trimAux(the, 0, 1);
1847
12
}
1848
1849
void fx_String_prototype_trimStart(txMachine* the)
1850
21
{
1851
21
  fx_String_prototype_trimAux(the, 1, 0);
1852
21
}
1853
1854
void fx_String_prototype_valueOf(txMachine* the)
1855
179k
{
1856
179k
  txSlot* slot = fxCheckString(the, mxThis);
1857
179k
  if (!slot) mxTypeError("this: not a string");
1858
179k
  mxResult->kind = slot->kind;
1859
179k
  mxResult->value = slot->value;
1860
179k
}
1861
1862
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1863
2.66M
{
1864
2.66M
  if (mxIsUndefined(mxThis))
1865
194
    mxTypeError("this: undefined");
1866
2.66M
  if (mxIsNull(mxThis))
1867
1
    mxTypeError("this: null");
1868
2.66M
  if (mxArgc > 0) {
1869
1.99M
    txSlot* regexp = mxArgv(0);
1870
1.99M
    if (mxIsReference(regexp)) {
1871
851k
      if (global && fxIsRegExp(the, regexp)) {
1872
410
        mxPushSlot(regexp);
1873
410
        mxGetID(mxID(_flags));
1874
410
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1875
10
          mxTypeError("regexp has no g flag");
1876
400
        mxPop();
1877
400
      }
1878
851k
      mxPushSlot(regexp);
1879
851k
      mxPushSlot(regexp);
1880
851k
      mxGetID(id);
1881
851k
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1882
227k
        mxCall();
1883
227k
        mxPushSlot(mxThis);
1884
227k
        if (count > 1) {
1885
188k
          if (mxArgc > 1)
1886
143k
            mxPushSlot(mxArgv(1));
1887
45.6k
          else
1888
45.6k
            mxPushUndefined();
1889
188k
        }
1890
227k
        mxRunCount(count);
1891
227k
        mxPullSlot(mxResult);
1892
227k
        return 1;
1893
227k
      }
1894
623k
      mxPop();
1895
623k
      mxPop();
1896
623k
    }
1897
1.99M
  }
1898
2.43M
  return 0;
1899
2.66M
}
1900
1901
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1902
71.2k
{
1903
71.2k
  fxToString(the, mxThis);
1904
71.2k
  mxPush(mxRegExpPrototype);
1905
71.2k
  fxNewRegExpInstance(the);
1906
71.2k
  mxPush(mxInitializeRegExpFunction);
1907
71.2k
  mxCall();
1908
71.2k
  if (mxArgc > 0)
1909
69.9k
    mxPushSlot(mxArgv(0));
1910
1.32k
  else
1911
1.32k
    mxPushUndefined();
1912
71.2k
  if (global)
1913
8.69k
    mxPushStringX("g");
1914
62.5k
  else
1915
62.5k
    mxPushUndefined();
1916
71.2k
  mxRunCount(2);
1917
71.2k
  mxDub();
1918
71.2k
  mxGetID(id);
1919
71.2k
  mxCall();
1920
71.2k
  mxPushSlot(mxThis);
1921
71.2k
  if (count > 1) {
1922
0
    if (mxArgc > 1)
1923
0
      mxPushSlot(mxArgv(1));
1924
0
    else
1925
0
      mxPushUndefined();
1926
0
  }
1927
71.2k
  mxRunCount(count);
1928
71.2k
  mxPullSlot(mxResult);
1929
71.2k
}
1930
1931
txSlot* fxCheckString(txMachine* the, txSlot* it)
1932
179k
{
1933
179k
  txSlot* result = C_NULL;
1934
179k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1935
78
    result = it;
1936
179k
  else if (it->kind == XS_REFERENCE_KIND) {
1937
179k
    it = it->value.reference->next;
1938
179k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1939
179k
      result = it;
1940
179k
  }
1941
179k
  return result;
1942
179k
}
1943
1944
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1945
3.40M
{
1946
3.40M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1947
105k
    mxTypeError("this: undefined");
1948
3.30M
  if (theSlot->kind == XS_NULL_KIND)
1949
27
    mxTypeError("this: null");
1950
3.30M
  return fxToString(the, theSlot);
1951
3.30M
}
1952
1953
void fx_String_prototype_iterator(txMachine* the)
1954
543k
{
1955
543k
  txSlot* property;
1956
543k
  fxCoerceToString(the, mxThis);
1957
543k
  mxPush(mxStringIteratorPrototype);
1958
543k
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1959
543k
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1960
543k
  mxPullSlot(mxResult);
1961
543k
}
1962
1963
void fx_String_prototype_iterator_next(txMachine* the)
1964
8.06M
{
1965
8.06M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1966
8.06M
  txSlot* result = iterator->next;
1967
8.06M
  txSlot* iterable = result->next;
1968
8.06M
  txSlot* index = iterable->next;
1969
8.06M
  txSlot* length = index->next;
1970
8.06M
  txSlot* value = fxCheckIteratorResult(the, result);
1971
8.06M
  txSlot* done = value->next;
1972
8.06M
  if (index->value.integer < length->value.integer) {
1973
7.51M
    txInteger character, size;
1974
7.51M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1975
7.51M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1976
7.51M
    size = mxStringByteLength(character);
1977
7.51M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1978
7.51M
    string = mxStringByteEncode(value->value.string, character);
1979
7.51M
    *string = 0;
1980
7.51M
    value->kind = XS_STRING_KIND;
1981
7.51M
  }
1982
543k
  else {
1983
543k
    value->kind = XS_UNDEFINED_KIND;
1984
543k
    done->value.boolean = 1;
1985
543k
  }
1986
8.06M
  mxResult->kind = result->kind;
1987
8.06M
  mxResult->value = result->value;
1988
8.06M
}
1989
1990
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1991
3.10k
{
1992
3.10k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1993
246
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1994
246
    if (c_isnan(i))
1995
31
      i = 0;
1996
246
    if (i < 0)
1997
22
      index = 0;
1998
224
    else if (i > (txNumber)length)
1999
23
      index = length;
2000
201
    else
2001
201
      index = (txInteger)i;
2002
246
  }
2003
3.10k
  return index;
2004
3.10k
}
2005
2006
#if __has_builtin(__builtin_add_overflow)
2007
  #define mxAddSize(a, b) \
2008
148M
    if (__builtin_add_overflow(a, b, &a)) \
2009
148M
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT)
2010
#else
2011
  #define mxAddSize(a, b) \
2012
    if ((txInteger)((txU4)a + (txU4)b) < a) \
2013
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT); \
2014
    else \
2015
      a = (txInteger)((txU4)a + (txU4)b)
2016
#endif
2017
2018
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
2019
2.18M
{
2020
2.18M
  txString r;
2021
2.18M
  txInteger l;
2022
2.18M
  txBoolean flag;
2023
2.18M
  txByte c, d;
2024
2.18M
  txInteger i, j;
2025
2.18M
  txSlot* capture;
2026
2.18M
  txString s;
2027
2.18M
  r = replace->value.string;
2028
2.18M
  l = 0;
2029
2.18M
  flag = 0;
2030
151M
  while ((c = c_read8(r++))) {
2031
148M
    txInteger delta = 1;
2032
148M
    if (c == '$') {
2033
114M
      c = c_read8(r++);
2034
114M
      switch (c) {
2035
3.51k
      case '$':
2036
3.51k
        flag = 1;
2037
3.51k
        break;
2038
338
      case '&':
2039
338
        delta = length;
2040
338
        flag = 1;
2041
338
        break;
2042
2.80k
      case '`':
2043
2.80k
        delta = offset;
2044
2.80k
        flag = 1;
2045
2.80k
        break;
2046
3.36k
      case '\'':
2047
3.36k
        delta = size - offset - length;
2048
3.36k
        if (delta < 0)
2049
3
          delta = 0;
2050
3.36k
        flag = 1;
2051
3.36k
        break;
2052
4.67k
      case '<':
2053
4.67k
        if (groups && mxIsReference(groups)) {
2054
3.41k
          txString t = r;
2055
69.3k
          while ((d = c_read8(r))) {
2056
67.8k
            if (d == '>')
2057
1.84k
              break;
2058
65.9k
            r++;
2059
65.9k
          }
2060
3.41k
          if (d) {
2061
1.84k
            txInteger n = mxPtrDiff(r - t);
2062
1.84k
            txID name = XS_NO_ID;
2063
1.84k
            if ((size_t)(n + 1) <= sizeof(the->nameBuffer)) {
2064
1.84k
              c_memcpy(the->nameBuffer, t, n);
2065
1.84k
              the->nameBuffer[n] = 0;
2066
1.84k
              name = fxFindName(the, the->nameBuffer);
2067
1.84k
            }
2068
1.84k
            delta = 0;
2069
1.84k
            if (name) {
2070
181
              mxPushSlot(groups);
2071
181
              mxGetID(name);
2072
181
              if (!mxIsUndefined(the->stack)) {
2073
99
                fxToString(the, the->stack);
2074
99
                delta = mxStringLength(the->stack->value.string);
2075
99
              }
2076
181
              mxPop();
2077
181
            }
2078
1.84k
            r++;
2079
1.84k
            flag = 1;
2080
1.84k
          }
2081
1.57k
          else {
2082
1.57k
            r = t;
2083
1.57k
            delta = 2;
2084
1.57k
          }
2085
3.41k
        }
2086
1.26k
        else {
2087
1.26k
          delta = 2;
2088
1.26k
        }
2089
4.67k
        break;
2090
114M
      default:
2091
114M
        if (('0' <= c) && (c <= '9')) {
2092
114M
          i = c - '0';
2093
114M
          d = c_read8(r);
2094
114M
          if (('0' <= d) && (d <= '9')) {
2095
15.4k
            j = (i * 10) + d - '0';
2096
15.4k
            if ((0 < j) && (j <= count)) {
2097
1.84k
              i = j;
2098
1.84k
              r++;
2099
1.84k
            }
2100
13.5k
            else
2101
13.5k
              d = 0;
2102
15.4k
          }
2103
113M
          else
2104
113M
            d = 0;
2105
114M
          if ((0 < i) && (i <= count)) {
2106
179k
            capture = (captures + count - i);
2107
179k
            delta = 0;
2108
179k
            if (capture->kind != XS_UNDEFINED_KIND)
2109
178k
              delta = mxStringLength(capture->value.string);
2110
179k
            flag = 1;
2111
179k
          }
2112
113M
          else
2113
113M
            delta = d ? 3 : 2;
2114
114M
        }
2115
2.98k
        else {
2116
2.98k
          if (c)
2117
2.02k
            delta = 2;
2118
965
          else
2119
965
            r--;
2120
2.98k
        }
2121
114M
        break;
2122
114M
      }
2123
114M
    }
2124
148M
    mxAddSize(l, delta);
2125
148M
  }
2126
2.18M
  if (flag) {
2127
7.73k
    mxPushUndefined();
2128
7.73k
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2129
7.73k
    the->stack->kind = XS_STRING_KIND;
2130
7.73k
    r = replace->value.string;
2131
7.73k
    s = the->stack->value.string;
2132
759k
    while ((c = c_read8(r++))) {
2133
752k
      if (c == '$') {
2134
66.4k
        c = c_read8(r++);
2135
66.4k
        switch (c) {
2136
3.51k
        case '$':
2137
3.51k
          *s++ = c;
2138
3.51k
          break;
2139
338
        case '&':
2140
338
          l = length;
2141
338
          c_memcpy(s, match->value.string, l);
2142
338
          s += l;
2143
338
          break;
2144
2.80k
        case '`':
2145
2.80k
          l = offset;
2146
2.80k
          c_memcpy(s, string->value.string, l);
2147
2.80k
          s += l;
2148
2.80k
          break;
2149
3.36k
        case '\'':
2150
3.36k
          l = size - offset - length;
2151
3.36k
                    if (l > 0) {
2152
3.35k
                        c_memcpy(s, string->value.string + offset + length, l);
2153
3.35k
                        s += l;
2154
3.35k
                    }
2155
3.36k
          break;
2156
4.27k
        case '<':
2157
4.27k
          if (groups && mxIsReference(groups)) {
2158
3.35k
            txString t = r;
2159
68.6k
            while ((d = c_read8(r))) {
2160
67.1k
              if (d == '>')
2161
1.84k
                break;
2162
65.3k
              r++;
2163
65.3k
            }
2164
3.35k
            if (d) {
2165
1.84k
              txInteger n = mxPtrDiff(r - t);
2166
1.84k
              txID name = XS_NO_ID;
2167
1.84k
              if ((size_t)(n + 1) <= sizeof(the->nameBuffer)) {
2168
1.84k
                c_memcpy(the->nameBuffer, t, n);
2169
1.84k
                the->nameBuffer[n] = 0;
2170
1.84k
                name = fxFindName(the, the->nameBuffer);
2171
1.84k
              }
2172
1.84k
              if (name) {
2173
181
                mxPushSlot(groups);
2174
181
                mxGetID(name);
2175
181
                if (!mxIsUndefined(the->stack)) {
2176
99
                  fxToString(the, the->stack);
2177
99
                  l = mxStringLength(the->stack->value.string);
2178
99
                  c_memcpy(s, the->stack->value.string, l);
2179
99
                  s += l;
2180
99
                }
2181
181
                mxPop();
2182
181
              }
2183
1.84k
              r++;
2184
1.84k
            }
2185
1.50k
            else {
2186
1.50k
              r = t;
2187
1.50k
              *s++ = '$';
2188
1.50k
              *s++ = '<';
2189
1.50k
            }
2190
3.35k
          }
2191
928
          else {
2192
928
            *s++ = '$';
2193
928
            *s++ = '<';
2194
928
          }
2195
4.27k
          break;
2196
52.1k
        default:
2197
52.1k
          if (('0' <= c) && (c <= '9')) {
2198
49.4k
            i = c - '0';
2199
49.4k
            d = c_read8(r);
2200
49.4k
            if (('0' <= d) && (d <= '9')) {
2201
15.1k
              j = (i * 10) + d - '0';
2202
15.1k
              if ((0 < j) && (j <= count)) {
2203
1.84k
                i = j;
2204
1.84k
                r++;
2205
1.84k
              }
2206
13.3k
              else
2207
13.3k
                d = 0;
2208
15.1k
            }
2209
34.2k
            else
2210
34.2k
              d = 0;
2211
49.4k
            if ((0 < i) && (i <= count)) {
2212
48.8k
              capture = (captures + count - i);
2213
48.8k
              if (capture->kind != XS_UNDEFINED_KIND) {
2214
47.0k
                l = mxStringLength(capture->value.string);
2215
47.0k
                c_memcpy(s, capture->value.string, l);
2216
47.0k
                s += l;
2217
47.0k
              }
2218
48.8k
            }
2219
540
            else {
2220
540
              *s++ = '$';
2221
540
              *s++ = c;
2222
540
              if (d)
2223
0
                *s++ = d;
2224
540
            }
2225
49.4k
          }
2226
2.76k
          else {
2227
2.76k
            *s++ = '$';
2228
2.76k
            if (c)
2229
1.94k
              *s++ = c;
2230
2.76k
          }
2231
52.1k
          break;
2232
66.4k
        }
2233
66.4k
        if (!c)
2234
818
          break;
2235
66.4k
      }
2236
685k
      else
2237
685k
        *s++ = c;
2238
752k
    }
2239
7.73k
    *s = 0;
2240
7.73k
  }
2241
2.18M
  else
2242
2.18M
    mxPushSlot(replace);
2243
2.18M
}
2244
2245
#ifdef mxStringNormalize
2246
2247
typedef struct {
2248
  txSlot* slot;
2249
  txInteger* address;
2250
  txInteger count;
2251
  txInteger starterIndex;
2252
} txNormalizeBuffer;
2253
2254
typedef struct {
2255
  txU2 code;
2256
  txU1 count;
2257
  txU1 order;
2258
} txCombination;
2259
2260
35.3M
#define mxCombinationCount0 300
2261
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2262
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2263
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2264
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2265
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2266
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2267
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2268
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2269
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2270
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2271
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2272
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2273
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2274
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2275
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2276
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2277
  {0x0897,2,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2278
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2279
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2280
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2281
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2282
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2283
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2284
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2285
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2286
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2287
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2288
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,18,230},{0x1ADD,1,220},{0x1AE0,6,230},{0x1AE6,1,220},{0x1AE7,4,230},{0x1AEB,1,234},
2289
  {0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},{0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},
2290
  {0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},{0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},
2291
  {0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},{0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},
2292
  {0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},{0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},
2293
  {0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},{0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},
2294
  {0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},{0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},
2295
  {0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},{0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},
2296
  {0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},{0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},
2297
  {0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},{0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},
2298
  {0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},{0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},
2299
  {0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2300
};
2301
37.4k
#define mxCombinationCount1 103
2302
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2303
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2304
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0D69,5,230},{0x0EAB,2,230},{0x0EFA,2,220},{0x0EFD,3,220},
2305
  {0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},{0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},
2306
  {0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},{0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},
2307
  {0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},{0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},
2308
  {0x134D,1,9},{0x1366,7,230},{0x1370,5,230},{0x13CE,3,9},{0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},
2309
  {0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},{0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},
2310
  {0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},{0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},
2311
  {0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x1F41,2,9},{0x612F,1,9},{0x6AF0,5,1},{0x6B30,7,230},{0x6FF0,2,6},
2312
  {0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},{0xD185,5,230},{0xD18A,2,220},
2313
  {0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},{0xE026,5,230},{0xE08F,1,230},
2314
  {0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE4EC,2,232},{0xE4EE,1,220},{0xE4EF,1,230},{0xE5EE,1,230},{0xE5EF,1,220},
2315
  {0xE6E3,1,230},{0xE6E6,1,230},{0xE6EE,2,230},{0xE6F5,1,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2316
};
2317
#define mxCompositionSize0 1860
2318
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2319
  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,
2320
  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,
2321
  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,
2322
  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,
2323
  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,
2324
  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,
2325
  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,
2326
  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,
2327
  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,
2328
  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,
2329
  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,
2330
  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,
2331
  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,
2332
  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,
2333
  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,
2334
  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,
2335
  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,
2336
  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,
2337
  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,
2338
  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,
2339
  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,
2340
  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,
2341
  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,
2342
  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,
2343
  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,
2344
  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,
2345
  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,
2346
  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,
2347
  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,
2348
  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,
2349
  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,
2350
  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,
2351
  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,
2352
  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,
2353
  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,
2354
  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,
2355
  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,
2356
  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,
2357
  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,
2358
  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,
2359
  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,
2360
  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,
2361
  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,
2362
  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,
2363
  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,
2364
  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,
2365
  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,
2366
  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,
2367
  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,
2368
  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,
2369
  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,
2370
  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,
2371
  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,
2372
  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,
2373
  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,
2374
  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,
2375
  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,
2376
  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,
2377
  0x30D8,0x30DA,0x30DB,0x30DD,
2378
};
2379
32.6M
#define mxCompositionCount0 110
2380
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2381
  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,
2382
  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,
2383
  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,
2384
  0x0DCF,858,0x0DDF,859,0x102E,860,0x1B35,861,0x3099,872,0x309A,920,0xFFFF,930,
2385
};
2386
#define mxCompositionSize1 62
2387
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2388
  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,
2389
  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,
2390
};
2391
36.9k
#define mxCompositionCount1 38
2392
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2393
  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,
2394
  0x6129,27,0x6D67,28,0xFFFF,31,
2395
};
2396
#define mxDecompositionSize0 13559
2397
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2398
  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,
2399
  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,
2400
  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,
2401
  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,
2402
  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,
2403
  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,
2404
  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,
2405
  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,
2406
  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,
2407
  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,
2408
  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,
2409
  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,
2410
  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,
2411
  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,
2412
  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,
2413
  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,
2414
  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,
2415
  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,
2416
  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,
2417
  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,
2418
  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,
2419
  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,
2420
  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,
2421
  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,
2422
  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,
2423
  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,
2424
  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,
2425
  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,
2426
  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,
2427
  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,
2428
  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,
2429
  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,
2430
  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,
2431
  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,
2432
  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,
2433
  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,
2434
  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,
2435
  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,
2436
  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,
2437
  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,
2438
  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,
2439
  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,
2440
  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,
2441
  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,
2442
  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,
2443
  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,
2444
  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,
2445
  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,
2446
  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,
2447
  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,
2448
  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,
2449
  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,
2450
  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,
2451
  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,
2452
  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,
2453
  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,
2454
  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,
2455
  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,
2456
  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,
2457
  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,
2458
  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,
2459
  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,
2460
  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,
2461
  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,
2462
  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,
2463
  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,
2464
  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,
2465
  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,
2466
  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,
2467
  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,
2468
  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,
2469
  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,
2470
  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,
2471
  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,
2472
  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,
2473
  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,
2474
  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,
2475
  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,
2476
  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,
2477
  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,
2478
  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,
2479
  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,
2480
  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,
2481
  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,
2482
  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,
2483
  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,
2484
  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,
2485
  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,
2486
  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,
2487
  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,
2488
  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,
2489
  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,
2490
  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,
2491
  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,
2492
  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,
2493
  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,
2494
  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,
2495
  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,
2496
  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,
2497
  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,
2498
  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,
2499
  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,
2500
  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,
2501
  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,
2502
  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,
2503
  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,
2504
  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,
2505
  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,
2506
  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,
2507
  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,
2508
  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,
2509
  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,
2510
  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,
2511
  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,
2512
  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,
2513
  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,
2514
  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,
2515
  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,
2516
  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,
2517
  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,
2518
  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,
2519
  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,
2520
  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,
2521
  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,
2522
  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,
2523
  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,
2524
  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,
2525
  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,
2526
  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,
2527
  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,
2528
  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,
2529
  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,
2530
  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,
2531
  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,
2532
  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,
2533
  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,
2534
  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,
2535
  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,
2536
  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,
2537
  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,
2538
  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,
2539
  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,
2540
  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,
2541
  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,
2542
  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,
2543
  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,
2544
  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,
2545
  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,
2546
  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,
2547
  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,
2548
  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,
2549
  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,
2550
  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,
2551
  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,
2552
  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,
2553
  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,
2554
  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,
2555
  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,
2556
  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,
2557
  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,
2558
  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,
2559
  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,
2560
  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,
2561
  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,
2562
  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,
2563
  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,
2564
  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,
2565
  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,
2566
  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,
2567
  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,
2568
  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,
2569
  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,
2570
  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,
2571
  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,
2572
  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,
2573
  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,
2574
  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,
2575
  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,
2576
  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,
2577
  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,
2578
  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,
2579
  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,
2580
  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,
2581
  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,
2582
  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,
2583
  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,
2584
  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,
2585
  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,
2586
  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,
2587
  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,
2588
  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,
2589
  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,
2590
  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,
2591
  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,
2592
  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,
2593
  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,
2594
  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,
2595
  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,
2596
  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,
2597
  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,
2598
  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,
2599
  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,
2600
  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,
2601
  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,
2602
  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,
2603
  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,
2604
  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,
2605
  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,
2606
  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,
2607
  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,
2608
  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,
2609
  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,
2610
  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,
2611
  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,
2612
  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,
2613
  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,
2614
  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,
2615
  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,
2616
  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,
2617
  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,
2618
  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,
2619
  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,
2620
  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,
2621
  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,
2622
  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,
2623
  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,
2624
  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,
2625
  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,
2626
  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,
2627
  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,
2628
  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,
2629
  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,
2630
  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,
2631
  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,
2632
  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,
2633
  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,
2634
  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,
2635
  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,
2636
  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,
2637
  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,
2638
  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,
2639
  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,
2640
  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,
2641
  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,
2642
  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,
2643
  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,
2644
  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,
2645
  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,
2646
  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,
2647
  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,
2648
  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,
2649
  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,
2650
  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,
2651
  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,
2652
  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,
2653
  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,
2654
  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,
2655
  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,
2656
  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,
2657
  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,
2658
  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,
2659
  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,
2660
  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,
2661
  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,
2662
  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,
2663
  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,
2664
  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,
2665
  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,
2666
  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,
2667
  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,
2668
  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,
2669
  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,
2670
  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,
2671
  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,
2672
  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,
2673
  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,
2674
  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,
2675
  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,
2676
  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,
2677
  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,
2678
  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,
2679
  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,
2680
  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,
2681
  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,
2682
  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,
2683
  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,
2684
  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,
2685
  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,
2686
  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,
2687
  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,
2688
  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,
2689
  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,
2690
  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,
2691
  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,
2692
  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,
2693
  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,
2694
  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,
2695
  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,
2696
  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,
2697
  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,
2698
  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,
2699
  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,
2700
  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,
2701
  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,
2702
  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,
2703
  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,
2704
  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,
2705
  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,
2706
  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,
2707
  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,
2708
  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,
2709
  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,
2710
  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,
2711
  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,
2712
  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,
2713
  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,
2714
  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,
2715
  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,
2716
  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,
2717
  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,
2718
  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,
2719
  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,
2720
  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,
2721
  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,
2722
  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,
2723
  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,
2724
  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,
2725
  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,
2726
  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,
2727
  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,
2728
  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,
2729
  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,
2730
  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,
2731
  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,
2732
  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,
2733
  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,
2734
  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,
2735
  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,
2736
  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,
2737
  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,
2738
  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,
2739
  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,
2740
  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,
2741
  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,
2742
  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,
2743
  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,
2744
  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,
2745
  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,
2746
  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,
2747
  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,
2748
  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,
2749
  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,
2750
  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,
2751
  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,
2752
  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,
2753
  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,
2754
  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,
2755
  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,
2756
  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,
2757
  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,
2758
  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,
2759
  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,
2760
  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,
2761
  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,
2762
  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,
2763
  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,
2764
  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,
2765
  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,
2766
  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,
2767
  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,
2768
  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,
2769
  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,
2770
  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,
2771
  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,
2772
  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,
2773
  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,
2774
  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,
2775
  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,
2776
  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,
2777
  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,
2778
  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,
2779
  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,
2780
  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,
2781
  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,
2782
  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,
2783
  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,
2784
  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,
2785
  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,
2786
  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,
2787
  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,
2788
  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,
2789
  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,
2790
  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,
2791
  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,
2792
  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,
2793
  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,
2794
  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,
2795
  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,
2796
  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,
2797
  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,
2798
  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,
2799
  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,
2800
  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,
2801
  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,
2802
  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,
2803
  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,
2804
  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,
2805
  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,
2806
  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,
2807
  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,
2808
  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,
2809
  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,
2810
  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,
2811
  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,
2812
  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,
2813
  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,
2814
  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,
2815
  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,
2816
  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,
2817
  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,
2818
  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,
2819
  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,
2820
  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,
2821
  0x82,0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2822
};
2823
34.8M
#define mxDecompositionCount0 7780
2824
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2825
  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,
2826
  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,
2827
  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,
2828
  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,
2829
  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,
2830
  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,
2831
  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,
2832
  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,
2833
  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,
2834
  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,
2835
  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,
2836
  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,
2837
  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,
2838
  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,
2839
  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,
2840
  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,
2841
  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,
2842
  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,
2843
  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,
2844
  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,
2845
  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,
2846
  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,
2847
  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,
2848
  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,
2849
  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,
2850
  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,
2851
  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,
2852
  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,
2853
  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,
2854
  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,
2855
  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,
2856
  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,
2857
  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,
2858
  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,
2859
  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,
2860
  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,
2861
  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,
2862
  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,
2863
  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,
2864
  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,
2865
  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,
2866
  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,
2867
  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,
2868
  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,
2869
  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,
2870
  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,
2871
  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,
2872
  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,
2873
  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,
2874
  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,
2875
  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,
2876
  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,
2877
  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,
2878
  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,
2879
  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,
2880
  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,
2881
  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,
2882
  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,
2883
  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,
2884
  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,
2885
  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,
2886
  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,
2887
  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,
2888
  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,
2889
  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,
2890
  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,
2891
  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,
2892
  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,
2893
  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,
2894
  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,
2895
  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,
2896
  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,
2897
  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,
2898
  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,
2899
  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,
2900
  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,
2901
  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,
2902
  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,
2903
  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,
2904
  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,
2905
  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,
2906
  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,
2907
  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,
2908
  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,
2909
  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,
2910
  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,
2911
  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,
2912
  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,
2913
  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,
2914
  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,
2915
  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,
2916
  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,
2917
  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,
2918
  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,
2919
  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,
2920
  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,
2921
  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,
2922
  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,
2923
  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,
2924
  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,
2925
  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,
2926
  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,
2927
  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,
2928
  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,
2929
  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,
2930
  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,
2931
  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,
2932
  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,
2933
  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,
2934
  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,
2935
  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,
2936
  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,
2937
  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,
2938
  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,
2939
  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,
2940
  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,
2941
  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,
2942
  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,
2943
  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,
2944
  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,
2945
  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,
2946
  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,
2947
  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,
2948
  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,
2949
  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,
2950
  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,
2951
  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,
2952
  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,
2953
  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,
2954
  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,
2955
  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,
2956
  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,
2957
  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,
2958
  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,
2959
  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,
2960
  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,
2961
  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,
2962
  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,
2963
  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,
2964
  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,
2965
  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,
2966
  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,
2967
  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,
2968
  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,
2969
  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,
2970
  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,
2971
  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,
2972
  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,
2973
  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,
2974
  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,
2975
  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,
2976
  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,
2977
  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,
2978
  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,
2979
  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,
2980
  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,
2981
  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,
2982
  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,
2983
  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,
2984
  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,
2985
  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,
2986
  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,
2987
  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,
2988
  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,
2989
  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,
2990
  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,
2991
  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,
2992
  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,
2993
  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,
2994
  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,
2995
  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,
2996
  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,
2997
  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,
2998
  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,
2999
  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,
3000
  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,
3001
  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,
3002
  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,
3003
  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,
3004
  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,
3005
  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,
3006
  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,
3007
  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,
3008
  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,
3009
  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,
3010
  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,
3011
  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,
3012
  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,
3013
  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,
3014
  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,
3015
  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,
3016
  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,
3017
  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,
3018
  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,
3019
  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,
3020
  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,
3021
  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,
3022
  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,
3023
  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,
3024
  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,
3025
  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,
3026
  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,
3027
  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,
3028
  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,
3029
  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,
3030
  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,
3031
  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,
3032
  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,
3033
  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,
3034
  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,
3035
  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,
3036
  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,
3037
  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,
3038
  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,
3039
  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,
3040
  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,
3041
  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,
3042
  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,
3043
  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,
3044
  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,
3045
  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,
3046
  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,
3047
  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,
3048
  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,
3049
  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,
3050
  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,
3051
  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,
3052
  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,
3053
  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,
3054
  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,
3055
  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,
3056
  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,
3057
  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,
3058
  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,
3059
  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,
3060
  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,
3061
  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,
3062
  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,
3063
  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,
3064
  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,
3065
  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,
3066
  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,
3067
  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,
3068
  0xFFEE,0xB4F4,0xFFFF,0x34F7,
3069
};
3070
#define mxDecompositionSize1 2640
3071
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3072
  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,
3073
  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,
3074
  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,
3075
  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,
3076
  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,
3077
  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,
3078
  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,
3079
  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,
3080
  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,
3081
  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,
3082
  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,
3083
  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,
3084
  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,
3085
  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,
3086
  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,
3087
  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,
3088
  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,
3089
  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,
3090
  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,
3091
  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,
3092
  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,
3093
  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,
3094
  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,
3095
  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,
3096
  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,
3097
  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,
3098
  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,
3099
  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,
3100
  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,
3101
  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,
3102
  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,
3103
  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,
3104
  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,
3105
  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,
3106
  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,
3107
  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,
3108
  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,
3109
  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,
3110
  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,
3111
  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,
3112
  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,
3113
  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,
3114
  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,
3115
  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,
3116
  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,
3117
  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,
3118
  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,
3119
  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,
3120
  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,
3121
  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,
3122
  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,
3123
  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,
3124
  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,
3125
  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,
3126
  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,
3127
  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,
3128
  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,
3129
  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,
3130
  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,
3131
  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,
3132
  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,
3133
  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,
3134
  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,
3135
  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,
3136
  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,
3137
  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,
3138
  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,
3139
  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,
3140
  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,
3141
  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,
3142
  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,
3143
  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,
3144
  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,
3145
  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,
3146
  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,
3147
  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,
3148
  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,
3149
  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,
3150
  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,
3151
  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,
3152
  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,
3153
  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,
3154
  0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3155
};
3156
1.29k
#define mxDecompositionCount1 2968
3157
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3158
  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,
3159
  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,
3160
  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,
3161
  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,
3162
  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,
3163
  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,
3164
  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,
3165
  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,
3166
  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,
3167
  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,
3168
  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,
3169
  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,
3170
  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,
3171
  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,
3172
  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,
3173
  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,
3174
  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,
3175
  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,
3176
  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,
3177
  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,
3178
  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,
3179
  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,
3180
  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,
3181
  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,
3182
  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,
3183
  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,
3184
  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,
3185
  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,
3186
  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,
3187
  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,
3188
  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,
3189
  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,
3190
  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,
3191
  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,
3192
  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,
3193
  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,
3194
  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,
3195
  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,
3196
  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,
3197
  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,
3198
  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,
3199
  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,
3200
  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,
3201
  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,
3202
  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,
3203
  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,
3204
  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,
3205
  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,
3206
  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,
3207
  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,
3208
  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,
3209
  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,
3210
  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,
3211
  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,
3212
  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,
3213
  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,
3214
  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,
3215
  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,
3216
  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,
3217
  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,
3218
  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,
3219
  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,
3220
  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,
3221
  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,
3222
  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,
3223
  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,
3224
  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,
3225
  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,
3226
  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,
3227
  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,
3228
  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,
3229
  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,
3230
  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,
3231
  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,
3232
  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,
3233
  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,
3234
  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,
3235
  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,
3236
  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,
3237
  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,
3238
  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,
3239
  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,
3240
  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,
3241
  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,
3242
  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,
3243
  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,
3244
  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,
3245
  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,
3246
  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,
3247
  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,
3248
  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,
3249
  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,
3250
  0xF251,0x8A43,0xFBF0,0x8A46,0xFBF1,0x8A47,0xFBF2,0x8A48,0xFBF3,0x8A49,0xFBF4,0x8A4A,0xFBF5,0x8A4B,0xFBF6,0x8A4C,0xFBF7,0x8A4D,0xFBF8,0x8A4E,0xFBF9,0x8A4F,0xFFFF,0x0A50,
3251
};
3252
#define mxDecompositionSize2 1731
3253
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3254
  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,
3255
  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,
3256
  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,
3257
  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,
3258
  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,
3259
  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,
3260
  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,
3261
  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,
3262
  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,
3263
  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,
3264
  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,
3265
  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,
3266
  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,
3267
  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,
3268
  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,
3269
  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,
3270
  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,
3271
  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,
3272
  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,
3273
  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,
3274
  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,
3275
  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,
3276
  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,
3277
  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,
3278
  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,
3279
  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,
3280
  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,
3281
  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,
3282
  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,
3283
  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,
3284
  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,
3285
  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,
3286
  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,
3287
  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,
3288
  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,
3289
  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,
3290
  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,
3291
  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,
3292
  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,
3293
  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,
3294
  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,
3295
  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,
3296
  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,
3297
  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,
3298
  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,
3299
  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,
3300
  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,
3301
  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,
3302
  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,
3303
  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,
3304
  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,
3305
  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,
3306
  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,
3307
  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,
3308
  0xaa,0x98,0x80,
3309
};
3310
35.6k
#define mxDecompositionCount2 1086
3311
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3312
  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,
3313
  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,
3314
  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,
3315
  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,
3316
  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,
3317
  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,
3318
  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,
3319
  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,
3320
  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,
3321
  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,
3322
  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,
3323
  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,
3324
  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,
3325
  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,
3326
  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,
3327
  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,
3328
  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,
3329
  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,
3330
  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,
3331
  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,
3332
  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,
3333
  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,
3334
  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,
3335
  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,
3336
  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,
3337
  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,
3338
  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,
3339
  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,
3340
  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,
3341
  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,
3342
  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,
3343
  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,
3344
  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,
3345
  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,
3346
};
3347
#define mxDecompositionBufferCount 18
3348
3349
37.7M
#define mxSourceBufferCount 32
3350
3351
49.7M
#define mxHangulSBase 0xAC00
3352
14.6M
#define mxHangulSCount 11172
3353
9.25k
#define mxHangulLBase 0x1100
3354
2.29k
#define mxHangulLCount 19
3355
47.4M
#define mxHangulVBase 0x1161
3356
14.5M
#define mxHangulVCount 21
3357
47.4M
#define mxHangulTBase 0x11A7
3358
14.5M
#define mxHangulTCount 28
3359
6.87k
#define mxHangulNCount 588
3360
3361
static int fxCompareCombination(const void *p1, const void *p2);
3362
static int fxCompareComposition(const void *p1, const void *p2);
3363
static txInteger fxGetCombinationOrder(txInteger character);
3364
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3365
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3366
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3367
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3368
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3369
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3370
3371
int fxCompareCombination(const void *p1, const void *p2)
3372
302M
{
3373
302M
  txCombination* c1 = (txCombination*)p1;
3374
302M
  txCombination* c2 = (txCombination*)p2;
3375
302M
  if (c1->code + c1->count <= c2->code)
3376
180M
    return -1;
3377
121M
  if (c1->code >= c2->code + c2->count)
3378
121M
    return 1;
3379
84.9k
  return 0;
3380
121M
}
3381
3382
int fxCompareComposition(const void *p1, const void *p2)
3383
584M
{
3384
584M
  txU2 c1 = *((txU2*)p1);
3385
584M
  txU2 c2 = *((txU2*)p2);
3386
584M
  if (c1 < c2)
3387
347M
    return -1;
3388
237M
  if (c1 > c2)
3389
237M
    return 1;
3390
198k
  return 0;
3391
237M
}
3392
3393
txInteger fxGetCombinationOrder(txInteger character)
3394
35.3M
{
3395
35.3M
  txInteger count;
3396
35.3M
  txCombination *index, *it;
3397
35.3M
  txCombination combination;
3398
35.3M
  if (character < 0x10000) {
3399
35.3M
    count = mxCombinationCount0;
3400
35.3M
    index = (txCombination*)gxCombinationIndex0;
3401
35.3M
    combination.code = (txU2)character;
3402
35.3M
  }
3403
37.4k
  else {
3404
37.4k
    count = mxCombinationCount1;
3405
37.4k
    index = (txCombination*)gxCombinationIndex1;
3406
37.4k
    combination.code = (txU2)(character & 0xFFFF);
3407
37.4k
  }
3408
35.3M
  combination.count = 1;
3409
35.3M
  combination.order = 0;
3410
35.3M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3411
35.3M
  if (it)
3412
84.9k
    return it->order;
3413
35.2M
  return 0;
3414
35.3M
}
3415
3416
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3417
32.6M
{
3418
32.6M
  txInteger count;
3419
32.6M
  txU2 *index, *data, code, *it;
3420
32.6M
  if (character < 0x10000) {
3421
32.6M
    count = mxCompositionCount0;
3422
32.6M
    index = (txU2*)gxCompositionIndex0;
3423
32.6M
    data = (txU2*)gxCompositionData0;
3424
32.6M
    code = (txU2)character;
3425
32.6M
  }
3426
36.9k
  else {
3427
36.9k
    count = mxCompositionCount1;
3428
36.9k
    index =(txU2*)gxCompositionIndex1;
3429
36.9k
    data = (txU2*)gxCompositionData1;
3430
36.9k
    code = (txU2)(character & 0xFFFF);
3431
36.9k
  }
3432
32.6M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3433
32.6M
  if (it) {
3434
40.8k
    *pairs = data + (it[1] << 1);
3435
40.8k
    *pairCount = it[3] - it[1];
3436
40.8k
    return 1;
3437
40.8k
  }
3438
32.6M
  return 0;
3439
32.6M
}
3440
3441
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3442
40.6k
{
3443
40.6k
  txU2 code, *it;
3444
40.6k
  txInteger plane;
3445
40.6k
  if (character < 0x10000) {
3446
40.5k
    code = (txU2)character;
3447
40.5k
    plane = 0;
3448
40.5k
  }
3449
155
  else {
3450
155
    code = (txU2)(character & 0xFFFF);
3451
155
    plane = 0x10000;
3452
155
  }
3453
40.6k
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3454
40.6k
  if (it)
3455
38.0k
    return ((txInteger)it[1]) | plane;
3456
2.63k
  return 0;
3457
40.6k
}
3458
3459
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3460
34.8M
{
3461
34.8M
  txInteger count;
3462
34.8M
  txU2 *index, code, *it;
3463
34.8M
  txString data;
3464
34.8M
  if (character < 0x10000) {
3465
34.8M
    count = mxDecompositionCount0;
3466
34.8M
    index = (txU2*)gxDecompositionIndex0;
3467
34.8M
    data = (txString)gxDecompositionData0;
3468
34.8M
    code = (txU2)character;
3469
34.8M
  }
3470
36.9k
  else if (character < 0x20000) {
3471
1.29k
    count = mxDecompositionCount1;
3472
1.29k
    index = (txU2*)gxDecompositionIndex1;
3473
1.29k
    data = (txString)gxDecompositionData1;
3474
1.29k
    code = (txU2)(character & 0xFFFF);
3475
1.29k
  }
3476
35.6k
  else {
3477
35.6k
    count = mxDecompositionCount2;
3478
35.6k
    index = (txU2*)gxDecompositionIndex2;
3479
35.6k
    data = (txString)gxDecompositionData2;
3480
35.6k
    code = (txU2)(character & 0xFFFF);
3481
35.6k
  }
3482
34.8M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3483
34.8M
  if (it) {
3484
119k
    txInteger offset = it[1];
3485
119k
    txString p, q;
3486
119k
    txInteger* r;
3487
119k
    if (offset & 0x8000) {
3488
81.6k
      if (!compatible)
3489
81.3k
        return 0;
3490
283
      offset &= 0x7FFF;
3491
283
    }
3492
38.0k
    p = data + offset;
3493
38.0k
    q = p + ((it[3] & 0x7FFF) - offset);
3494
38.0k
    r = buffer;
3495
114k
    while (p < q)
3496
75.9k
      p = fxUTF8Decode(p, r++);
3497
38.0k
    return mxPtrDiff(r - buffer);
3498
119k
  }
3499
34.7M
  return 0;
3500
34.8M
}
3501
3502
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3503
34.8M
{
3504
34.8M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3505
34.8M
  if (buffer->count == resultLength >> 2) {
3506
1.71M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3507
1.71M
    buffer->address = fxToArrayBuffer(the, the->stack);
3508
1.71M
  }
3509
34.8M
  if (at < buffer->count)
3510
536
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3511
34.8M
  buffer->address[at] = code;
3512
34.8M
  buffer->count++;
3513
34.8M
}
3514
3515
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3516
792k
{
3517
792k
  txInteger fromIndex = 1;
3518
792k
  txInteger toIndex = 1;
3519
792k
  if (buffer->count < 2)
3520
1
    return;
3521
33.6M
  while (fromIndex < buffer->count) {
3522
32.9M
    txBoolean flag = 1;
3523
32.9M
    txInteger code = buffer->address[fromIndex];
3524
32.9M
    txU2* pairs;
3525
32.9M
    txInteger pairCount;
3526
32.9M
    txInteger pairFlag;
3527
32.9M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3528
2.38k
      pairFlag = 3;
3529
32.9M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3530
230k
      pairFlag = 2;
3531
32.6M
    else
3532
32.6M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3533
32.9M
    if (pairFlag) {
3534
273k
      txInteger order = fxGetCombinationOrder(code);
3535
273k
      txInteger starterIndex = toIndex - 1;
3536
274k
      while (starterIndex >= 0) {
3537
274k
        txInteger starterCode = buffer->address[starterIndex];
3538
274k
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3539
274k
        if (starterOrder == 0) {
3540
273k
          if (pairFlag == 3) {
3541
2.38k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3542
2.29k
              starterCode -= mxHangulLBase;
3543
2.29k
              code -= mxHangulVBase;
3544
2.29k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3545
2.29k
              flag = 0;
3546
2.29k
            }
3547
2.38k
          }
3548
271k
          else if (pairFlag == 2) {
3549
230k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3550
1.90k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3551
1.90k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3552
1.90k
              flag = 0;
3553
1.90k
            }
3554
230k
          }
3555
40.6k
          else {
3556
40.6k
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3557
40.6k
            if (starterCode) {
3558
38.0k
              buffer->address[starterIndex] = starterCode;
3559
38.0k
              flag = 0;
3560
38.0k
            }
3561
40.6k
          }
3562
273k
          break;
3563
273k
        }
3564
322
        if (starterOrder >= order)
3565
195
          break;
3566
127
        starterIndex--;
3567
127
      }
3568
273k
    }
3569
32.9M
    if (flag) {
3570
32.8M
      buffer->address[toIndex] = code;
3571
32.8M
      toIndex++;
3572
32.8M
    }
3573
32.9M
    fromIndex++;
3574
32.9M
  }
3575
792k
  buffer->count = toIndex;
3576
792k
}
3577
3578
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3579
1.55M
{
3580
1.55M
  txInteger i;
3581
36.3M
  for (i = 0; i < c; i++) {
3582
34.8M
    txInteger code = source[i];
3583
34.8M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3584
2.29k
      txInteger sIndex = code - mxHangulSBase;
3585
2.29k
      txInteger lIndex = sIndex / mxHangulNCount;
3586
2.29k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3587
2.29k
      txInteger tIndex = sIndex % mxHangulTCount;
3588
2.29k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3589
2.29k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3590
2.29k
      if (tIndex > 0)
3591
1.90k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3592
2.29k
      buffer->starterIndex = buffer->count;
3593
2.29k
    }
3594
34.8M
    else {
3595
34.8M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3596
34.8M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3597
34.8M
      if (decompositionCount == 0) {
3598
34.8M
        txInteger order = fxGetCombinationOrder(code);
3599
34.8M
        if (order == 0) {
3600
34.7M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3601
34.7M
          buffer->starterIndex = buffer->count;
3602
34.7M
        }
3603
41.6k
        else {
3604
41.6k
          txInteger bufferIndex = buffer->count - 1;
3605
41.6k
          txInteger starterIndex = buffer->starterIndex - 1;
3606
42.3k
          while (bufferIndex > starterIndex) {
3607
2.13k
            txInteger starterCode = buffer->address[bufferIndex];
3608
2.13k
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3609
2.13k
            if (starterOrder <= order) {
3610
1.40k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3611
1.40k
              break;
3612
1.40k
            }
3613
724
            bufferIndex--;
3614
724
          }
3615
41.6k
          if (bufferIndex == starterIndex)
3616
40.1k
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3617
41.6k
        }
3618
34.8M
      }
3619
38.0k
      else
3620
38.0k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3621
34.8M
    }
3622
34.8M
  }
3623
1.55M
}
3624
3625
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3626
859k
{
3627
859k
  txNormalizeBuffer _buffer;
3628
859k
  txNormalizeBuffer* buffer = &_buffer;
3629
859k
  txInteger source[mxSourceBufferCount];
3630
859k
  txString p;
3631
3632
859k
  mxPushUndefined();
3633
859k
  buffer->slot = the->stack;
3634
859k
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3635
859k
  buffer->count = 0;
3636
859k
  buffer->starterIndex = 0;
3637
3638
859k
  p = string->value.string;
3639
1.51M
  for (;;) {
3640
1.51M
    txInteger* sourceAddress = source;
3641
1.51M
    txInteger sourceIndex = 0;
3642
36.2M
    while (sourceIndex < mxSourceBufferCount) {
3643
35.6M
      p = mxStringByteDecode(p, sourceAddress);
3644
35.6M
      if (*sourceAddress == C_EOF)
3645
859k
        break;
3646
34.7M
      sourceAddress++;
3647
34.7M
      sourceIndex++;
3648
34.7M
    }
3649
1.51M
    if (sourceIndex) {
3650
1.51M
      txInteger offset = mxPtrDiff(p - string->value.string);
3651
1.51M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3652
1.51M
      p = string->value.string + offset;
3653
1.51M
    }
3654
1.51M
    if (sourceIndex < mxSourceBufferCount)
3655
859k
      break;
3656
1.51M
  }
3657
859k
  if (form & 2)
3658
792k
    fxNormalizeComposition(the, buffer);
3659
859k
  if (buffer->count) {
3660
859k
    txInteger resultIndex;
3661
859k
    txInteger stringLength = 0;
3662
35.6M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3663
34.7M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3664
859k
    stringLength++;
3665
859k
    p = string->value.string = fxNewChunk(the, stringLength);
3666
859k
    buffer->address = fxToArrayBuffer(the, the->stack);
3667
35.6M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3668
34.7M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3669
859k
    *p = 0;
3670
859k
  }
3671
  
3672
859k
  mxPop();
3673
859k
}
3674
3675
#endif