1
diff --git a/Makefile.am b/Makefile.am
2
index 1ac018a..b0b56ec 100644
5
@@ -6,11 +6,13 @@ EXTRA_DIST = \
13
pango-uninstalled.pc.in \
14
pangocairo-uninstalled.pc.in \
15
+ pangox-uninstalled.pc.in \
16
pangoxft-uninstalled.pc.in \
17
pangoft2-uninstalled.pc.in \
18
pangowin32-uninstalled.pc.in \
19
@@ -82,6 +84,10 @@ if HAVE_CAIRO
20
pkgconfig_DATA += pangocairo.pc
24
+pkgconfig_DATA += pangox.pc
28
pkgconfig_DATA += pangoxft.pc
30
diff --git a/configure.ac b/configure.ac
31
index bb37a60..aec4520 100644
34
@@ -228,6 +228,21 @@ have_harfbuzz=false
35
PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= 0.9.9, have_harfbuzz=true, AC_MSG_RESULT([no]))
36
AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
39
+if test "x$pango_os_win32" != xyes; then
42
+ if test x$no_x = xyes ; then
43
+ AC_MSG_WARN([X development libraries not found])
46
+ X_LIBS="$X_LIBS -lX11"
48
+ AC_DEFINE(HAVE_X, 1, [Have X libraries])
51
+AM_CONDITIONAL(HAVE_X, $have_x)
54
# Check for fontconfig
56
@@ -445,7 +460,7 @@ AM_CONDITIONAL(HAVE_CAIRO_QUARTZ, $have_cairo_quartz)
57
# a new Pango backend outside of Pango, you are up to sending the necessary
58
# patch to fix that rule. :-)
60
-if $have_freetype || `test "x$with_xft" = xyes && $have_xft` || $have_cairo || $have_win32 ; then : ; else
61
+if $have_freetype || $have_x || `test "x$with_xft" = xyes && $have_xft` || $have_cairo || $have_win32 ; then : ; else
62
AC_MSG_ERROR([*** Could not enable any backends.
63
*** Must have at least one backend to build Pango.])
65
@@ -481,7 +496,7 @@ GOBJECT_INTROSPECTION_CHECK([0.9.5])
68
arabic_modules="arabic-lang"
69
-basic_modules="basic-fc,basic-win32,basic-coretext"
70
+basic_modules="basic-fc,basic-win32,basic-x,basic-coretext"
71
indic_modules="indic-lang"
74
@@ -528,11 +543,13 @@ AC_MSG_RESULT([$dynamic_modules (those built into Pango will be excluded)])
75
AM_CONDITIONAL(HAVE_DYNAMIC_MODULES, test "x$dynamic_modules" != x)
80
INCLUDED_WIN32_MODULES=
81
INCLUDED_CORE_TEXT_MODULES=
82
INCLUDED_LANG_MODULES=
84
+AC_SUBST(INCLUDED_X_MODULES)
85
AC_SUBST(INCLUDED_FC_MODULES)
86
AC_SUBST(INCLUDED_WIN32_MODULES)
87
AC_SUBST(INCLUDED_CORE_TEXT_MODULES)
88
@@ -544,6 +561,7 @@ for module in $included_modules; do
89
included_path="\$(top_builddir)/modules/$dir/libpango-$module.la"
92
+ *-x) INCLUDED_X_MODULES="$INCLUDED_X_MODULES $included_path" ;;
93
*-fc) INCLUDED_FC_MODULES="$INCLUDED_FC_MODULES $included_path" ;;
94
*-win32) INCLUDED_WIN32_MODULES="$INCLUDED_WIN32_MODULES $included_path" ;;
95
*-coretext) INCLUDED_CORE_TEXT_MODULES="$INCLUDED_CORE_TEXT_MODULES $included_path" ;;
96
@@ -556,6 +574,7 @@ IFS="$pango_save_ifs"
97
AM_CONDITIONAL(INCLUDE_ARABIC_LANG, echo $included_modules | egrep '(^|,)arabic-lang($|,)' > /dev/null)
98
AM_CONDITIONAL(INCLUDE_BASIC_FC, echo $included_modules | egrep '(^|,)basic-fc($|,)' > /dev/null)
99
AM_CONDITIONAL(INCLUDE_BASIC_WIN32, echo $included_modules | egrep '(^|,)basic-win32($|,)' > /dev/null)
100
+AM_CONDITIONAL(INCLUDE_BASIC_X, echo $included_modules | egrep '(^|,)basic-x($|,)' > /dev/null)
101
AM_CONDITIONAL(INCLUDE_BASIC_CORE_TEXT, echo $included_modules | egrep '(^|,)basic-coretext($|,)' > /dev/null)
102
AM_CONDITIONAL(INCLUDE_INDIC_LANG, echo $included_modules | egrep '(^|,)indic-lang($|,)' > /dev/null)
103
AM_CONDITIONAL(INCLUDE_THAI_LANG, echo $included_modules | egrep '(^|,)thai-lang($|,)' > /dev/null)
104
@@ -563,6 +582,7 @@ AM_CONDITIONAL(INCLUDE_THAI_LANG, echo $included_modules | egrep '(^|,)thai-lang
105
AM_CONDITIONAL(DYNAMIC_ARABIC_LANG, echo $dynamic_modules | egrep '(^|,)arabic-lang($|,)' > /dev/null)
106
AM_CONDITIONAL(DYNAMIC_BASIC_FC, echo $dynamic_modules | egrep '(^|,)basic-fc($|,)' > /dev/null)
107
AM_CONDITIONAL(DYNAMIC_BASIC_WIN32, echo $dynamic_modules | egrep '(^|,)basic-win32($|,)' > /dev/null)
108
+AM_CONDITIONAL(DYNAMIC_BASIC_X, echo $dynamic_modules | egrep '(^|,)basic-x($|,)' > /dev/null)
109
AM_CONDITIONAL(DYNAMIC_BASIC_CORE_TEXT, echo $dynamic_modules | egrep '(^|,)basic-coretext($|,)' > /dev/null)
110
AM_CONDITIONAL(DYNAMIC_INDIC_LANG, echo $dynamic_modules | egrep '(^|,)indic-lang($|,)' > /dev/null)
111
AM_CONDITIONAL(DYNAMIC_THAI_LANG, echo $dynamic_modules | egrep '(^|,)thai-lang($|,)' > /dev/null)
112
@@ -755,6 +775,35 @@ IFS="$pango_save_ifs"
113
included_modules=$included_modules
116
+AC_CONFIG_COMMANDS([pango/module-defs-x.c],
119
+cat > pango/module-defs-x.c <<EOTEXT
120
+/* Autogenerated by configure. Do not edit */
122
+#include "module-defs.h"
124
+PangoIncludedModule _pango_included_x_modules@<:@@:>@ = {
127
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
128
+for module in $included_modules; do
129
+ if echo $module | egrep -- "-x($|,)" > /dev/null; then
130
+ module_c=`echo $module | sed s/-/_/`
131
+ cat >> pango/module-defs-x.c <<EOTEXT
132
+ { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_init, _pango_${module_c}_script_engine_exit, _pango_${module_c}_script_engine_create },
137
+IFS="$pango_save_ifs"
139
+cat >> pango/module-defs-x.c <<EOTEXT
140
+ { NULL, NULL, NULL, NULL },
145
AC_CONFIG_COMMANDS([pango/module-defs-fc.c],
148
@@ -919,6 +968,7 @@ pango/pango.rc
156
@@ -936,11 +986,13 @@ build/win32/Makefile
157
build/win32/vs9/Makefile
158
build/win32/vs10/Makefile
166
+pangox-uninstalled.pc
167
pangowin32-uninstalled.pc
168
pangoft2-uninstalled.pc
169
pangoxft-uninstalled.pc
170
@@ -956,6 +1008,7 @@ if $have_cairo ; then backends="$backends Cairo"; fi
171
if $have_win32 ; then backends="$backends Win32"; fi
172
if test "x$with_xft" = xyes && $have_xft ; then backends="$backends Xft"; fi
173
if $have_freetype && $have_fontconfig ; then backends="$backends FreeType"; fi
174
+if $have_x ; then backends="$backends X"; fi
178
diff --git a/modules/basic/Makefile.am b/modules/basic/Makefile.am
179
index 9726870..a1efe7c 100644
180
--- a/modules/basic/Makefile.am
181
+++ b/modules/basic/Makefile.am
183
include $(top_srcdir)/modules/Module.mk
186
+INCLUDES += $(X_CFLAGS)
188
+noinst_LTLIBRARIES += libpango-basic-x.la
191
+module_LTLIBRARIES += pango-basic-x.la
196
+pango_basic_x_la_LDFLAGS = -module $(MODULE_LIBTOOL_OPTIONS)
197
+pango_basic_x_la_LIBADD = $(pangoxlibs)
198
+pango_basic_x_la_SOURCES = basic-x.c
199
+libpango_basic_x_la_SOURCES = basic-x.c
200
+libpango_basic_x_la_CFLAGS = -DPANGO_MODULE_PREFIX=_pango_basic_x
204
INCLUDES += $(FREETYPE_CFLAGS) $(HARFBUZZ_CFLAGS)
206
@@ -52,4 +70,8 @@ pango_basic_coretext_la_SOURCES = basic-coretext.c
207
libpango_basic_coretext_la_SOURCES = basic-coretext.c
208
libpango_basic_coretext_la_CFLAGS = -DPANGO_MODULE_PREFIX=_pango_basic_coretext
214
-include $(top_srcdir)/git.mk
215
diff --git a/modules/basic/basic-x.c b/modules/basic/basic-x.c
217
index 0000000..ba4effc
219
+++ b/modules/basic/basic-x.c
224
+ * Copyright (C) 1999 Red Hat Software
226
+ * This library is free software; you can redistribute it and/or
227
+ * modify it under the terms of the GNU Library General Public
228
+ * License as published by the Free Software Foundation; either
229
+ * version 2 of the License, or (at your option) any later version.
231
+ * This library is distributed in the hope that it will be useful,
232
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
233
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
234
+ * Library General Public License for more details.
236
+ * You should have received a copy of the GNU Library General Public
237
+ * License along with this library; if not, write to the
238
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
239
+ * Boston, MA 02111-1307, USA.
245
+#include "pango-engine.h"
246
+#include "pango-utils.h"
248
+#undef PANGO_DISABLE_DEPRECATED
251
+/* No extra fields needed */
252
+typedef PangoEngineShape BasicEngineX;
253
+typedef PangoEngineShapeClass BasicEngineXClass ;
255
+typedef struct _CharRange CharRange;
256
+typedef struct _Charset Charset;
257
+typedef struct _CharsetOrdering CharsetOrdering;
258
+typedef struct _CharCache CharCache;
259
+typedef struct _CharCachePointer CharCachePointer;
260
+typedef struct _MaskTable MaskTable;
262
+typedef PangoGlyph (*ConvFunc) (CharCache *cache,
264
+ const gchar *input);
266
+#define MAX_CHARSETS 32
268
+#define SCRIPT_ENGINE_NAME "BasicScriptEngineX"
274
+ const char *x_charset;
275
+ ConvFunc conv_func;
278
+struct _CharsetOrdering
281
+ char charsets[MAX_CHARSETS];
295
+ PangoXSubfont *subfonts;
296
+ Charset **charsets;
302
+ CharsetOrdering *ordering;
303
+ MaskTable *mask_tables[256];
304
+ GIConv converters[MAX_CHARSETS];
305
+ PangoCoverage *coverage;
308
+struct _CharCachePointer
310
+ PangoLanguage *lang;
314
+static PangoGlyph conv_8bit (CharCache *cache,
316
+ const char *input);
317
+static PangoGlyph conv_eucjp (CharCache *cache,
319
+ const char *input);
320
+static PangoGlyph conv_16bit (CharCache *cache,
322
+ const char *input);
323
+static PangoGlyph conv_ucs4 (CharCache *cache,
325
+ const char *input);
326
+static PangoGlyph conv_16bit_MSB_on (CharCache *cache,
328
+ const char *input);
329
+static PangoGlyph conv_gb18030_1 (CharCache *cache,
331
+ const char *input);
332
+static PangoGlyph conv_euctw (CharCache *cache,
334
+ const char *input);
336
+#include "tables-big.i"
338
+static PangoEngineScriptInfo basic_scripts[] = {
339
+ { PANGO_SCRIPT_COMMON, "" },
342
+static PangoEngineInfo script_engines[] = {
344
+ SCRIPT_ENGINE_NAME,
345
+ PANGO_ENGINE_TYPE_SHAPE,
346
+ PANGO_RENDER_TYPE_X,
347
+ basic_scripts, G_N_ELEMENTS(basic_scripts)
352
+ * X window system script engine portion
355
+/* Structure of our cache:
357
+ * PangoFont => CharCachePointer ===\
359
+ * CharCachePointer ======> CharCache => CharsetOrdering
360
+ * | |======> MaskTable[0] => {subfonts,charset}[n_subfonts],
361
+ * | |======> MaskTable[1] => {subfonts,charset}[n_subfonts],
362
+ * | \======> MaskTable[...] => {subfonts,charset}[n_subfonts]
364
+ * CharCachePointer ======> CharCache => CharsetOrdering
365
+ * |======> MaskTable[0] => {subfonts,charset}[n_subfonts],
366
+ * |======> MaskTable[1] => {subfonts,charset}[n_subfonts],
367
+ * \======> MaskTable[...] => {subfonts,charset}[n_subfonts]
369
+ * A CharCache structure caches the lookup of what subfonts can be used for what characters for a pair of a Font
370
+ * and CharsetOrdering. Multiple language tags can share the same CharsetOrdering - the list of CharCachePointer
371
+ * structures that is attached to the font as object data provides lookups from language tag to charcache.
374
+char_cache_new (CharsetOrdering *ordering)
379
+ result = g_new0 (CharCache, 1);
381
+ result->ref_count = 1;
382
+ result->ordering = ordering;
383
+ for (i=0; i<MAX_CHARSETS; i++)
384
+ result->converters[i] = (GIConv)-1;
390
+char_cache_free (CharCache *cache)
394
+ for (i=0; i<256; i++)
395
+ if (cache->mask_tables[i])
397
+ g_free (cache->mask_tables[i]->subfonts);
398
+ g_free (cache->mask_tables[i]->charsets);
400
+ g_free (cache->mask_tables[i]);
403
+ for (i=0; i<MAX_CHARSETS; i++)
404
+ if (cache->converters[i] != (GIConv)-1)
405
+ g_iconv_close (cache->converters[i]);
411
+find_char (CharCache *cache, PangoFont *font, gunichar wc, const char *input)
414
+ MaskTable *mask_table;
421
+ case 0x2028: /* Line separator */
422
+ case 0x2029: /* Paragraph separator */
423
+ return PANGO_GET_UNKNOWN_GLYPH (wc);
427
+ if (wc >= G_N_ELEMENTS (char_masks))
430
+ mask_index = char_masks[wc];
432
+ if (cache->mask_tables[mask_index])
433
+ mask_table = cache->mask_tables[mask_index];
436
+ const char *charset_names[G_N_ELEMENTS(charsets)];
437
+ Charset *charsets_map[G_N_ELEMENTS(charsets)];
439
+ int n_charsets = 0;
440
+ int *subfont_charsets;
442
+ mask_table = g_new (MaskTable, 1);
444
+ mask = char_mask_map[mask_index] | ENC_ISO_10646;
446
+ /* Find the character sets that are included in this mask
449
+ for (i=0; i<(int)G_N_ELEMENTS(charsets); i++)
451
+ int charset_index = cache->ordering->charsets[i];
453
+ if (mask & (1 << charset_index))
455
+ charset_names[n_charsets] = charsets[charset_index].x_charset;
456
+ charsets_map[n_charsets] = &charsets[charset_index];
462
+ mask_table->n_subfonts = pango_x_list_subfonts (font, (char**)(void*)charset_names, n_charsets, &mask_table->subfonts, &subfont_charsets);
464
+ mask_table->charsets = g_new (Charset *, mask_table->n_subfonts);
465
+ for (i=0; i<mask_table->n_subfonts; i++)
466
+ mask_table->charsets[i] = charsets_map[subfont_charsets[i]];
468
+ g_free (subfont_charsets);
470
+ cache->mask_tables[mask_index] = mask_table;
473
+ for (i=0; i < mask_table->n_subfonts; i++)
479
+ charset = mask_table->charsets[i];
482
+ GIConv cd = cache->converters[charset->index];
484
+ if (charset->id && cd == (GIConv)-1)
486
+ cd = g_iconv_open (charset->id, "UTF-8");
487
+ if (cd == (GIConv)-1)
489
+ g_warning ("Could not load converter from %s to UTF-8", charset->id);
490
+ mask_table->charsets[i] = NULL;
494
+ cache->converters[charset->index] = cd;
497
+ index = (*charset->conv_func) (cache, cd, input);
498
+ glyph = PANGO_X_MAKE_GLYPH (mask_table->subfonts[i], index);
500
+ if (pango_x_has_glyph (font, glyph))
509
+set_glyph (PangoFont *font, PangoGlyphString *glyphs, int i, int offset, PangoGlyph glyph)
511
+ PangoRectangle logical_rect;
513
+ glyphs->glyphs[i].glyph = glyph;
515
+ glyphs->glyphs[i].geometry.x_offset = 0;
516
+ glyphs->glyphs[i].geometry.y_offset = 0;
518
+ glyphs->log_clusters[i] = offset;
520
+ pango_font_get_glyph_extents (font, glyphs->glyphs[i].glyph, NULL, &logical_rect);
521
+ glyphs->glyphs[i].geometry.width = logical_rect.width;
525
+conv_8bit (CharCache *cache G_GNUC_UNUSED,
531
+ const char *inptr = input;
532
+ size_t inbytesleft;
533
+ char *outptr = &outbuf;
534
+ size_t outbytesleft = 1;
536
+ inbytesleft = g_utf8_next_char (input) - input;
538
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
540
+ return (guchar)outbuf;
544
+conv_eucjp (CharCache *cache G_GNUC_UNUSED,
550
+ const char *inptr = input;
551
+ size_t inbytesleft;
552
+ char *outptr = outbuf;
553
+ size_t outbytesleft = 4;
555
+ inbytesleft = g_utf8_next_char (input) - input;
557
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
559
+ if ((guchar)outbuf[0] < 128)
561
+ else if ((guchar)outbuf[0] == 0x8e && outbytesleft == 2)
562
+ return ((guchar)outbuf[1]);
563
+ else if ((guchar)outbuf[0] == 0x8f && outbytesleft == 1)
564
+ return ((guchar)outbuf[1] & 0x7f) * 256 + ((guchar)outbuf[2] & 0x7f);
566
+ return ((guchar)outbuf[0] & 0x7f) * 256 + ((guchar)outbuf[1] & 0x7f);
570
+conv_16bit (CharCache *cache G_GNUC_UNUSED,
576
+ const char *inptr = input;
577
+ size_t inbytesleft;
578
+ char *outptr = outbuf;
579
+ size_t outbytesleft = 2;
581
+ inbytesleft = g_utf8_next_char (input) - input;
583
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
585
+ if ((guchar)outbuf[0] < 128)
588
+ return ((guchar)outbuf[0] & 0x7f) * 256 + ((guchar)outbuf[1] & 0x7f);
592
+conv_16bit_MSB_on (CharCache *cache G_GNUC_UNUSED,
598
+ const char *inptr = input;
599
+ size_t inbytesleft;
600
+ char *outptr = outbuf;
601
+ size_t outbytesleft = 2;
603
+ inbytesleft = g_utf8_next_char (input) - input;
605
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
607
+ if ((guchar)outbuf[0] < 128)
610
+ return (guchar)outbuf[0] * 256 + (guchar)outbuf[1];
614
+conv_gb18030_1 (CharCache *cache G_GNUC_UNUSED,
620
+ const char *inptr = input;
621
+ size_t inbytesleft;
622
+ char *outptr = outbuf;
623
+ size_t outbytesleft = 4;
626
+ inbytesleft = g_utf8_next_char (input) - input;
628
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
630
+ if ((guchar)outbuf[0] < 128)
633
+ return 12600 * ((guchar)outbuf[0] - 0x81) + 1260 * ((guchar)outbuf[1] - 0x30) + 10 * ((guchar)outbuf[2] - 0x81) + ((guchar)outbuf[3] - 0x30);
637
+conv_euctw (CharCache *cache G_GNUC_UNUSED,
643
+ const char *inptr = input;
644
+ size_t inbytesleft;
645
+ char *outptr = outbuf;
646
+ size_t outbytesleft = 4;
648
+ inbytesleft = g_utf8_next_char (input) - input;
650
+ g_iconv (cd, (char **)&inptr, &inbytesleft, &outptr, &outbytesleft);
652
+ /* The first two bytes determine which page of CNS to use; we
653
+ * get this information from tables-big.i, so ignore them
655
+ if ((guchar)outbuf[0] < 128)
658
+ return ((guchar)outbuf[2] & 0x7f) * 256 + ((guchar)outbuf[3] & 0x7f);
662
+conv_ucs4 (CharCache *cache G_GNUC_UNUSED,
663
+ GIConv cd G_GNUC_UNUSED,
666
+ return g_utf8_get_char (input);
670
+swap_range (PangoGlyphString *glyphs, int start, int end)
674
+ for (i = start, j = end - 1; i < j; i++, j--)
676
+ PangoGlyphInfo glyph_info;
679
+ glyph_info = glyphs->glyphs[i];
680
+ glyphs->glyphs[i] = glyphs->glyphs[j];
681
+ glyphs->glyphs[j] = glyph_info;
683
+ log_cluster = glyphs->log_clusters[i];
684
+ glyphs->log_clusters[i] = glyphs->log_clusters[j];
685
+ glyphs->log_clusters[j] = log_cluster;
690
+char_caches_free (GSList *caches)
692
+ GSList *tmp_list = caches;
695
+ CharCachePointer *pointer = tmp_list->data;
697
+ pointer->cache->ref_count--;
698
+ if (pointer->cache->ref_count == 0)
699
+ char_cache_free (pointer->cache);
702
+ tmp_list = tmp_list->next;
704
+ g_slist_free (caches);
707
+static CharsetOrdering *
708
+ordering_for_lang (PangoLanguage *lang)
712
+ for (i = 0; i < (int)G_N_ELEMENTS (charset_orderings) - 1; i++)
714
+ if (pango_language_matches (lang, charset_orderings[i].langs))
715
+ return &charset_orderings[i];
718
+ return &charset_orderings[i];
722
+get_char_cache (PangoFont *font,
723
+ PangoLanguage *lang)
725
+ GQuark cache_id = g_quark_from_string ("basic-char-cache");
726
+ CharCache *cache = NULL;
727
+ CharCachePointer *pointer;
728
+ CharsetOrdering *ordering;
732
+ caches = g_object_get_qdata (G_OBJECT (font), cache_id);
736
+ pointer = tmp_list->data;
737
+ if (pointer->lang == lang)
738
+ return pointer->cache;
740
+ tmp_list = tmp_list->next;
743
+ ordering = ordering_for_lang (lang);
748
+ pointer = tmp_list->data;
749
+ if (pointer->cache->ordering == ordering)
751
+ cache = pointer->cache;
755
+ tmp_list = tmp_list->next;
759
+ cache = char_cache_new (ordering);
761
+ cache->ref_count++;
763
+ pointer = g_new (CharCachePointer, 1);
764
+ pointer->lang = lang;
765
+ pointer->cache = cache;
767
+ caches = g_slist_prepend (caches, pointer);
769
+ g_object_steal_qdata (G_OBJECT (font), cache_id);
770
+ g_object_set_qdata_full (G_OBJECT (font), cache_id,
771
+ caches, (GDestroyNotify)char_caches_free);
777
+basic_engine_shape (PangoEngineShape *engine G_GNUC_UNUSED,
781
+ const PangoAnalysis *analysis,
782
+ PangoGlyphString *glyphs)
790
+ g_return_if_fail (font != NULL);
791
+ g_return_if_fail (text != NULL);
792
+ g_return_if_fail (length >= 0);
793
+ g_return_if_fail (analysis != NULL);
795
+ cache = get_char_cache (font, analysis->language);
797
+ n_chars = g_utf8_strlen (text, length);
798
+ pango_glyph_string_set_size (glyphs, n_chars);
801
+ for (i=0; i < n_chars; i++)
804
+ gunichar mirrored_ch;
809
+ wc = g_utf8_get_char (p);
812
+ if (analysis->level % 2)
813
+ if (pango_get_mirror_char (wc, &mirrored_ch))
817
+ g_unichar_to_utf8 (wc, buf);
821
+ if (wc == 0xa0) /* non-break-space */
825
+ g_unichar_to_utf8 (wc, buf);
829
+ if (pango_is_zero_width (wc))
831
+ set_glyph (font, glyphs, i, p - text, PANGO_GLYPH_EMPTY);
835
+ index = find_char (cache, font, wc, input);
838
+ set_glyph (font, glyphs, i, p - text, index);
840
+ if (g_unichar_type (wc) == G_UNICODE_NON_SPACING_MARK)
844
+ PangoRectangle logical_rect, ink_rect;
846
+ glyphs->glyphs[i].geometry.width = MAX (glyphs->glyphs[i-1].geometry.width,
847
+ glyphs->glyphs[i].geometry.width);
848
+ glyphs->glyphs[i-1].geometry.width = 0;
849
+ glyphs->log_clusters[i] = glyphs->log_clusters[i-1];
851
+ /* Some heuristics to try to guess how overstrike glyphs are
852
+ * done and compensate
854
+ pango_font_get_glyph_extents (font, glyphs->glyphs[i].glyph, &ink_rect, &logical_rect);
855
+ if (logical_rect.width == 0 && ink_rect.x == 0)
856
+ glyphs->glyphs[i].geometry.x_offset = (glyphs->glyphs[i].geometry.width - ink_rect.width) / 2;
861
+ set_glyph (font, glyphs, i, p - text, PANGO_GET_UNKNOWN_GLYPH (wc));
864
+ p = g_utf8_next_char (p);
867
+ /* Simple bidi support... may have separate modules later */
869
+ if (analysis->level % 2)
873
+ /* Swap all glyphs */
874
+ swap_range (glyphs, 0, n_chars);
876
+ /* Now reorder glyphs within each cluster back to LTR */
877
+ for (start=0; start<n_chars;)
880
+ while (end < n_chars &&
881
+ glyphs->log_clusters[end] == glyphs->log_clusters[start])
884
+ swap_range (glyphs, start, end);
890
+static PangoCoverageLevel
891
+basic_engine_covers (PangoEngineShape *engine G_GNUC_UNUSED,
893
+ PangoLanguage *lang,
896
+ CharCache *cache = get_char_cache (font, lang);
899
+ g_unichar_to_utf8 (wc, buf);
901
+ return find_char (cache, font, wc, buf) ? PANGO_COVERAGE_EXACT : PANGO_COVERAGE_NONE;
905
+basic_engine_x_class_init (PangoEngineShapeClass *class)
907
+ class->covers = basic_engine_covers;
908
+ class->script_shape = basic_engine_shape;
911
+PANGO_ENGINE_SHAPE_DEFINE_TYPE (BasicEngineX, basic_engine_x,
912
+ basic_engine_x_class_init, NULL)
915
+PANGO_MODULE_ENTRY(init) (GTypeModule *module)
917
+ basic_engine_x_register_type (module);
921
+PANGO_MODULE_ENTRY(exit) (void)
926
+PANGO_MODULE_ENTRY(list) (PangoEngineInfo **engines,
929
+ *engines = script_engines;
930
+ *n_engines = G_N_ELEMENTS (script_engines);
934
+PANGO_MODULE_ENTRY(create) (const char *id)
936
+ if (!strcmp (id, SCRIPT_ENGINE_NAME))
937
+ return g_object_new (basic_engine_x_type, NULL);
941
diff --git a/modules/basic/tables-big.i b/modules/basic/tables-big.i
943
index 0000000..7cca755
945
+++ b/modules/basic/tables-big.i
948
+ ENC_ISO_8859_1 = 1 << 0,
949
+ ENC_ISO_8859_2 = 1 << 1,
950
+ ENC_ISO_8859_3 = 1 << 2,
951
+ ENC_ISO_8859_4 = 1 << 3,
952
+ ENC_ISO_8859_5 = 1 << 4,
953
+ ENC_ISO_8859_6 = 1 << 5,
954
+ ENC_ISO_8859_7 = 1 << 6,
955
+ ENC_ISO_8859_8 = 1 << 7,
956
+ ENC_ISO_8859_9 = 1 << 8,
957
+ ENC_ISO_8859_10 = 1 << 9,
958
+ ENC_ISO_8859_13 = 1 << 10,
959
+ ENC_ISO_8859_14 = 1 << 11,
960
+ ENC_ISO_8859_15 = 1 << 12,
961
+ ENC_KOI8_R = 1 << 13,
962
+ ENC_TIS_620 = 1 << 14,
963
+ ENC_JIS_0208 = 1 << 15,
964
+ ENC_GB_2312 = 1 << 16,
965
+ ENC_KSC_5601 = 1 << 17,
966
+ ENC_JIS_0201 = 1 << 18,
967
+ ENC_JIS_0212 = 1 << 19,
968
+ ENC_BIG5_1 = 1 << 20,
969
+ ENC_BIG5 = 1 << 21,
970
+ ENC_GB18030_0 = 1 << 22,
971
+ ENC_GB18030_1 = 1 << 23,
972
+ ENC_HKSCS_1 = 1 << 24,
973
+ ENC_CNS11643_1 = 1 << 25,
974
+ ENC_CNS11643_2 = 1 << 26,
975
+ ENC_CNS11643_3 = 1 << 27,
977
+ ENC_ISO_10646 = 1 << 29
980
+static Charset charsets[] = {
981
+ { 0, NULL, "iso8859-1", conv_ucs4 },
982
+ { 1, "ISO-8859-2", "iso8859-2", conv_8bit },
983
+ { 2, "ISO-8859-3", "iso8859-3", conv_8bit },
984
+ { 3, "ISO-8859-4", "iso8859-4", conv_8bit },
985
+ { 4, "ISO-8859-5", "iso8859-5", conv_8bit },
986
+ { 5, "ISO-8859-6", "iso8859-6", conv_8bit },
987
+ { 6, "ISO-8859-7", "iso8859-7", conv_8bit },
988
+ { 7, "ISO-8859-8", "iso8859-8", conv_8bit },
989
+ { 8, "ISO-8859-9", "iso8859-9", conv_8bit },
990
+ { 9, "ISO-8859-10", "iso8859-10", conv_8bit },
991
+ { 10, "ISO-8859-13", "iso8859-13", conv_8bit },
992
+ { 11, "ISO-8859-14", "iso8859-14", conv_8bit },
993
+ { 12, "ISO-8859-15", "iso8859-15", conv_8bit },
994
+ { 13, "KOI8-R", "koi8-r", conv_8bit },
995
+ { 14, "TIS-620", "tis620.2529-1", conv_8bit },
996
+ { 15, "EUC-JP", "jisx0208.1983-0", conv_eucjp },
997
+ { 16, "GB2312", "gb2312.1980-0", conv_16bit },
998
+ { 17, "EUC-KR", "ksc5601.1987-0", conv_16bit },
999
+ { 18, "EUC-JP", "jisx0201.1976-0", conv_eucjp },
1000
+ { 19, "EUC-JP", "jisx0212.1990-0", conv_eucjp },
1001
+ { 20, "BIG5", "big5-1", conv_16bit_MSB_on },
1002
+ { 21, "BIG5", "big5-0", conv_16bit_MSB_on },
1003
+ { 22, "GB18030", "gb18030.2000-0", conv_16bit_MSB_on },
1004
+ { 23, "GB18030", "gb18030.2000-1", conv_gb18030_1 },
1005
+ { 24, "BIG5-HKSCS", "hkscs-1", conv_16bit_MSB_on },
1006
+ { 25, "EUC-TW", "cns11643-1", conv_16bit },
1007
+ { 26, "EUC-TW", "cns11643-2", conv_euctw },
1008
+ { 27, "EUC-TW", "cns11643-3", conv_euctw },
1009
+ { 28, "GBK", "gbk-0", conv_16bit_MSB_on },
1010
+ { 29, NULL, "iso10646-1", conv_ucs4 }
1013
+static CharsetOrdering charset_orderings[] = {
1014
+ { "ja", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 16, 17, 20, 21, 24, 25, 26, 27, 28, 22, 23, 29} },
1015
+ { "ko", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 22, 23, 29} },
1016
+ { "zh-cn", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 28, 22, 23, 16, 17, 15, 18, 19, 20, 21, 24, 25, 26, 27, 29} },
1017
+ { "zh-tw", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 21, 25, 26, 27, 24, 22, 23, 16, 17, 15, 18, 19, 28, 29} },
1018
+ { "zh-hk", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 24, 20, 21, 25, 26, 27, 22, 23, 16, 17, 15, 18, 19, 28, 29} },
1019
+ { "zh", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 28, 22, 23, 16, 17, 15, 18, 19, 20, 21, 24, 25, 26, 27, 29} },
1020
+ { NULL, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 29, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28} }
1022
+static const guint32 char_mask_map[] = {
1024
+ ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KOI8_R,
1025
+ ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0201|ENC_KOI8_R|ENC_TIS_620,
1026
+ ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KOI8_R|ENC_TIS_620,
1027
+ ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KOI8_R|ENC_TIS_620,
1028
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
1029
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KOI8_R,
1030
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_15|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1031
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208,
1032
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208,
1033
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_6|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1034
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_15|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0201,
1035
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212,
1036
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1037
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1038
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KOI8_R,
1039
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
1040
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208,
1041
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KSC_5601,
1042
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212,
1043
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_15|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212,
1044
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KOI8_R|ENC_KSC_5601,
1045
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1046
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KOI8_R|ENC_KSC_5601,
1047
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KSC_5601,
1048
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1049
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_8|ENC_ISO_8859_9,
1050
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1051
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KOI8_R|ENC_KSC_5601,
1052
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1053
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KSC_5601,
1054
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KSC_5601,
1055
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_KSC_5601,
1056
+ ENC_GB18030_1|ENC_HKSCS_1|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1057
+ ENC_GB18030_1|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1058
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1059
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1060
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1061
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1062
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1063
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1064
+ ENC_GB18030_1|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1065
+ ENC_GB18030_1|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1066
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1067
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_15|ENC_KSC_5601,
1068
+ ENC_GB18030_1|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1069
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KSC_5601,
1070
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1071
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_JIS_0212,
1072
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_15|ENC_JIS_0212|ENC_KSC_5601,
1073
+ ENC_GB18030_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1074
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1075
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1076
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212,
1077
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1078
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9|ENC_JIS_0208|ENC_KOI8_R|ENC_KSC_5601,
1079
+ ENC_GB18030_1|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_1|ENC_ISO_8859_13|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_4|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1080
+ ENC_ISO_8859_1|ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_ISO_8859_9|ENC_JIS_0212,
1081
+ ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_4|ENC_JIS_0212,
1082
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_4|ENC_JIS_0212,
1083
+ ENC_ISO_8859_2|ENC_JIS_0212,
1084
+ ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212,
1085
+ ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_JIS_0212,
1086
+ ENC_ISO_8859_3|ENC_JIS_0212,
1087
+ ENC_ISO_8859_14|ENC_ISO_8859_3|ENC_JIS_0212,
1088
+ ENC_ISO_8859_10|ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212,
1089
+ ENC_ISO_8859_10|ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1090
+ ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_4|ENC_JIS_0212,
1091
+ ENC_HKSCS_1|ENC_ISO_8859_2|ENC_JIS_0212,
1092
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_2|ENC_JIS_0212,
1093
+ ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1094
+ ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_4,
1095
+ ENC_ISO_8859_3|ENC_JIS_0212|ENC_KSC_5601,
1096
+ ENC_ISO_8859_10|ENC_ISO_8859_4|ENC_JIS_0212,
1097
+ ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212|ENC_KSC_5601,
1098
+ ENC_JIS_0212|ENC_KSC_5601,
1099
+ ENC_ISO_8859_10|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1100
+ ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_JIS_0212|ENC_KSC_5601,
1101
+ ENC_GB18030_0|ENC_GBK|ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_JIS_0212,
1102
+ ENC_GB18030_0|ENC_GBK|ENC_ISO_8859_2|ENC_JIS_0212,
1103
+ ENC_HKSCS_1|ENC_ISO_8859_10|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1104
+ ENC_ISO_8859_15|ENC_JIS_0212|ENC_KSC_5601,
1105
+ ENC_HKSCS_1|ENC_ISO_8859_15|ENC_JIS_0212|ENC_KSC_5601,
1106
+ ENC_ISO_8859_13|ENC_ISO_8859_4|ENC_JIS_0212,
1107
+ ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9|ENC_JIS_0212,
1108
+ ENC_ISO_8859_10|ENC_ISO_8859_13|ENC_ISO_8859_15|ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212,
1109
+ ENC_ISO_8859_14|ENC_JIS_0212,
1110
+ ENC_ISO_8859_14|ENC_ISO_8859_15|ENC_JIS_0212,
1111
+ ENC_ISO_8859_13|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_JIS_0212,
1112
+ ENC_HKSCS_1|ENC_JIS_0212,
1113
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212,
1115
+ ENC_GB18030_0|ENC_GBK,
1117
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1,
1118
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1119
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK,
1120
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK,
1122
+ ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_JIS_0212|ENC_KSC_5601,
1123
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1124
+ ENC_ISO_8859_2|ENC_ISO_8859_4|ENC_JIS_0212|ENC_KSC_5601,
1125
+ ENC_ISO_8859_2|ENC_JIS_0212|ENC_KSC_5601,
1126
+ ENC_ISO_8859_7|ENC_JIS_0212,
1127
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_7|ENC_JIS_0208|ENC_KSC_5601,
1128
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_5|ENC_JIS_0208|ENC_KOI8_R|ENC_KSC_5601,
1129
+ ENC_ISO_8859_5|ENC_JIS_0212,
1130
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_5|ENC_JIS_0208|ENC_KOI8_R|ENC_KSC_5601,
1132
+ ENC_GB18030_1|ENC_ISO_8859_6,
1136
+ ENC_GB18030_0|ENC_GBK|ENC_JIS_0208,
1137
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_10|ENC_ISO_8859_7|ENC_JIS_0208|ENC_KSC_5601,
1138
+ ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1139
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_13|ENC_ISO_8859_7|ENC_JIS_0208|ENC_KSC_5601,
1140
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_ISO_8859_13|ENC_JIS_0208|ENC_KSC_5601,
1142
+ ENC_JIS_0208|ENC_KSC_5601,
1143
+ ENC_BIG5_1|ENC_BIG5,
1144
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1145
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1146
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1147
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_JIS_0201,
1148
+ ENC_GB18030_0|ENC_GBK|ENC_ISO_8859_15,
1149
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_KSC_5601,
1150
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_ISO_8859_5|ENC_JIS_0212|ENC_KSC_5601,
1151
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1152
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1153
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK,
1154
+ ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1155
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1157
+ ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK,
1159
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KOI8_R|ENC_KSC_5601,
1160
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GBK,
1161
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1162
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_KSC_5601,
1163
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KOI8_R,
1164
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KOI8_R|ENC_KSC_5601,
1165
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208,
1167
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1168
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_KOI8_R,
1169
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_KOI8_R,
1170
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1,
1171
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_KOI8_R,
1172
+ ENC_KOI8_R|ENC_KSC_5601,
1173
+ ENC_GB18030_0|ENC_GBK|ENC_KOI8_R,
1174
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1,
1175
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1176
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1177
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1178
+ ENC_BIG5_1|ENC_BIG5|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1179
+ ENC_CNS11643_1|ENC_GB_2312|ENC_JIS_0208,
1180
+ ENC_CNS11643_3|ENC_GB18030_1,
1181
+ ENC_GB18030_1|ENC_HKSCS_1,
1182
+ ENC_CNS11643_3|ENC_GB18030_1|ENC_HKSCS_1,
1183
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1,
1184
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK,
1185
+ ENC_GB18030_0|ENC_GBK|ENC_JIS_0212,
1186
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212,
1187
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212,
1188
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1189
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212,
1190
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1191
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK,
1192
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1193
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1,
1194
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212,
1195
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1196
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK,
1197
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212,
1198
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1199
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212,
1200
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212,
1201
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208,
1202
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1,
1203
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1204
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208,
1205
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212,
1206
+ ENC_GB18030_0|ENC_GBK|ENC_KSC_5601,
1207
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1208
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK,
1209
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1210
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208,
1211
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1212
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212,
1213
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1214
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1215
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1216
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212|ENC_KSC_5601,
1217
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GBK|ENC_KSC_5601,
1218
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_KSC_5601,
1219
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1220
+ ENC_GB18030_0|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1221
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1222
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1223
+ ENC_GB18030_0|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1224
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212|ENC_KSC_5601,
1225
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1226
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1227
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GBK|ENC_JIS_0212|ENC_KSC_5601,
1228
+ ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1229
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0212,
1230
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1231
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208,
1232
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0212|ENC_KSC_5601,
1233
+ ENC_CNS11643_3|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1234
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_2|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1235
+ ENC_BIG5_1|ENC_BIG5|ENC_CNS11643_1|ENC_GB18030_0|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1236
+ ENC_CNS11643_1|ENC_GB18030_1,
1237
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_KSC_5601,
1238
+ ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_HKSCS_1|ENC_JIS_0208|ENC_KSC_5601,
1240
+ ENC_BIG5_1|ENC_BIG5|ENC_JIS_0201,
1241
+ ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_KSC_5601,
1242
+ ENC_CNS11643_1|ENC_GB18030_0|ENC_GB_2312|ENC_GBK|ENC_JIS_0208|ENC_KSC_5601,
1243
+ ENC_BIG5|ENC_BIG5|ENC_BIG5|ENC_BIG5|ENC_BIG5|ENC_BIG5|ENC_BIG5,
1246
+static const guchar char_masks[] = {
1247
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1248
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1249
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1250
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1251
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1252
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
1253
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1254
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1,
1255
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1256
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1257
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 16, 17, 18, 19, 20,
1258
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 7, 16, 31, 32, 31, 7,
1259
+ 33, 34, 35, 36, 37, 38, 39, 40, 33, 41, 33, 35, 42, 35, 35, 43,
1260
+ 44, 42, 33, 45, 35, 38, 37, 46, 39, 42, 35, 47, 37, 48, 49, 50,
1261
+ 51, 52, 35, 36, 37, 38, 39, 40, 51, 53, 51, 35, 51, 52, 35, 43,
1262
+ 49, 42, 51, 54, 35, 38, 37, 55, 56, 51, 52, 47, 53, 48, 49, 57,
1263
+ 58, 59, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 61, 61, 60, 60,
1264
+ 65, 66, 58, 59, 0, 0, 67, 67, 61, 61, 68, 69, 63, 63, 70, 70,
1265
+ 64, 64, 67, 71, 63, 63, 72, 72, 73, 73, 67, 59, 0, 0, 67, 67,
1266
+ 70, 74, 75, 75, 63, 63, 67, 67, 76, 60, 60, 67, 67, 60, 60, 75,
1267
+ 75, 77, 77, 62, 78, 67, 67, 60, 79, 75, 76, 80, 58, 59, 0, 0,
1268
+ 60, 60, 81, 82, 60, 60, 83, 83, 60, 60, 62, 62, 63, 63, 84, 84,
1269
+ 85, 85, 60, 60, 60, 60, 76, 76, 73, 73, 67, 59, 63, 63, 60, 60,
1270
+ 60, 60, 67, 67, 86, 86, 86, 86, 87, 62, 62, 88, 88, 85, 85, 0,
1271
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1272
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1273
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1274
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1275
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 90, 91,
1276
+ 90, 89, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 0, 0, 0,
1277
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1278
+ 0, 0, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0,
1279
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1282
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1284
+ 93, 94, 0, 0, 93, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
1285
+ 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
1286
+ 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287
+ 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
1288
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1289
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1291
+ 0, 0, 0, 0, 0, 0, 93, 95, 0, 96, 97, 97, 0, 0, 0, 0,
1292
+ 98, 0, 0, 0, 0, 0, 0, 0, 99, 100, 75, 101, 0, 102, 0, 0,
1293
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1294
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1295
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1297
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1298
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1299
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1300
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303
+ 0, 0, 0, 0, 103, 103, 103, 0, 103, 103, 103, 0, 103, 0, 103, 103,
1304
+ 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1305
+ 104, 104, 0, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103,
1306
+ 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1307
+ 104, 104, 103, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 0,
1308
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1309
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1311
+ 0, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 106, 106,
1312
+ 107, 107, 107, 107, 105, 105, 105, 105, 105, 105, 105, 105, 105, 107, 107, 107,
1313
+ 107, 107, 107, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1314
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1315
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1316
+ 0, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 106, 106,
1317
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1319
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1320
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1322
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1323
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1324
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1325
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1326
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1327
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1328
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1330
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1331
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1333
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1334
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1337
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1338
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1339
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1341
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, 0, 0, 0, 0,
1342
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 110, 110,
1344
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 110, 110, 110, 109,
1345
+ 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1346
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110,
1347
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1348
+ 109, 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1349
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1350
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1351
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1352
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1353
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1354
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1355
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1356
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1357
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1358
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0,
1359
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1360
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1361
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1364
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1365
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1367
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1368
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1369
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1371
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1373
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1375
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1376
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1378
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1381
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1382
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1384
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1387
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1390
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1391
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1392
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1395
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1398
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1399
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1401
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1402
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1403
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1411
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1412
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1413
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1417
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1418
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1419
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1429
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1433
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1448
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471
+ 0, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1472
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1473
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1474
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 111,
1475
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1476
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0,
1477
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1488
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1489
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1490
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1491
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1492
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1493
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1494
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1495
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1496
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1497
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1498
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1499
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1500
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1514
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1515
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1537
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1539
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1544
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1548
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1550
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1552
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1553
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1554
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1556
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1557
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1562
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1580
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1585
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1586
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1591
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1592
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1594
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1595
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1596
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1599
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1600
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1601
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1604
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1605
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1607
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1608
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1609
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1613
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1614
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1615
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1617
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1618
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1632
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1633
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1634
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1635
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1636
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1637
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1638
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1639
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1640
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1641
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0,
1642
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1644
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1647
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1655
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1683
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1690
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1694
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727
+ 0, 0, 112, 112, 0, 0, 0, 0, 0, 0, 112, 112, 0, 0, 0, 0,
1728
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112,
1729
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731
+ 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732
+ 0, 0, 0, 0, 0, 0, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0,
1733
+ 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 0, 0, 0, 0,
1734
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735
+ 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
1739
+ 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742
+ 0, 0, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 108,
1760
+ 113, 0, 0, 97, 97, 114, 115, 108, 104, 116, 0, 0, 117, 117, 118, 0,
1761
+ 119, 119, 120, 0, 0, 121, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762
+ 123, 0, 122, 123, 0, 97, 0, 0, 0, 0, 0, 122, 0, 0, 124, 0,
1763
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
1767
+ 0, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0,
1770
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775
+ 0, 0, 0, 122, 0, 97, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0,
1776
+ 0, 0, 0, 98, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777
+ 0, 128, 75, 0, 0, 0, 98, 0, 0, 0, 0, 119, 0, 0, 0, 0,
1778
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780
+ 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98, 0,
1781
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, 0, 0, 0, 0,
1782
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 0, 0, 0, 0,
1783
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784
+ 122, 122, 122, 122, 98, 98, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0,
1785
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 0, 0, 0, 0, 0, 0,
1787
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788
+ 0, 0, 119, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
1790
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791
+ 119, 0, 119, 119, 0, 0, 0, 119, 123, 0, 0, 119, 0, 0, 0, 132,
1792
+ 0, 132, 133, 0, 0, 134, 0, 0, 0, 135, 136, 0, 0, 123, 122, 97,
1793
+ 122, 0, 0, 137, 0, 138, 0, 123, 123, 122, 122, 122, 119, 0, 129, 0,
1794
+ 0, 0, 0, 0, 122, 122, 130, 130, 0, 0, 0, 0, 139, 123, 0, 0,
1795
+ 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 130, 0, 0, 0,
1796
+ 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797
+ 122, 122, 0, 0, 141, 141, 142, 142, 0, 0, 119, 119, 0, 0, 130, 130,
1798
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799
+ 0, 0, 119, 119, 0, 0, 119, 119, 0, 0, 0, 0, 0, 0, 0, 0,
1800
+ 0, 0, 0, 0, 0, 92, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0,
1801
+ 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
1803
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808
+ 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809
+ 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1824
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1825
+ 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 98, 98, 98, 98, 98, 0,
1830
+ 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 132, 132,
1831
+ 132, 132, 132, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
1832
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 98, 98, 98, 98,
1833
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1834
+ 98, 98, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1837
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0,
1838
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839
+ 136, 123, 136, 123, 130, 130, 130, 130, 130, 130, 130, 130, 136, 132, 132, 123,
1840
+ 136, 132, 132, 123, 136, 132, 132, 123, 136, 132, 132, 123, 136, 123, 132, 132,
1841
+ 123, 132, 132, 123, 136, 123, 132, 132, 123, 132, 132, 123, 136, 132, 132, 123,
1842
+ 123, 132, 132, 123, 136, 132, 132, 123, 123, 132, 132, 123, 136, 132, 132, 123,
1843
+ 132, 132, 123, 132, 132, 132, 132, 132, 132, 132, 132, 123, 0, 0, 0, 0,
1844
+ 145, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 145, 146,
1845
+ 146, 145, 146, 146, 146, 146, 146, 146, 146, 146, 145, 146, 146, 147, 147, 147,
1846
+ 147, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847
+ 135, 97, 97, 97, 148, 97, 97, 97, 148, 97, 97, 97, 148, 97, 97, 97,
1848
+ 135, 135, 149, 150, 97, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849
+ 136, 122, 0, 98, 98, 98, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0,
1850
+ 0, 0, 122, 122, 0, 0, 98, 98, 0, 0, 0, 0, 121, 121, 0, 0,
1851
+ 98, 98, 0, 0, 0, 0, 122, 122, 98, 0, 0, 122, 0, 0, 122, 122,
1852
+ 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853
+ 0, 0, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133,
1854
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855
+ 0, 0, 0, 0, 0, 122, 122, 0, 0, 97, 0, 0, 0, 0, 98, 98,
1856
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0,
1857
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859
+ 122, 151, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861
+ 98, 98, 0, 98, 98, 98, 0, 98, 98, 98, 119, 0, 98, 119, 0, 133,
1862
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
1875
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991
+ 93, 92, 0, 0, 94, 0, 93, 93, 94, 0, 93, 92, 94, 93, 0, 0,
1992
+ 0, 0, 0, 0, 0, 93, 0, 92, 0, 0, 0, 0, 93, 93, 0, 0,
1993
+ 0, 0, 0, 0, 0, 93, 0, 94, 0, 0, 94, 0, 93, 0, 94, 0,
1994
+ 0, 0, 0, 92, 0, 0, 94, 92, 0, 0, 0, 92, 93, 0, 93, 0,
1995
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 94, 0, 93, 93, 0, 93,
1996
+ 0, 0, 0, 0, 0, 0, 93, 93, 0, 0, 0, 0, 0, 0, 93, 0,
1997
+ 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002
+ 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0,
2015
+ 122, 122, 122, 122, 0, 152, 153, 153, 122, 122, 122, 122, 122, 122, 122, 122,
2016
+ 122, 122, 142, 123, 122, 122, 130, 130, 0, 0, 0, 0, 133, 97, 97, 0,
2017
+ 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0,
2018
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0,
2019
+ 0, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2020
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2021
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2022
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2023
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2024
+ 154, 154, 154, 154, 0, 0, 0, 0, 0, 0, 0, 153, 153, 155, 155, 0,
2025
+ 0, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2026
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2027
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2028
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2029
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2030
+ 154, 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 156, 153, 153, 155, 0,
2031
+ 0, 0, 0, 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
2032
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
2033
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0,
2034
+ 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2035
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2036
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2037
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2038
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2039
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0,
2040
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2042
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2048
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0, 0, 0,
2049
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0,
2050
+ 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2054
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0, 0, 0, 98,
2055
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2057
+ 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071
+ 98, 98, 98, 98, 98, 0, 0, 0, 98, 98, 98, 98, 98, 98, 126, 126,
2072
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 126, 126, 126, 98,
2073
+ 98, 126, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2074
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2075
+ 98, 98, 98, 98, 126, 98, 98, 98, 98, 98, 98, 0, 0, 0, 97, 98,
2076
+ 98, 97, 97, 98, 0, 97, 98, 0, 98, 0, 0, 98, 98, 98, 0, 0,
2077
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2080
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2081
+ 110, 157, 110, 110, 157, 110, 110, 110, 157, 157, 110, 157, 110, 110, 157, 110,
2082
+ 110, 157, 157, 157, 157, 158, 110, 110, 110, 157, 110, 157, 157, 110, 110, 110,
2083
+ 158, 110, 157, 157, 157, 110, 110, 92, 110, 157, 110, 110, 158, 157, 110, 110,
2084
+ 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 157, 110, 110,
2085
+ 110, 110, 110, 110, 159, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157,
2086
+ 157, 110, 110, 94, 157, 110, 110, 110, 110, 110, 159, 157, 157, 159, 158, 110,
2087
+ 110, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 157, 157, 157, 110, 110,
2088
+ 110, 110, 157, 159, 110, 157, 159, 157, 110, 157, 110, 110, 110, 157, 157, 110,
2089
+ 110, 110, 110, 110, 110, 159, 157, 110, 110, 110, 157, 110, 110, 110, 110, 159,
2090
+ 157, 110, 157, 157, 110, 110, 110, 157, 157, 110, 157, 110, 158, 110, 110, 110,
2091
+ 110, 158, 157, 157, 110, 157, 110, 157, 159, 110, 157, 157, 157, 110, 110, 157,
2092
+ 157, 157, 110, 110, 157, 157, 110, 157, 110, 110, 110, 110, 157, 110, 110, 158,
2093
+ 110, 110, 110, 110, 158, 110, 110, 157, 157, 157, 110, 110, 110, 110, 157, 157,
2094
+ 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 159, 110, 157, 110, 110,
2095
+ 110, 110, 110, 157, 157, 110, 158, 157, 110, 110, 110, 110, 110, 110, 110, 110,
2096
+ 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 157, 110,
2097
+ 110, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110,
2098
+ 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 110, 157, 110, 157, 158, 110,
2099
+ 110, 110, 157, 110, 157, 157, 157, 157, 157, 110, 157, 157, 110, 157, 110, 110,
2100
+ 110, 159, 110, 158, 157, 157, 157, 110, 157, 110, 110, 157, 157, 110, 110, 110,
2101
+ 157, 159, 110, 110, 157, 157, 157, 157, 110, 157, 110, 157, 157, 158, 110, 157,
2102
+ 158, 157, 159, 157, 110, 110, 157, 159, 159, 110, 157, 110, 110, 110, 110, 110,
2103
+ 157, 157, 157, 157, 159, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110,
2104
+ 157, 110, 157, 157, 110, 110, 110, 159, 158, 110, 110, 110, 110, 110, 92, 157,
2105
+ 157, 158, 110, 157, 157, 158, 157, 110, 110, 110, 110, 110, 110, 158, 110, 110,
2106
+ 110, 110, 110, 110, 157, 110, 110, 157, 110, 157, 157, 110, 110, 157, 157, 159,
2107
+ 110, 159, 110, 157, 110, 158, 110, 159, 110, 110, 158, 157, 110, 157, 158, 110,
2108
+ 157, 110, 158, 110, 110, 110, 159, 110, 110, 110, 157, 159, 110, 158, 110, 110,
2109
+ 110, 110, 110, 157, 157, 157, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110,
2110
+ 110, 158, 158, 159, 110, 157, 110, 110, 110, 110, 110, 158, 110, 157, 158, 110,
2111
+ 110, 157, 157, 110, 110, 110, 110, 157, 110, 158, 110, 110, 157, 110, 92, 110,
2112
+ 110, 110, 110, 110, 157, 157, 110, 110, 158, 157, 160, 110, 110, 157, 157, 157,
2113
+ 110, 157, 157, 159, 110, 110, 157, 157, 110, 157, 157, 110, 157, 159, 110, 157,
2114
+ 157, 157, 110, 157, 157, 158, 157, 110, 157, 159, 157, 157, 110, 110, 158, 157,
2115
+ 110, 110, 157, 157, 157, 157, 110, 159, 159, 159, 157, 110, 110, 110, 158, 157,
2116
+ 110, 157, 110, 157, 110, 157, 110, 110, 110, 110, 110, 157, 157, 110, 110, 158,
2117
+ 110, 110, 110, 157, 110, 157, 110, 110, 157, 157, 110, 157, 157, 110, 110, 110,
2118
+ 157, 110, 157, 157, 157, 157, 157, 110, 157, 157, 158, 110, 157, 110, 110, 110,
2119
+ 110, 159, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110, 157, 110, 157, 157,
2120
+ 157, 110, 110, 157, 110, 110, 110, 110, 110, 110, 159, 110, 110, 110, 157, 157,
2121
+ 110, 157, 157, 157, 157, 158, 110, 110, 157, 157, 159, 157, 159, 157, 157, 110,
2122
+ 159, 159, 110, 157, 157, 159, 157, 157, 157, 158, 157, 157, 159, 157, 110, 157,
2123
+ 110, 159, 110, 158, 159, 159, 110, 158, 158, 110, 110, 110, 110, 157, 157, 157,
2124
+ 157, 157, 110, 159, 159, 157, 159, 110, 110, 157, 110, 157, 157, 159, 157, 110,
2125
+ 110, 158, 158, 110, 110, 158, 159, 157, 157, 157, 110, 157, 157, 157, 157, 157,
2126
+ 157, 157, 157, 157, 157, 159, 110, 157, 110, 110, 157, 157, 110, 157, 157, 110,
2127
+ 110, 158, 157, 159, 157, 110, 157, 110, 159, 157, 159, 157, 110, 159, 110, 157,
2128
+ 157, 157, 157, 157, 110, 157, 110, 110, 110, 110, 157, 157, 159, 110, 110, 110,
2129
+ 157, 157, 158, 158, 110, 159, 157, 110, 157, 157, 157, 110, 158, 158, 110, 110,
2130
+ 159, 157, 158, 158, 157, 157, 157, 110, 157, 110, 158, 157, 157, 157, 110, 110,
2131
+ 159, 110, 110, 159, 157, 110, 110, 110, 157, 110, 157, 110, 157, 110, 157, 110,
2132
+ 157, 110, 157, 110, 157, 157, 157, 110, 110, 110, 110, 157, 157, 157, 110, 110,
2133
+ 157, 110, 159, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 158,
2134
+ 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110,
2135
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110,
2136
+ 157, 157, 110, 110, 157, 157, 157, 158, 110, 157, 110, 110, 110, 110, 110, 110,
2137
+ 158, 157, 157, 110, 157, 157, 157, 157, 157, 110, 110, 110, 110, 157, 110, 157,
2138
+ 110, 110, 157, 110, 110, 157, 157, 110, 110, 159, 110, 110, 110, 110, 159, 110,
2139
+ 157, 157, 110, 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 110,
2140
+ 110, 157, 110, 110, 157, 110, 110, 157, 157, 110, 157, 110, 110, 157, 110, 110,
2141
+ 157, 110, 110, 110, 110, 157, 157, 157, 157, 110, 110, 157, 110, 157, 110, 157,
2142
+ 110, 110, 158, 110, 110, 110, 157, 110, 158, 110, 110, 158, 110, 110, 157, 110,
2143
+ 157, 157, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 159,
2144
+ 110, 110, 110, 110, 110, 110, 157, 110, 157, 159, 110, 110, 157, 110, 110, 110,
2145
+ 158, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 159, 110, 157,
2146
+ 110, 110, 157, 110, 110, 110, 159, 110, 158, 157, 110, 157, 110, 110, 110, 110,
2147
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2148
+ 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2149
+ 157, 110, 157, 158, 110, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 157,
2150
+ 157, 157, 157, 110, 110, 110, 110, 110, 110, 157, 110, 157, 110, 157, 157, 110,
2151
+ 110, 110, 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 157, 110, 110, 110,
2152
+ 157, 110, 110, 157, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110,
2153
+ 159, 157, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110, 157, 110,
2154
+ 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 157, 110,
2155
+ 110, 110, 110, 158, 110, 110, 157, 110, 110, 110, 110, 157, 158, 157, 157, 157,
2156
+ 157, 158, 110, 157, 157, 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 157,
2157
+ 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 157, 110, 110, 110,
2158
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 158, 157, 157, 110, 110, 110,
2159
+ 110, 157, 157, 157, 110, 157, 110, 110, 159, 110, 110, 157, 157, 110, 110, 110,
2160
+ 157, 157, 110, 157, 158, 110, 110, 110, 92, 157, 110, 157, 110, 110, 110, 157,
2161
+ 110, 110, 110, 110, 110, 110, 110, 158, 157, 110, 157, 110, 157, 110, 110, 110,
2162
+ 157, 110, 159, 157, 110, 157, 110, 157, 110, 157, 110, 110, 110, 110, 110, 158,
2163
+ 157, 110, 110, 157, 110, 110, 110, 157, 157, 110, 110, 157, 157, 159, 157, 110,
2164
+ 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2165
+ 157, 110, 110, 158, 157, 110, 110, 157, 110, 110, 110, 157, 157, 157, 92, 110,
2166
+ 110, 110, 157, 110, 110, 157, 157, 110, 110, 157, 157, 110, 110, 110, 110, 157,
2167
+ 158, 110, 157, 157, 157, 110, 110, 110, 110, 159, 159, 110, 110, 157, 110, 110,
2168
+ 110, 110, 158, 110, 157, 110, 157, 110, 110, 158, 110, 158, 110, 110, 157, 110,
2169
+ 110, 159, 110, 110, 158, 110, 110, 110, 157, 110, 110, 157, 110, 157, 157, 157,
2170
+ 110, 110, 110, 110, 110, 110, 110, 157, 159, 110, 110, 110, 157, 157, 110, 110,
2171
+ 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110, 157, 157, 157, 157, 92,
2172
+ 92, 110, 110, 157, 110, 157, 157, 110, 110, 110, 157, 110, 158, 110, 110, 92,
2173
+ 110, 110, 158, 157, 157, 159, 157, 110, 157, 110, 157, 110, 158, 110, 157, 157,
2174
+ 110, 157, 157, 157, 157, 157, 110, 157, 159, 110, 110, 158, 157, 110, 158, 157,
2175
+ 157, 158, 157, 158, 157, 110, 158, 157, 157, 110, 110, 157, 110, 157, 110, 157,
2176
+ 110, 110, 110, 157, 157, 110, 110, 159, 158, 110, 110, 157, 110, 110, 157, 157,
2177
+ 110, 110, 157, 157, 157, 157, 157, 157, 157, 159, 159, 110, 110, 110, 110, 110,
2178
+ 157, 157, 157, 110, 159, 157, 157, 110, 157, 110, 157, 110, 157, 110, 110, 157,
2179
+ 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 158, 110, 110, 157, 110,
2180
+ 110, 110, 159, 110, 110, 157, 157, 159, 157, 157, 157, 157, 159, 157, 159, 110,
2181
+ 110, 157, 110, 110, 110, 157, 159, 158, 157, 110, 157, 110, 157, 157, 110, 110,
2182
+ 157, 110, 110, 161, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2183
+ 157, 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 157, 110, 157, 110, 110,
2184
+ 110, 110, 110, 110, 110, 110, 110, 158, 110, 110, 157, 110, 110, 110, 110, 157,
2185
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 159, 110, 110, 110, 157,
2186
+ 110, 157, 110, 110, 157, 110, 157, 157, 157, 110, 110, 110, 110, 158, 110, 110,
2187
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110,
2188
+ 110, 110, 110, 157, 157, 157, 110, 157, 157, 157, 110, 110, 110, 157, 158, 110,
2189
+ 159, 157, 110, 110, 110, 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110,
2190
+ 158, 110, 158, 157, 110, 157, 110, 157, 157, 110, 157, 158, 110, 157, 110, 110,
2191
+ 110, 110, 110, 157, 157, 157, 157, 157, 157, 157, 110, 110, 157, 157, 158, 157,
2192
+ 157, 110, 110, 110, 157, 157, 110, 110, 110, 159, 110, 157, 157, 110, 110, 110,
2193
+ 157, 157, 158, 110, 110, 110, 110, 110, 110, 157, 157, 159, 157, 157, 110, 110,
2194
+ 157, 110, 157, 157, 157, 110, 157, 110, 157, 158, 110, 110, 110, 110, 110, 157,
2195
+ 110, 157, 159, 110, 157, 110, 110, 157, 157, 110, 157, 157, 110, 110, 92, 110,
2196
+ 110, 157, 157, 110, 110, 157, 110, 110, 158, 110, 110, 110, 157, 110, 110, 110,
2197
+ 159, 110, 157, 110, 110, 110, 110, 110, 157, 110, 157, 157, 110, 110, 110, 110,
2198
+ 110, 159, 159, 110, 110, 110, 110, 110, 110, 157, 110, 159, 159, 110, 110, 110,
2199
+ 159, 110, 110, 157, 110, 157, 157, 157, 157, 110, 110, 110, 157, 157, 157, 110,
2200
+ 110, 110, 157, 157, 157, 110, 159, 110, 157, 159, 157, 157, 157, 110, 110, 157,
2201
+ 110, 159, 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 157, 110,
2202
+ 110, 110, 110, 157, 157, 110, 110, 110, 157, 110, 157, 110, 158, 110, 158, 157,
2203
+ 110, 110, 159, 110, 159, 110, 110, 157, 157, 110, 110, 110, 157, 157, 157, 157,
2204
+ 157, 110, 110, 157, 110, 110, 157, 159, 110, 110, 157, 157, 157, 158, 157, 157,
2205
+ 157, 110, 157, 110, 157, 157, 157, 110, 110, 110, 157, 110, 159, 157, 157, 110,
2206
+ 110, 110, 159, 159, 158, 157, 157, 110, 110, 157, 110, 110, 110, 110, 110, 110,
2207
+ 157, 110, 110, 110, 110, 157, 157, 110, 157, 157, 157, 110, 110, 159, 157, 110,
2208
+ 157, 159, 110, 110, 110, 159, 157, 157, 110, 157, 157, 157, 110, 110, 110, 110,
2209
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2210
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157,
2211
+ 110, 110, 110, 157, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110,
2212
+ 110, 110, 157, 110, 159, 157, 110, 110, 157, 110, 157, 110, 110, 110, 157, 157,
2213
+ 157, 157, 157, 110, 110, 110, 110, 110, 157, 110, 157, 110, 110, 157, 92, 110,
2214
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 157,
2215
+ 110, 110, 110, 110, 157, 110, 157, 157, 110, 110, 157, 110, 157, 110, 157, 110,
2216
+ 110, 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110,
2217
+ 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110,
2218
+ 110, 157, 110, 110, 157, 157, 157, 157, 110, 157, 157, 157, 110, 110, 157, 110,
2219
+ 157, 110, 157, 110, 157, 110, 157, 110, 110, 110, 157, 159, 157, 159, 157, 157,
2220
+ 110, 159, 157, 110, 110, 110, 159, 110, 110, 157, 110, 110, 158, 157, 157, 110,
2221
+ 92, 110, 110, 110, 110, 157, 157, 110, 110, 157, 110, 159, 157, 157, 157, 158,
2222
+ 110, 110, 110, 157, 110, 157, 110, 110, 157, 110, 157, 157, 157, 157, 110, 110,
2223
+ 110, 110, 110, 110, 110, 157, 157, 157, 157, 110, 157, 110, 110, 110, 110, 110,
2224
+ 110, 157, 110, 159, 110, 157, 157, 157, 110, 110, 157, 157, 157, 159, 110, 110,
2225
+ 110, 110, 110, 110, 110, 110, 157, 157, 157, 157, 157, 110, 110, 110, 157, 110,
2226
+ 157, 157, 158, 157, 157, 110, 110, 110, 157, 110, 110, 159, 157, 110, 157, 110,
2227
+ 157, 110, 157, 110, 110, 110, 158, 110, 110, 110, 157, 110, 158, 157, 159, 110,
2228
+ 110, 159, 110, 157, 110, 110, 157, 110, 157, 157, 110, 110, 110, 110, 110, 158,
2229
+ 110, 157, 159, 110, 110, 157, 157, 110, 110, 159, 159, 110, 157, 110, 110, 159,
2230
+ 157, 110, 110, 157, 110, 159, 110, 110, 157, 110, 110, 157, 110, 158, 110, 110,
2231
+ 110, 110, 110, 110, 110, 158, 110, 110, 157, 110, 158, 110, 157, 110, 110, 158,
2232
+ 110, 159, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110, 157, 110, 110, 110,
2233
+ 157, 157, 110, 110, 157, 158, 157, 110, 157, 110, 157, 157, 157, 159, 157, 157,
2234
+ 157, 110, 110, 157, 158, 157, 110, 110, 110, 157, 157, 157, 110, 110, 110, 158,
2235
+ 110, 110, 157, 110, 110, 157, 158, 158, 110, 157, 157, 157, 158, 159, 157, 157,
2236
+ 157, 110, 157, 159, 110, 110, 110, 110, 157, 157, 110, 158, 110, 110, 110, 110,
2237
+ 157, 157, 110, 110, 110, 110, 157, 158, 158, 110, 110, 159, 157, 157, 157, 157,
2238
+ 110, 110, 110, 158, 157, 157, 110, 159, 157, 110, 110, 157, 159, 158, 157, 110,
2239
+ 157, 157, 110, 157, 157, 110, 158, 110, 157, 157, 157, 157, 110, 110, 110, 110,
2240
+ 157, 157, 110, 157, 157, 157, 157, 110, 157, 110, 157, 110, 110, 157, 157, 110,
2241
+ 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110, 110, 110, 110, 110, 110,
2242
+ 157, 157, 110, 157, 110, 157, 157, 110, 110, 110, 110, 110, 110, 157, 110, 110,
2243
+ 159, 110, 110, 158, 110, 110, 110, 157, 158, 110, 110, 110, 110, 110, 110, 110,
2244
+ 110, 110, 110, 110, 110, 159, 157, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2245
+ 157, 110, 110, 110, 157, 157, 157, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2246
+ 110, 157, 110, 110, 158, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2247
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110,
2248
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110,
2249
+ 110, 110, 110, 110, 110, 110, 110, 110, 159, 158, 159, 157, 157, 159, 157, 110,
2250
+ 157, 159, 110, 157, 110, 157, 110, 157, 159, 110, 110, 110, 110, 110, 110, 158,
2251
+ 157, 157, 159, 110, 157, 110, 110, 158, 157, 157, 159, 157, 158, 157, 157, 110,
2252
+ 158, 159, 110, 110, 157, 157, 159, 159, 110, 110, 158, 110, 110, 110, 159, 157,
2253
+ 110, 159, 158, 110, 110, 110, 110, 159, 110, 158, 110, 158, 110, 157, 157, 157,
2254
+ 159, 157, 157, 158, 158, 157, 110, 110, 157, 157, 158, 110, 158, 157, 110, 159,
2255
+ 158, 110, 157, 110, 158, 110, 158, 157, 110, 110, 110, 110, 110, 110, 158, 110,
2256
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 157, 110, 157,
2257
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157,
2258
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110,
2259
+ 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110,
2260
+ 157, 110, 157, 158, 110, 110, 110, 157, 158, 159, 110, 110, 110, 110, 157, 157,
2261
+ 110, 110, 157, 159, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2262
+ 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 157, 157, 158, 157, 110, 110,
2263
+ 110, 110, 157, 110, 110, 110, 110, 157, 110, 110, 110, 110, 157, 110, 110, 110,
2264
+ 110, 157, 110, 158, 110, 157, 157, 110, 157, 110, 110, 110, 110, 157, 157, 110,
2265
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110,
2266
+ 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110,
2267
+ 158, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2268
+ 110, 110, 110, 110, 110, 110, 110, 159, 110, 110, 110, 110, 159, 157, 157, 157,
2269
+ 110, 157, 157, 157, 110, 158, 110, 110, 110, 110, 110, 110, 157, 158, 110, 110,
2270
+ 110, 110, 110, 110, 110, 157, 157, 110, 110, 158, 158, 110, 110, 110, 110, 110,
2271
+ 157, 110, 157, 157, 159, 110, 157, 110, 110, 110, 110, 157, 110, 110, 157, 110,
2272
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 158, 157, 110,
2273
+ 157, 157, 157, 110, 157, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 157,
2274
+ 110, 157, 110, 157, 110, 110, 110, 110, 110, 158, 110, 110, 110, 110, 110, 110,
2275
+ 110, 110, 110, 157, 110, 158, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157,
2276
+ 110, 110, 110, 158, 157, 110, 92, 159, 110, 110, 110, 110, 110, 110, 157, 110,
2277
+ 110, 110, 159, 157, 110, 158, 157, 157, 110, 110, 158, 110, 110, 110, 110, 159,
2278
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110,
2279
+ 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110,
2280
+ 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 157, 110, 157, 157, 110,
2281
+ 110, 110, 110, 157, 157, 157, 110, 110, 158, 110, 110, 157, 110, 157, 110, 157,
2282
+ 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 157, 158, 157, 110, 157, 158,
2283
+ 110, 110, 110, 110, 110, 110, 110, 110, 158, 157, 110, 157, 110, 110, 110, 110,
2284
+ 110, 110, 110, 110, 110, 110, 110, 110, 159, 157, 110, 157, 110, 110, 110, 158,
2285
+ 110, 110, 110, 157, 110, 157, 157, 110, 110, 157, 110, 157, 110, 110, 110, 110,
2286
+ 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 159, 157, 110, 157, 110, 110,
2287
+ 110, 157, 110, 159, 159, 110, 110, 157, 157, 158, 110, 110, 110, 157, 159, 157,
2288
+ 110, 157, 157, 157, 110, 157, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110,
2289
+ 157, 157, 157, 110, 110, 157, 110, 157, 110, 110, 110, 157, 157, 157, 110, 110,
2290
+ 110, 110, 158, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 157, 110, 110,
2291
+ 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 110,
2292
+ 157, 110, 157, 110, 110, 157, 110, 157, 110, 157, 110, 157, 110, 110, 110, 92,
2293
+ 157, 157, 110, 157, 157, 110, 157, 158, 110, 110, 110, 110, 158, 110, 159, 110,
2294
+ 157, 110, 157, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 157, 110, 159,
2295
+ 110, 157, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110,
2296
+ 159, 110, 110, 157, 157, 110, 110, 157, 157, 157, 110, 110, 157, 110, 110, 110,
2297
+ 110, 157, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2298
+ 110, 110, 158, 110, 110, 157, 157, 110, 110, 110, 110, 157, 110, 110, 110, 110,
2299
+ 110, 110, 157, 157, 158, 110, 157, 157, 110, 157, 158, 110, 157, 110, 157, 158,
2300
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 159, 110, 110, 110, 110,
2301
+ 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 159,
2302
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 159, 157, 110, 157, 110, 157, 110,
2303
+ 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110,
2304
+ 110, 159, 157, 110, 157, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110, 157,
2305
+ 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110,
2306
+ 157, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110,
2307
+ 159, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 157,
2308
+ 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 157, 110, 110,
2309
+ 159, 157, 157, 110, 110, 110, 110, 110, 110, 157, 158, 157, 110, 110, 157, 110,
2310
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 158, 157, 157, 110, 110, 110,
2311
+ 157, 110, 110, 110, 157, 157, 110, 157, 157, 157, 157, 157, 158, 157, 110, 157,
2312
+ 157, 110, 157, 157, 159, 157, 157, 110, 110, 110, 157, 110, 157, 157, 110, 110,
2313
+ 157, 110, 110, 110, 110, 157, 110, 110, 110, 157, 157, 110, 110, 110, 157, 110,
2314
+ 110, 110, 110, 110, 157, 158, 110, 157, 157, 159, 110, 110, 159, 157, 110, 157,
2315
+ 110, 157, 110, 157, 157, 110, 110, 110, 110, 110, 157, 157, 110, 110, 157, 110,
2316
+ 110, 110, 157, 157, 157, 157, 110, 157, 157, 157, 157, 157, 110, 110, 157, 110,
2317
+ 157, 157, 110, 110, 110, 157, 157, 157, 110, 110, 110, 110, 157, 157, 157, 157,
2318
+ 110, 110, 157, 157, 158, 110, 110, 110, 157, 157, 157, 159, 159, 110, 110, 110,
2319
+ 157, 110, 110, 157, 157, 157, 110, 157, 110, 157, 157, 110, 110, 157, 110, 157,
2320
+ 110, 157, 110, 157, 157, 110, 110, 110, 110, 157, 157, 157, 110, 110, 110, 110,
2321
+ 110, 157, 157, 110, 157, 110, 157, 157, 157, 157, 110, 158, 157, 110, 110, 110,
2322
+ 110, 110, 157, 110, 110, 110, 110, 92, 110, 110, 110, 110, 110, 110, 110, 110,
2323
+ 110, 110, 110, 110, 157, 157, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110,
2324
+ 157, 157, 157, 157, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 157,
2325
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 158, 110,
2326
+ 110, 110, 157, 110, 157, 110, 157, 110, 110, 157, 110, 110, 110, 110, 157, 157,
2327
+ 110, 157, 110, 110, 110, 157, 157, 110, 110, 110, 110, 157, 110, 157, 110, 157,
2328
+ 157, 110, 110, 110, 110, 110, 157, 159, 157, 157, 110, 110, 157, 157, 110, 110,
2329
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 92, 110, 110, 110,
2330
+ 110, 92, 110, 157, 157, 157, 110, 110, 110, 157, 158, 110, 110, 110, 157, 157,
2331
+ 110, 158, 157, 110, 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110,
2332
+ 157, 110, 157, 157, 110, 110, 110, 110, 110, 158, 110, 157, 157, 92, 110, 158,
2333
+ 110, 110, 157, 157, 110, 110, 157, 110, 110, 110, 110, 110, 110, 158, 110, 157,
2334
+ 110, 110, 159, 110, 110, 110, 110, 110, 110, 157, 157, 157, 110, 110, 157, 110,
2335
+ 110, 158, 158, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 157,
2336
+ 110, 110, 110, 159, 110, 110, 157, 110, 157, 157, 110, 110, 110, 110, 110, 110,
2337
+ 110, 157, 110, 110, 110, 159, 157, 110, 110, 110, 110, 110, 110, 158, 110, 110,
2338
+ 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110, 110,
2339
+ 110, 110, 110, 157, 110, 157, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2340
+ 110, 110, 157, 157, 110, 110, 110, 110, 110, 157, 157, 157, 110, 110, 157, 157,
2341
+ 110, 110, 110, 157, 157, 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110,
2342
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 157, 158, 110, 110, 110, 110, 110,
2343
+ 110, 110, 157, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 158,
2344
+ 110, 110, 110, 157, 157, 157, 110, 110, 157, 110, 157, 157, 157, 157, 110, 159,
2345
+ 158, 110, 159, 157, 110, 157, 157, 110, 157, 157, 157, 157, 157, 110, 110, 110,
2346
+ 158, 157, 110, 157, 157, 157, 110, 159, 110, 157, 157, 110, 110, 110, 110, 110,
2347
+ 158, 157, 110, 110, 110, 159, 110, 110, 157, 110, 110, 110, 110, 110, 159, 110,
2348
+ 110, 157, 157, 110, 110, 110, 92, 110, 110, 110, 110, 110, 110, 158, 110, 159,
2349
+ 110, 157, 157, 110, 158, 157, 110, 157, 110, 158, 158, 158, 158, 110, 110, 110,
2350
+ 157, 110, 110, 110, 158, 157, 157, 157, 110, 157, 110, 110, 110, 157, 110, 110,
2351
+ 110, 157, 110, 158, 158, 157, 110, 110, 110, 159, 110, 158, 157, 157, 157, 110,
2352
+ 157, 110, 110, 110, 157, 110, 159, 110, 110, 157, 157, 157, 110, 159, 110, 157,
2353
+ 110, 157, 157, 157, 110, 157, 110, 158, 110, 110, 110, 157, 110, 110, 158, 110,
2354
+ 110, 110, 110, 159, 110, 157, 110, 157, 110, 110, 110, 158, 110, 159, 110, 158,
2355
+ 157, 110, 110, 158, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157,
2356
+ 110, 159, 159, 110, 110, 159, 157, 157, 157, 110, 110, 110, 158, 110, 110, 157,
2357
+ 157, 110, 159, 110, 157, 110, 110, 110, 157, 110, 159, 110, 157, 110, 110, 157,
2358
+ 110, 157, 110, 110, 157, 110, 110, 158, 157, 110, 110, 157, 157, 110, 110, 110,
2359
+ 110, 157, 110, 110, 110, 158, 110, 110, 157, 110, 110, 157, 157, 157, 110, 157,
2360
+ 110, 157, 157, 110, 110, 157, 157, 110, 110, 110, 110, 110, 110, 157, 157, 157,
2361
+ 157, 110, 110, 110, 157, 157, 110, 157, 110, 110, 110, 110, 110, 110, 157, 110,
2362
+ 157, 110, 110, 110, 157, 157, 110, 110, 157, 157, 110, 110, 110, 157, 110, 110,
2363
+ 157, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 157, 157, 110, 157, 157,
2364
+ 110, 157, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 157, 110, 157, 110,
2365
+ 110, 110, 157, 110, 110, 110, 157, 110, 157, 158, 110, 157, 157, 110, 157, 110,
2366
+ 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2367
+ 110, 157, 157, 110, 110, 110, 159, 157, 157, 110, 110, 110, 110, 157, 110, 159,
2368
+ 110, 157, 157, 110, 110, 158, 110, 159, 110, 157, 157, 110, 157, 110, 110, 110,
2369
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 157, 157, 157, 157, 110,
2370
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110,
2371
+ 157, 157, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 92, 110, 110, 110,
2372
+ 110, 157, 110, 110, 110, 110, 157, 157, 110, 157, 110, 159, 110, 157, 110, 110,
2373
+ 110, 92, 110, 110, 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 157, 110,
2374
+ 157, 110, 110, 110, 110, 110, 110, 157, 157, 110, 158, 110, 110, 110, 110, 157,
2375
+ 159, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2376
+ 110, 157, 110, 110, 157, 110, 157, 110, 157, 110, 157, 110, 110, 110, 110, 110,
2377
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2378
+ 157, 110, 157, 110, 157, 157, 110, 110, 110, 157, 157, 157, 110, 157, 157, 110,
2379
+ 110, 110, 157, 110, 110, 157, 157, 110, 110, 157, 157, 157, 110, 110, 110, 158,
2380
+ 159, 110, 157, 110, 157, 110, 157, 110, 110, 110, 157, 157, 157, 110, 110, 110,
2381
+ 110, 157, 110, 110, 157, 110, 157, 157, 157, 110, 110, 110, 110, 157, 110, 110,
2382
+ 110, 157, 110, 110, 157, 158, 110, 110, 157, 110, 157, 157, 110, 110, 157, 110,
2383
+ 157, 157, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110, 110, 157, 110, 110,
2384
+ 110, 110, 110, 159, 110, 110, 157, 110, 159, 110, 110, 110, 110, 110, 110, 110,
2385
+ 157, 110, 110, 92, 110, 110, 110, 110, 110, 92, 110, 110, 110, 157, 110, 157,
2386
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 157, 110, 157, 110, 157,
2387
+ 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 158, 110,
2388
+ 110, 110, 110, 157, 157, 110, 110, 110, 157, 110, 110, 110, 157, 157, 157, 157,
2389
+ 157, 157, 157, 110, 110, 157, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110,
2390
+ 110, 157, 157, 110, 110, 157, 157, 157, 110, 110, 110, 110, 94, 110, 157, 157,
2391
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 157, 157, 110, 110, 92, 110, 110,
2392
+ 110, 110, 110, 110, 110, 110, 110, 110, 158, 110, 110, 157, 157, 157, 110, 157,
2393
+ 157, 110, 157, 110, 110, 110, 158, 110, 157, 110, 110, 110, 110, 110, 157, 110,
2394
+ 157, 110, 110, 157, 110, 110, 159, 110, 110, 110, 110, 110, 157, 110, 110, 110,
2395
+ 110, 110, 157, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110, 157, 110,
2396
+ 110, 110, 110, 110, 157, 158, 157, 110, 110, 110, 157, 110, 110, 110, 157, 110,
2397
+ 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 158, 110, 110,
2398
+ 157, 157, 110, 110, 158, 110, 110, 110, 110, 110, 157, 110, 157, 157, 110, 110,
2399
+ 159, 110, 157, 157, 110, 110, 110, 110, 110, 110, 157, 158, 110, 110, 157, 157,
2400
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110,
2401
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2402
+ 157, 157, 157, 110, 110, 110, 157, 159, 157, 157, 110, 110, 110, 110, 157, 157,
2403
+ 110, 157, 110, 110, 110, 157, 157, 157, 157, 110, 110, 157, 157, 157, 110, 157,
2404
+ 157, 110, 157, 157, 110, 157, 110, 110, 110, 110, 110, 157, 110, 158, 110, 110,
2405
+ 157, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110,
2406
+ 110, 158, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110, 110, 157,
2407
+ 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 157, 110, 110, 157, 110, 110,
2408
+ 110, 110, 157, 110, 110, 157, 110, 110, 110, 157, 110, 159, 157, 110, 157, 110,
2409
+ 157, 110, 157, 110, 110, 157, 157, 110, 110, 157, 157, 157, 157, 158, 158, 110,
2410
+ 157, 110, 110, 157, 110, 157, 157, 157, 157, 110, 110, 157, 110, 157, 157, 110,
2411
+ 110, 157, 157, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2412
+ 158, 157, 110, 110, 110, 157, 110, 110, 110, 110, 157, 157, 110, 158, 157, 110,
2413
+ 110, 110, 110, 157, 110, 157, 110, 157, 157, 110, 110, 157, 110, 158, 110, 157,
2414
+ 157, 157, 110, 158, 110, 157, 110, 110, 110, 110, 158, 110, 110, 110, 110, 110,
2415
+ 110, 110, 110, 110, 157, 110, 158, 110, 157, 110, 110, 110, 110, 110, 110, 110,
2416
+ 110, 158, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 159, 157,
2417
+ 157, 157, 110, 110, 157, 158, 157, 110, 110, 110, 158, 157, 110, 159, 157, 110,
2418
+ 157, 110, 110, 157, 157, 158, 110, 110, 157, 110, 110, 110, 158, 157, 159, 110,
2419
+ 110, 110, 110, 110, 110, 159, 157, 92, 157, 110, 157, 157, 157, 110, 110, 110,
2420
+ 157, 159, 157, 158, 157, 110, 157, 110, 110, 110, 157, 110, 110, 110, 157, 110,
2421
+ 110, 157, 110, 110, 157, 159, 157, 157, 157, 110, 158, 157, 110, 157, 110, 110,
2422
+ 110, 110, 159, 157, 157, 157, 110, 157, 157, 110, 92, 110, 110, 92, 110, 110,
2423
+ 110, 110, 92, 92, 110, 92, 92, 110, 110, 158, 110, 110, 157, 110, 157, 110,
2424
+ 157, 157, 157, 110, 110, 110, 157, 157, 157, 110, 157, 92, 110, 110, 157, 161,
2425
+ 110, 158, 157, 110, 157, 157, 157, 159, 110, 110, 110, 110, 110, 157, 157, 110,
2426
+ 110, 110, 110, 110, 110, 110, 92, 92, 110, 110, 157, 157, 110, 110, 110, 110,
2427
+ 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 157, 110, 157, 110, 110,
2428
+ 157, 157, 110, 157, 157, 157, 157, 157, 110, 157, 157, 157, 110, 110, 157, 159,
2429
+ 157, 157, 157, 157, 157, 159, 110, 159, 110, 110, 110, 110, 110, 110, 157, 110,
2430
+ 110, 157, 110, 157, 157, 157, 157, 110, 157, 157, 157, 157, 157, 157, 157, 157,
2431
+ 157, 110, 157, 157, 157, 157, 157, 157, 110, 157, 157, 157, 157, 110, 157, 158,
2432
+ 110, 110, 157, 110, 157, 110, 110, 157, 157, 157, 110, 110, 157, 159, 110, 157,
2433
+ 157, 110, 157, 110, 158, 110, 157, 157, 110, 110, 110, 110, 110, 157, 157, 157,
2434
+ 110, 157, 110, 110, 110, 159, 157, 157, 157, 157, 157, 157, 110, 110, 110, 110,
2435
+ 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2436
+ 110, 157, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110, 157, 157, 110, 110,
2437
+ 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 157, 157, 157, 110,
2438
+ 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 110, 157, 110, 110, 110, 110,
2439
+ 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 110, 157, 110, 157, 110, 110,
2440
+ 110, 110, 110, 110, 157, 110, 158, 110, 157, 110, 110, 110, 110, 157, 157, 110,
2441
+ 157, 157, 157, 157, 110, 110, 157, 157, 157, 157, 110, 110, 110, 157, 110, 110,
2442
+ 157, 110, 110, 110, 158, 110, 110, 110, 159, 110, 157, 110, 110, 110, 110, 157,
2443
+ 110, 110, 110, 110, 110, 157, 110, 157, 157, 157, 110, 157, 110, 110, 157, 110,
2444
+ 157, 159, 157, 157, 110, 157, 110, 110, 110, 157, 157, 110, 110, 157, 110, 110,
2445
+ 110, 110, 110, 157, 158, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110,
2446
+ 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 158,
2447
+ 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2448
+ 110, 110, 110, 110, 110, 157, 157, 157, 110, 159, 157, 110, 157, 110, 110, 110,
2449
+ 157, 157, 157, 110, 157, 157, 110, 157, 110, 157, 157, 110, 158, 157, 157, 110,
2450
+ 157, 157, 157, 110, 110, 157, 157, 158, 110, 157, 110, 110, 157, 110, 110, 110,
2451
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 157, 110, 157, 110,
2452
+ 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 157, 157, 110, 110, 110, 157,
2453
+ 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 157, 157, 110, 110, 158,
2454
+ 159, 110, 159, 157, 157, 110, 157, 110, 157, 110, 157, 159, 157, 157, 159, 110,
2455
+ 157, 157, 110, 157, 110, 110, 157, 157, 157, 110, 157, 110, 110, 110, 158, 157,
2456
+ 159, 110, 157, 158, 110, 110, 159, 158, 157, 110, 110, 157, 110, 158, 157, 110,
2457
+ 110, 110, 110, 110, 110, 157, 157, 110, 110, 110, 157, 110, 110, 110, 110, 157,
2458
+ 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 159, 158, 157,
2459
+ 158, 157, 110, 110, 110, 110, 157, 157, 110, 157, 157, 110, 110, 110, 157, 157,
2460
+ 157, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 157, 110, 110,
2461
+ 110, 157, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 157, 110, 110,
2462
+ 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 157, 110, 110, 110, 110, 157,
2463
+ 110, 110, 110, 110, 158, 157, 110, 158, 110, 110, 110, 110, 110, 157, 158, 110,
2464
+ 110, 157, 110, 110, 110, 110, 110, 110, 110, 157, 157, 157, 157, 110, 157, 157,
2465
+ 110, 110, 110, 157, 110, 157, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110,
2466
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 158, 110, 110, 158, 157,
2467
+ 110, 110, 110, 157, 157, 110, 157, 157, 157, 157, 110, 157, 110, 110, 110, 157,
2468
+ 110, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 158, 110, 110, 110, 110,
2469
+ 157, 110, 110, 110, 110, 110, 157, 157, 157, 110, 110, 157, 110, 158, 110, 157,
2470
+ 110, 110, 157, 157, 110, 110, 157, 161, 110, 157, 157, 110, 157, 159, 110, 157,
2471
+ 110, 110, 157, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110, 110, 157, 157,
2472
+ 110, 110, 157, 110, 110, 110, 157, 110, 110, 157, 110, 110, 110, 110, 110, 92,
2473
+ 92, 92, 92, 92, 158, 157, 157, 157, 157, 157, 110, 157, 110, 110, 159, 110,
2474
+ 158, 110, 110, 157, 157, 157, 110, 159, 110, 110, 157, 110, 157, 110, 157, 110,
2475
+ 110, 110, 157, 110, 157, 110, 157, 110, 157, 110, 110, 157, 157, 158, 157, 157,
2476
+ 157, 110, 157, 110, 110, 110, 110, 157, 157, 110, 110, 110, 110, 110, 157, 110,
2477
+ 110, 159, 110, 110, 110, 110, 157, 110, 157, 157, 110, 110, 157, 158, 110, 110,
2478
+ 157, 157, 110, 110, 110, 110, 157, 110, 110, 110, 157, 110, 157, 157, 110, 157,
2479
+ 110, 110, 110, 110, 157, 157, 110, 110, 110, 158, 157, 110, 110, 157, 110, 157,
2480
+ 159, 110, 157, 92, 92, 92, 92, 92, 92, 92, 110, 110, 110, 110, 110, 110,
2481
+ 110, 110, 157, 157, 110, 110, 157, 110, 110, 157, 157, 157, 110, 110, 157, 110,
2482
+ 110, 110, 110, 110, 158, 157, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110,
2483
+ 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2484
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110,
2485
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 157,
2486
+ 110, 110, 110, 157, 110, 110, 110, 157, 110, 157, 110, 110, 110, 110, 110, 110,
2487
+ 110, 110, 110, 110, 110, 110, 110, 157, 110, 110, 157, 110, 157, 110, 110, 110,
2488
+ 110, 158, 110, 110, 110, 110, 110, 110, 110, 110, 157, 110, 158, 110, 157, 110,
2489
+ 110, 110, 110, 110, 110, 110, 157, 157, 157, 110, 110, 110, 110, 110, 92, 110,
2490
+ 110, 110, 110, 110, 110, 157, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2491
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2492
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2493
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2494
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
2495
+ 122, 122, 162, 122, 163, 164, 92, 165, 122, 122, 122, 122, 166, 122, 167, 168,
2496
+ 169, 122, 162, 130, 122, 122, 122, 113, 122, 122, 170, 130, 170, 130, 122, 171,
2497
+ 161, 172, 173, 162, 174, 130, 142, 130, 174, 92, 175, 176, 170, 122, 177, 162,
2498
+ 176, 178, 122, 168, 130, 162, 175, 94, 122, 122, 130, 122, 178, 179, 130, 175,
2499
+ 162, 162, 180, 122, 162, 122, 161, 166, 96, 179, 92, 122, 130, 122, 122, 122,
2500
+ 130, 162, 96, 96, 173, 113, 122, 181, 122, 122, 182, 94, 166, 122, 122, 122,
2501
+ 130, 130, 181, 164, 92, 92, 130, 92, 164, 176, 94, 183, 92, 183, 92, 92,
2502
+ 130, 184, 92, 122, 162, 162, 183, 183, 94, 164, 92, 92, 92, 92, 122, 177,
2503
+ 172, 160, 121, 168, 168, 172, 122, 160, 122, 175, 113, 122, 122, 166, 122, 173,
2504
+ 183, 122, 122, 185, 122, 122, 162, 164, 186, 142, 170, 122, 181, 164, 121, 169,
2505
+ 187, 122, 122, 161, 122, 122, 122, 130, 122, 130, 92, 122, 122, 122, 122, 164,
2506
+ 181, 161, 173, 169, 92, 130, 180, 160, 92, 177, 122, 170, 160, 92, 161, 170,
2507
+ 122, 122, 167, 176, 122, 173, 169, 122, 168, 185, 122, 122, 161, 122, 175, 181,
2508
+ 162, 130, 92, 130, 122, 122, 122, 122, 122, 122, 177, 162, 168, 165, 169, 122,
2509
+ 164, 166, 162, 122, 122, 122, 161, 161, 166, 168, 170, 170, 130, 113, 172, 164,
2510
+ 122, 177, 122, 176, 168, 166, 122, 165, 160, 161, 161, 122, 161, 176, 162, 176,
2511
+ 177, 122, 177, 163, 168, 168, 161, 161, 177, 122, 122, 188, 162, 122, 165, 122,
2512
+ 122, 122, 177, 168, 168, 171, 164, 189, 185, 176, 175, 130, 181, 178, 130, 130,
2513
+ 130, 92, 185, 92, 130, 130, 130, 130, 160, 94, 130, 130, 168, 168, 162, 122,
2514
+ 169, 164, 179, 177, 122, 164, 122, 163, 122, 163, 122, 177, 122, 122, 177, 168,
2515
+ 164, 168, 163, 122, 161, 160, 122, 121, 188, 177, 161, 163, 177, 122, 122, 122,
2516
+ 122, 122, 177, 167, 171, 122, 177, 169, 166, 122, 122, 122, 122, 169, 169, 166,
2517
+ 176, 168, 168, 176, 185, 130, 161, 185, 161, 122, 177, 168, 176, 161, 177, 122,
2518
+ 122, 162, 160, 122, 185, 142, 165, 177, 177, 177, 188, 169, 167, 177, 190, 122,
2519
+ 168, 191, 177, 122, 192, 177, 121, 168, 122, 166, 193, 122, 164, 122, 164, 122,
2520
+ 177, 122, 177, 164, 166, 168, 121, 166, 180, 162, 177, 122, 168, 122, 177, 164,
2521
+ 184, 181, 160, 173, 92, 130, 130, 130, 170, 130, 130, 153, 130, 113, 122, 122,
2522
+ 160, 161, 177, 168, 161, 122, 121, 171, 161, 177, 168, 177, 162, 163, 164, 122,
2523
+ 177, 177, 121, 122, 122, 166, 164, 168, 163, 191, 122, 177, 163, 177, 122, 176,
2524
+ 169, 122, 164, 194, 180, 161, 168, 122, 169, 168, 122, 178, 166, 122, 96, 122,
2525
+ 188, 122, 162, 184, 153, 172, 130, 161, 130, 130, 130, 92, 168, 130, 122, 122,
2526
+ 164, 129, 163, 122, 168, 180, 178, 168, 122, 160, 122, 161, 164, 163, 169, 164,
2527
+ 171, 162, 195, 160, 164, 178, 121, 177, 160, 121, 162, 121, 176, 122, 177, 169,
2528
+ 164, 121, 122, 177, 169, 168, 121, 177, 176, 122, 122, 177, 192, 164, 191, 122,
2529
+ 168, 122, 177, 121, 196, 169, 122, 191, 122, 169, 122, 121, 165, 122, 174, 168,
2530
+ 177, 168, 164, 177, 94, 177, 181, 168, 161, 181, 130, 197, 96, 92, 130, 161,
2531
+ 177, 177, 164, 122, 161, 177, 177, 122, 165, 121, 177, 168, 176, 168, 176, 122,
2532
+ 181, 177, 164, 177, 161, 122, 172, 177, 160, 164, 122, 168, 122, 168, 168, 177,
2533
+ 177, 168, 177, 177, 168, 122, 163, 162, 168, 168, 177, 168, 175, 171, 168, 97,
2534
+ 177, 164, 178, 168, 121, 121, 122, 96, 196, 161, 97, 173, 161, 142, 130, 130,
2535
+ 122, 163, 168, 177, 162, 122, 162, 168, 179, 161, 162, 168, 168, 122, 177, 164,
2536
+ 182, 121, 177, 162, 177, 168, 171, 161, 121, 121, 142, 177, 177, 168, 177, 162,
2537
+ 162, 162, 171, 185, 92, 130, 160, 130, 130, 130, 164, 161, 122, 121, 168, 171,
2538
+ 177, 168, 122, 121, 178, 121, 168, 121, 168, 164, 166, 96, 161, 177, 121, 168,
2539
+ 162, 168, 178, 164, 177, 121, 168, 171, 168, 180, 180, 168, 164, 172, 171, 122,
2540
+ 163, 121, 161, 177, 177, 121, 122, 168, 164, 160, 122, 168, 164, 177, 196, 163,
2541
+ 168, 160, 164, 178, 177, 121, 166, 122, 177, 171, 168, 161, 185, 122, 169, 177,
2542
+ 168, 171, 162, 185, 160, 169, 177, 161, 168, 121, 162, 122, 160, 168, 177, 194,
2543
+ 121, 198, 142, 177, 121, 97, 192, 166, 171, 121, 168, 166, 177, 163, 163, 161,
2544
+ 171, 168, 122, 168, 142, 142, 181, 177, 142, 162, 178, 164, 177, 164, 164, 121,
2545
+ 168, 122, 168, 162, 168, 168, 168, 164, 164, 168, 121, 160, 162, 177, 168, 164,
2546
+ 168, 177, 121, 171, 177, 177, 161, 121, 171, 177, 180, 142, 121, 168, 161, 169,
2547
+ 122, 122, 162, 122, 122, 122, 122, 121, 122, 122, 164, 122, 121, 122, 196, 162,
2548
+ 181, 173, 121, 162, 169, 176, 179, 171, 162, 97, 167, 97, 122, 97, 97, 177,
2549
+ 160, 97, 122, 97, 164, 122, 164, 126, 122, 121, 198, 122, 122, 122, 122, 92,
2550
+ 130, 122, 161, 130, 170, 122, 122, 122, 122, 179, 92, 130, 122, 130, 164, 161,
2551
+ 122, 130, 175, 162, 164, 184, 198, 168, 170, 169, 121, 164, 184, 122, 162, 178,
2552
+ 181, 142, 122, 178, 168, 122, 175, 122, 177, 184, 94, 130, 170, 164, 168, 161,
2553
+ 122, 164, 169, 164, 169, 122, 181, 94, 172, 113, 121, 187, 122, 162, 92, 130,
2554
+ 169, 167, 175, 175, 172, 175, 122, 122, 163, 168, 162, 130, 166, 122, 177, 162,
2555
+ 130, 161, 164, 160, 165, 178, 122, 179, 177, 186, 168, 122, 122, 121, 168, 174,
2556
+ 168, 174, 163, 163, 168, 162, 181, 168, 177, 161, 161, 175, 121, 122, 191, 160,
2557
+ 169, 122, 163, 161, 179, 164, 113, 113, 161, 113, 113, 130, 161, 175, 162, 130,
2558
+ 122, 121, 162, 176, 163, 167, 122, 162, 122, 122, 122, 130, 170, 122, 172, 130,
2559
+ 122, 176, 90, 122, 181, 163, 122, 122, 122, 168, 122, 172, 168, 130, 122, 161,
2560
+ 168, 122, 176, 177, 181, 164, 176, 122, 189, 130, 130, 130, 168, 122, 168, 160,
2561
+ 179, 168, 162, 161, 122, 121, 160, 172, 176, 122, 121, 173, 92, 130, 122, 161,
2562
+ 122, 177, 177, 167, 160, 177, 122, 122, 122, 199, 122, 122, 163, 130, 161, 130,
2563
+ 130, 96, 130, 122, 178, 164, 168, 121, 161, 177, 122, 121, 122, 122, 97, 181,
2564
+ 130, 130, 168, 161, 122, 177, 122, 163, 162, 160, 177, 121, 176, 126, 167, 177,
2565
+ 163, 192, 168, 181, 181, 184, 162, 173, 160, 122, 122, 168, 168, 168, 177, 122,
2566
+ 181, 113, 122, 172, 142, 121, 161, 171, 177, 163, 168, 168, 168, 122, 161, 122,
2567
+ 177, 185, 176, 121, 168, 162, 161, 121, 122, 121, 171, 168, 177, 121, 161, 94,
2568
+ 179, 121, 200, 176, 172, 162, 177, 177, 177, 168, 163, 122, 164, 173, 173, 122,
2569
+ 122, 170, 130, 122, 201, 162, 177, 162, 179, 122, 122, 122, 169, 167, 168, 162,
2570
+ 162, 202, 130, 173, 181, 172, 162, 162, 162, 172, 162, 171, 178, 164, 122, 173,
2571
+ 177, 121, 168, 122, 164, 198, 162, 122, 162, 122, 161, 130, 163, 180, 161, 164,
2572
+ 179, 163, 122, 168, 164, 121, 192, 142, 122, 121, 92, 188, 162, 121, 121, 122,
2573
+ 172, 163, 121, 121, 122, 162, 142, 181, 162, 177, 164, 168, 162, 161, 161, 168,
2574
+ 176, 177, 181, 121, 177, 121, 162, 177, 121, 187, 122, 126, 168, 161, 122, 122,
2575
+ 189, 153, 113, 164, 161, 122, 169, 161, 122, 168, 177, 177, 162, 122, 168, 122,
2576
+ 122, 177, 168, 162, 161, 122, 122, 122, 162, 122, 167, 162, 177, 169, 164, 177,
2577
+ 122, 122, 168, 122, 161, 164, 130, 163, 162, 162, 122, 162, 182, 177, 130, 121,
2578
+ 177, 142, 163, 172, 168, 164, 161, 168, 172, 122, 184, 175, 177, 177, 176, 122,
2579
+ 121, 122, 182, 122, 126, 169, 181, 122, 122, 122, 122, 164, 177, 180, 170, 173,
2580
+ 161, 122, 122, 122, 121, 173, 130, 122, 181, 162, 122, 162, 122, 160, 122, 179,
2581
+ 122, 176, 130, 166, 170, 164, 122, 179, 183, 175, 92, 130, 177, 163, 169, 122,
2582
+ 122, 122, 177, 169, 186, 122, 161, 122, 169, 171, 173, 142, 168, 203, 182, 122,
2583
+ 161, 92, 167, 162, 122, 130, 173, 162, 162, 173, 168, 173, 130, 130, 177, 168,
2584
+ 92, 92, 168, 193, 177, 130, 178, 168, 165, 177, 122, 161, 168, 176, 168, 122,
2585
+ 198, 162, 170, 130, 177, 122, 186, 168, 175, 175, 163, 163, 168, 121, 175, 162,
2586
+ 172, 161, 171, 181, 177, 162, 175, 164, 162, 168, 164, 122, 92, 162, 161, 130,
2587
+ 162, 179, 175, 121, 161, 163, 92, 92, 122, 122, 122, 122, 175, 122, 181, 162,
2588
+ 160, 170, 163, 162, 122, 164, 122, 122, 170, 175, 163, 122, 161, 164, 162, 169,
2589
+ 174, 180, 121, 122, 122, 122, 176, 162, 169, 122, 122, 122, 122, 122, 169, 122,
2590
+ 122, 122, 122, 122, 161, 176, 175, 175, 122, 173, 113, 96, 96, 130, 94, 161,
2591
+ 161, 169, 162, 122, 122, 161, 96, 168, 122, 122, 122, 142, 122, 122, 122, 122,
2592
+ 122, 122, 96, 174, 94, 173, 179, 130, 168, 168, 163, 122, 168, 122, 96, 122,
2593
+ 122, 174, 161, 179, 168, 168, 122, 176, 166, 122, 177, 122, 169, 169, 169, 174,
2594
+ 168, 176, 179, 126, 189, 176, 142, 168, 122, 122, 161, 122, 122, 178, 122, 161,
2595
+ 169, 168, 121, 176, 164, 168, 169, 177, 122, 181, 122, 179, 161, 163, 142, 177,
2596
+ 173, 196, 130, 130, 185, 130, 130, 130, 130, 130, 161, 130, 130, 92, 162, 181,
2597
+ 168, 168, 176, 168, 166, 168, 166, 177, 122, 163, 198, 177, 168, 163, 162, 168,
2598
+ 178, 122, 185, 122, 177, 122, 169, 169, 96, 161, 168, 122, 122, 122, 168, 177,
2599
+ 122, 177, 185, 162, 169, 163, 122, 168, 177, 164, 161, 169, 122, 177, 122, 175,
2600
+ 122, 177, 169, 160, 179, 176, 176, 94, 168, 130, 96, 130, 182, 130, 160, 164,
2601
+ 168, 177, 178, 179, 186, 178, 176, 176, 122, 176, 176, 122, 122, 166, 177, 169,
2602
+ 168, 176, 172, 122, 179, 161, 168, 177, 122, 163, 177, 176, 178, 122, 178, 176,
2603
+ 122, 122, 169, 168, 122, 168, 166, 169, 122, 122, 164, 160, 179, 174, 176, 185,
2604
+ 179, 130, 130, 130, 130, 130, 168, 130, 113, 130, 179, 92, 130, 130, 185, 130,
2605
+ 177, 121, 178, 94, 168, 122, 169, 185, 122, 169, 176, 168, 162, 122, 122, 163,
2606
+ 161, 168, 122, 185, 161, 161, 164, 168, 168, 161, 122, 168, 176, 169, 162, 166,
2607
+ 164, 176, 160, 168, 180, 177, 122, 122, 177, 176, 168, 168, 177, 163, 191, 169,
2608
+ 122, 185, 168, 160, 169, 162, 113, 168, 160, 161, 168, 130, 183, 92, 94, 92,
2609
+ 130, 92, 130, 170, 130, 94, 168, 96, 160, 161, 166, 163, 96, 168, 169, 122,
2610
+ 185, 122, 177, 169, 168, 191, 177, 96, 142, 178, 161, 177, 166, 162, 122, 179,
2611
+ 178, 176, 92, 96, 122, 178, 122, 182, 168, 174, 176, 168, 181, 177, 168, 121,
2612
+ 166, 177, 168, 198, 161, 96, 122, 142, 164, 161, 164, 162, 169, 172, 188, 97,
2613
+ 162, 176, 168, 121, 176, 185, 176, 130, 161, 94, 96, 160, 130, 130, 130, 92,
2614
+ 92, 160, 160, 160, 92, 185, 185, 185, 130, 94, 161, 169, 122, 168, 169, 177,
2615
+ 122, 166, 176, 169, 122, 161, 193, 122, 166, 122, 122, 169, 168, 168, 177, 166,
2616
+ 94, 166, 177, 177, 176, 168, 161, 164, 122, 122, 121, 161, 122, 122, 181, 169,
2617
+ 161, 168, 168, 177, 177, 168, 168, 122, 178, 198, 121, 121, 121, 177, 121, 161,
2618
+ 153, 96, 171, 96, 160, 185, 113, 130, 92, 170, 160, 96, 94, 130, 130, 177,
2619
+ 168, 163, 168, 177, 167, 122, 171, 121, 168, 176, 168, 177, 166, 185, 171, 168,
2620
+ 168, 176, 166, 176, 165, 168, 185, 163, 182, 168, 121, 177, 122, 185, 163, 122,
2621
+ 92, 96, 177, 122, 122, 96, 96, 97, 96, 177, 179, 130, 170, 92, 161, 96,
2622
+ 160, 94, 185, 130, 161, 170, 171, 169, 161, 178, 168, 160, 168, 122, 122, 177,
2623
+ 96, 185, 168, 161, 168, 163, 121, 161, 176, 122, 162, 161, 185, 171, 176, 166,
2624
+ 171, 163, 177, 168, 121, 168, 142, 121, 184, 162, 92, 169, 168, 168, 179, 96,
2625
+ 160, 94, 160, 170, 130, 94, 161, 185, 161, 142, 168, 161, 166, 179, 97, 121,
2626
+ 171, 184, 122, 177, 122, 177, 122, 163, 178, 176, 168, 176, 162, 177, 168, 176,
2627
+ 177, 177, 178, 182, 164, 168, 177, 161, 168, 177, 168, 164, 167, 174, 169, 163,
2628
+ 172, 161, 160, 126, 174, 92, 161, 96, 185, 96, 168, 113, 130, 94, 177, 161,
2629
+ 177, 163, 176, 177, 169, 97, 177, 161, 122, 176, 169, 122, 169, 177, 168, 171,
2630
+ 168, 176, 177, 168, 121, 162, 96, 168, 142, 97, 153, 179, 170, 161, 168, 168,
2631
+ 142, 168, 168, 168, 177, 176, 165, 142, 162, 160, 172, 182, 177, 168, 96, 169,
2632
+ 97, 161, 160, 185, 181, 171, 161, 168, 168, 177, 177, 161, 168, 177, 163, 163,
2633
+ 181, 94, 113, 130, 94, 121, 177, 177, 171, 162, 168, 177, 191, 177, 121, 179,
2634
+ 161, 182, 168, 177, 121, 168, 142, 176, 161, 160, 161, 161, 122, 168, 177, 94,
2635
+ 142, 142, 142, 178, 161, 177, 168, 161, 142, 171, 190, 177, 171, 191, 113, 162,
2636
+ 162, 121, 161, 178, 185, 92, 94, 167, 181, 162, 122, 122, 162, 176, 122, 166,
2637
+ 122, 166, 170, 181, 176, 177, 164, 177, 162, 161, 97, 176, 161, 174, 178, 160,
2638
+ 122, 174, 181, 181, 130, 130, 164, 177, 161, 165, 122, 161, 161, 175, 130, 169,
2639
+ 172, 177, 177, 122, 122, 161, 130, 177, 122, 169, 166, 121, 177, 121, 161, 181,
2640
+ 92, 162, 121, 121, 168, 163, 121, 161, 121, 92, 177, 177, 167, 163, 168, 122,
2641
+ 177, 161, 177, 166, 164, 162, 113, 181, 122, 176, 166, 92, 176, 122, 166, 176,
2642
+ 122, 161, 160, 176, 177, 161, 161, 113, 113, 130, 130, 122, 161, 164, 176, 163,
2643
+ 122, 168, 186, 160, 161, 177, 163, 122, 161, 168, 122, 168, 166, 190, 122, 169,
2644
+ 122, 122, 177, 161, 160, 161, 161, 179, 161, 161, 130, 170, 130, 130, 130, 179,
2645
+ 130, 122, 177, 161, 122, 164, 122, 163, 166, 169, 122, 166, 92, 166, 204, 166,
2646
+ 191, 177, 168, 166, 177, 191, 185, 176, 161, 162, 182, 166, 190, 168, 182, 172,
2647
+ 168, 164, 122, 176, 130, 130, 130, 92, 205, 113, 160, 122, 166, 160, 161, 168,
2648
+ 160, 161, 173, 122, 177, 177, 161, 177, 168, 177, 177, 185, 163, 177, 177, 177,
2649
+ 122, 174, 122, 122, 167, 168, 173, 174, 164, 206, 153, 130, 164, 130, 96, 92,
2650
+ 113, 92, 130, 113, 170, 168, 168, 161, 166, 168, 168, 160, 168, 177, 160, 168,
2651
+ 181, 168, 96, 122, 160, 161, 178, 191, 193, 161, 161, 122, 177, 161, 122, 166,
2652
+ 168, 161, 167, 113, 169, 166, 113, 94, 130, 130, 130, 161, 178, 174, 163, 122,
2653
+ 122, 177, 168, 178, 176, 168, 163, 177, 161, 177, 161, 92, 168, 166, 168, 179,
2654
+ 191, 168, 168, 168, 165, 177, 177, 121, 166, 122, 122, 168, 180, 166, 163, 164,
2655
+ 165, 168, 122, 163, 177, 121, 122, 185, 191, 188, 121, 167, 177, 166, 168, 161,
2656
+ 168, 130, 160, 161, 168, 202, 92, 92, 161, 167, 161, 177, 168, 142, 192, 164,
2657
+ 176, 122, 160, 168, 122, 168, 163, 191, 168, 168, 122, 161, 168, 177, 168, 121,
2658
+ 122, 121, 177, 168, 121, 122, 168, 168, 168, 177, 198, 168, 161, 178, 161, 177,
2659
+ 153, 113, 92, 92, 170, 161, 92, 160, 168, 177, 121, 121, 176, 166, 168, 191,
2660
+ 164, 122, 142, 168, 122, 177, 161, 121, 122, 178, 121, 168, 160, 168, 122, 163,
2661
+ 161, 204, 121, 168, 191, 185, 161, 164, 177, 172, 161, 169, 179, 97, 92, 168,
2662
+ 113, 168, 172, 160, 168, 121, 168, 161, 164, 121, 168, 168, 191, 97, 122, 177,
2663
+ 176, 166, 168, 122, 161, 122, 168, 177, 177, 192, 171, 168, 164, 164, 168, 177,
2664
+ 177, 168, 173, 122, 177, 161, 164, 181, 168, 170, 170, 161, 121, 177, 129, 122,
2665
+ 177, 177, 164, 168, 161, 168, 171, 160, 122, 190, 160, 178, 168, 161, 121, 168,
2666
+ 160, 177, 164, 121, 161, 160, 94, 161, 113, 113, 180, 198, 166, 168, 121, 168,
2667
+ 161, 122, 177, 161, 164, 122, 168, 121, 177, 168, 181, 94, 113, 164, 188, 168,
2668
+ 164, 122, 177, 121, 177, 122, 177, 113, 121, 121, 177, 168, 172, 177, 121, 121,
2669
+ 160, 162, 171, 168, 122, 113, 161, 168, 168, 171, 92, 122, 122, 92, 184, 121,
2670
+ 175, 181, 172, 174, 168, 161, 130, 181, 92, 122, 121, 198, 178, 121, 168, 168,
2671
+ 161, 161, 175, 168, 179, 163, 177, 170, 161, 181, 172, 164, 177, 185, 168, 122,
2672
+ 181, 160, 177, 162, 190, 122, 122, 168, 181, 122, 122, 113, 122, 162, 92, 179,
2673
+ 97, 162, 121, 164, 176, 169, 161, 122, 162, 122, 122, 122, 178, 122, 122, 166,
2674
+ 164, 122, 172, 162, 179, 162, 164, 122, 169, 130, 130, 92, 185, 161, 121, 162,
2675
+ 168, 130, 130, 162, 122, 168, 162, 122, 122, 122, 168, 173, 161, 161, 122, 122,
2676
+ 121, 122, 164, 177, 122, 122, 130, 122, 169, 162, 122, 164, 168, 164, 164, 162,
2677
+ 122, 177, 122, 164, 161, 187, 161, 121, 181, 142, 121, 191, 196, 188, 121, 162,
2678
+ 168, 168, 177, 122, 122, 163, 176, 168, 122, 176, 161, 177, 177, 122, 168, 168,
2679
+ 168, 169, 122, 122, 122, 168, 173, 130, 130, 160, 122, 162, 164, 169, 177, 168,
2680
+ 168, 92, 176, 122, 160, 162, 122, 192, 168, 122, 160, 181, 161, 142, 96, 163,
2681
+ 168, 168, 168, 169, 176, 122, 168, 177, 122, 130, 130, 130, 198, 164, 176, 176,
2682
+ 163, 168, 167, 171, 168, 168, 168, 163, 160, 122, 177, 122, 177, 168, 122, 161,
2683
+ 168, 177, 161, 191, 163, 97, 122, 168, 177, 198, 176, 122, 168, 171, 168, 168,
2684
+ 122, 122, 176, 122, 122, 161, 168, 173, 96, 198, 122, 168, 122, 192, 177, 164,
2685
+ 168, 168, 161, 176, 177, 169, 121, 164, 122, 168, 121, 172, 129, 168, 191, 163,
2686
+ 160, 177, 177, 168, 177, 168, 178, 177, 203, 179, 168, 122, 168, 168, 168, 122,
2687
+ 177, 122, 160, 122, 189, 130, 130, 130, 130, 169, 168, 160, 176, 163, 162, 168,
2688
+ 161, 122, 163, 176, 161, 168, 168, 168, 122, 168, 181, 126, 122, 161, 177, 122,
2689
+ 122, 160, 161, 176, 163, 122, 161, 182, 162, 122, 163, 160, 160, 177, 168, 181,
2690
+ 162, 173, 130, 168, 130, 178, 122, 168, 168, 168, 161, 161, 122, 160, 168, 161,
2691
+ 169, 121, 168, 168, 177, 163, 122, 177, 177, 122, 96, 161, 177, 168, 161, 161,
2692
+ 177, 168, 168, 168, 160, 166, 168, 168, 168, 160, 122, 168, 168, 168, 177, 168,
2693
+ 168, 160, 122, 163, 168, 177, 121, 166, 160, 168, 169, 160, 178, 177, 160, 161,
2694
+ 168, 160, 92, 161, 130, 173, 130, 176, 168, 160, 166, 177, 168, 168, 163, 169,
2695
+ 161, 160, 160, 168, 168, 161, 160, 161, 160, 161, 168, 177, 168, 161, 168, 168,
2696
+ 177, 160, 122, 177, 168, 168, 163, 168, 161, 163, 122, 122, 177, 168, 177, 177,
2697
+ 163, 160, 177, 161, 195, 168, 168, 171, 161, 168, 173, 160, 177, 92, 168, 168,
2698
+ 168, 177, 176, 176, 168, 166, 168, 168, 166, 168, 177, 177, 142, 142, 169, 177,
2699
+ 168, 122, 122, 160, 191, 161, 177, 168, 177, 122, 168, 178, 122, 168, 160, 163,
2700
+ 181, 161, 130, 160, 130, 168, 169, 142, 96, 168, 177, 168, 166, 168, 168, 168,
2701
+ 166, 122, 168, 169, 160, 177, 122, 161, 168, 122, 177, 185, 168, 168, 177, 161,
2702
+ 160, 130, 94, 168, 168, 171, 177, 168, 168, 168, 172, 142, 161, 177, 160, 168,
2703
+ 164, 177, 168, 168, 161, 194, 161, 168, 171, 122, 161, 121, 121, 160, 161, 168,
2704
+ 168, 160, 161, 168, 168, 161, 165, 166, 161, 177, 168, 177, 161, 171, 168, 160,
2705
+ 168, 177, 181, 168, 97, 177, 168, 168, 168, 161, 121, 160, 178, 177, 168, 168,
2706
+ 142, 161, 167, 161, 176, 161, 113, 173, 171, 161, 161, 161, 168, 168, 178, 168,
2707
+ 122, 182, 161, 121, 160, 178, 160, 168, 168, 161, 160, 177, 177, 168, 168, 160,
2708
+ 122, 122, 162, 96, 122, 122, 177, 122, 122, 130, 122, 169, 122, 122, 162, 122,
2709
+ 161, 92, 185, 122, 122, 167, 175, 161, 182, 122, 173, 121, 185, 94, 177, 162,
2710
+ 122, 122, 168, 169, 160, 122, 160, 168, 121, 161, 122, 168, 193, 176, 164, 171,
2711
+ 175, 166, 160, 169, 166, 122, 164, 122, 122, 122, 162, 122, 122, 181, 177, 122,
2712
+ 182, 162, 168, 192, 164, 165, 204, 122, 122, 122, 122, 122, 122, 175, 179, 172,
2713
+ 130, 130, 122, 122, 122, 122, 122, 168, 177, 162, 170, 173, 191, 177, 121, 162,
2714
+ 122, 162, 162, 122, 122, 122, 122, 164, 122, 122, 162, 161, 164, 130, 130, 122,
2715
+ 191, 177, 122, 198, 122, 122, 122, 122, 161, 113, 168, 168, 122, 177, 168, 162,
2716
+ 122, 168, 122, 122, 180, 160, 177, 193, 177, 177, 164, 181, 161, 184, 122, 122,
2717
+ 177, 122, 121, 168, 122, 122, 121, 121, 122, 121, 168, 121, 126, 92, 122, 191,
2718
+ 169, 177, 168, 172, 162, 121, 121, 161, 122, 173, 122, 130, 130, 164, 181, 175,
2719
+ 161, 122, 113, 168, 122, 172, 184, 121, 121, 122, 122, 121, 177, 121, 121, 122,
2720
+ 168, 122, 168, 172, 179, 185, 122, 162, 173, 195, 169, 161, 170, 130, 163, 177,
2721
+ 172, 161, 169, 182, 122, 185, 162, 130, 180, 162, 168, 164, 176, 113, 162, 161,
2722
+ 177, 122, 162, 168, 130, 162, 164, 97, 122, 122, 122, 165, 122, 184, 122, 122,
2723
+ 122, 169, 130, 92, 168, 122, 121, 168, 122, 179, 175, 122, 168, 121, 122, 169,
2724
+ 169, 122, 161, 172, 168, 122, 168, 161, 97, 166, 162, 195, 171, 97, 175, 161,
2725
+ 122, 184, 188, 166, 121, 122, 130, 177, 171, 177, 168, 161, 121, 177, 167, 122,
2726
+ 162, 122, 92, 168, 177, 162, 113, 161, 161, 122, 166, 177, 177, 162, 168, 130,
2727
+ 161, 130, 130, 92, 161, 160, 168, 162, 166, 168, 177, 168, 169, 185, 161, 177,
2728
+ 122, 122, 177, 168, 169, 168, 130, 130, 130, 170, 170, 130, 179, 177, 160, 177,
2729
+ 177, 121, 166, 166, 168, 168, 177, 168, 178, 122, 177, 122, 165, 185, 168, 168,
2730
+ 168, 122, 162, 122, 164, 192, 178, 122, 122, 161, 193, 181, 113, 130, 200, 130,
2731
+ 183, 179, 94, 92, 130, 113, 168, 178, 168, 177, 168, 166, 168, 161, 168, 168,
2732
+ 168, 160, 176, 168, 168, 161, 168, 177, 168, 122, 168, 168, 161, 164, 168, 168,
2733
+ 200, 184, 161, 92, 130, 179, 173, 92, 122, 172, 169, 161, 168, 169, 177, 198,
2734
+ 122, 177, 162, 161, 188, 161, 121, 168, 168, 168, 181, 122, 161, 121, 161, 168,
2735
+ 168, 171, 130, 130, 92, 92, 176, 122, 161, 161, 161, 178, 168, 191, 122, 168,
2736
+ 160, 121, 177, 161, 122, 172, 122, 121, 172, 121, 178, 169, 161, 168, 185, 178,
2737
+ 168, 161, 142, 177, 176, 168, 166, 190, 168, 122, 161, 162, 160, 130, 185, 160,
2738
+ 168, 177, 168, 168, 176, 168, 168, 168, 168, 177, 168, 161, 168, 166, 179, 177,
2739
+ 168, 168, 177, 177, 161, 168, 163, 96, 163, 168, 166, 165, 122, 161, 178, 161,
2740
+ 121, 177, 178, 161, 92, 177, 94, 160, 130, 177, 92, 179, 113, 130, 168, 162,
2741
+ 164, 162, 177, 168, 164, 168, 161, 168, 168, 122, 162, 185, 165, 164, 161, 122,
2742
+ 182, 168, 168, 113, 170, 161, 113, 168, 161, 177, 177, 161, 168, 168, 177, 177,
2743
+ 168, 177, 167, 164, 142, 94, 168, 121, 177, 168, 177, 198, 181, 168, 160, 161,
2744
+ 181, 161, 177, 177, 171, 177, 161, 168, 161, 166, 168, 164, 168, 122, 168, 177,
2745
+ 191, 168, 180, 161, 160, 161, 161, 177, 168, 168, 194, 163, 178, 168, 178, 168,
2746
+ 177, 168, 177, 161, 177, 168, 160, 167, 188, 163, 121, 161, 121, 121, 161, 161,
2747
+ 168, 160, 168, 177, 161, 130, 168, 177, 161, 142, 161, 177, 181, 122, 162, 168,
2748
+ 164, 168, 121, 181, 97, 168, 121, 160, 177, 162, 92, 175, 92, 122, 122, 168,
2749
+ 177, 122, 129, 181, 164, 122, 122, 122, 122, 206, 92, 122, 92, 92, 122, 130,
2750
+ 168, 122, 122, 122, 122, 172, 161, 122, 162, 177, 161, 181, 92, 122, 122, 168,
2751
+ 164, 130, 122, 122, 168, 130, 122, 162, 173, 160, 168, 172, 122, 162, 168, 130,
2752
+ 130, 122, 163, 161, 166, 176, 122, 168, 176, 165, 169, 122, 130, 122, 161, 171,
2753
+ 177, 168, 168, 168, 168, 121, 130, 130, 177, 168, 161, 121, 161, 122, 174, 181,
2754
+ 181, 130, 164, 121, 168, 164, 121, 169, 122, 161, 161, 130, 130, 122, 177, 183,
2755
+ 121, 168, 179, 142, 165, 122, 161, 196, 160, 162, 168, 177, 122, 168, 178, 168,
2756
+ 162, 162, 161, 168, 169, 122, 162, 142, 177, 168, 161, 176, 177, 168, 174, 121,
2757
+ 168, 122, 122, 121, 113, 161, 168, 168, 177, 168, 177, 171, 177, 177, 177, 168,
2758
+ 177, 161, 122, 122, 122, 178, 169, 195, 122, 121, 175, 122, 122, 122, 121, 175,
2759
+ 166, 181, 168, 172, 165, 161, 170, 122, 168, 168, 122, 166, 168, 168, 162, 122,
2760
+ 173, 130, 161, 130, 130, 122, 169, 122, 161, 173, 122, 168, 122, 161, 130, 130,
2761
+ 122, 161, 177, 168, 177, 166, 122, 122, 177, 161, 177, 121, 177, 122, 168, 161,
2762
+ 168, 177, 168, 166, 168, 122, 122, 122, 122, 185, 161, 161, 92, 163, 190, 164,
2763
+ 161, 142, 121, 113, 97, 168, 177, 168, 121, 122, 122, 177, 177, 160, 177, 181,
2764
+ 198, 166, 166, 122, 177, 177, 122, 168, 168, 168, 121, 165, 177, 142, 177, 121,
2765
+ 121, 178, 121, 121, 92, 177, 168, 168, 167, 178, 173, 162, 121, 161, 168, 168,
2766
+ 181, 178, 168, 121, 175, 161, 122, 122, 172, 160, 122, 198, 172, 161, 169, 169,
2767
+ 130, 122, 166, 184, 122, 168, 164, 177, 176, 113, 122, 169, 172, 172, 163, 122,
2768
+ 113, 199, 97, 122, 121, 122, 113, 122, 122, 162, 168, 122, 162, 177, 161, 122,
2769
+ 130, 164, 177, 177, 177, 175, 122, 122, 177, 122, 130, 162, 162, 169, 177, 184,
2770
+ 177, 122, 161, 168, 164, 121, 177, 142, 178, 173, 207, 164, 122, 162, 181, 162,
2771
+ 166, 113, 161, 168, 177, 162, 97, 162, 121, 168, 121, 168, 121, 163, 121, 168,
2772
+ 174, 172, 173, 184, 177, 173, 165, 122, 166, 121, 161, 204, 153, 208, 134, 92,
2773
+ 164, 175, 122, 163, 176, 97, 199, 191, 92, 122, 122, 121, 122, 122, 161, 177,
2774
+ 122, 122, 163, 167, 177, 162, 168, 122, 177, 122, 162, 170, 122, 177, 177, 121,
2775
+ 122, 122, 167, 172, 184, 122, 168, 122, 169, 176, 122, 122, 122, 164, 161, 164,
2776
+ 122, 121, 122, 181, 161, 130, 177, 122, 122, 122, 161, 168, 176, 162, 121, 168,
2777
+ 121, 122, 162, 92, 182, 168, 168, 163, 122, 121, 122, 177, 171, 167, 122, 177,
2778
+ 162, 182, 168, 181, 181, 129, 168, 129, 164, 121, 160, 168, 167, 122, 168, 168,
2779
+ 168, 168, 161, 122, 90, 122, 130, 164, 164, 166, 161, 162, 122, 122, 161, 185,
2780
+ 166, 166, 166, 164, 177, 168, 122, 122, 122, 122, 161, 160, 181, 169, 177, 160,
2781
+ 122, 166, 162, 168, 167, 168, 161, 173, 177, 164, 176, 122, 164, 166, 166, 177,
2782
+ 181, 169, 164, 177, 168, 122, 164, 168, 169, 161, 177, 167, 164, 122, 173, 122,
2783
+ 185, 130, 130, 130, 130, 130, 130, 164, 161, 168, 166, 168, 168, 166, 169, 122,
2784
+ 178, 168, 122, 177, 176, 169, 122, 177, 164, 167, 177, 169, 165, 122, 168, 162,
2785
+ 122, 122, 168, 160, 177, 122, 167, 122, 122, 169, 122, 169, 168, 177, 168, 122,
2786
+ 161, 172, 168, 177, 168, 176, 161, 168, 92, 168, 113, 170, 130, 161, 92, 130,
2787
+ 177, 165, 165, 122, 168, 168, 142, 177, 164, 177, 172, 184, 177, 122, 161, 161,
2788
+ 122, 164, 186, 168, 177, 122, 164, 162, 168, 122, 167, 168, 161, 192, 168, 178,
2789
+ 181, 164, 122, 122, 122, 121, 168, 166, 122, 122, 122, 169, 122, 122, 168, 122,
2790
+ 122, 162, 168, 173, 161, 172, 130, 153, 130, 130, 130, 130, 173, 130, 163, 176,
2791
+ 168, 178, 162, 167, 169, 126, 177, 168, 177, 122, 177, 181, 122, 122, 177, 92,
2792
+ 168, 162, 167, 164, 122, 177, 122, 178, 164, 161, 122, 165, 168, 166, 163, 122,
2793
+ 122, 161, 177, 122, 193, 162, 184, 198, 176, 181, 181, 130, 130, 130, 161, 130,
2794
+ 191, 166, 122, 198, 122, 142, 121, 177, 122, 168, 168, 176, 122, 121, 177, 168,
2795
+ 168, 168, 162, 168, 177, 122, 169, 121, 177, 177, 166, 176, 168, 168, 177, 177,
2796
+ 161, 122, 161, 178, 177, 176, 161, 160, 169, 177, 122, 177, 122, 166, 163, 122,
2797
+ 122, 121, 177, 172, 168, 164, 96, 175, 187, 179, 161, 130, 130, 130, 173, 130,
2798
+ 122, 121, 177, 122, 169, 177, 122, 178, 177, 122, 122, 121, 177, 163, 168, 168,
2799
+ 169, 122, 162, 178, 168, 168, 122, 163, 122, 122, 177, 168, 163, 122, 122, 122,
2800
+ 177, 164, 171, 177, 177, 122, 177, 162, 168, 163, 122, 121, 171, 168, 164, 122,
2801
+ 173, 181, 164, 96, 130, 161, 130, 122, 178, 168, 164, 166, 178, 92, 168, 168,
2802
+ 193, 164, 168, 161, 121, 162, 177, 188, 161, 162, 161, 168, 196, 172, 121, 122,
2803
+ 168, 177, 198, 161, 121, 177, 177, 121, 122, 177, 165, 121, 122, 142, 169, 168,
2804
+ 160, 130, 168, 180, 168, 122, 168, 161, 121, 198, 142, 168, 160, 122, 177, 121,
2805
+ 163, 168, 122, 121, 203, 178, 168, 122, 122, 161, 168, 121, 177, 92, 121, 172,
2806
+ 122, 178, 177, 178, 178, 169, 121, 122, 164, 168, 168, 164, 171, 203, 121, 162,
2807
+ 177, 193, 121, 177, 162, 161, 161, 172, 161, 168, 121, 166, 168, 177, 122, 161,
2808
+ 121, 121, 177, 177, 122, 160, 178, 164, 193, 198, 121, 168, 163, 166, 161, 177,
2809
+ 162, 168, 168, 161, 121, 162, 161, 122, 166, 122, 177, 121, 122, 177, 121, 168,
2810
+ 168, 168, 121, 168, 168, 168, 121, 179, 177, 163, 180, 161, 177, 161, 122, 168,
2811
+ 163, 177, 176, 180, 161, 168, 178, 121, 122, 121, 122, 122, 178, 142, 164, 163,
2812
+ 172, 130, 130, 160, 130, 162, 168, 92, 168, 161, 160, 161, 164, 164, 177, 177,
2813
+ 168, 162, 163, 142, 168, 177, 122, 177, 168, 177, 168, 168, 162, 177, 168, 162,
2814
+ 168, 168, 121, 161, 113, 96, 121, 121, 121, 168, 121, 168, 121, 178, 142, 122,
2815
+ 121, 177, 161, 177, 177, 161, 130, 191, 122, 178, 122, 130, 122, 122, 122, 173,
2816
+ 122, 122, 122, 164, 178, 176, 122, 130, 173, 168, 122, 169, 162, 113, 181, 122,
2817
+ 177, 122, 176, 177, 185, 185, 113, 177, 161, 177, 122, 177, 179, 168, 122, 181,
2818
+ 121, 195, 142, 169, 122, 161, 126, 179, 181, 163, 168, 181, 161, 166, 129, 122,
2819
+ 122, 122, 177, 166, 162, 161, 177, 122, 122, 122, 168, 122, 90, 122, 169, 161,
2820
+ 177, 176, 176, 122, 176, 113, 162, 161, 122, 168, 177, 169, 177, 161, 178, 161,
2821
+ 178, 168, 168, 169, 177, 168, 185, 173, 153, 130, 130, 130, 130, 176, 122, 176,
2822
+ 185, 180, 168, 176, 168, 161, 122, 168, 161, 122, 177, 168, 122, 177, 169, 122,
2823
+ 122, 168, 172, 178, 122, 160, 97, 168, 168, 122, 122, 161, 168, 164, 177, 177,
2824
+ 182, 122, 122, 169, 178, 122, 169, 122, 122, 161, 130, 199, 181, 160, 181, 130,
2825
+ 130, 130, 130, 161, 170, 173, 163, 161, 176, 168, 168, 122, 169, 168, 168, 168,
2826
+ 168, 122, 161, 177, 168, 122, 177, 164, 168, 122, 164, 167, 122, 122, 177, 176,
2827
+ 161, 161, 122, 94, 176, 175, 169, 122, 122, 122, 167, 97, 122, 122, 176, 180,
2828
+ 122, 178, 122, 122, 122, 163, 190, 122, 122, 122, 176, 122, 122, 181, 161, 179,
2829
+ 181, 181, 130, 130, 161, 170, 130, 130, 130, 130, 164, 168, 122, 122, 122, 122,
2830
+ 168, 122, 177, 122, 176, 178, 167, 122, 168, 168, 168, 168, 176, 176, 122, 122,
2831
+ 168, 122, 169, 177, 164, 161, 92, 122, 169, 122, 162, 177, 178, 177, 185, 168,
2832
+ 177, 122, 92, 177, 168, 168, 176, 161, 182, 181, 130, 173, 92, 130, 130, 184,
2833
+ 130, 173, 130, 130, 130, 130, 92, 113, 169, 177, 176, 122, 168, 177, 160, 122,
2834
+ 161, 160, 185, 168, 168, 163, 177, 160, 168, 166, 122, 194, 177, 122, 121, 181,
2835
+ 168, 177, 176, 166, 177, 185, 176, 168, 168, 122, 177, 166, 122, 169, 176, 122,
2836
+ 122, 168, 164, 164, 177, 122, 168, 178, 177, 168, 168, 164, 181, 161, 130, 130,
2837
+ 161, 130, 130, 130, 160, 177, 164, 122, 121, 169, 161, 142, 163, 166, 165, 168,
2838
+ 168, 176, 121, 161, 164, 177, 169, 122, 177, 160, 122, 122, 177, 177, 161, 193,
2839
+ 169, 168, 166, 121, 171, 168, 161, 166, 122, 122, 166, 160, 122, 168, 167, 169,
2840
+ 166, 168, 122, 161, 177, 162, 122, 168, 122, 171, 162, 121, 168, 168, 177, 178,
2841
+ 122, 121, 122, 169, 177, 122, 162, 122, 122, 122, 122, 178, 169, 166, 166, 177,
2842
+ 185, 168, 181, 130, 202, 113, 161, 130, 130, 94, 173, 113, 130, 177, 167, 161,
2843
+ 121, 163, 168, 178, 165, 177, 122, 168, 177, 169, 168, 168, 168, 96, 166, 122,
2844
+ 122, 163, 169, 177, 162, 177, 122, 168, 168, 168, 121, 121, 177, 168, 179, 168,
2845
+ 166, 122, 160, 169, 168, 177, 160, 168, 168, 169, 176, 168, 162, 129, 121, 168,
2846
+ 168, 168, 166, 177, 122, 177, 165, 195, 174, 171, 181, 94, 94, 130, 160, 130,
2847
+ 130, 130, 130, 161, 92, 130, 142, 160, 161, 177, 177, 185, 185, 121, 168, 122,
2848
+ 166, 161, 177, 169, 190, 168, 121, 121, 177, 161, 168, 185, 122, 161, 176, 168,
2849
+ 166, 185, 191, 168, 177, 177, 167, 168, 178, 164, 176, 168, 122, 122, 168, 177,
2850
+ 177, 161, 160, 168, 169, 177, 142, 168, 160, 168, 186, 160, 161, 176, 121, 166,
2851
+ 168, 185, 113, 168, 130, 130, 173, 173, 130, 161, 130, 177, 161, 168, 178, 164,
2852
+ 168, 171, 176, 177, 176, 161, 161, 161, 122, 168, 182, 177, 177, 177, 185, 171,
2853
+ 191, 177, 161, 162, 161, 168, 168, 169, 168, 122, 161, 168, 168, 176, 168, 121,
2854
+ 168, 160, 168, 177, 177, 168, 178, 168, 122, 129, 122, 171, 160, 177, 161, 168,
2855
+ 161, 161, 185, 181, 130, 166, 161, 176, 121, 168, 168, 168, 168, 160, 161, 177,
2856
+ 171, 209, 122, 121, 161, 169, 185, 168, 177, 176, 121, 164, 168, 177, 122, 177,
2857
+ 168, 164, 97, 177, 122, 121, 177, 161, 164, 169, 161, 121, 176, 122, 122, 160,
2858
+ 122, 168, 121, 171, 160, 130, 160, 130, 130, 181, 130, 121, 169, 177, 171, 171,
2859
+ 179, 121, 169, 168, 188, 122, 161, 121, 161, 177, 188, 171, 162, 122, 190, 168,
2860
+ 166, 164, 122, 160, 121, 164, 168, 166, 122, 168, 121, 168, 161, 94, 130, 161,
2861
+ 142, 198, 122, 178, 166, 193, 122, 198, 168, 177, 163, 168, 121, 171, 161, 178,
2862
+ 171, 142, 121, 168, 121, 162, 181, 171, 168, 161, 121, 171, 168, 178, 121, 177,
2863
+ 122, 177, 92, 168, 191, 181, 97, 168, 164, 166, 163, 161, 168, 168, 168, 171,
2864
+ 168, 160, 130, 177, 171, 168, 177, 168, 122, 171, 161, 177, 142, 121, 163, 163,
2865
+ 168, 168, 177, 121, 142, 185, 177, 161, 161, 177, 121, 122, 121, 168, 166, 122,
2866
+ 94, 164, 168, 168, 175, 175, 122, 180, 122, 122, 162, 122, 162, 177, 122, 122,
2867
+ 161, 168, 161, 177, 161, 122, 168, 162, 122, 176, 168, 161, 130, 198, 195, 122,
2868
+ 162, 122, 162, 168, 171, 169, 122, 121, 142, 169, 161, 130, 168, 169, 122, 163,
2869
+ 164, 161, 122, 122, 168, 168, 122, 177, 168, 92, 168, 174, 122, 203, 161, 168,
2870
+ 184, 161, 122, 168, 122, 121, 168, 122, 121, 168, 177, 168, 168, 162, 183, 168,
2871
+ 168, 177, 121, 121, 168, 193, 94, 122, 172, 172, 162, 173, 165, 161, 181, 92,
2872
+ 122, 122, 177, 130, 168, 171, 168, 122, 162, 122, 161, 122, 122, 177, 168, 122,
2873
+ 177, 122, 168, 162, 122, 122, 164, 122, 168, 130, 168, 122, 121, 184, 177, 122,
2874
+ 122, 92, 177, 177, 162, 160, 168, 121, 168, 122, 161, 168, 122, 122, 160, 177,
2875
+ 92, 122, 177, 167, 167, 122, 167, 161, 162, 164, 161, 122, 122, 168, 176, 122,
2876
+ 177, 160, 165, 168, 182, 92, 176, 122, 162, 113, 168, 178, 161, 168, 168, 177,
2877
+ 186, 178, 169, 203, 161, 122, 122, 184, 122, 122, 161, 161, 122, 122, 185, 185,
2878
+ 166, 122, 177, 168, 191, 177, 173, 130, 92, 164, 122, 180, 194, 194, 164, 193,
2879
+ 176, 161, 169, 167, 177, 168, 122, 121, 177, 191, 122, 168, 122, 177, 122, 122,
2880
+ 194, 191, 177, 122, 122, 190, 162, 161, 160, 130, 161, 161, 178, 166, 193, 122,
2881
+ 122, 177, 177, 163, 171, 122, 177, 122, 122, 164, 162, 177, 164, 122, 177, 122,
2882
+ 193, 190, 168, 177, 165, 167, 165, 164, 161, 177, 194, 195, 184, 92, 130, 113,
2883
+ 164, 122, 121, 122, 198, 171, 164, 168, 160, 121, 177, 186, 176, 161, 164, 122,
2884
+ 161, 177, 169, 170, 130, 130, 130, 174, 162, 191, 96, 191, 177, 121, 121, 165,
2885
+ 164, 166, 178, 160, 122, 194, 122, 198, 122, 196, 177, 193, 177, 161, 122, 122,
2886
+ 169, 168, 168, 193, 122, 162, 122, 190, 191, 177, 122, 177, 177, 160, 176, 164,
2887
+ 177, 181, 130, 113, 122, 94, 168, 122, 121, 121, 168, 177, 166, 171, 198, 161,
2888
+ 191, 122, 163, 161, 168, 168, 122, 122, 121, 177, 163, 162, 164, 122, 92, 177,
2889
+ 191, 168, 121, 92, 163, 161, 181, 130, 96, 168, 168, 121, 161, 163, 122, 168,
2890
+ 168, 171, 191, 203, 122, 177, 160, 168, 142, 122, 168, 191, 181, 168, 165, 163,
2891
+ 177, 181, 162, 164, 121, 161, 126, 121, 177, 121, 168, 168, 177, 160, 163, 177,
2892
+ 161, 161, 168, 92, 164, 161, 121, 161, 168, 122, 178, 166, 122, 122, 168, 164,
2893
+ 121, 161, 161, 168, 168, 161, 122, 161, 177, 169, 92, 177, 171, 168, 177, 161,
2894
+ 122, 94, 122, 122, 122, 181, 168, 122, 121, 122, 197, 162, 122, 113, 122, 122,
2895
+ 122, 168, 160, 121, 168, 177, 161, 162, 122, 122, 185, 122, 160, 122, 163, 178,
2896
+ 185, 161, 168, 177, 122, 122, 172, 122, 168, 164, 161, 122, 162, 122, 198, 122,
2897
+ 177, 168, 177, 168, 161, 160, 122, 121, 122, 92, 122, 122, 122, 122, 121, 173,
2898
+ 92, 122, 161, 177, 122, 96, 198, 181, 178, 168, 165, 168, 168, 122, 177, 178,
2899
+ 130, 113, 130, 130, 160, 177, 122, 177, 166, 122, 161, 168, 166, 168, 122, 122,
2900
+ 122, 122, 161, 122, 164, 177, 122, 97, 161, 178, 168, 161, 122, 177, 122, 122,
2901
+ 169, 175, 153, 113, 113, 184, 162, 94, 130, 130, 169, 161, 177, 122, 162, 122,
2902
+ 122, 121, 169, 122, 177, 122, 177, 122, 168, 168, 168, 191, 169, 168, 122, 122,
2903
+ 161, 166, 161, 168, 166, 178, 168, 122, 161, 122, 161, 122, 178, 168, 177, 193,
2904
+ 122, 177, 168, 188, 168, 122, 164, 122, 166, 177, 122, 162, 122, 122, 130, 168,
2905
+ 153, 113, 184, 173, 160, 130, 113, 130, 130, 113, 130, 130, 160, 130, 168, 122,
2906
+ 190, 163, 177, 165, 142, 166, 122, 165, 122, 178, 168, 177, 164, 162, 183, 160,
2907
+ 177, 167, 177, 166, 122, 177, 178, 161, 177, 177, 178, 168, 168, 168, 178, 122,
2908
+ 122, 122, 190, 122, 122, 161, 160, 163, 167, 176, 122, 168, 166, 122, 169, 168,
2909
+ 130, 162, 169, 168, 178, 96, 177, 178, 161, 122, 168, 168, 122, 168, 178, 122,
2910
+ 192, 122, 177, 122, 122, 121, 191, 177, 168, 163, 168, 196, 168, 130, 198, 169,
2911
+ 179, 160, 153, 153, 153, 173, 161, 130, 130, 130, 130, 130, 130, 94, 130, 130,
2912
+ 160, 130, 194, 122, 177, 161, 165, 122, 97, 164, 168, 160, 168, 166, 172, 177,
2913
+ 168, 122, 198, 161, 161, 168, 168, 164, 177, 169, 122, 178, 164, 177, 168, 191,
2914
+ 164, 177, 167, 166, 178, 168, 160, 179, 122, 122, 168, 177, 122, 122, 179, 162,
2915
+ 122, 122, 122, 122, 166, 176, 169, 160, 122, 185, 90, 168, 176, 178, 165, 168,
2916
+ 122, 122, 164, 122, 122, 174, 160, 162, 164, 181, 161, 162, 113, 153, 161, 113,
2917
+ 130, 130, 130, 202, 130, 170, 130, 202, 130, 130, 92, 166, 161, 194, 177, 177,
2918
+ 164, 177, 177, 161, 167, 177, 122, 167, 168, 177, 164, 177, 177, 168, 178, 121,
2919
+ 168, 122, 171, 169, 163, 122, 176, 168, 182, 168, 168, 168, 168, 113, 161, 165,
2920
+ 168, 168, 168, 122, 121, 161, 177, 122, 163, 161, 164, 178, 177, 121, 161, 121,
2921
+ 178, 188, 122, 177, 168, 164, 175, 122, 122, 177, 177, 168, 168, 122, 177, 122,
2922
+ 122, 121, 177, 122, 168, 122, 198, 161, 161, 172, 113, 162, 113, 94, 92, 92,
2923
+ 130, 161, 130, 160, 121, 193, 178, 168, 177, 122, 172, 122, 177, 122, 168, 164,
2924
+ 177, 177, 122, 177, 178, 122, 177, 121, 122, 162, 122, 161, 177, 177, 168, 121,
2925
+ 122, 178, 161, 169, 168, 164, 168, 121, 191, 168, 177, 177, 177, 164, 122, 178,
2926
+ 166, 166, 121, 168, 168, 176, 177, 168, 168, 122, 122, 171, 166, 177, 161, 161,
2927
+ 198, 175, 160, 160, 178, 122, 177, 168, 178, 163, 177, 167, 178, 122, 122, 178,
2928
+ 166, 177, 122, 177, 168, 168, 162, 177, 160, 113, 153, 153, 181, 92, 161, 130,
2929
+ 130, 113, 113, 113, 130, 178, 113, 183, 113, 161, 178, 92, 160, 130, 161, 168,
2930
+ 122, 164, 168, 177, 167, 177, 172, 168, 177, 167, 92, 177, 168, 165, 160, 165,
2931
+ 168, 168, 166, 160, 168, 177, 160, 161, 168, 177, 121, 168, 168, 161, 177, 168,
2932
+ 161, 168, 168, 121, 122, 198, 168, 192, 168, 180, 122, 171, 178, 169, 122, 168,
2933
+ 122, 198, 180, 190, 163, 177, 166, 160, 188, 177, 178, 122, 177, 121, 122, 180,
2934
+ 177, 166, 182, 172, 178, 121, 168, 122, 165, 122, 177, 177, 184, 181, 113, 162,
2935
+ 90, 113, 169, 168, 130, 160, 96, 130, 130, 130, 153, 92, 92, 166, 178, 161,
2936
+ 168, 178, 164, 168, 169, 122, 177, 168, 174, 168, 168, 122, 122, 161, 168, 160,
2937
+ 178, 177, 160, 97, 168, 191, 171, 165, 176, 168, 168, 176, 168, 176, 121, 177,
2938
+ 168, 167, 172, 168, 122, 168, 168, 176, 162, 168, 164, 122, 177, 168, 178, 178,
2939
+ 160, 122, 168, 121, 168, 164, 168, 113, 164, 168, 167, 121, 122, 121, 167, 168,
2940
+ 122, 163, 161, 142, 185, 160, 163, 162, 181, 178, 92, 130, 92, 113, 113, 130,
2941
+ 130, 160, 177, 161, 168, 177, 168, 178, 121, 160, 195, 178, 168, 169, 177, 164,
2942
+ 161, 177, 167, 171, 168, 162, 168, 168, 168, 172, 160, 180, 168, 122, 177, 165,
2943
+ 177, 171, 121, 182, 168, 142, 168, 168, 168, 168, 122, 172, 172, 168, 161, 177,
2944
+ 161, 188, 181, 121, 178, 177, 168, 165, 185, 121, 163, 178, 160, 177, 121, 122,
2945
+ 177, 122, 181, 121, 164, 168, 168, 168, 166, 181, 184, 153, 160, 160, 113, 130,
2946
+ 162, 130, 177, 160, 177, 122, 181, 164, 121, 121, 121, 177, 168, 122, 166, 177,
2947
+ 168, 168, 161, 161, 122, 163, 177, 169, 121, 177, 164, 121, 160, 168, 177, 168,
2948
+ 166, 177, 193, 203, 168, 177, 177, 160, 122, 122, 168, 166, 161, 168, 168, 121,
2949
+ 168, 122, 142, 161, 177, 170, 178, 177, 168, 168, 177, 126, 161, 168, 161, 168,
2950
+ 161, 174, 113, 162, 94, 92, 168, 161, 113, 130, 160, 92, 130, 161, 171, 178,
2951
+ 122, 177, 160, 177, 122, 168, 164, 177, 161, 191, 160, 162, 168, 180, 165, 160,
2952
+ 169, 166, 168, 168, 97, 168, 168, 122, 161, 160, 168, 177, 121, 163, 177, 177,
2953
+ 169, 168, 121, 121, 168, 177, 168, 160, 168, 130, 181, 174, 169, 168, 142, 171,
2954
+ 164, 163, 160, 121, 177, 160, 168, 168, 142, 168, 168, 121, 161, 177, 163, 164,
2955
+ 161, 181, 121, 121, 161, 168, 177, 168, 163, 182, 160, 168, 177, 168, 161, 168,
2956
+ 177, 178, 161, 121, 163, 164, 162, 161, 160, 168, 121, 121, 177, 171, 178, 178,
2957
+ 168, 168, 161, 161, 162, 97, 161, 177, 178, 161, 178, 168, 171, 161, 168, 168,
2958
+ 177, 177, 162, 168, 161, 161, 128, 92, 168, 168, 142, 121, 177, 164, 161, 161,
2959
+ 168, 161, 177, 177, 121, 153, 164, 164, 168, 177, 121, 168, 183, 161, 161, 177,
2960
+ 171, 177, 180, 168, 161, 92, 121, 177, 168, 168, 168, 164, 161, 172, 177, 113,
2961
+ 122, 122, 173, 122, 206, 168, 161, 184, 177, 161, 161, 164, 177, 168, 161, 177,
2962
+ 161, 168, 122, 168, 168, 163, 177, 167, 178, 167, 122, 177, 168, 121, 122, 177,
2963
+ 161, 168, 168, 167, 161, 168, 192, 122, 168, 169, 177, 168, 122, 177, 121, 161,
2964
+ 121, 168, 163, 181, 178, 168, 177, 160, 164, 169, 92, 178, 97, 164, 168, 121,
2965
+ 177, 121, 122, 122, 122, 129, 122, 176, 161, 181, 122, 164, 161, 168, 164, 172,
2966
+ 162, 161, 126, 181, 172, 162, 168, 126, 121, 169, 160, 122, 130, 162, 177, 121,
2967
+ 178, 179, 166, 122, 165, 162, 122, 130, 168, 122, 122, 184, 168, 167, 168, 168,
2968
+ 161, 168, 130, 130, 168, 178, 122, 177, 121, 168, 130, 166, 161, 161, 180, 177,
2969
+ 177, 173, 177, 177, 142, 168, 168, 168, 162, 162, 167, 178, 162, 177, 188, 121,
2970
+ 177, 113, 121, 167, 184, 122, 168, 122, 162, 162, 121, 181, 121, 177, 164, 122,
2971
+ 142, 207, 130, 177, 177, 122, 121, 168, 168, 177, 168, 122, 177, 122, 181, 129,
2972
+ 168, 161, 122, 122, 122, 130, 192, 129, 180, 130, 171, 122, 160, 161, 168, 113,
2973
+ 168, 174, 168, 177, 168, 161, 177, 177, 168, 161, 179, 122, 121, 161, 162, 169,
2974
+ 168, 162, 168, 167, 161, 130, 161, 177, 168, 166, 160, 168, 168, 96, 168, 177,
2975
+ 168, 168, 177, 168, 177, 176, 185, 130, 121, 177, 161, 168, 168, 166, 162, 122,
2976
+ 176, 122, 162, 122, 167, 185, 96, 113, 185, 166, 185, 169, 160, 168, 161, 176,
2977
+ 168, 185, 130, 121, 169, 168, 176, 176, 176, 130, 185, 97, 171, 161, 176, 96,
2978
+ 185, 160, 173, 171, 122, 90, 177, 198, 122, 160, 182, 177, 161, 170, 121, 177,
2979
+ 122, 122, 122, 168, 161, 161, 185, 130, 92, 170, 166, 177, 168, 171, 121, 177,
2980
+ 122, 161, 177, 161, 166, 122, 161, 122, 160, 171, 198, 176, 166, 122, 122, 122,
2981
+ 122, 96, 113, 161, 130, 168, 168, 177, 122, 185, 122, 177, 161, 191, 160, 177,
2982
+ 122, 168, 122, 178, 176, 160, 190, 161, 177, 174, 121, 177, 161, 122, 122, 160,
2983
+ 168, 122, 122, 122, 168, 190, 190, 191, 122, 176, 168, 168, 122, 142, 168, 185,
2984
+ 122, 161, 121, 165, 190, 191, 121, 164, 171, 122, 180, 122, 177, 168, 161, 174,
2985
+ 161, 184, 172, 130, 130, 130, 130, 130, 92, 130, 179, 122, 97, 185, 122, 160,
2986
+ 177, 169, 174, 122, 177, 92, 168, 168, 122, 122, 178, 122, 122, 122, 122, 122,
2987
+ 168, 121, 191, 168, 122, 169, 177, 168, 161, 122, 122, 160, 122, 177, 160, 177,
2988
+ 166, 177, 177, 122, 166, 122, 176, 122, 161, 178, 177, 122, 171, 178, 185, 160,
2989
+ 176, 122, 122, 122, 161, 122, 161, 177, 122, 177, 175, 192, 177, 168, 192, 122,
2990
+ 122, 169, 177, 122, 164, 96, 130, 130, 130, 168, 130, 130, 130, 130, 130, 161,
2991
+ 168, 185, 160, 168, 166, 160, 160, 166, 168, 168, 177, 122, 122, 168, 176, 177,
2992
+ 168, 191, 167, 164, 161, 161, 168, 122, 168, 165, 166, 122, 161, 168, 122, 178,
2993
+ 168, 161, 168, 161, 160, 122, 163, 190, 177, 121, 122, 169, 168, 168, 176, 177,
2994
+ 168, 176, 122, 167, 168, 122, 121, 168, 121, 190, 168, 122, 166, 122, 122, 177,
2995
+ 168, 122, 168, 130, 181, 184, 130, 130, 130, 92, 130, 130, 92, 130, 170, 130,
2996
+ 92, 130, 130, 130, 130, 92, 161, 163, 168, 122, 122, 160, 186, 161, 166, 177,
2997
+ 185, 177, 168, 165, 178, 171, 122, 177, 168, 122, 122, 161, 121, 168, 122, 166,
2998
+ 177, 160, 160, 161, 122, 168, 168, 122, 122, 121, 168, 168, 166, 168, 168, 194,
2999
+ 168, 160, 166, 168, 168, 122, 168, 188, 122, 129, 97, 168, 122, 194, 122, 160,
3000
+ 168, 192, 177, 122, 176, 122, 163, 177, 177, 181, 161, 184, 113, 130, 130, 130,
3001
+ 130, 130, 92, 130, 170, 160, 130, 130, 130, 130, 176, 185, 177, 161, 96, 122,
3002
+ 161, 160, 122, 168, 177, 122, 161, 177, 169, 163, 168, 168, 142, 177, 168, 176,
3003
+ 165, 161, 168, 195, 190, 122, 122, 122, 177, 168, 177, 122, 169, 168, 164, 191,
3004
+ 168, 122, 142, 168, 168, 178, 166, 168, 122, 122, 126, 177, 168, 166, 122, 177,
3005
+ 166, 122, 177, 168, 169, 177, 169, 161, 121, 177, 121, 122, 169, 168, 122, 177,
3006
+ 177, 122, 168, 122, 177, 121, 177, 122, 195, 122, 121, 122, 166, 168, 161, 161,
3007
+ 177, 161, 160, 168, 163, 169, 161, 181, 181, 181, 175, 113, 173, 130, 130, 160,
3008
+ 130, 130, 161, 113, 130, 153, 130, 210, 160, 121, 122, 121, 168, 169, 164, 180,
3009
+ 122, 122, 177, 122, 122, 122, 121, 177, 168, 175, 160, 165, 121, 122, 178, 122,
3010
+ 168, 168, 190, 168, 129, 168, 191, 92, 122, 177, 122, 177, 191, 194, 121, 168,
3011
+ 168, 168, 161, 122, 190, 177, 168, 168, 164, 177, 121, 177, 161, 122, 169, 163,
3012
+ 160, 177, 177, 166, 176, 168, 122, 164, 122, 160, 168, 122, 191, 177, 191, 122,
3013
+ 168, 168, 177, 171, 168, 168, 168, 121, 177, 97, 161, 165, 161, 161, 122, 121,
3014
+ 161, 168, 121, 191, 168, 161, 172, 168, 168, 168, 183, 164, 160, 162, 184, 202,
3015
+ 181, 92, 113, 130, 161, 130, 179, 92, 168, 96, 161, 160, 113, 177, 168, 167,
3016
+ 122, 161, 168, 177, 168, 92, 121, 168, 169, 177, 160, 168, 122, 121, 168, 165,
3017
+ 177, 168, 122, 168, 168, 122, 168, 176, 161, 161, 122, 126, 161, 162, 177, 122,
3018
+ 168, 192, 167, 177, 96, 160, 122, 167, 160, 168, 122, 174, 97, 167, 168, 177,
3019
+ 177, 166, 122, 177, 121, 121, 168, 176, 177, 180, 177, 122, 121, 177, 191, 166,
3020
+ 168, 122, 168, 122, 122, 169, 168, 130, 168, 160, 179, 160, 168, 172, 202, 130,
3021
+ 130, 130, 170, 161, 130, 130, 173, 92, 179, 179, 92, 177, 142, 177, 177, 121,
3022
+ 161, 168, 142, 161, 122, 168, 168, 142, 180, 166, 160, 177, 168, 177, 121, 121,
3023
+ 168, 121, 122, 168, 163, 168, 122, 168, 177, 167, 177, 160, 163, 177, 168, 122,
3024
+ 161, 196, 168, 169, 122, 122, 182, 160, 177, 168, 177, 164, 168, 161, 168, 168,
3025
+ 122, 168, 121, 121, 170, 168, 177, 168, 161, 176, 176, 122, 121, 166, 168, 176,
3026
+ 177, 122, 121, 176, 160, 168, 166, 168, 121, 168, 168, 177, 177, 160, 169, 121,
3027
+ 168, 180, 161, 168, 160, 113, 130, 130, 161, 161, 161, 130, 161, 130, 168, 177,
3028
+ 168, 188, 177, 177, 121, 168, 94, 191, 122, 164, 191, 121, 175, 177, 192, 121,
3029
+ 97, 177, 192, 168, 121, 161, 169, 168, 162, 168, 168, 168, 177, 122, 122, 142,
3030
+ 121, 161, 185, 168, 175, 161, 168, 168, 169, 160, 122, 168, 122, 191, 191, 168,
3031
+ 142, 198, 178, 162, 122, 168, 142, 177, 190, 185, 160, 177, 166, 192, 122, 161,
3032
+ 191, 181, 177, 177, 191, 168, 177, 121, 92, 161, 162, 92, 130, 160, 168, 163,
3033
+ 171, 169, 168, 180, 121, 177, 171, 190, 177, 168, 178, 168, 168, 168, 191, 191,
3034
+ 177, 121, 168, 122, 97, 163, 176, 161, 168, 122, 168, 160, 177, 168, 203, 168,
3035
+ 122, 121, 122, 121, 168, 162, 178, 177, 177, 185, 191, 168, 168, 168, 168, 168,
3036
+ 161, 130, 130, 160, 178, 121, 161, 161, 142, 160, 193, 142, 168, 168, 166, 121,
3037
+ 122, 122, 168, 168, 121, 161, 168, 168, 177, 188, 161, 121, 121, 168, 169, 122,
3038
+ 171, 121, 168, 181, 168, 164, 172, 168, 160, 162, 142, 168, 177, 164, 121, 168,
3039
+ 177, 180, 161, 160, 168, 191, 188, 177, 161, 121, 168, 121, 168, 177, 168, 121,
3040
+ 161, 122, 92, 161, 168, 121, 168, 177, 121, 168, 122, 122, 194, 121, 198, 121,
3041
+ 177, 168, 168, 192, 168, 161, 178, 180, 126, 168, 168, 168, 172, 161, 161, 191,
3042
+ 142, 168, 142, 168, 177, 185, 161, 191, 168, 166, 168, 168, 177, 161, 121, 168,
3043
+ 168, 168, 168, 177, 177, 168, 168, 161, 177, 177, 177, 163, 122, 161, 162, 130,
3044
+ 128, 121, 168, 161, 163, 177, 168, 168, 121, 161, 168, 168, 160, 191, 176, 168,
3045
+ 168, 168, 168, 121, 171, 177, 168, 160, 168, 168, 168, 122, 90, 130, 164, 175,
3046
+ 122, 168, 161, 161, 168, 174, 176, 161, 122, 160, 168, 161, 122, 121, 174, 170,
3047
+ 130, 163, 168, 168, 168, 192, 177, 161, 161, 175, 122, 160, 161, 161, 122, 160,
3048
+ 161, 168, 122, 168, 166, 176, 166, 162, 191, 122, 194, 162, 130, 130, 92, 168,
3049
+ 160, 194, 161, 160, 188, 160, 160, 160, 161, 168, 161, 190, 122, 122, 169, 122,
3050
+ 177, 166, 161, 122, 177, 168, 161, 192, 122, 186, 142, 179, 170, 170, 168, 161,
3051
+ 170, 130, 130, 130, 160, 168, 168, 168, 122, 161, 176, 180, 160, 168, 168, 121,
3052
+ 160, 177, 168, 177, 177, 163, 163, 168, 190, 122, 168, 173, 177, 180, 168, 186,
3053
+ 168, 168, 168, 161, 176, 161, 130, 130, 130, 130, 161, 130, 130, 130, 161, 96,
3054
+ 168, 198, 161, 168, 168, 160, 168, 185, 168, 122, 177, 168, 168, 122, 160, 168,
3055
+ 168, 161, 168, 164, 191, 182, 177, 164, 161, 122, 96, 177, 191, 168, 168, 164,
3056
+ 185, 161, 161, 185, 113, 130, 130, 168, 130, 122, 122, 168, 142, 160, 191, 168,
3057
+ 177, 121, 168, 168, 161, 168, 122, 161, 168, 94, 161, 163, 160, 164, 168, 166,
3058
+ 190, 166, 168, 160, 160, 160, 122, 161, 164, 161, 168, 160, 113, 161, 94, 161,
3059
+ 94, 177, 168, 168, 168, 174, 171, 191, 161, 121, 209, 177, 122, 168, 122, 160,
3060
+ 191, 160, 177, 168, 168, 113, 121, 164, 168, 121, 177, 161, 190, 168, 190, 168,
3061
+ 177, 168, 178, 168, 122, 121, 122, 122, 176, 121, 168, 160, 121, 161, 122, 161,
3062
+ 168, 160, 185, 170, 161, 160, 160, 160, 185, 162, 170, 168, 160, 122, 160, 161,
3063
+ 177, 168, 168, 161, 122, 177, 168, 177, 172, 194, 122, 161, 163, 161, 160, 165,
3064
+ 168, 161, 188, 161, 122, 113, 160, 168, 170, 122, 177, 177, 168, 168, 168, 122,
3065
+ 166, 168, 193, 160, 168, 168, 161, 168, 169, 168, 168, 161, 122, 160, 161, 177,
3066
+ 177, 121, 177, 166, 160, 185, 161, 160, 168, 122, 193, 161, 168, 168, 121, 177,
3067
+ 177, 191, 168, 122, 171, 168, 168, 168, 121, 121, 168, 177, 164, 161, 122, 168,
3068
+ 121, 160, 121, 164, 165, 122, 177, 113, 168, 171, 177, 168, 171, 160, 161, 121,
3069
+ 169, 168, 168, 161, 168, 122, 121, 122, 168, 161, 161, 160, 142, 121, 122, 161,
3070
+ 168, 168, 168, 161, 97, 153, 94, 92, 171, 167, 161, 121, 121, 168, 188, 180,
3071
+ 204, 168, 168, 168, 161, 168, 122, 177, 164, 182, 168, 161, 168, 142, 160, 160,
3072
+ 121, 161, 161, 177, 168, 160, 160, 163, 161, 168, 177, 121, 161, 166, 168, 177,
3073
+ 161, 161, 168, 168, 163, 161, 168, 168, 169, 168, 122, 182, 122, 121, 160, 162,
3074
+ 122, 130, 196, 92, 162, 122, 122, 130, 176, 176, 121, 122, 181, 122, 121, 167,
3075
+ 198, 177, 177, 162, 168, 162, 121, 122, 122, 168, 168, 178, 122, 130, 164, 177,
3076
+ 163, 161, 122, 177, 92, 163, 176, 160, 121, 122, 177, 122, 182, 122, 177, 122,
3077
+ 171, 122, 122, 177, 161, 161, 179, 122, 164, 122, 168, 162, 168, 161, 166, 176,
3078
+ 168, 162, 122, 168, 142, 130, 168, 177, 177, 122, 173, 177, 177, 121, 167, 166,
3079
+ 122, 122, 172, 161, 176, 168, 168, 172, 168, 177, 130, 185, 168, 166, 177, 170,
3080
+ 168, 168, 169, 177, 160, 168, 142, 168, 168, 161, 168, 171, 92, 168, 168, 170,
3081
+ 113, 168, 121, 168, 168, 168, 168, 121, 177, 168, 168, 161, 122, 90, 177, 122,
3082
+ 185, 164, 172, 92, 166, 168, 184, 130, 130, 184, 168, 161, 161, 168, 164, 168,
3083
+ 126, 166, 122, 167, 122, 168, 178, 164, 130, 177, 168, 168, 177, 179, 122, 161,
3084
+ 122, 168, 167, 161, 168, 162, 177, 122, 177, 122, 168, 181, 168, 92, 130, 177,
3085
+ 169, 122, 172, 168, 168, 164, 168, 161, 185, 122, 168, 168, 184, 184, 130, 130,
3086
+ 130, 130, 130, 166, 166, 161, 168, 169, 122, 121, 166, 166, 122, 121, 177, 168,
3087
+ 168, 185, 163, 130, 182, 162, 161, 177, 168, 92, 165, 177, 168, 162, 173, 168,
3088
+ 160, 168, 177, 176, 92, 130, 122, 167, 177, 171, 161, 122, 122, 165, 166, 113,
3089
+ 92, 130, 166, 168, 164, 122, 168, 177, 163, 122, 186, 186, 174, 168, 175, 181,
3090
+ 168, 166, 177, 168, 169, 177, 121, 122, 179, 170, 177, 177, 168, 162, 122, 122,
3091
+ 168, 160, 168, 177, 121, 121, 161, 161, 160, 168, 168, 161, 168, 166, 142, 172,
3092
+ 190, 168, 192, 161, 161, 161, 162, 122, 177, 168, 168, 168, 92, 177, 177, 177,
3093
+ 166, 168, 168, 113, 92, 168, 177, 177, 121, 177, 180, 177, 166, 130, 177, 166,
3094
+ 121, 163, 121, 168, 94, 121, 168, 171, 121, 162, 121, 121, 177, 168, 185, 168,
3095
+ 171, 177, 168, 177, 122, 177, 188, 122, 168, 122, 168, 122, 161, 161, 192, 160,
3096
+ 162, 130, 168, 177, 194, 177, 122, 191, 193, 92, 92, 130, 163, 168, 163, 190,
3097
+ 177, 168, 166, 161, 168, 171, 177, 203, 97, 122, 163, 176, 168, 191, 130, 173,
3098
+ 130, 92, 122, 122, 168, 177, 168, 176, 168, 191, 130, 169, 177, 164, 168, 177,
3099
+ 122, 161, 165, 168, 161, 177, 177, 168, 167, 209, 122, 177, 191, 122, 172, 209,
3100
+ 179, 130, 177, 177, 168, 160, 191, 168, 168, 192, 168, 168, 168, 191, 122, 161,
3101
+ 122, 163, 160, 191, 203, 165, 193, 166, 168, 192, 121, 168, 161, 122, 142, 160,
3102
+ 92, 113, 130, 160, 177, 177, 168, 193, 178, 193, 177, 163, 168, 191, 121, 177,
3103
+ 177, 191, 161, 122, 177, 122, 122, 191, 168, 122, 176, 168, 168, 97, 92, 130,
3104
+ 130, 182, 160, 183, 160, 160, 168, 160, 161, 160, 166, 190, 160, 168, 160, 160,
3105
+ 194, 194, 122, 168, 177, 122, 190, 161, 190, 177, 190, 191, 192, 177, 192, 188,
3106
+ 192, 177, 178, 122, 122, 122, 122, 94, 203, 163, 121, 161, 179, 161, 161, 121,
3107
+ 191, 122, 168, 193, 191, 160, 177, 163, 160, 160, 168, 191, 161, 177, 168, 168,
3108
+ 168, 177, 177, 160, 168, 122, 160, 192, 161, 122, 122, 122, 122, 163, 122, 122,
3109
+ 198, 161, 191, 142, 121, 203, 164, 177, 193, 121, 121, 163, 160, 176, 177, 121,
3110
+ 169, 177, 177, 178, 160, 168, 175, 130, 92, 168, 160, 161, 168, 168, 122, 168,
3111
+ 176, 166, 203, 122, 161, 177, 177, 192, 168, 191, 168, 122, 160, 160, 130, 162,
3112
+ 166, 162, 177, 161, 168, 168, 161, 168, 188, 163, 177, 160, 190, 161, 122, 188,
3113
+ 177, 191, 181, 188, 160, 194, 171, 122, 190, 176, 191, 177, 161, 168, 164, 177,
3114
+ 121, 177, 191, 161, 160, 191, 168, 168, 168, 204, 185, 177, 161, 121, 168, 188,
3115
+ 168, 168, 168, 168, 161, 168, 183, 161, 163, 164, 121, 168, 163, 161, 161, 121,
3116
+ 163, 161, 130, 163, 121, 168, 97, 168, 191, 168, 188, 177, 122, 168, 166, 177,
3117
+ 122, 168, 122, 122, 176, 168, 122, 153, 177, 142, 162, 164, 168, 161, 165, 189,
3118
+ 153, 153, 153, 161, 166, 168, 169, 122, 153, 161, 162, 177, 162, 168, 168, 166,
3119
+ 168, 195, 168, 178, 122, 153, 164, 168, 168, 161, 161, 168, 142, 169, 172, 185,
3120
+ 168, 165, 177, 167, 168, 121, 177, 177, 122, 170, 122, 195, 169, 168, 172, 122,
3121
+ 162, 177, 97, 196, 164, 122, 121, 162, 122, 176, 177, 122, 122, 96, 168, 166,
3122
+ 122, 122, 122, 122, 94, 170, 162, 122, 122, 177, 165, 175, 113, 171, 166, 177,
3123
+ 166, 161, 160, 162, 181, 130, 172, 191, 166, 181, 172, 169, 122, 172, 176, 122,
3124
+ 164, 205, 162, 128, 122, 160, 161, 164, 161, 122, 169, 165, 122, 121, 164, 177,
3125
+ 153, 164, 121, 168, 178, 122, 122, 172, 161, 113, 122, 142, 168, 172, 160, 191,
3126
+ 121, 164, 170, 113, 202, 183, 121, 178, 122, 166, 193, 162, 162, 177, 177, 122,
3127
+ 168, 164, 113, 179, 168, 162, 122, 121, 92, 181, 121, 122, 168, 94, 198, 122,
3128
+ 177, 122, 174, 164, 167, 177, 130, 130, 168, 176, 169, 161, 162, 122, 160, 130,
3129
+ 130, 130, 171, 169, 176, 122, 161, 168, 161, 92, 168, 122, 130, 92, 130, 130,
3130
+ 185, 186, 122, 122, 174, 122, 168, 92, 122, 122, 177, 168, 122, 122, 122, 177,
3131
+ 177, 177, 122, 175, 166, 122, 162, 122, 170, 130, 169, 168, 177, 122, 177, 177,
3132
+ 168, 168, 165, 161, 122, 122, 130, 177, 122, 121, 168, 122, 182, 168, 169, 177,
3133
+ 171, 177, 122, 169, 166, 161, 185, 166, 130, 113, 130, 130, 162, 168, 164, 177,
3134
+ 122, 176, 121, 142, 122, 168, 168, 168, 168, 166, 121, 168, 165, 168, 178, 169,
3135
+ 190, 169, 163, 166, 162, 130, 92, 163, 177, 142, 166, 142, 166, 121, 161, 177,
3136
+ 185, 168, 162, 171, 168, 166, 177, 130, 130, 192, 168, 166, 177, 177, 177, 122,
3137
+ 122, 121, 122, 177, 122, 166, 190, 142, 168, 176, 130, 130, 160, 166, 92, 168,
3138
+ 167, 168, 177, 166, 169, 166, 161, 161, 176, 162, 171, 198, 166, 168, 130, 130,
3139
+ 90, 162, 121, 166, 164, 164, 142, 178, 178, 177, 162, 162, 122, 170, 203, 160,
3140
+ 168, 160, 121, 168, 170, 162, 122, 168, 142, 177, 168, 161, 167, 92, 130, 171,
3141
+ 168, 121, 142, 130, 191, 171, 94, 172, 181, 121, 178, 130, 121, 177, 171, 174,
3142
+ 180, 171, 121, 160, 182, 168, 172, 161, 122, 168, 153, 122, 121, 122, 122, 168,
3143
+ 181, 177, 96, 181, 122, 162, 122, 122, 169, 168, 168, 169, 162, 162, 122, 168,
3144
+ 198, 130, 168, 122, 161, 177, 169, 161, 161, 167, 142, 177, 177, 177, 168, 162,
3145
+ 162, 160, 162, 164, 166, 163, 177, 162, 162, 161, 177, 168, 92, 177, 122, 168,
3146
+ 142, 130, 130, 161, 169, 168, 92, 172, 178, 181, 121, 168, 161, 177, 168, 122,
3147
+ 161, 164, 122, 121, 168, 176, 122, 161, 122, 177, 122, 164, 163, 169, 176, 130,
3148
+ 130, 130, 122, 168, 176, 161, 186, 184, 130, 164, 168, 122, 121, 168, 121, 122,
3149
+ 162, 121, 161, 121, 121, 169, 177, 121, 162, 168, 142, 161, 177, 168, 122, 96,
3150
+ 177, 166, 122, 168, 122, 168, 162, 168, 122, 176, 168, 178, 190, 161, 122, 161,
3151
+ 162, 122, 92, 168, 165, 168, 164, 169, 165, 122, 177, 122, 153, 130, 163, 160,
3152
+ 168, 168, 177, 168, 162, 177, 161, 162, 161, 166, 166, 178, 162, 168, 198, 169,
3153
+ 122, 161, 166, 168, 172, 178, 175, 168, 176, 122, 161, 160, 92, 166, 162, 166,
3154
+ 161, 168, 168, 168, 177, 166, 176, 122, 122, 177, 122, 168, 122, 177, 171, 161,
3155
+ 186, 130, 164, 179, 168, 177, 177, 167, 161, 161, 177, 168, 168, 191, 177, 171,
3156
+ 130, 130, 177, 161, 168, 168, 177, 162, 160, 168, 167, 122, 171, 161, 171, 177,
3157
+ 177, 122, 176, 122, 164, 169, 122, 177, 169, 168, 171, 122, 176, 168, 168, 168,
3158
+ 162, 161, 182, 162, 164, 161, 161, 160, 160, 122, 163, 160, 168, 176, 165, 122,
3159
+ 166, 168, 168, 168, 176, 185, 92, 97, 168, 168, 161, 121, 176, 166, 169, 168,
3160
+ 161, 122, 130, 94, 162, 177, 164, 168, 160, 168, 177, 168, 168, 168, 121, 176,
3161
+ 169, 168, 166, 168, 161, 122, 161, 176, 168, 173, 176, 168, 122, 121, 162, 163,
3162
+ 122, 177, 168, 122, 168, 166, 178, 168, 161, 172, 168, 122, 121, 169, 163, 122,
3163
+ 161, 161, 168, 182, 168, 160, 161, 142, 92, 177, 168, 94, 168, 167, 168, 168,
3164
+ 168, 164, 162, 97, 168, 177, 161, 122, 168, 177, 142, 122, 122, 161, 177, 164,
3165
+ 177, 92, 122, 122, 162, 122, 163, 167, 168, 122, 162, 130, 166, 122, 122, 121,
3166
+ 177, 177, 168, 122, 163, 161, 130, 168, 166, 168, 168, 177, 178, 96, 170, 130,
3167
+ 130, 130, 122, 168, 161, 177, 177, 161, 160, 166, 161, 161, 169, 176, 177, 168,
3168
+ 168, 166, 165, 168, 169, 181, 130, 130, 170, 161, 130, 161, 170, 176, 160, 96,
3169
+ 142, 177, 177, 166, 161, 122, 165, 122, 168, 185, 168, 168, 211, 176, 177, 168,
3170
+ 176, 168, 121, 168, 122, 177, 161, 176, 96, 170, 202, 130, 170, 160, 130, 113,
3171
+ 130, 92, 160, 171, 182, 165, 161, 174, 177, 168, 168, 160, 166, 168, 176, 195,
3172
+ 185, 160, 166, 160, 160, 130, 130, 130, 161, 92, 92, 92, 177, 122, 177, 161,
3173
+ 177, 162, 168, 164, 177, 168, 160, 92, 177, 168, 166, 122, 122, 185, 166, 121,
3174
+ 168, 168, 113, 92, 113, 92, 161, 130, 161, 168, 163, 168, 122, 161, 177, 97,
3175
+ 168, 198, 161, 168, 168, 168, 178, 165, 160, 96, 164, 161, 122, 186, 122, 177,
3176
+ 161, 122, 161, 169, 177, 178, 168, 122, 176, 168, 167, 130, 130, 162, 177, 176,
3177
+ 168, 166, 168, 122, 177, 185, 161, 122, 177, 121, 178, 168, 177, 177, 161, 172,
3178
+ 176, 174, 166, 176, 185, 113, 94, 161, 160, 170, 121, 191, 121, 162, 169, 162,
3179
+ 161, 122, 161, 168, 168, 122, 181, 163, 177, 166, 122, 122, 177, 168, 191, 168,
3180
+ 122, 178, 163, 163, 167, 176, 164, 94, 160, 130, 142, 177, 161, 168, 168, 177,
3181
+ 177, 177, 168, 168, 162, 168, 162, 142, 122, 168, 177, 161, 122, 168, 160, 121,
3182
+ 160, 160, 166, 177, 169, 128, 162, 176, 161, 168, 176, 191, 168, 178, 168, 177,
3183
+ 162, 122, 168, 92, 168, 185, 163, 181, 161, 168, 161, 161, 177, 161, 121, 92,
3184
+ 177, 178, 178, 185, 168, 161, 183, 168, 161, 142, 164, 168, 177, 168, 166, 162,
3185
+ 164, 168, 161, 168, 185, 177, 142, 177, 168, 177, 121, 121, 121, 177, 160, 168,
3186
+ 161, 177, 160, 94, 90, 177, 94, 161, 168, 168, 122, 90, 175, 177, 122, 177,
3187
+ 122, 122, 168, 92, 177, 177, 176, 121, 122, 122, 177, 177, 168, 161, 92, 177,
3188
+ 121, 177, 168, 167, 177, 142, 122, 122, 163, 160, 122, 192, 192, 122, 122, 169,
3189
+ 122, 168, 175, 168, 168, 122, 161, 166, 122, 177, 168, 177, 161, 122, 161, 130,
3190
+ 168, 160, 177, 168, 168, 161, 161, 202, 130, 177, 122, 162, 177, 168, 163, 121,
3191
+ 175, 122, 168, 160, 184, 202, 160, 160, 168, 161, 167, 177, 162, 121, 121, 122,
3192
+ 168, 201, 168, 177, 177, 177, 177, 168, 177, 160, 185, 177, 177, 172, 161, 160,
3193
+ 168, 177, 168, 161, 168, 160, 121, 122, 177, 163, 121, 177, 168, 168, 121, 164,
3194
+ 178, 188, 168, 122, 177, 161, 168, 168, 177, 122, 169, 166, 161, 122, 122, 121,
3195
+ 122, 122, 162, 173, 163, 168, 179, 164, 171, 122, 204, 122, 160, 185, 168, 177,
3196
+ 161, 122, 122, 161, 163, 165, 177, 161, 122, 161, 164, 161, 168, 177, 177, 122,
3197
+ 177, 181, 163, 169, 122, 164, 122, 122, 161, 122, 177, 166, 178, 166, 168, 130,
3198
+ 184, 163, 161, 161, 94, 161, 168, 168, 166, 161, 168, 122, 162, 130, 92, 161,
3199
+ 122, 92, 166, 166, 168, 126, 170, 164, 121, 164, 177, 122, 177, 122, 184, 161,
3200
+ 168, 177, 168, 168, 122, 177, 92, 165, 178, 180, 122, 177, 121, 161, 176, 121,
3201
+ 122, 162, 168, 130, 92, 161, 168, 162, 168, 161, 161, 177, 161, 163, 121, 177,
3202
+ 177, 121, 181, 130, 162, 162, 183, 122, 164, 166, 163, 122, 122, 122, 172, 122,
3203
+ 121, 161, 181, 153, 177, 163, 122, 177, 177, 198, 168, 97, 171, 121, 121, 181,
3204
+ 113, 130, 92, 161, 168, 162, 177, 122, 168, 162, 168, 168, 177, 162, 92, 177,
3205
+ 171, 121, 121, 113, 161, 182, 161, 177, 168, 121, 164, 121, 168, 177, 168, 161,
3206
+ 165, 168, 161, 161, 122, 177, 122, 130, 166, 122, 122, 168, 161, 198, 177, 122,
3207
+ 166, 122, 164, 175, 122, 177, 166, 168, 122, 168, 177, 177, 168, 130, 92, 168,
3208
+ 177, 174, 122, 196, 177, 122, 169, 169, 122, 168, 161, 92, 130, 130, 177, 122,
3209
+ 176, 161, 168, 177, 161, 130, 130, 161, 185, 121, 121, 168, 166, 130, 121, 121,
3210
+ 172, 168, 168, 166, 168, 177, 178, 168, 168, 162, 121, 163, 182, 161, 168, 169,
3211
+ 168, 168, 160, 153, 121, 121, 162, 121, 172, 163, 121, 122, 164, 181, 162, 172,
3212
+ 161, 177, 181, 172, 161, 181, 130, 183, 168, 122, 172, 163, 172, 198, 130, 122,
3213
+ 122, 181, 172, 122, 168, 122, 167, 160, 162, 163, 198, 177, 164, 122, 168, 122,
3214
+ 181, 164, 161, 161, 162, 161, 121, 168, 181, 122, 122, 177, 161, 176, 163, 122,
3215
+ 168, 168, 113, 130, 167, 168, 169, 162, 167, 168, 167, 175, 94, 161, 168, 165,
3216
+ 168, 122, 168, 168, 174, 130, 161, 161, 178, 122, 168, 122, 161, 168, 122, 163,
3217
+ 122, 161, 168, 177, 185, 167, 122, 182, 169, 163, 166, 166, 122, 191, 176, 177,
3218
+ 177, 166, 168, 167, 177, 178, 181, 161, 185, 205, 130, 168, 130, 162, 130, 162,
3219
+ 177, 164, 160, 160, 168, 167, 121, 166, 178, 122, 168, 122, 165, 121, 177, 122,
3220
+ 122, 122, 122, 161, 122, 163, 122, 161, 185, 161, 130, 130, 92, 202, 161, 92,
3221
+ 190, 168, 179, 168, 177, 178, 177, 142, 161, 177, 162, 161, 198, 177, 122, 163,
3222
+ 178, 167, 166, 177, 178, 122, 168, 176, 168, 173, 113, 170, 92, 183, 130, 92,
3223
+ 130, 161, 168, 161, 171, 185, 181, 121, 168, 162, 168, 121, 168, 167, 177, 121,
3224
+ 166, 177, 172, 161, 122, 122, 177, 122, 178, 178, 200, 177, 167, 122, 164, 181,
3225
+ 171, 122, 170, 160, 168, 162, 130, 130, 130, 130, 202, 130, 166, 122, 161, 177,
3226
+ 162, 122, 163, 161, 122, 177, 162, 168, 122, 168, 162, 162, 162, 162, 168, 161,
3227
+ 121, 122, 164, 161, 121, 162, 122, 122, 162, 121, 177, 178, 169, 161, 168, 153,
3228
+ 160, 130, 183, 130, 177, 168, 162, 162, 168, 176, 166, 171, 168, 167, 168, 168,
3229
+ 121, 96, 168, 168, 121, 167, 169, 168, 177, 121, 166, 168, 161, 181, 130, 92,
3230
+ 168, 185, 177, 178, 177, 162, 181, 169, 177, 177, 163, 168, 174, 168, 176, 168,
3231
+ 178, 177, 177, 177, 162, 168, 177, 122, 161, 177, 168, 166, 176, 142, 177, 166,
3232
+ 168, 142, 198, 113, 113, 94, 130, 113, 161, 177, 161, 163, 168, 168, 126, 167,
3233
+ 177, 121, 168, 142, 161, 177, 166, 122, 177, 168, 122, 121, 177, 168, 161, 161,
3234
+ 168, 162, 161, 177, 164, 160, 162, 142, 169, 177, 162, 168, 168, 121, 121, 122,
3235
+ 169, 130, 160, 121, 160, 168, 162, 168, 168, 168, 177, 161, 121, 122, 161, 113,
3236
+ 142, 163, 162, 177, 178, 162, 172, 168, 181, 177, 177, 177, 177, 163, 164, 142,
3237
+ 121, 162, 161, 171, 121, 142, 168, 177, 161, 177, 168, 168, 121, 163, 171, 168,
3238
+ 182, 161, 171, 122, 179, 178, 161, 161, 168, 177, 168, 179, 174, 176, 153, 168,
3239
+ 168, 178, 113, 198, 168, 168, 163, 164, 168, 122, 168, 181, 168, 178, 160, 162,
3240
+ 113, 185, 122, 161, 177, 122, 168, 122, 165, 161, 161, 181, 179, 130, 166, 122,
3241
+ 164, 178, 167, 168, 184, 122, 163, 198, 178, 161, 130, 113, 94, 113, 186, 168,
3242
+ 164, 122, 165, 122, 168, 97, 162, 164, 160, 122, 177, 177, 166, 169, 122, 177,
3243
+ 113, 130, 172, 161, 164, 167, 161, 174, 166, 163, 122, 168, 185, 174, 142, 162,
3244
+ 168, 168, 178, 163, 177, 176, 122, 166, 113, 176, 163, 161, 169, 171, 121, 122,
3245
+ 122, 161, 142, 161, 92, 92, 163, 121, 185, 162, 168, 162, 168, 160, 168, 169,
3246
+ 97, 168, 178, 160, 178, 163, 178, 168, 169, 94, 181, 122, 160, 168, 121, 161,
3247
+ 121, 168, 121, 177, 121, 121, 121, 188, 191, 171, 122, 121, 168, 121, 168, 177,
3248
+ 121, 177, 177, 177, 121, 142, 177, 121, 180, 121, 121, 121, 142, 177, 177, 168,
3249
+ 122, 121, 122, 162, 161, 160, 162, 130, 168, 168, 162, 122, 180, 164, 121, 122,
3250
+ 121, 171, 142, 121, 161, 180, 168, 161, 168, 121, 180, 168, 171, 177, 177, 178,
3251
+ 171, 177, 121, 121, 121, 180, 121, 177, 164, 161, 168, 113, 181, 163, 178, 178,
3252
+ 121, 177, 168, 177, 168, 97, 178, 164, 168, 164, 163, 142, 177, 163, 121, 168,
3253
+ 161, 121, 121, 178, 161, 162, 121, 177, 121, 168, 191, 168, 161, 168, 122, 168,
3254
+ 171, 121, 121, 121, 161, 181, 196, 130, 164, 121, 177, 177, 168, 178, 161, 191,
3255
+ 168, 171, 162, 177, 168, 177, 177, 161, 177, 172, 161, 164, 177, 177, 194, 121,
3256
+ 161, 171, 168, 121, 168, 161, 177, 163, 161, 181, 113, 113, 121, 177, 171, 178,
3257
+ 126, 168, 121, 178, 160, 92, 166, 177, 160, 168, 177, 172, 121, 121, 167, 178,
3258
+ 142, 121, 121, 163, 121, 121, 164, 177, 121, 177, 121, 121, 168, 121, 121, 121,
3259
+ 168, 168, 177, 162, 177, 177, 177, 121, 161, 168, 121, 180, 177, 163, 177, 172,
3260
+ 160, 181, 142, 160, 94, 113, 195, 177, 121, 171, 121, 168, 172, 121, 121, 168,
3261
+ 121, 180, 164, 126, 172, 163, 177, 168, 121, 121, 177, 164, 121, 164, 168, 121,
3262
+ 168, 177, 142, 168, 121, 163, 177, 168, 161, 171, 177, 121, 161, 160, 160, 161,
3263
+ 164, 181, 161, 168, 113, 113, 92, 160, 171, 121, 121, 178, 168, 168, 168, 168,
3264
+ 171, 171, 178, 168, 168, 191, 168, 177, 92, 161, 168, 121, 177, 188, 121, 180,
3265
+ 177, 180, 178, 121, 168, 168, 181, 163, 162, 168, 168, 121, 164, 177, 121, 188,
3266
+ 168, 121, 142, 177, 97, 142, 177, 121, 168, 142, 178, 167, 168, 121, 121, 171,
3267
+ 168, 122, 168, 121, 177, 171, 121, 192, 97, 168, 113, 113, 168, 181, 162, 161,
3268
+ 177, 168, 188, 168, 121, 121, 178, 168, 177, 142, 142, 161, 168, 181, 121, 177,
3269
+ 168, 188, 177, 168, 161, 182, 181, 153, 168, 121, 121, 188, 161, 121, 163, 177,
3270
+ 180, 161, 168, 171, 168, 168, 168, 168, 177, 121, 168, 178, 121, 142, 177, 172,
3271
+ 168, 177, 122, 113, 161, 161, 177, 177, 178, 181, 177, 168, 121, 177, 172, 121,
3272
+ 113, 177, 172, 121, 142, 177, 121, 168, 191, 168, 177, 165, 121, 162, 164, 170,
3273
+ 130, 130, 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 170, 130, 92, 130,
3274
+ 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 170, 92, 92, 130, 130, 130,
3275
+ 130, 130, 130, 130, 130, 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 170,
3276
+ 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 170,
3277
+ 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130,
3278
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130,
3279
+ 130, 130, 130, 130, 130, 130, 170, 130, 130, 130, 92, 130, 130, 130, 130, 130,
3280
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130,
3281
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3282
+ 130, 130, 130, 130, 130, 130, 122, 94, 122, 168, 122, 164, 162, 171, 177, 177,
3283
+ 160, 160, 130, 177, 176, 167, 161, 163, 97, 94, 168, 168, 121, 178, 172, 177,
3284
+ 122, 167, 182, 182, 122, 122, 92, 130, 167, 161, 130, 177, 177, 177, 168, 169,
3285
+ 178, 166, 173, 177, 162, 177, 177, 178, 167, 169, 122, 180, 168, 177, 122, 161,
3286
+ 121, 174, 122, 168, 130, 121, 168, 121, 172, 122, 168, 168, 168, 177, 166, 177,
3287
+ 162, 130, 113, 178, 161, 121, 178, 178, 121, 168, 122, 171, 122, 177, 122, 163,
3288
+ 162, 177, 168, 160, 122, 168, 177, 163, 92, 161, 122, 168, 177, 167, 122, 130,
3289
+ 168, 166, 177, 172, 122, 168, 177, 185, 121, 121, 162, 92, 168, 177, 172, 169,
3290
+ 185, 168, 122, 168, 163, 168, 142, 168, 122, 122, 168, 168, 176, 122, 168, 176,
3291
+ 177, 122, 168, 177, 161, 122, 181, 168, 162, 168, 165, 168, 122, 168, 190, 177,
3292
+ 168, 168, 121, 161, 122, 122, 161, 168, 130, 92, 92, 177, 168, 160, 168, 190,
3293
+ 122, 122, 168, 177, 92, 166, 167, 160, 177, 122, 168, 180, 177, 168, 176, 177,
3294
+ 122, 96, 177, 169, 168, 168, 161, 168, 168, 121, 163, 169, 122, 177, 177, 177,
3295
+ 122, 122, 160, 122, 169, 122, 122, 177, 163, 183, 164, 169, 122, 176, 177, 177,
3296
+ 122, 171, 169, 162, 166, 122, 166, 122, 122, 169, 161, 168, 169, 163, 177, 177,
3297
+ 90, 178, 130, 161, 177, 170, 176, 130, 169, 185, 185, 161, 177, 183, 163, 160,
3298
+ 177, 170, 92, 122, 177, 166, 122, 166, 130, 177, 162, 175, 163, 122, 177, 122,
3299
+ 164, 161, 130, 211, 164, 161, 122, 168, 168, 161, 122, 130, 130, 130, 161, 168,
3300
+ 168, 168, 169, 161, 170, 92, 121, 161, 122, 161, 122, 160, 168, 168, 121, 181,
3301
+ 164, 172, 153, 160, 177, 161, 163, 168, 181, 130, 173, 161, 168, 162, 161, 121,
3302
+ 121, 176, 121, 121, 181, 177, 142, 121, 168, 178, 161, 161, 161, 121, 121, 122,
3303
+ 170, 162, 168, 130, 122, 121, 122, 122, 162, 122, 168, 122, 122, 161, 164, 168,
3304
+ 168, 161, 168, 169, 161, 168, 122, 161, 169, 168, 169, 122, 166, 122, 162, 179,
3305
+ 130, 122, 122, 168, 173, 122, 164, 163, 161, 122, 122, 176, 181, 167, 185, 122,
3306
+ 161, 122, 122, 161, 122, 168, 160, 170, 177, 162, 122, 161, 170, 170, 130, 130,
3307
+ 130, 130, 185, 122, 122, 168, 175, 168, 177, 168, 168, 161, 122, 166, 122, 177,
3308
+ 168, 168, 164, 161, 177, 177, 169, 166, 177, 167, 122, 122, 185, 169, 122, 161,
3309
+ 177, 122, 161, 168, 122, 122, 168, 130, 130, 170, 130, 130, 170, 176, 164, 169,
3310
+ 176, 122, 166, 176, 122, 168, 174, 161, 122, 177, 166, 168, 169, 122, 177, 161,
3311
+ 168, 168, 122, 163, 161, 121, 122, 198, 121, 175, 122, 162, 94, 130, 170, 130,
3312
+ 130, 130, 170, 130, 179, 168, 176, 163, 192, 168, 186, 180, 162, 168, 166, 168,
3313
+ 162, 168, 168, 121, 171, 168, 92, 177, 161, 121, 160, 126, 166, 168, 161, 122,
3314
+ 171, 184, 170, 113, 160, 162, 130, 94, 130, 121, 177, 161, 162, 168, 122, 92,
3315
+ 161, 161, 160, 168, 168, 164, 169, 177, 179, 161, 166, 122, 176, 168, 121, 168,
3316
+ 122, 122, 177, 169, 122, 122, 94, 162, 92, 170, 170, 168, 168, 161, 168, 181,
3317
+ 166, 177, 168, 161, 168, 122, 121, 166, 162, 166, 161, 121, 161, 174, 169, 177,
3318
+ 122, 122, 168, 97, 169, 161, 168, 177, 121, 122, 122, 130, 170, 173, 130, 122,
3319
+ 122, 164, 169, 178, 163, 162, 177, 168, 122, 168, 122, 177, 168, 168, 162, 122,
3320
+ 162, 130, 161, 172, 161, 178, 164, 168, 176, 168, 121, 176, 122, 122, 177, 168,
3321
+ 121, 161, 177, 165, 113, 94, 185, 168, 122, 142, 179, 168, 168, 161, 177, 161,
3322
+ 178, 168, 177, 122, 177, 180, 94, 168, 181, 168, 122, 166, 168, 121, 121, 121,
3323
+ 122, 170, 122, 176, 168, 177, 122, 168, 172, 142, 166, 162, 185, 121, 164, 171,
3324
+ 168, 178, 168, 113, 161, 177, 161, 177, 121, 178, 142, 177, 92, 177, 177, 121,
3325
+ 178, 177, 97, 122, 182, 121, 168, 122, 121, 168, 122, 162, 176, 122, 168, 160,
3326
+ 162, 162, 177, 122, 122, 162, 163, 168, 177, 177, 121, 122, 122, 162, 122, 177,
3327
+ 176, 167, 169, 164, 185, 122, 130, 121, 121, 142, 121, 168, 122, 122, 181, 162,
3328
+ 169, 168, 122, 164, 176, 168, 178, 113, 172, 164, 163, 122, 122, 177, 122, 122,
3329
+ 168, 192, 176, 130, 161, 168, 94, 161, 176, 172, 122, 122, 122, 179, 113, 185,
3330
+ 130, 130, 177, 167, 166, 122, 122, 122, 167, 122, 177, 130, 168, 168, 170, 168,
3331
+ 180, 161, 168, 162, 166, 191, 162, 122, 161, 185, 161, 176, 161, 92, 177, 166,
3332
+ 168, 177, 168, 168, 94, 168, 177, 168, 169, 121, 167, 168, 177, 113, 168, 167,
3333
+ 162, 168, 172, 177, 180, 160, 121, 162, 167, 168, 181, 178, 168, 177, 122, 122,
3334
+ 130, 121, 122, 130, 166, 168, 198, 142, 180, 170, 170, 163, 168, 166, 122, 166,
3335
+ 177, 162, 130, 177, 166, 168, 161, 182, 130, 162, 166, 122, 161, 122, 192, 185,
3336
+ 168, 166, 122, 168, 177, 161, 162, 130, 166, 122, 191, 177, 173, 122, 168, 122,
3337
+ 177, 166, 168, 171, 166, 122, 186, 177, 166, 192, 174, 167, 122, 122, 192, 122,
3338
+ 176, 122, 164, 122, 166, 168, 168, 190, 122, 122, 177, 121, 191, 122, 176, 197,
3339
+ 168, 130, 168, 168, 179, 113, 162, 130, 130, 161, 170, 130, 130, 130, 130, 170,
3340
+ 163, 122, 122, 169, 122, 192, 168, 122, 179, 178, 162, 122, 169, 161, 122, 122,
3341
+ 166, 165, 163, 169, 166, 122, 122, 121, 177, 161, 177, 167, 168, 177, 160, 176,
3342
+ 168, 122, 168, 178, 167, 168, 177, 174, 161, 167, 178, 167, 160, 193, 191, 94,
3343
+ 177, 190, 122, 122, 122, 122, 169, 166, 166, 122, 162, 163, 185, 168, 184, 130,
3344
+ 161, 130, 161, 92, 130, 130, 178, 122, 172, 168, 170, 166, 167, 163, 177, 164,
3345
+ 168, 164, 177, 181, 168, 168, 168, 185, 122, 168, 168, 122, 166, 166, 162, 165,
3346
+ 162, 122, 142, 166, 122, 122, 122, 177, 122, 122, 166, 168, 166, 182, 161, 168,
3347
+ 122, 168, 177, 176, 177, 178, 173, 192, 168, 122, 121, 168, 168, 177, 177, 122,
3348
+ 169, 192, 122, 177, 176, 162, 177, 163, 181, 92, 130, 130, 130, 92, 130, 130,
3349
+ 130, 130, 160, 179, 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 130, 170,
3350
+ 162, 161, 161, 180, 168, 178, 168, 122, 176, 161, 168, 122, 169, 166, 168, 177,
3351
+ 164, 168, 162, 168, 164, 175, 176, 178, 168, 122, 121, 168, 168, 177, 122, 168,
3352
+ 168, 160, 176, 169, 177, 177, 121, 168, 190, 177, 178, 166, 174, 177, 122, 181,
3353
+ 169, 161, 121, 168, 168, 168, 177, 171, 167, 192, 165, 122, 182, 164, 168, 168,
3354
+ 185, 202, 130, 130, 130, 113, 130, 173, 130, 170, 130, 92, 130, 122, 182, 177,
3355
+ 166, 122, 168, 168, 168, 122, 168, 166, 168, 191, 122, 168, 122, 160, 178, 166,
3356
+ 162, 177, 161, 198, 176, 168, 165, 168, 167, 168, 161, 168, 122, 166, 168, 169,
3357
+ 169, 185, 168, 168, 168, 185, 161, 168, 177, 122, 166, 180, 168, 160, 168, 121,
3358
+ 122, 122, 122, 168, 121, 168, 177, 113, 176, 192, 168, 178, 177, 122, 168, 168,
3359
+ 161, 166, 161, 122, 122, 160, 166, 142, 161, 168, 188, 169, 122, 122, 122, 166,
3360
+ 168, 166, 168, 178, 160, 162, 160, 161, 179, 162, 92, 168, 170, 130, 161, 161,
3361
+ 153, 160, 113, 168, 170, 130, 170, 130, 130, 180, 181, 168, 121, 168, 160, 177,
3362
+ 168, 122, 168, 168, 168, 142, 168, 168, 122, 177, 168, 168, 169, 122, 160, 168,
3363
+ 168, 161, 168, 168, 168, 177, 169, 177, 163, 121, 163, 168, 168, 177, 178, 164,
3364
+ 168, 166, 177, 160, 168, 160, 177, 122, 163, 166, 166, 122, 174, 168, 168, 168,
3365
+ 177, 122, 172, 122, 163, 177, 121, 177, 168, 169, 162, 122, 122, 169, 178, 180,
3366
+ 177, 175, 160, 166, 177, 122, 166, 142, 166, 178, 165, 161, 162, 177, 168, 160,
3367
+ 160, 162, 169, 161, 181, 162, 168, 130, 170, 130, 92, 202, 130, 168, 185, 168,
3368
+ 121, 168, 163, 163, 180, 164, 160, 185, 168, 122, 168, 168, 122, 168, 171, 178,
3369
+ 168, 165, 168, 160, 168, 161, 162, 168, 177, 177, 177, 168, 168, 172, 168, 166,
3370
+ 168, 177, 122, 161, 166, 161, 168, 161, 122, 167, 166, 180, 121, 174, 182, 122,
3371
+ 188, 167, 191, 161, 122, 168, 121, 177, 164, 122, 169, 121, 177, 165, 168, 177,
3372
+ 167, 122, 168, 176, 168, 161, 167, 168, 161, 113, 198, 168, 162, 130, 160, 130,
3373
+ 130, 160, 160, 130, 160, 170, 130, 177, 168, 168, 177, 168, 122, 161, 121, 177,
3374
+ 166, 177, 177, 168, 180, 161, 168, 177, 160, 168, 177, 177, 165, 177, 168, 169,
3375
+ 178, 161, 177, 163, 161, 160, 142, 177, 168, 168, 168, 168, 166, 168, 177, 168,
3376
+ 182, 122, 168, 122, 121, 178, 168, 122, 180, 168, 122, 161, 177, 168, 191, 167,
3377
+ 168, 122, 162, 188, 177, 188, 178, 177, 168, 168, 177, 166, 122, 121, 168, 191,
3378
+ 168, 168, 162, 163, 163, 181, 162, 130, 170, 130, 130, 185, 130, 122, 168, 204,
3379
+ 178, 180, 160, 122, 168, 168, 177, 168, 169, 122, 169, 172, 160, 168, 180, 162,
3380
+ 162, 177, 182, 191, 168, 178, 166, 178, 178, 190, 172, 168, 164, 177, 176, 164,
3381
+ 177, 177, 177, 180, 166, 168, 168, 168, 122, 121, 121, 177, 168, 121, 168, 163,
3382
+ 160, 168, 130, 160, 130, 168, 168, 178, 168, 166, 166, 166, 168, 162, 169, 164,
3383
+ 178, 177, 168, 168, 122, 166, 177, 122, 178, 177, 142, 177, 177, 168, 168, 192,
3384
+ 178, 121, 161, 164, 121, 168, 168, 181, 177, 178, 168, 122, 169, 177, 168, 177,
3385
+ 177, 168, 177, 168, 167, 162, 121, 177, 122, 121, 122, 181, 181, 162, 202, 122,
3386
+ 129, 168, 161, 168, 177, 168, 177, 166, 177, 169, 121, 161, 162, 177, 177, 177,
3387
+ 168, 186, 177, 168, 168, 168, 168, 177, 168, 122, 162, 177, 161, 121, 191, 122,
3388
+ 169, 168, 168, 130, 161, 122, 161, 168, 177, 168, 177, 161, 165, 121, 168, 177,
3389
+ 182, 168, 168, 168, 122, 121, 177, 161, 177, 122, 121, 168, 168, 177, 160, 168,
3390
+ 168, 168, 168, 162, 161, 161, 177, 121, 168, 142, 121, 122, 163, 168, 178, 192,
3391
+ 177, 168, 198, 161, 177, 166, 121, 121, 161, 168, 121, 142, 168, 163, 162, 161,
3392
+ 163, 176, 162, 181, 94, 161, 186, 121, 177, 177, 121, 177, 168, 161, 177, 168,
3393
+ 168, 177, 178, 168, 168, 168, 168, 166, 160, 166, 168, 161, 168, 121, 168, 172,
3394
+ 113, 168, 168, 168, 168, 168, 177, 161, 176, 168, 177, 168, 166, 164, 168, 121,
3395
+ 177, 164, 163, 168, 92, 160, 177, 168, 168, 161, 161, 168, 168, 167, 122, 130,
3396
+ 122, 130, 177, 177, 122, 121, 177, 164, 164, 177, 184, 126, 121, 164, 122, 121,
3397
+ 162, 177, 166, 177, 177, 168, 92, 121, 168, 177, 168, 169, 174, 168, 185, 177,
3398
+ 168, 169, 160, 168, 168, 164, 164, 177, 161, 122, 176, 169, 185, 173, 170, 130,
3399
+ 130, 130, 130, 92, 161, 168, 168, 168, 162, 161, 122, 167, 122, 166, 168, 161,
3400
+ 168, 177, 160, 122, 168, 167, 177, 168, 177, 168, 177, 161, 176, 185, 168, 161,
3401
+ 160, 177, 168, 122, 122, 168, 164, 166, 166, 122, 169, 113, 130, 182, 161, 169,
3402
+ 167, 176, 160, 177, 166, 176, 169, 177, 177, 177, 185, 168, 168, 168, 168, 177,
3403
+ 176, 177, 168, 177, 169, 177, 169, 122, 168, 169, 130, 122, 168, 113, 202, 130,
3404
+ 96, 166, 162, 168, 122, 164, 168, 177, 185, 122, 177, 122, 177, 168, 169, 122,
3405
+ 162, 161, 168, 177, 122, 162, 168, 162, 168, 167, 168, 168, 178, 122, 184, 153,
3406
+ 130, 130, 130, 130, 130, 168, 168, 168, 167, 169, 177, 142, 164, 164, 122, 161,
3407
+ 122, 168, 122, 122, 177, 177, 142, 176, 122, 167, 169, 177, 168, 167, 177, 162,
3408
+ 162, 178, 167, 176, 162, 173, 161, 130, 122, 177, 165, 168, 122, 161, 166, 162,
3409
+ 168, 166, 96, 166, 168, 169, 168, 168, 177, 169, 168, 161, 168, 168, 166, 162,
3410
+ 168, 166, 177, 168, 169, 168, 161, 169, 168, 164, 177, 169, 177, 164, 166, 169,
3411
+ 177, 168, 168, 177, 92, 164, 168, 173, 130, 202, 161, 113, 169, 177, 165, 168,
3412
+ 168, 168, 168, 169, 168, 121, 168, 122, 177, 169, 168, 168, 168, 177, 168, 180,
3413
+ 169, 177, 168, 167, 166, 166, 121, 168, 121, 168, 178, 168, 168, 168, 167, 177,
3414
+ 170, 163, 162, 168, 122, 168, 122, 168, 121, 168, 168, 166, 130, 179, 130, 113,
3415
+ 92, 168, 122, 176, 177, 166, 182, 177, 166, 177, 161, 174, 182, 122, 161, 168,
3416
+ 177, 168, 168, 166, 168, 162, 168, 166, 177, 164, 168, 168, 168, 168, 171, 122,
3417
+ 162, 161, 121, 177, 168, 160, 92, 162, 130, 160, 168, 169, 166, 166, 177, 167,
3418
+ 168, 163, 168, 122, 168, 166, 168, 168, 168, 168, 122, 142, 168, 167, 177, 177,
3419
+ 169, 163, 168, 168, 180, 168, 169, 181, 171, 177, 166, 169, 168, 161, 163, 92,
3420
+ 113, 96, 169, 185, 168, 164, 163, 168, 168, 177, 163, 185, 177, 168, 168, 177,
3421
+ 122, 168, 177, 177, 177, 185, 168, 168, 168, 161, 166, 177, 126, 177, 179, 121,
3422
+ 161, 162, 121, 177, 168, 160, 178, 178, 164, 122, 177, 121, 168, 161, 122, 177,
3423
+ 168, 177, 168, 166, 94, 121, 177, 161, 168, 177, 166, 177, 168, 142, 181, 172,
3424
+ 177, 178, 164, 166, 171, 169, 167, 168, 163, 177, 164, 166, 177, 168, 162, 188,
3425
+ 168, 169, 122, 121, 168, 168, 168, 172, 177, 168, 168, 168, 168, 163, 177, 168,
3426
+ 177, 121, 166, 168, 161, 177, 121, 168, 168, 169, 162, 121, 166, 168, 168, 168,
3427
+ 122, 177, 172, 177, 167, 174, 198, 161, 177, 162, 177, 177, 122, 122, 177, 160,
3428
+ 161, 162, 180, 121, 130, 177, 177, 122, 164, 122, 177, 121, 164, 121, 172, 164,
3429
+ 182, 122, 122, 122, 90, 170, 161, 168, 122, 166, 168, 122, 130, 168, 179, 168,
3430
+ 122, 177, 165, 161, 168, 178, 168, 122, 161, 171, 161, 164, 168, 169, 165, 165,
3431
+ 177, 122, 122, 168, 179, 130, 92, 160, 122, 168, 161, 122, 168, 122, 168, 161,
3432
+ 161, 168, 122, 168, 161, 168, 122, 180, 177, 178, 177, 177, 174, 92, 121, 177,
3433
+ 163, 168, 167, 161, 167, 161, 161, 168, 177, 161, 177, 122, 168, 130, 153, 92,
3434
+ 113, 169, 168, 92, 198, 172, 168, 167, 168, 168, 177, 161, 185, 177, 177, 172,
3435
+ 177, 122, 122, 113, 113, 187, 130, 94, 92, 185, 171, 177, 177, 177, 166, 198,
3436
+ 168, 162, 176, 162, 122, 122, 168, 168, 169, 122, 168, 177, 121, 121, 177, 122,
3437
+ 161, 121, 130, 130, 130, 130, 160, 177, 122, 161, 161, 168, 168, 161, 168, 171,
3438
+ 166, 166, 178, 122, 122, 193, 168, 177, 122, 169, 168, 168, 167, 121, 167, 160,
3439
+ 160, 177, 169, 161, 113, 168, 177, 121, 92, 168, 169, 168, 178, 162, 177, 164,
3440
+ 122, 168, 122, 122, 168, 171, 177, 168, 191, 192, 176, 173, 162, 113, 178, 168,
3441
+ 162, 96, 168, 168, 160, 122, 177, 177, 162, 168, 122, 169, 168, 168, 168, 168,
3442
+ 166, 177, 171, 168, 130, 177, 122, 168, 121, 164, 162, 121, 168, 97, 177, 161,
3443
+ 164, 165, 177, 172, 122, 162, 177, 94, 161, 177, 161, 168, 178, 172, 161, 177,
3444
+ 168, 168, 177, 168, 160, 92, 142, 177, 168, 168, 177, 177, 177, 168, 169, 122,
3445
+ 142, 177, 177, 177, 121, 160, 167, 161, 92, 168, 121, 177, 97, 178, 177, 142,
3446
+ 162, 168, 121, 177, 178, 162, 168, 153, 161, 168, 177, 166, 177, 164, 178, 122,
3447
+ 94, 122, 168, 122, 161, 168, 122, 198, 178, 163, 172, 121, 161, 162, 92, 121,
3448
+ 162, 160, 161, 121, 163, 177, 121, 178, 178, 92, 181, 177, 171, 168, 168, 177,
3449
+ 162, 180, 168, 168, 168, 163, 142, 172, 92, 198, 121, 161, 142, 168, 168, 178,
3450
+ 164, 161, 121, 181, 162, 164, 177, 177, 92, 168, 121, 161, 163, 121, 168, 178,
3451
+ 121, 170, 130, 92, 130, 130, 170, 130, 130, 130, 130, 130, 130, 92, 130, 130,
3452
+ 130, 130, 122, 168, 171, 177, 166, 162, 162, 168, 167, 168, 167, 178, 130, 168,
3453
+ 168, 168, 168, 122, 168, 166, 167, 172, 168, 177, 161, 166, 168, 177, 161, 130,
3454
+ 168, 177, 168, 166, 121, 161, 177, 168, 121, 162, 168, 168, 97, 162, 168, 177,
3455
+ 122, 92, 121, 121, 177, 164, 161, 166, 121, 92, 121, 161, 121, 161, 121, 171,
3456
+ 142, 171, 177, 121, 162, 171, 121, 121, 121, 161, 92, 121, 160, 121, 177, 121,
3457
+ 164, 161, 171, 121, 162, 121, 164, 168, 161, 160, 121, 163, 177, 121, 161, 162,
3458
+ 168, 121, 161, 113, 121, 164, 121, 162, 160, 168, 121, 121, 142, 163, 176, 168,
3459
+ 177, 142, 161, 164, 168, 177, 142, 162, 167, 163, 168, 161, 168, 177, 177, 168,
3460
+ 121, 178, 178, 162, 121, 121, 171, 177, 177, 168, 161, 121, 162, 164, 121, 92,
3461
+ 121, 177, 121, 121, 161, 164, 121, 163, 97, 121, 161, 142, 142, 121, 121, 161,
3462
+ 121, 121, 121, 121, 168, 191, 177, 177, 161, 190, 177, 171, 142, 161, 163, 177,
3463
+ 164, 168, 178, 177, 178, 121, 177, 121, 161, 202, 130, 177, 121, 121, 161, 177,
3464
+ 163, 142, 177, 122, 160, 121, 177, 162, 121, 177, 142, 161, 160, 161, 121, 164,
3465
+ 121, 121, 161, 121, 121, 121, 121, 171, 121, 163, 126, 168, 181, 113, 162, 163,
3466
+ 121, 161, 121, 164, 160, 161, 171, 164, 168, 121, 168, 177, 121, 168, 191, 121,
3467
+ 168, 161, 121, 177, 121, 168, 177, 121, 177, 171, 164, 121, 181, 121, 161, 180,
3468
+ 161, 177, 121, 177, 177, 177, 121, 177, 168, 168, 153, 121, 121, 177, 178, 177,
3469
+ 178, 180, 178, 161, 178, 161, 121, 121, 168, 161, 203, 121, 164, 121, 121, 168,
3470
+ 177, 121, 168, 142, 177, 177, 188, 121, 121, 161, 121, 168, 171, 161, 121, 177,
3471
+ 121, 121, 121, 161, 121, 177, 177, 167, 168, 161, 171, 177, 172, 168, 121, 168,
3472
+ 121, 177, 168, 168, 180, 168, 180, 121, 168, 121, 180, 121, 177, 121, 177, 163,
3473
+ 121, 113, 168, 168, 168, 168, 167, 168, 121, 161, 168, 121, 121, 163, 168, 168,
3474
+ 177, 168, 161, 180, 161, 168, 168, 177, 161, 121, 168, 168, 177, 168, 178, 160,
3475
+ 168, 121, 177, 163, 162, 177, 171, 168, 177, 121, 168, 168, 172, 163, 121, 121,
3476
+ 168, 168, 177, 177, 177, 168, 178, 168, 121, 171, 121, 113, 121, 168, 182, 142,
3477
+ 168, 161, 160, 177, 161, 168, 122, 168, 168, 160, 168, 142, 122, 177, 161, 121,
3478
+ 121, 181, 113, 161, 121, 161, 162, 121, 177, 177, 168, 168, 164, 121, 177, 168,
3479
+ 121, 163, 168, 181, 177, 177, 168, 161, 168, 92, 121, 177, 178, 164, 178, 162,
3480
+ 198, 161, 121, 121, 177, 177, 121, 161, 168, 178, 121, 160, 171, 161, 177, 177,
3481
+ 170, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130,
3482
+ 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 170, 130,
3483
+ 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130,
3484
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3485
+ 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130,
3486
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3487
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130,
3488
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130,
3489
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3490
+ 130, 130, 130, 130, 130, 130, 130, 122, 162, 177, 181, 168, 168, 177, 177, 121,
3491
+ 161, 122, 168, 168, 161, 177, 122, 166, 121, 176, 180, 177, 122, 168, 142, 177,
3492
+ 142, 163, 161, 164, 171, 122, 168, 177, 164, 162, 122, 164, 168, 177, 161, 168,
3493
+ 161, 122, 169, 164, 177, 168, 177, 161, 177, 177, 122, 122, 142, 171, 92, 168,
3494
+ 168, 168, 168, 176, 161, 177, 177, 168, 167, 122, 122, 177, 181, 168, 164, 161,
3495
+ 168, 168, 122, 161, 168, 167, 177, 164, 161, 169, 122, 162, 122, 142, 181, 168,
3496
+ 177, 168, 177, 171, 167, 168, 161, 168, 167, 177, 168, 163, 177, 121, 121, 160,
3497
+ 121, 121, 121, 168, 177, 168, 161, 121, 121, 121, 121, 121, 121, 172, 181, 121,
3498
+ 180, 161, 142, 121, 121, 168, 121, 121, 121, 177, 177, 121, 121, 121, 168, 121,
3499
+ 121, 121, 121, 121, 121, 171, 162, 121, 121, 164, 121, 162, 168, 172, 113, 177,
3500
+ 161, 121, 97, 121, 160, 177, 163, 168, 161, 177, 180, 172, 121, 177, 121, 168,
3501
+ 121, 171, 121, 121, 121, 168, 121, 168, 177, 160, 121, 160, 171, 121, 168, 164,
3502
+ 177, 168, 163, 168, 126, 177, 161, 163, 171, 168, 142, 121, 121, 121, 177, 162,
3503
+ 168, 162, 168, 163, 180, 121, 168, 180, 121, 177, 121, 172, 160, 121, 161, 142,
3504
+ 178, 160, 163, 121, 178, 168, 121, 171, 160, 168, 161, 171, 160, 170, 130, 130,
3505
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3506
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3507
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3508
+ 130, 92, 92, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 92,
3509
+ 130, 130, 130, 130, 122, 164, 122, 169, 168, 177, 92, 122, 177, 169, 177, 168,
3510
+ 122, 181, 168, 122, 122, 130, 185, 122, 168, 168, 160, 168, 161, 168, 161, 164,
3511
+ 168, 169, 163, 161, 166, 122, 161, 161, 164, 168, 122, 173, 168, 177, 168, 168,
3512
+ 177, 166, 168, 168, 185, 171, 168, 161, 161, 121, 161, 168, 168, 161, 162, 176,
3513
+ 177, 168, 161, 122, 161, 168, 163, 168, 121, 160, 168, 177, 177, 168, 168, 177,
3514
+ 161, 130, 177, 122, 96, 166, 168, 177, 130, 177, 122, 164, 166, 161, 122, 185,
3515
+ 163, 168, 178, 170, 130, 177, 190, 177, 177, 161, 164, 122, 122, 168, 176, 165,
3516
+ 168, 176, 161, 168, 163, 177, 167, 166, 168, 177, 169, 122, 168, 122, 130, 169,
3517
+ 168, 121, 168, 165, 176, 162, 97, 177, 122, 168, 169, 167, 166, 161, 168, 122,
3518
+ 177, 177, 177, 122, 177, 202, 92, 130, 130, 130, 96, 130, 142, 166, 168, 178,
3519
+ 168, 163, 168, 168, 177, 166, 177, 168, 181, 167, 165, 164, 130, 168, 94, 122,
3520
+ 121, 177, 168, 168, 166, 168, 177, 168, 168, 168, 168, 168, 168, 169, 122, 169,
3521
+ 177, 171, 176, 166, 168, 168, 177, 177, 160, 96, 186, 97, 130, 94, 185, 130,
3522
+ 180, 176, 161, 177, 142, 122, 177, 162, 177, 176, 170, 161, 168, 166, 168, 168,
3523
+ 166, 166, 122, 161, 122, 168, 160, 165, 122, 122, 122, 176, 178, 177, 177, 163,
3524
+ 178, 130, 130, 168, 177, 142, 168, 168, 161, 122, 168, 177, 177, 177, 177, 121,
3525
+ 180, 177, 177, 142, 142, 168, 96, 168, 160, 166, 168, 161, 176, 166, 92, 166,
3526
+ 189, 182, 169, 168, 122, 160, 122, 160, 168, 162, 171, 177, 169, 92, 94, 130,
3527
+ 94, 122, 171, 164, 178, 169, 168, 122, 168, 171, 121, 142, 168, 121, 168, 130,
3528
+ 166, 142, 177, 142, 167, 177, 168, 168, 168, 181, 177, 162, 130, 177, 166, 168,
3529
+ 168, 142, 164, 168, 168, 168, 168, 163, 168, 177, 121, 122, 122, 163, 162, 184,
3530
+ 172, 181, 96, 164, 161, 162, 160, 161, 161, 161, 176, 162, 160, 168, 113, 161,
3531
+ 188, 164, 168, 163, 162, 113, 181, 162, 113, 168, 121, 121, 121, 121, 170, 171,
3532
+ 92, 177, 121, 168, 171, 161, 161, 168, 168, 161, 94, 142, 177, 168, 168, 121,
3533
+ 168, 168, 153, 113, 160, 168, 168, 168, 177, 168, 161, 180, 168, 182, 177, 168,
3534
+ 162, 177, 160, 161, 168, 168, 168, 177, 121, 177, 177, 121, 142, 181, 121, 168,
3535
+ 177, 168, 177, 121, 161, 180, 168, 177, 177, 121, 142, 168, 113, 168, 168, 162,
3536
+ 177, 168, 121, 121, 121, 121, 177, 177, 177, 172, 168, 121, 121, 121, 188, 121,
3537
+ 177, 162, 161, 177, 168, 171, 121, 204, 162, 121, 121, 161, 177, 163, 177, 121,
3538
+ 160, 161, 168, 121, 177, 177, 177, 177, 121, 180, 162, 121, 161, 161, 121, 121,
3539
+ 177, 163, 142, 177, 121, 121, 178, 177, 168, 121, 160, 168, 113, 121, 121, 177,
3540
+ 168, 177, 177, 177, 171, 177, 168, 178, 177, 168, 168, 168, 172, 191, 177, 121,
3541
+ 168, 142, 180, 178, 178, 164, 170, 170, 130, 130, 92, 130, 130, 130, 170, 130,
3542
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3543
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130,
3544
+ 130, 130, 92, 170, 130, 130, 130, 130, 130, 130, 130, 122, 122, 164, 184, 169,
3545
+ 163, 164, 161, 122, 164, 163, 188, 181, 122, 130, 161, 130, 161, 121, 142, 121,
3546
+ 122, 122, 121, 160, 168, 163, 90, 153, 182, 179, 153, 153, 153, 130, 174, 178,
3547
+ 162, 174, 122, 92, 169, 122, 171, 173, 130, 168, 163, 177, 160, 177, 122, 161,
3548
+ 90, 122, 177, 166, 122, 166, 168, 168, 173, 173, 153, 130, 130, 130, 130, 130,
3549
+ 177, 168, 169, 177, 176, 169, 122, 161, 176, 184, 122, 122, 92, 122, 166, 181,
3550
+ 122, 164, 183, 130, 142, 177, 177, 122, 169, 186, 142, 177, 168, 122, 177, 168,
3551
+ 122, 122, 192, 122, 166, 122, 122, 92, 193, 173, 130, 165, 177, 122, 181, 122,
3552
+ 122, 165, 179, 181, 122, 121, 169, 122, 162, 121, 122, 176, 168, 122, 122, 122,
3553
+ 122, 165, 122, 121, 168, 161, 130, 113, 164, 164, 164, 161, 164, 166, 122, 166,
3554
+ 161, 121, 121, 182, 177, 122, 169, 163, 122, 113, 161, 173, 122, 168, 122, 177,
3555
+ 161, 122, 122, 164, 166, 181, 161, 122, 161, 178, 121, 121, 163, 122, 121, 169,
3556
+ 122, 122, 167, 122, 121, 121, 153, 130, 169, 121, 161, 176, 121, 188, 121, 161,
3557
+ 121, 198, 176, 122, 94, 202, 162, 177, 169, 121, 161, 168, 182, 122, 122, 180,
3558
+ 177, 161, 121, 168, 176, 122, 178, 121, 121, 177, 121, 168, 121, 122, 168, 122,
3559
+ 122, 121, 122, 122, 121, 177, 168, 121, 190, 181, 121, 176, 162, 168, 162, 121,
3560
+ 171, 122, 161, 173, 168, 190, 161, 166, 177, 192, 161, 166, 161, 130, 168, 168,
3561
+ 177, 166, 190, 122, 161, 177, 122, 168, 198, 161, 122, 161, 130, 161, 170, 165,
3562
+ 192, 122, 177, 166, 166, 122, 176, 161, 122, 173, 130, 170, 161, 177, 166, 168,
3563
+ 161, 122, 161, 171, 174, 166, 161, 166, 177, 161, 122, 168, 162, 161, 169, 130,
3564
+ 130, 130, 162, 130, 168, 177, 168, 166, 177, 177, 168, 167, 166, 176, 195, 177,
3565
+ 168, 122, 169, 168, 178, 177, 130, 130, 122, 168, 168, 166, 168, 122, 161, 166,
3566
+ 177, 168, 168, 168, 166, 121, 164, 181, 130, 168, 168, 168, 168, 122, 176, 177,
3567
+ 177, 168, 122, 168, 166, 177, 177, 168, 177, 97, 161, 168, 161, 177, 168, 168,
3568
+ 177, 168, 121, 161, 177, 195, 177, 171, 171, 122, 177, 168, 177, 168, 176, 168,
3569
+ 177, 168, 166, 166, 168, 164, 168, 188, 168, 177, 168, 168, 168, 121, 177, 166,
3570
+ 142, 176, 180, 168, 171, 168, 177, 164, 168, 176, 177, 168, 164, 164, 168, 168,
3571
+ 168, 168, 92, 166, 168, 168, 185, 177, 171, 122, 122, 122, 122, 122, 165, 166,
3572
+ 185, 160, 122, 177, 181, 168, 178, 176, 178, 163, 166, 162, 160, 130, 170, 168,
3573
+ 168, 166, 165, 169, 166, 169, 92, 163, 168, 122, 122, 161, 122, 162, 185, 185,
3574
+ 170, 130, 167, 178, 176, 122, 179, 122, 122, 166, 177, 164, 160, 130, 130, 130,
3575
+ 168, 177, 178, 171, 168, 166, 177, 122, 161, 122, 177, 122, 179, 165, 163, 168,
3576
+ 167, 166, 122, 177, 162, 164, 161, 113, 162, 168, 185, 185, 121, 168, 171, 168,
3577
+ 168, 177, 167, 96, 113, 168, 162, 168, 177, 160, 167, 121, 188, 166, 190, 165,
3578
+ 177, 188, 177, 177, 122, 165, 182, 168, 113, 168, 169, 163, 177, 177, 168, 164,
3579
+ 121, 142, 177, 177, 160, 171, 142, 122, 113, 122, 130, 121, 122, 122, 122, 122,
3580
+ 121, 122, 92, 177, 177, 168, 172, 188, 121, 171, 177, 181, 122, 121, 164, 172,
3581
+ 161, 113, 168, 121, 177, 163, 142, 121, 168, 171, 191, 168, 177, 171, 177, 162,
3582
+ 164, 177, 161, 168, 168, 121, 181, 177, 168, 177, 94, 162, 113, 177, 160, 178,
3583
+ 177, 177, 168, 168, 177, 177, 177, 171, 160, 171, 177, 161, 177, 121, 172, 168,
3584
+ 188, 121, 191, 163, 142, 142, 177, 194, 164, 168, 168, 161, 177, 162, 121, 92,
3585
+ 161, 161, 161, 171, 177, 177, 177, 168, 182, 113, 94, 160, 113, 168, 177, 164,
3586
+ 177, 168, 168, 177, 121, 163, 177, 142, 171, 171, 191, 161, 163, 97, 171, 121,
3587
+ 188, 160, 162, 162, 172, 121, 177, 162, 178, 121, 177, 142, 168, 171, 177, 177,
3588
+ 178, 171, 168, 168, 168, 160, 168, 121, 182, 164, 142, 121, 164, 163, 180, 160,
3589
+ 177, 177, 198, 168, 121, 191, 180, 177, 162, 162, 161, 160, 168, 168, 163, 177,
3590
+ 177, 113, 168, 161, 130, 162, 177, 182, 171, 177, 168, 171, 171, 177, 178, 177,
3591
+ 121, 160, 168, 180, 160, 121, 168, 168, 177, 163, 177, 168, 168, 177, 166, 160,
3592
+ 161, 121, 164, 121, 168, 178, 121, 177, 121, 177, 178, 178, 121, 168, 161, 162,
3593
+ 177, 168, 168, 168, 177, 177, 168, 177, 171, 168, 168, 177, 97, 181, 179, 162,
3594
+ 161, 160, 171, 126, 168, 168, 191, 121, 164, 198, 182, 171, 171, 162, 160, 163,
3595
+ 177, 171, 177, 177, 168, 171, 177, 171, 166, 168, 168, 177, 191, 177, 177, 180,
3596
+ 177, 168, 121, 177, 160, 177, 161, 177, 177, 177, 161, 160, 164, 177, 168, 177,
3597
+ 177, 177, 161, 182, 121, 163, 168, 177, 177, 178, 121, 160, 182, 181, 177, 168,
3598
+ 171, 168, 153, 172, 160, 161, 160, 168, 121, 177, 178, 177, 121, 160, 168, 177,
3599
+ 177, 168, 177, 160, 126, 161, 178, 160, 177, 168, 161, 168, 168, 177, 168, 178,
3600
+ 121, 162, 168, 168, 177, 171, 168, 161, 121, 142, 121, 168, 164, 177, 191, 191,
3601
+ 121, 188, 121, 178, 191, 177, 121, 177, 121, 177, 177, 121, 172, 168, 121, 121,
3602
+ 160, 160, 181, 171, 177, 178, 171, 162, 168, 168, 113, 113, 168, 92, 130, 161,
3603
+ 94, 94, 160, 94, 153, 160, 168, 177, 193, 177, 126, 121, 168, 121, 168, 168,
3604
+ 177, 177, 177, 161, 121, 177, 178, 177, 177, 168, 171, 121, 178, 161, 177, 160,
3605
+ 178, 168, 160, 168, 177, 171, 160, 177, 160, 163, 166, 160, 142, 177, 198, 162,
3606
+ 171, 177, 161, 163, 163, 121, 177, 168, 160, 168, 177, 168, 180, 163, 121, 164,
3607
+ 177, 182, 171, 168, 94, 94, 160, 94, 177, 168, 171, 164, 180, 177, 168, 166,
3608
+ 160, 168, 177, 161, 121, 177, 121, 142, 171, 168, 121, 177, 160, 168, 177, 168,
3609
+ 160, 177, 97, 191, 177, 168, 177, 180, 177, 177, 168, 162, 121, 198, 142, 168,
3610
+ 121, 168, 168, 97, 177, 177, 162, 168, 160, 113, 162, 160, 161, 160, 161, 94,
3611
+ 168, 164, 168, 121, 177, 164, 163, 177, 142, 162, 166, 163, 177, 171, 168, 168,
3612
+ 178, 121, 168, 163, 168, 168, 169, 142, 142, 177, 168, 160, 171, 142, 191, 171,
3613
+ 160, 121, 171, 168, 121, 181, 177, 177, 142, 161, 161, 161, 168, 161, 168, 161,
3614
+ 94, 160, 161, 160, 161, 168, 194, 177, 177, 177, 177, 177, 168, 171, 168, 168,
3615
+ 168, 182, 164, 142, 193, 161, 168, 178, 163, 177, 168, 168, 168, 177, 177, 177,
3616
+ 178, 168, 168, 178, 178, 177, 177, 163, 121, 178, 181, 160, 161, 94, 161, 164,
3617
+ 168, 113, 161, 161, 160, 128, 94, 160, 168, 168, 168, 121, 168, 160, 171, 162,
3618
+ 168, 177, 171, 171, 162, 121, 178, 168, 121, 168, 142, 177, 168, 177, 170, 177,
3619
+ 168, 113, 160, 163, 121, 177, 168, 168, 177, 168, 177, 168, 177, 160, 161, 168,
3620
+ 168, 121, 121, 113, 160, 177, 161, 168, 160, 162, 181, 198, 164, 168, 178, 164,
3621
+ 142, 164, 178, 171, 97, 160, 161, 160, 177, 168, 142, 166, 160, 177, 177, 177,
3622
+ 142, 177, 171, 168, 168, 178, 168, 142, 168, 94, 161, 160, 142, 121, 142, 121,
3623
+ 168, 178, 168, 177, 164, 170, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3624
+ 130, 92, 130, 130, 130, 130, 92, 130, 92, 130, 130, 130, 130, 130, 130, 170,
3625
+ 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3626
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3627
+ 130, 170, 130, 170, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 92,
3628
+ 130, 130, 130, 92, 92, 130, 130, 130, 130, 130, 92, 130, 170, 130, 130, 130,
3629
+ 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3630
+ 130, 130, 130, 130, 130, 130, 170, 130, 130, 130, 130, 92, 130, 130, 130, 130,
3631
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3632
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130,
3633
+ 92, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 170, 130, 130,
3634
+ 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130,
3635
+ 130, 130, 130, 92, 130, 130, 130, 170, 92, 130, 130, 92, 130, 130, 130, 130,
3636
+ 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130,
3637
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130,
3638
+ 130, 130, 130, 130, 92, 92, 130, 121, 182, 164, 168, 168, 168, 168, 162, 170,
3639
+ 121, 161, 142, 121, 162, 160, 168, 181, 177, 121, 113, 121, 177, 177, 171, 121,
3640
+ 168, 121, 126, 121, 121, 161, 153, 160, 121, 172, 161, 168, 168, 162, 177, 177,
3641
+ 153, 171, 172, 121, 121, 121, 182, 172, 121, 171, 94, 177, 177, 121, 168, 161,
3642
+ 168, 126, 181, 161, 162, 168, 177, 168, 161, 178, 177, 121, 180, 177, 178, 177,
3643
+ 168, 161, 161, 178, 161, 168, 171, 180, 171, 177, 121, 171, 142, 178, 161, 92,
3644
+ 171, 177, 177, 177, 121, 121, 121, 161, 181, 162, 177, 168, 121, 164, 177, 177,
3645
+ 177, 121, 121, 168, 177, 178, 162, 161, 170, 130, 130, 130, 92, 130, 130, 130,
3646
+ 130, 130, 130, 130, 170, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92,
3647
+ 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130,
3648
+ 130, 130, 130, 92, 130, 130, 130, 130, 92, 130, 130, 92, 122, 174, 177, 130,
3649
+ 168, 122, 166, 168, 177, 162, 164, 161, 178, 161, 122, 161, 171, 168, 122, 178,
3650
+ 168, 176, 122, 174, 173, 130, 130, 164, 182, 177, 177, 122, 166, 166, 161, 122,
3651
+ 122, 163, 122, 168, 122, 170, 130, 130, 130, 130, 168, 122, 122, 122, 168, 178,
3652
+ 122, 168, 162, 168, 166, 130, 163, 162, 171, 161, 161, 122, 180, 121, 121, 165,
3653
+ 161, 176, 122, 121, 122, 113, 113, 130, 130, 170, 122, 168, 169, 168, 164, 168,
3654
+ 121, 168, 169, 121, 176, 122, 122, 122, 121, 161, 113, 163, 177, 121, 177, 164,
3655
+ 168, 163, 164, 177, 171, 122, 122, 168, 167, 177, 121, 122, 161, 122, 121, 175,
3656
+ 130, 177, 168, 168, 122, 121, 163, 167, 122, 122, 162, 121, 122, 164, 168, 164,
3657
+ 181, 168, 168, 198, 177, 163, 162, 122, 121, 177, 121, 161, 168, 161, 177, 164,
3658
+ 167, 121, 181, 166, 142, 161, 175, 196, 142, 169, 164, 121, 167, 179, 130, 168,
3659
+ 122, 122, 168, 168, 122, 122, 122, 122, 168, 122, 171, 121, 122, 122, 165, 130,
3660
+ 161, 181, 176, 168, 168, 122, 121, 168, 177, 121, 177, 121, 121, 177, 171, 177,
3661
+ 130, 168, 121, 121, 161, 168, 161, 161, 122, 190, 122, 113, 161, 161, 161, 190,
3662
+ 180, 177, 121, 130, 160, 168, 122, 122, 168, 122, 177, 121, 161, 168, 130, 168,
3663
+ 122, 130, 177, 182, 169, 177, 122, 122, 167, 176, 181, 168, 161, 169, 169, 169,
3664
+ 168, 121, 168, 122, 161, 161, 122, 161, 168, 180, 164, 163, 122, 177, 122, 168,
3665
+ 168, 182, 177, 177, 142, 168, 168, 121, 177, 168, 169, 168, 168, 130, 168, 168,
3666
+ 122, 163, 122, 164, 161, 168, 160, 161, 169, 122, 168, 161, 161, 121, 169, 168,
3667
+ 160, 163, 121, 177, 121, 161, 178, 168, 121, 178, 162, 168, 92, 161, 162, 162,
3668
+ 161, 203, 169, 130, 92, 164, 122, 182, 177, 184, 177, 176, 121, 160, 122, 160,
3669
+ 169, 122, 122, 164, 181, 130, 142, 164, 142, 122, 177, 113, 168, 198, 177, 161,
3670
+ 168, 153, 168, 166, 122, 92, 176, 191, 177, 181, 180, 177, 169, 177, 168, 177,
3671
+ 177, 178, 168, 168, 178, 169, 113, 160, 168, 163, 168, 122, 161, 122, 168, 121,
3672
+ 113, 130, 130, 161, 185, 162, 162, 177, 169, 177, 177, 160, 178, 168, 177, 163,
3673
+ 122, 168, 177, 169, 168, 168, 142, 92, 180, 161, 168, 165, 177, 122, 177, 130,
3674
+ 92, 163, 174, 178, 175, 164, 177, 168, 163, 177, 163, 168, 162, 160, 163, 177,
3675
+ 160, 171, 94, 142, 177, 177, 121, 177, 172, 171, 164, 121, 171, 177, 177, 168,
3676
+ 177, 162, 160, 121, 177, 168, 168, 177, 177, 177, 161, 162, 121, 177, 177, 168,
3677
+ 182, 177, 161, 168, 164, 168, 170, 130, 92, 130, 130, 130, 130, 169, 172, 164,
3678
+ 168, 177, 172, 122, 162, 175, 122, 162, 177, 97, 177, 121, 161, 168, 168, 121,
3679
+ 194, 121, 121, 121, 168, 121, 121, 177, 121, 92, 188, 161, 121, 177, 177, 178,
3680
+ 121, 121, 121, 121, 163, 160, 177, 121, 121, 164, 181, 168, 171, 168, 177, 160,
3681
+ 177, 142, 161, 163, 142, 162, 177, 168, 168, 168, 161, 171, 113, 121, 163, 177,
3682
+ 188, 161, 177, 163, 172, 177, 161, 142, 121, 126, 161, 121, 181, 181, 162, 161,
3683
+ 161, 168, 161, 168, 177, 168, 121, 163, 168, 168, 177, 172, 121, 121, 121, 142,
3684
+ 168, 177, 177, 171, 196, 181, 164, 177, 121, 177, 197, 142, 168, 168, 121, 168,
3685
+ 168, 161, 177, 177, 168, 188, 163, 121, 161, 168, 177, 121, 163, 161, 161, 121,
3686
+ 142, 142, 168, 178, 178, 170, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3687
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 92, 130,
3688
+ 130, 130, 92, 130, 130, 92, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130,
3689
+ 130, 130, 130, 92, 130, 130, 130, 130, 121, 168, 113, 162, 168, 177, 177, 121,
3690
+ 162, 121, 168, 97, 182, 161, 142, 163, 177, 160, 171, 177, 97, 168, 168, 177,
3691
+ 168, 168, 177, 172, 121, 162, 178, 203, 163, 168, 160, 168, 177, 161, 170, 92,
3692
+ 92, 130, 130, 130, 92, 130, 92, 92, 130, 130, 130, 121, 198, 161, 170, 122,
3693
+ 94, 193, 121, 177, 161, 177, 163, 176, 130, 142, 171, 178, 160, 121, 200, 121,
3694
+ 161, 160, 142, 164, 121, 160, 177, 161, 161, 168, 168, 92, 121, 121, 121, 161,
3695
+ 168, 161, 177, 121, 92, 142, 161, 177, 177, 121, 121, 92, 121, 130, 160, 92,
3696
+ 122, 177, 142, 121, 178, 177, 177, 177, 121, 160, 171, 171, 163, 181, 121, 177,
3697
+ 196, 142, 164, 161, 178, 168, 162, 177, 121, 168, 168, 177, 178, 168, 169, 168,
3698
+ 168, 177, 177, 177, 162, 171, 161, 94, 160, 163, 177, 163, 177, 142, 142, 97,
3699
+ 163, 177, 172, 168, 161, 121, 162, 177, 177, 121, 94, 180, 180, 193, 177, 161,
3700
+ 178, 121, 121, 168, 192, 169, 168, 121, 177, 177, 161, 177, 171, 160, 171, 177,
3701
+ 162, 168, 94, 170, 92, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3702
+ 130, 130, 130, 92, 130, 130, 130, 130, 92, 92, 130, 92, 130, 130, 92, 130,
3703
+ 130, 130, 92, 92, 130, 130, 130, 130, 130, 92, 130, 130, 92, 130, 92, 130,
3704
+ 130, 130, 130, 130, 130, 130, 122, 167, 167, 122, 161, 182, 168, 191, 168, 162,
3705
+ 161, 168, 161, 168, 160, 122, 177, 168, 122, 161, 160, 168, 121, 121, 121, 168,
3706
+ 177, 188, 177, 121, 121, 177, 161, 161, 160, 191, 177, 168, 172, 177, 161, 164,
3707
+ 161, 121, 168, 177, 172, 153, 113, 168, 181, 177, 161, 168, 168, 168, 168, 168,
3708
+ 121, 121, 121, 177, 177, 121, 168, 168, 178, 188, 163, 142, 177, 121, 164, 121,
3709
+ 161, 160, 142, 168, 168, 168, 160, 177, 161, 168, 177, 164, 177, 121, 178, 161,
3710
+ 177, 121, 113, 161, 177, 163, 168, 168, 178, 177, 168, 178, 168, 177, 177, 121,
3711
+ 161, 121, 177, 177, 177, 178, 168, 168, 195, 168, 168, 177, 163, 168, 121, 180,
3712
+ 163, 177, 113, 113, 168, 168, 171, 161, 161, 121, 168, 168, 168, 168, 177, 160,
3713
+ 177, 160, 177, 177, 177, 168, 160, 177, 113, 168, 168, 121, 168, 177, 177, 160,
3714
+ 121, 168, 168, 162, 168, 171, 191, 121, 177, 168, 168, 160, 160, 168, 142, 168,
3715
+ 121, 177, 178, 121, 177, 121, 168, 162, 168, 168, 177, 162, 177, 121, 177, 168,
3716
+ 168, 164, 168, 168, 177, 121, 177, 121, 160, 168, 121, 121, 160, 162, 168, 121,
3717
+ 168, 161, 121, 160, 178, 121, 168, 168, 168, 180, 121, 178, 170, 130, 130, 130,
3718
+ 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
3719
+ 130, 130, 130, 92, 130, 130, 130, 130, 130, 92, 130, 130, 130, 92, 92, 170,
3720
+ 130, 130, 130, 130, 92, 92, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130,
3721
+ 130, 130, 130, 130, 130, 130, 92, 130, 122, 161, 162, 168, 162, 178, 162, 171,
3722
+ 169, 185, 182, 168, 177, 164, 174, 96, 122, 177, 170, 177, 169, 160, 177, 177,
3723
+ 167, 176, 185, 162, 181, 130, 177, 168, 164, 161, 168, 130, 130, 168, 164, 142,
3724
+ 177, 169, 171, 122, 121, 177, 171, 163, 122, 161, 161, 162, 177, 161, 181, 167,
3725
+ 163, 96, 172, 178, 164, 204, 169, 177, 161, 164, 181, 167, 177, 169, 121, 169,
3726
+ 92, 178, 177, 177, 172, 164, 168, 178, 161, 166, 177, 169, 168, 177, 168, 182,
3727
+ 164, 177, 163, 176, 177, 177, 142, 161, 166, 163, 168, 177, 177, 171, 177, 170,
3728
+ 177, 168, 177, 130, 160, 168, 177, 168, 178, 177, 121, 162, 162, 161, 168, 167,
3729
+ 177, 161, 142, 169, 168, 142, 164, 121, 142, 178, 198, 177, 161, 163, 178, 167,
3730
+ 161, 121, 169, 177, 163, 177, 92, 177, 161, 182, 177, 167, 122, 164, 168, 168,
3731
+ 160, 122, 122, 165, 122, 122, 168, 130, 166, 173, 168, 177, 177, 169, 142, 122,
3732
+ 160, 169, 168, 161, 122, 177, 177, 164, 142, 168, 121, 177, 92, 161, 162, 168,
3733
+ 168, 177, 92, 164, 168, 162, 177, 168, 177, 160, 162, 164, 177, 162, 162, 121,
3734
+ 168, 168, 161, 162, 178, 177, 168, 171, 162, 162, 168, 168, 168, 168, 168, 182,
3735
+ 177, 94, 168, 172, 164, 177, 177, 177, 168, 164, 162, 163, 161, 182, 198, 163,
3736
+ 177, 121, 178, 178, 164, 168, 113, 153, 161, 161, 177, 168, 92, 163, 177, 198,
3737
+ 178, 168, 168, 161, 168, 168, 177, 162, 178, 162, 142, 121, 162, 142, 121, 168,
3738
+ 182, 162, 162, 92, 113, 168, 168, 162, 177, 178, 92, 164, 162, 168, 162, 177,
3739
+ 142, 177, 161, 168, 168, 161, 178, 177, 171, 121, 142, 161, 161, 161, 162, 153,
3740
+ 162, 113, 181, 168, 178, 168, 121, 177, 162, 168, 168, 142, 168, 182, 168, 164,
3741
+ 168, 178, 178, 181, 180, 177, 168, 171, 121, 160, 177, 177, 168, 94, 161, 162,
3742
+ 178, 153, 113, 162, 94, 113, 161, 177, 177, 164, 162, 161, 161, 171, 161, 163,
3743
+ 164, 92, 163, 92, 181, 168, 178, 168, 178, 178, 172, 177, 172, 121, 168, 162,
3744
+ 198, 162, 180, 142, 178, 198, 162, 168, 162, 162, 162, 172, 177, 168, 162, 160,
3745
+ 94, 178, 162, 177, 178, 121, 182, 164, 177, 177, 162, 168, 168, 142, 181, 153,
3746
+ 113, 171, 180, 168, 168, 163, 177, 177, 161, 178, 172, 121, 168, 177, 142, 168,
3747
+ 168, 177, 92, 162, 177, 163, 178, 200, 178, 188, 177, 168, 168, 168, 177, 163,
3748
+ 177, 161, 178, 163, 171, 168, 171, 121, 177, 168, 113, 162, 162, 163, 177, 171,
3749
+ 178, 161, 168, 177, 92, 161, 168, 178, 177, 162, 162, 162, 161, 168, 177, 161,
3750
+ 162, 168, 182, 168, 168, 177, 181, 171, 142, 168, 168, 163, 170, 92, 92, 130,
3751
+ 92, 130, 130, 92, 92, 130, 130, 130, 130, 92, 92, 130, 92, 130, 130, 92,
3752
+ 130, 130, 130, 92, 130, 130, 92, 92, 92, 92, 130, 130, 130, 92, 130, 130,
3753
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 92, 130, 130, 92,
3754
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, 130, 130, 92, 92,
3755
+ 92, 92, 92, 130, 130, 130, 130, 130, 92, 92, 130, 130, 130, 130, 130, 130,
3756
+ 130, 92, 92, 130, 130, 130, 130, 130, 130, 130, 92, 92, 130, 130, 130, 130,
3757
+ 92, 92, 130, 92, 92, 121, 177, 180, 161, 121, 168, 181, 181, 168, 161, 161,
3758
+ 113, 168, 177, 121, 121, 168, 121, 177, 161, 177, 168, 168, 168, 168, 161, 168,
3759
+ 168, 161, 163, 142, 168, 168, 142, 178, 178, 121, 161, 162, 160, 161, 113, 161,
3760
+ 168, 162, 142, 161, 168, 142, 160, 177, 177, 168, 161, 121, 162, 177, 177, 178,
3761
+ 168, 160, 168, 142, 161, 168, 121, 161, 121, 168, 181, 113, 113, 168, 168, 177,
3762
+ 177, 168, 162, 177, 182, 161, 168, 168, 168, 160, 162, 121, 162, 177, 178, 142,
3763
+ 168, 178, 177, 177, 172, 177, 113, 162, 113, 160, 177, 168, 168, 161, 160, 168,
3764
+ 172, 121, 168, 177, 177, 161, 168, 168, 168, 178, 168, 168, 178, 121, 172, 177,
3765
+ 121, 121, 162, 164, 113, 162, 161, 168, 168, 177, 171, 177, 121, 160, 160, 178,
3766
+ 177, 168, 121, 168, 168, 168, 164, 177, 168, 168, 181, 177, 182, 168, 163, 168,
3767
+ 168, 168, 168, 163, 177, 168, 177, 178, 168, 142, 177, 168, 168, 162, 162, 113,
3768
+ 168, 161, 177, 182, 168, 164, 177, 177, 177, 168, 178, 168, 168, 168, 168, 168,
3769
+ 168, 177, 168, 168, 178, 160, 168, 168, 168, 180, 177, 153, 177, 168, 164, 121,
3770
+ 161, 177, 178, 168, 121, 177, 168, 168, 142, 177, 178, 178, 177, 160, 168, 177,
3771
+ 94, 178, 142, 177, 198, 168, 113, 177, 168, 182, 177, 168, 168, 168, 168, 178,
3772
+ 168, 168, 168, 142, 182, 177, 177, 188, 168, 178, 177, 168, 168, 168, 177, 177,
3773
+ 162, 168, 168, 168, 168, 171, 178, 162, 168, 177, 92, 177, 168, 178, 177, 178,
3774
+ 177, 92, 180, 177, 177, 168, 168, 168, 180, 121, 121, 168, 160, 178, 177, 168,
3775
+ 168, 168, 177, 168, 168, 168, 168, 177, 161, 168, 182, 168, 94, 168, 163, 168,
3776
+ 177, 177, 177, 168, 168, 177, 164, 168, 160, 177, 121, 142, 163, 177, 121, 170,
3777
+ 130, 130, 130, 130, 92, 130, 130, 92, 130, 130, 130, 130, 130, 130, 92, 130,
3778
+ 92, 130, 130, 130, 92, 130, 130, 130, 130, 130, 130, 92, 92, 130, 130, 130,
3779
+ 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 92, 130, 130,
3780
+ 92, 130, 92, 92, 92, 130, 92, 130, 130, 92, 130, 130, 130, 92, 130, 92,
3781
+ 92, 92, 92, 130, 130, 92, 130, 130, 130, 130, 130, 130, 130, 130, 92, 92,
3782
+ 130, 130, 92, 130, 92, 121, 92, 92, 113, 121, 177, 163, 171, 121, 130, 122,
3783
+ 177, 172, 176, 177, 163, 163, 168, 166, 167, 168, 168, 169, 178, 168, 177, 162,
3784
+ 160, 178, 122, 122, 168, 172, 182, 121, 163, 168, 168, 177, 168, 122, 163, 122,
3785
+ 168, 168, 160, 161, 177, 121, 175, 168, 182, 142, 172, 160, 163, 178, 177, 163,
3786
+ 177, 160, 161, 162, 190, 188, 168, 168, 202, 113, 113, 122, 142, 179, 122, 153,
3787
+ 168, 160, 168, 126, 175, 161, 163, 94, 177, 130, 161, 162, 142, 122, 122, 169,
3788
+ 178, 129, 181, 168, 122, 177, 168, 161, 122, 113, 168, 122, 122, 169, 121, 166,
3789
+ 169, 92, 170, 161, 177, 167, 168, 166, 121, 130, 130, 168, 162, 177, 177, 169,
3790
+ 177, 163, 177, 168, 121, 177, 178, 142, 182, 167, 168, 167, 167, 178, 179, 177,
3791
+ 168, 168, 163, 164, 161, 161, 168, 121, 198, 177, 168, 130, 92, 130, 122, 177,
3792
+ 166, 162, 177, 122, 164, 142, 177, 174, 168, 176, 177, 177, 168, 161, 168, 162,
3793
+ 122, 113, 166, 168, 168, 168, 163, 160, 168, 168, 177, 177, 169, 168, 168, 176,
3794
+ 168, 177, 177, 168, 171, 168, 168, 166, 168, 174, 162, 122, 162, 166, 169, 162,
3795
+ 168, 177, 168, 177, 90, 163, 177, 177, 168, 168, 121, 121, 168, 168, 180, 178,
3796
+ 179, 130, 121, 163, 178, 177, 177, 177, 177, 168, 163, 168, 97, 177, 177, 121,
3797
+ 178, 121, 153, 142, 168, 168, 142, 121, 162, 163, 121, 168, 121, 162, 177, 177,
3798
+ 177, 177, 142, 162, 168, 177, 178, 121, 168, 168, 177, 168, 161, 162, 168, 170,
3799
+ 130, 92, 92, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 121, 160, 162,
3800
+ 188, 177, 177, 161, 171, 180, 162, 164, 168, 170, 130, 130, 212, 181, 162, 170,
3801
+ 167, 164, 177, 164, 168, 163, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3802
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3803
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3804
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3805
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3806
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3807
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3808
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3809
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3810
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3811
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3812
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3813
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3814
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3815
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3816
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3817
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3818
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3819
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3820
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3821
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3822
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3823
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3824
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3825
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3826
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3827
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3828
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3829
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3830
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3831
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3832
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3833
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3834
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3835
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3836
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3837
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3838
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3839
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3840
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3841
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3842
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3843
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3844
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3845
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3846
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3847
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3848
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3849
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3850
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3851
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3852
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3853
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3854
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3855
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3856
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3857
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3858
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3859
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3860
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3861
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3862
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3863
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3864
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3865
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3866
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3867
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3868
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3869
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3870
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3871
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3872
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3873
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3874
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3875
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3876
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3877
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3878
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3879
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3880
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3881
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3882
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
3883
+ 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3884
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3885
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3886
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3887
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3888
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3889
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3890
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3891
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3892
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3893
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3894
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3895
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3896
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3897
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3898
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3899
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3900
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3901
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3902
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3903
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3904
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3905
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3906
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3907
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3908
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3909
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3910
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3911
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3912
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3913
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3914
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3915
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3916
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3917
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3918
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3919
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3920
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3921
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3922
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3923
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3924
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3925
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3926
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3927
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3928
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3929
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3930
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3931
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3932
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3933
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3934
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3935
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3936
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3937
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3938
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3939
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3940
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3941
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3942
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3943
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3944
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3945
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3946
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3947
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3948
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3949
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3950
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3951
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3952
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3953
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3954
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3955
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3956
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3957
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3958
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3959
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3960
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3961
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3962
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3963
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3964
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3965
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3966
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3967
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3968
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3969
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3970
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3971
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3972
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3973
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3974
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3975
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3976
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3977
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3978
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3979
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3980
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3981
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3982
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3983
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3984
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3985
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3986
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3987
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3988
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3989
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3990
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3991
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3992
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3993
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3994
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3995
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3996
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3997
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3998
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3999
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0,
4000
+ 98, 98, 98, 98, 98, 98, 98, 98, 0, 98, 98, 98, 98, 98, 0, 0,
4001
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4002
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4003
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0,
4004
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4005
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4006
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0, 0,
4007
+ 98, 98, 0, 98, 98, 98, 98, 0, 0, 98, 98, 98, 98, 0, 0, 0,
4008
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4009
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 98,
4010
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4011
+ 0, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4012
+ 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
4013
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 98,
4014
+ 98, 98, 0, 98, 0, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4015
+ 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4016
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4017
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0,
4018
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4019
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4020
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4021
+ 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4022
+ 98, 0, 0, 98, 98, 98, 98, 0, 0, 0, 0, 98, 98, 98, 0, 98,
4023
+ 0, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4024
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4025
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4026
+ 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
4027
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4028
+ 98, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4029
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4030
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4031
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4032
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4033
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4034
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0, 0,
4035
+ 98, 98, 0, 98, 0, 98, 98, 0, 0, 0, 98, 0, 98, 98, 98, 0,
4036
+ 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4037
+ 98, 98, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4038
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4039
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4040
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4041
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4042
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0,
4043
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4044
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4045
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0,
4046
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4047
+ 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 98, 0, 0,
4048
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4049
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4050
+ 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4051
+ 0, 98, 98, 98, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4052
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4053
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4054
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4055
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4056
+ 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4057
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4058
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4059
+ 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 98, 98, 0,
4060
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4061
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4062
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4063
+ 98, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4064
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4065
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4066
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4067
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 98, 0, 98, 0, 98, 0,
4068
+ 0, 0, 0, 98, 98, 98, 0, 98, 0, 98, 0, 0, 0, 98, 0, 0,
4069
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4070
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4071
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4072
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 98,
4073
+ 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 98, 98,
4074
+ 0, 98, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4075
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4076
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4077
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4078
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4079
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 0, 0, 0,
4080
+ 98, 0, 98, 98, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4081
+ 0, 0, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4082
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4083
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4084
+ 98, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4085
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4086
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4087
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4088
+ 0, 0, 98, 98, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4089
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4090
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4091
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4092
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4093
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4094
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 98, 0, 0,
4095
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0,
4096
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4097
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4098
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4099
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4100
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4101
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4102
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4103
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4104
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 98, 0, 0, 0, 0, 0,
4105
+ 98, 98, 0, 98, 0, 98, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0,
4106
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4107
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4108
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4109
+ 0, 0, 98, 0, 98, 98, 98, 0, 98, 0, 0, 98, 98, 98, 98, 98,
4110
+ 0, 0, 0, 98, 98, 98, 0, 98, 98, 98, 98, 98, 0, 0, 0, 98,
4111
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4112
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4113
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4114
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4115
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4116
+ 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 98, 98, 0, 98, 98,
4117
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 98, 0, 0, 98, 0,
4118
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4119
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4120
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4121
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4122
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4123
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0,
4124
+ 98, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 98, 0, 98, 0, 0,
4125
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4126
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4127
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4128
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4129
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0,
4130
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4131
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4132
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4133
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4134
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4135
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4136
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4137
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4138
+ 0, 0, 0, 0, 0, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4139
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4140
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4141
+ 98, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4142
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4143
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4144
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0,
4145
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0,
4146
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4147
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 98, 0, 0,
4148
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4149
+ 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4150
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4151
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4152
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4153
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 98, 0, 0, 0, 0,
4154
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 98, 0, 0,
4155
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4156
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4157
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4158
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4159
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4160
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4161
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4162
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4163
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4164
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4165
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4166
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4167
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4168
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4169
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0,
4170
+ 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4171
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4172
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4173
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4174
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4175
+ 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4176
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4177
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4178
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0,
4179
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4180
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4181
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4182
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4183
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4184
+ 98, 98, 98, 0, 0, 0, 98, 98, 98, 98, 0, 0, 98, 0, 0, 0,
4185
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4186
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4187
+ 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4188
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4189
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4190
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4191
+ 98, 98, 0, 0, 0, 0, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0,
4192
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4193
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4194
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4195
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4196
+ 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4197
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4198
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4199
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4200
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4201
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4202
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4203
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4204
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4205
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4206
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4207
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4208
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4209
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4210
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4211
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98,
4212
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4213
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4214
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4215
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 98, 0, 0, 98, 98, 0,
4216
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4217
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4218
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4219
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 98, 98,
4220
+ 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 98, 0,
4221
+ 0, 98, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4222
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0,
4223
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4224
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4225
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4226
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4227
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 98, 0,
4228
+ 0, 0, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4229
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4230
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4231
+ 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 0, 0, 98, 0, 0, 0,
4232
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4233
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 0, 0, 0,
4234
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4235
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4236
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4237
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4238
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4239
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4240
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4241
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0,
4242
+ 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 98, 98, 98, 98, 0,
4243
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 98, 0, 98,
4244
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4245
+ 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4246
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4247
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4248
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4249
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4250
+ 0, 0, 0, 0, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
4251
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4252
+ 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4253
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4254
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4255
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 98,
4256
+ 0, 98, 0, 0, 98, 98, 98, 98, 98, 0, 0, 98, 98, 98, 98, 98,
4257
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 98, 0, 0,
4258
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4259
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0,
4260
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4261
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4262
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4263
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0,
4264
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 98, 0, 0, 0, 0, 0,
4265
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0,
4266
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4267
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4268
+ 98, 98, 0, 0, 0, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4269
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4270
+ 0, 0, 0, 0, 98, 98, 98, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4271
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4272
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4273
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4274
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4275
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4276
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4277
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4278
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4279
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0,
4280
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 98, 98, 0, 98, 0, 0, 0,
4281
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4282
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4283
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4284
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4285
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4286
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4287
+ 98, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4288
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4289
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4290
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4291
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0,
4292
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 98, 98, 0, 0, 0, 0,
4293
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0,
4294
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 98, 0, 0,
4295
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4296
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4297
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4298
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4299
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4300
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0,
4301
+ 98, 0, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4302
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4303
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4304
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4305
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4306
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4307
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4308
+ 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4309
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4310
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4311
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4312
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4313
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4314
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4315
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4316
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98,
4317
+ 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4318
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4319
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4320
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4321
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4322
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4323
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4324
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4325
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4326
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4327
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4328
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4329
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4330
+ 98, 0, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4331
+ 98, 98, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4332
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4333
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4334
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4335
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4336
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98,
4337
+ 98, 0, 0, 98, 98, 0, 98, 98, 0, 0, 0, 0, 98, 98, 0, 98,
4338
+ 98, 98, 0, 0, 0, 0, 98, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4339
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4340
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4341
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4342
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4343
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0,
4344
+ 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4345
+ 0, 98, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4346
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4347
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4348
+ 0, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0,
4349
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4350
+ 98, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4351
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4352
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4353
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 98,
4354
+ 0, 98, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4355
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4356
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4357
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4358
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4359
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4360
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0,
4361
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 0, 0,
4362
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4363
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4364
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4365
+ 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0, 98,
4366
+ 0, 98, 0, 0, 0, 0, 98, 0, 98, 98, 0, 98, 98, 0, 0, 0,
4367
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 0,
4368
+ 0, 0, 0, 98, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4369
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4370
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4371
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4372
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4373
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4374
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 0,
4375
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4376
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4377
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4378
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4379
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4380
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4381
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 98, 0, 0,
4382
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4383
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4384
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4385
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4386
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4387
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4388
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4389
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4390
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4391
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4392
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4393
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4394
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4395
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4396
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4397
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4398
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 98,
4399
+ 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4400
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4401
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4402
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4403
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 98, 0, 98, 98, 98, 0,
4404
+ 0, 0, 0, 98, 98, 98, 0, 98, 98, 98, 0, 0, 0, 98, 98, 0,
4405
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4406
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4407
+ 98, 0, 0, 0, 98, 0, 0, 98, 0, 0, 0, 0, 98, 98, 0, 98,
4408
+ 0, 98, 0, 0, 0, 98, 0, 98, 98, 0, 0, 0, 98, 0, 0, 0,
4409
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4410
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 98, 98, 98, 98, 0,
4411
+ 0, 0, 0, 0, 98, 98, 98, 98, 98, 98, 98, 0, 98, 0, 98, 0,
4412
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4413
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0,
4414
+ 98, 0, 0, 0, 98, 0, 98, 98, 0, 0, 0, 0, 98, 98, 98, 98,
4415
+ 98, 98, 0, 0, 0, 98, 98, 98, 98, 0, 0, 0, 98, 0, 0, 0,
4416
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 0, 0, 0,
4417
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 98, 0,
4418
+ 98, 0, 0, 98, 98, 98, 0, 98, 0, 98, 0, 98, 0, 0, 0, 0,
4419
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4420
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4421
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98,
4422
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4423
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4424
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4425
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4426
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 98, 0, 0, 0, 0, 0,
4427
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4428
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4429
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4430
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 98, 0, 0,
4431
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4432
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4433
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4434
+ 98, 98, 0, 98, 0, 98, 0, 98, 0, 0, 0, 0, 98, 98, 0, 0,
4435
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 98, 0, 98, 98, 0, 98,
4436
+ 0, 98, 98, 98, 98, 98, 98, 98, 98, 0, 0, 0, 98, 0, 0, 0,
4437
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98, 0, 0, 0, 0,
4438
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 98, 0,
4439
+ 0, 0, 0, 98, 98, 98, 0, 98, 98, 98, 98, 0, 0, 0, 98, 0,
4440
+ 98, 98, 0, 0, 98, 0, 98, 98, 98, 0, 98, 0, 0, 0, 0, 0,
4441
+ 98, 98, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4442
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4443
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 98, 0,
4444
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 98, 0, 0,
4445
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4446
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4447
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0,
4448
+ 98, 98, 0, 98, 0, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4449
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4450
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4451
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 0,
4452
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4453
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4454
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0,
4455
+ 98, 98, 0, 98, 0, 98, 98, 98, 0, 0, 0, 98, 98, 98, 0, 0,
4456
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4457
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4458
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4459
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4460
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4461
+ 98, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4462
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4463
+ 98, 0, 0, 0, 98, 98, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4464
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4465
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4466
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4467
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4468
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4469
+ 98, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4470
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4471
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4472
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4473
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4474
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4475
+ 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0, 0,
4476
+ 98, 98, 0, 98, 0, 98, 98, 0, 0, 98, 98, 0, 98, 98, 0, 0,
4477
+ 98, 0, 98, 0, 98, 0, 0, 98, 0, 0, 0, 0, 98, 98, 0, 98,
4478
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4479
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4480
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4481
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4482
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4483
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4484
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4485
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4486
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4487
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4488
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4489
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4490
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4491
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4492
+ 0, 98, 0, 98, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4493
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4494
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4495
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4496
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4497
+ 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4498
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4499
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4500
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 98, 0, 0,
4501
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4502
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4503
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4504
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4505
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4506
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4507
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4508
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4509
+ 0, 0, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4510
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4511
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4512
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4513
+ 0, 98, 98, 0, 0, 0, 0, 98, 98, 98, 0, 0, 98, 0, 98, 0,
4514
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 98, 0,
4515
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4516
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4517
+ 98, 0, 0, 0, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4518
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4519
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4520
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4521
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4522
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4523
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4524
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4525
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4526
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4527
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4528
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4529
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4530
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4531
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4532
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4533
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4534
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4535
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4536
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4537
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4538
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4539
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4540
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4541
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4542
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4543
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4544
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4545
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4546
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4547
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4548
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4549
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4550
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4551
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4552
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4553
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4554
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4555
+ 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4556
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4557
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98, 98, 0, 0, 0,
4558
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4559
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4560
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4561
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4562
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4563
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4564
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4565
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4566
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4567
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4568
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4569
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4570
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4571
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4572
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4573
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4574
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4575
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4576
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4577
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4578
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4579
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4580
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4581
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4582
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4583
+ 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4584
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4585
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4586
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4587
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4588
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4589
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4590
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4591
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4592
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4593
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4594
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0,
4595
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4596
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4597
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4598
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4599
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4600
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4601
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4602
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0,
4603
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4604
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4605
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4606
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4607
+ 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4608
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4609
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4610
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4611
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4612
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4613
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4614
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4615
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4616
+ 98, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4617
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4618
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4619
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0,
4620
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4621
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4622
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4623
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 98, 0,
4624
+ 98, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4625
+ 98, 98, 0, 0, 0, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4626
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0,
4627
+ 0, 0, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4628
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4629
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4630
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4631
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4632
+ 98, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4633
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4634
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4635
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 98, 0, 0, 0, 0, 0, 0,
4636
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4637
+ 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4638
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4639
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4640
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4641
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4642
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4643
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4644
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4645
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4646
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 98,
4647
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4648
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4649
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
4650
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4651
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4652
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98,
4653
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4654
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0,
4655
+ 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4656
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
4657
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4658
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4659
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
4660
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4661
+ 98, 0, 0, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4662
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4663
+ 0, 0, 0, 0, 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4664
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4665
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4667
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4668
+ 98, 0, 98, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4669
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4670
+ 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4671
+ 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4672
+ 98, 98, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
4673
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
4674
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4675
+ 98, 0, 0, 0, 0, 98, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4676
+ 0, 98, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4677
+ 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4678
+ 98, 98, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4679
+ 0, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4680
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98,
4681
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4682
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 98, 0, 0, 0, 0,
4683
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4684
+ 0, 98, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4685
+ 98, 0, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
4686
+ 98, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4687
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4688
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4689
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4690
+ 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0, 98, 0, 0, 0,
4691
+ 0, 0, 0, 0, 98, 0, 0, 98, 0, 98, 0, 0, 0, 0, 0, 0,
4692
+ 98, 98, 0, 0, 98, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0,
4693
+ 98, 98, 0, 98, 0, 98, 0, 0, 0, 98, 0, 0, 98, 0, 0, 0,
4694
+ 98, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0,
4695
+ 0, 98, 0, 0, 0, 0, 0, 0, 98, 98, 0, 0, 98, 0, 0, 0,
4696
+ 98, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, 98, 0, 98, 0, 0,
4697
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4699
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4700
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4701
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4703
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4704
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4708
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4709
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4710
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4711
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4712
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4713
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4714
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4715
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4716
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4717
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4718
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4719
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4720
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4721
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4722
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4723
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4724
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4725
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4726
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4727
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4728
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4729
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4730
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4731
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4732
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4733
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4734
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4735
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4736
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4737
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4738
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4739
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4740
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4741
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4742
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4743
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4744
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4745
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4746
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4747
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4748
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4749
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4750
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4751
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4752
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4753
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4754
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4755
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4756
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4757
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4758
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4759
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4760
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4761
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4762
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4763
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4764
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4765
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4766
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4767
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4768
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4769
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4770
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4771
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4772
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4773
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4774
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4775
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4776
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4777
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4778
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4779
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4780
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4781
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4782
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4783
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4784
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4785
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4786
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4787
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4788
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4789
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4790
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4791
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4792
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4793
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4794
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4795
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4796
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4797
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4798
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4799
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4800
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4801
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4802
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4803
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4804
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4805
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4806
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4807
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4808
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4809
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4810
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4811
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4812
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4813
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4814
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4815
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4816
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4817
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4818
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4819
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4820
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4821
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4822
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4823
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4824
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4825
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4826
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4827
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4828
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4829
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4830
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4831
+ 94, 92, 94, 94, 92, 92, 92, 92, 92, 94, 94, 92, 94, 92, 94, 92,
4832
+ 92, 92, 94, 94, 94, 94, 94, 92, 94, 92, 94, 94, 94, 94, 94, 92,
4833
+ 94, 92, 94, 94, 92, 94, 92, 92, 92, 92, 92, 92, 92, 94, 94, 92,
4834
+ 94, 92, 94, 94, 94, 94, 94, 94, 94, 92, 92, 94, 94, 92, 92, 92,
4835
+ 92, 92, 92, 92, 92, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92,
4836
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 94, 92, 94, 92, 92, 94,
4837
+ 94, 94, 92, 92, 94, 92, 94, 92, 92, 92, 92, 92, 94, 92, 92, 92,
4838
+ 92, 94, 92, 92, 94, 94, 92, 92, 94, 92, 92, 92, 92, 94, 92, 92,
4839
+ 92, 92, 92, 92, 92, 92, 92, 94, 92, 94, 94, 92, 94, 92, 92, 92,
4840
+ 92, 92, 92, 94, 94, 92, 92, 92, 92, 94, 94, 92, 94, 94, 94, 92,
4841
+ 92, 92, 92, 92, 92, 92, 94, 94, 92, 94, 92, 94, 92, 92, 94, 92,
4842
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 94, 92, 94, 92, 94, 92,
4843
+ 92, 92, 92, 94, 92, 94, 92, 94, 94, 92, 94, 92, 92, 92, 92, 92,
4844
+ 94, 92, 92, 92, 94, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 94,
4845
+ 92, 92, 94, 94, 94, 94, 92, 94, 94, 94, 92, 94, 94, 92, 94, 92,
4846
+ 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 92, 94, 92, 94, 92, 92,
4847
+ 92, 92, 92, 94, 92, 92, 94, 92, 92, 94, 94, 94, 92, 92, 92, 92,
4848
+ 94, 92, 92, 92, 94, 94, 92, 92, 92, 92, 92, 92, 94, 94, 92, 92,
4849
+ 92, 94, 92, 92, 92, 92, 94, 94, 94, 92, 92, 92, 92, 92, 92, 92,
4850
+ 94, 94, 92, 92, 92, 92, 94, 92, 92, 94, 92, 92, 92, 92, 92, 92,
4851
+ 92, 94, 94, 92, 92, 94, 92, 94, 94, 92, 94, 92, 92, 94, 92, 92,
4852
+ 94, 92, 92, 92, 94, 94, 94, 94, 92, 94, 94, 92, 92, 94, 92, 92,
4853
+ 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 94, 92, 92, 92, 92, 92,
4854
+ 92, 94, 94, 92, 92, 94, 92, 92, 94, 94, 92, 94, 94, 92, 92, 94,
4855
+ 94, 92, 92, 92, 92, 94, 92, 94, 92, 94, 92, 94, 92, 92, 92, 94,
4856
+ 94, 92, 92, 94, 92, 94, 94, 92, 92, 92, 92, 92, 92, 92, 92, 94,
4857
+ 94, 92, 92, 92, 94, 92, 94, 92, 92, 92, 94, 92, 92, 92, 94, 92,
4858
+ 94, 94, 92, 94, 94, 92, 94, 92, 94, 92, 92, 94, 94, 94, 94, 94,
4859
+ 92, 94, 92, 92, 94, 94, 92, 92, 94, 92, 92, 92, 94, 94, 92, 92,
4860
+ 92, 92, 92, 92, 94, 94, 92, 94, 92, 92, 94, 92, 92, 94, 92, 92,
4861
+ 92, 92, 94, 92, 92, 92, 94, 92, 92, 92, 92, 94, 92, 92, 92, 94,
4862
+ 94, 92, 94, 92, 92, 92, 92, 94, 92, 92, 94, 92, 92, 92, 94, 92,
4863
+ 94, 94, 94, 92, 92, 94, 92, 94, 92, 92, 94, 94, 94, 92, 92, 92,
4864
+ 94, 92, 94, 94, 94, 94, 94, 92, 92, 94, 92, 94, 94, 92, 92, 94,
4865
+ 94, 94, 92, 92, 92, 92, 94, 94, 94, 92, 94, 92, 92, 92, 92, 94,
4866
+ 92, 94, 92, 94, 92, 92, 92, 94, 92, 92, 92, 94, 92, 94, 94, 92,
4867
+ 92, 92, 92, 92, 92, 94, 92, 92, 94, 92, 94, 94, 94, 94, 94, 94,
4868
+ 92, 94, 94, 94, 94, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
4869
+ 92, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 94, 92, 94, 94, 94,
4870
+ 92, 94, 92, 92, 92, 92, 92, 92, 92, 92, 94, 92, 92, 94, 92, 92,
4871
+ 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 92, 94, 92, 92, 92, 92,
4872
+ 94, 94, 92, 92, 94, 94, 94, 92, 92, 94, 94, 94, 92, 92, 92, 94,
4873
+ 92, 94, 92, 92, 94, 92, 94, 92, 92, 92, 92, 92, 92, 92, 92, 92,
4874
+ 92, 92, 94, 94, 94, 94, 92, 94, 94, 92, 94, 92, 92, 92, 94, 94,
4875
+ 92, 94, 92, 92, 92, 92, 92, 94, 92, 94, 92, 92, 92, 92, 92, 92,
4876
+ 92, 92, 92, 92, 94, 92, 92, 92, 94, 94, 92, 92, 92, 92, 94, 92,
4877
+ 94, 94, 94, 92, 92, 92, 92, 94, 92, 94, 92, 94, 94, 94, 92, 92,
4878
+ 94, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92, 94, 92, 92, 94,
4879
+ 94, 94, 92, 92, 92, 92, 94, 92, 94, 92, 92, 92, 94, 92, 92, 94,
4880
+ 92, 94, 92, 94, 92, 94, 92, 92, 94, 92, 92, 94, 94, 92, 92, 94,
4881
+ 92, 92, 92, 92, 92, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92,
4882
+ 94, 94, 92, 92, 92, 94, 94, 92, 92, 92, 92, 94, 92, 94, 92, 92,
4883
+ 92, 92, 94, 92, 92, 94, 92, 92, 94, 92, 92, 92, 92, 92, 92, 92,
4884
+ 92, 92, 94, 92, 94, 92, 92, 92, 92, 92, 92, 94, 94, 92, 92, 92,
4885
+ 94, 92, 94, 92, 94, 94, 92, 92, 92, 92, 92, 92, 92, 92, 92, 94,
4886
+ 92, 92, 94, 92, 94, 94, 92, 94, 92, 94, 92, 94, 92, 92, 92, 92,
4887
+ 92, 94, 94, 92, 92, 92, 94, 92, 94, 94, 94, 92, 92, 94, 92, 92,
4888
+ 92, 94, 92, 94, 94, 92, 94, 92, 94, 92, 94, 94, 92, 92, 94, 94,
4889
+ 94, 92, 94, 92, 92, 94, 94, 94, 94, 94, 92, 92, 94, 92, 92, 92,
4890
+ 92, 94, 94, 92, 94, 94, 92, 92, 92, 94, 94, 94, 94, 94, 92, 92,
4891
+ 92, 92, 92, 94, 92, 92, 92, 92, 94, 92, 92, 92, 94, 94, 92, 94,
4892
+ 92, 92, 92, 92, 92, 94, 92, 92, 94, 94, 94, 92, 92, 92, 92, 92,
4893
+ 92, 94, 92, 94, 92, 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 92,
4894
+ 94, 92, 94, 94, 94, 92, 92, 92, 94, 92, 94, 92, 92, 94, 92, 94,
4895
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 94, 94, 94, 92, 92, 92, 92,
4896
+ 92, 92, 92, 92, 94, 92, 92, 92, 92, 92, 92, 94, 92, 94, 94, 92,
4897
+ 92, 92, 92, 94, 92, 94, 94, 92, 94, 92, 92, 92, 94, 94, 92, 92,
4898
+ 92, 92, 94, 92, 92, 92, 94, 92, 92, 92, 94, 94, 94, 92, 94, 92,
4899
+ 94, 94, 92, 92, 94, 92, 92, 92, 94, 92, 92, 92, 94, 94, 94, 92,
4900
+ 94, 94, 92, 92, 92, 92, 92, 92, 92, 94, 94, 92, 92, 94, 94, 92,
4901
+ 92, 94, 94, 94, 92, 94, 92, 94, 94, 94, 94, 92, 94, 92, 94, 94,
4902
+ 92, 94, 94, 92, 94, 92, 94, 92, 92, 92, 92, 92, 92, 92, 94, 94,
4903
+ 92, 92, 92, 92, 94, 92, 94, 94, 94, 94, 94, 92, 92, 94, 94, 92,
4904
+ 92, 94, 94, 92, 92, 94, 94, 94, 92, 92, 92, 92, 92, 92, 92, 92,
4905
+ 92, 94, 94, 94, 94, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92, 94,
4906
+ 92, 92, 92, 94, 94, 94, 94, 94, 94, 94, 94, 92, 92, 92, 92, 92,
4907
+ 92, 94, 92, 92, 92, 92, 94, 92, 92, 94, 92, 92, 92, 94, 94, 92,
4908
+ 92, 92, 92, 92, 92, 92, 94, 92, 92, 94, 92, 92, 94, 94, 92, 92,
4909
+ 92, 92, 92, 92, 94, 92, 94, 94, 94, 92, 92, 92, 92, 92, 94, 94,
4910
+ 92, 92, 92, 92, 92, 92, 94, 92, 94, 94, 92, 92, 92, 92, 92, 94,
4911
+ 92, 94, 94, 92, 92, 94, 92, 92, 92, 92, 94, 92, 92, 94, 92, 94,
4912
+ 92, 92, 94, 92, 94, 92, 94, 92, 92, 92, 94, 92, 94, 94, 94, 94,
4913
+ 94, 94, 92, 92, 94, 92, 92, 92, 94, 94, 94, 94, 94, 92, 94, 94,
4914
+ 92, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92, 92, 92, 92, 94, 92,
4915
+ 92, 92, 92, 94, 92, 92, 92, 92, 92, 92, 92, 94, 92, 92, 92, 92,
4916
+ 92, 92, 92, 92, 94, 94, 92, 94, 94, 94, 92, 94, 94, 92, 94, 94,
4917
+ 92, 92, 94, 92, 92, 92, 94, 94, 92, 92, 92, 92, 92, 94, 94, 92,
4918
+ 94, 92, 94, 94, 92, 94, 94, 94, 92, 94, 94, 92, 94, 94, 94, 92,
4919
+ 94, 92, 94, 94, 94, 94, 94, 92, 94, 92, 92, 94, 94, 94, 94, 94,
4920
+ 94, 92, 94, 94, 94, 92, 92, 92, 92, 92, 94, 92, 92, 94, 94, 94,
4921
+ 94, 94, 92, 92, 94, 92, 94, 94, 94, 92, 94, 92, 92, 92, 92, 94,
4922
+ 92, 94, 94, 92, 92, 94, 92, 94, 94, 92, 94, 94, 92, 92, 94, 94,
4923
+ 94, 92, 94, 92, 92, 92, 92, 92, 94, 94, 92, 92, 92, 92, 92, 92,
4924
+ 92, 92, 92, 92, 92, 92, 92, 94, 94, 94, 92, 94, 94, 92, 92, 94,
4925
+ 92, 94, 94, 94, 92, 94, 94, 92, 92, 94, 92, 92, 92, 92, 94, 94,
4926
+ 94, 94, 92, 94, 92, 92, 92, 92, 92, 92, 92, 94, 94, 92, 92, 92,
4927
+ 94, 92, 94, 92, 94, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 94,
4928
+ 94, 94, 94, 92, 92, 92, 92, 92, 92, 94, 94, 94, 94, 92, 92, 92,
4929
+ 92, 94, 92, 94, 94, 92, 92, 94, 92, 92, 92, 94, 92, 92, 92, 92,
4930
+ 92, 92, 94, 94, 94, 92, 92, 94, 94, 92, 94, 92, 94, 92, 92, 94,
4931
+ 94, 94, 94, 92, 92, 94, 94, 92, 94, 92, 92, 94, 92, 92, 94, 94,
4932
+ 92, 92, 94, 94, 94, 94, 92, 94, 94, 94, 92, 92, 92, 94, 94, 94,
4933
+ 94, 92, 94, 94, 92, 94, 94, 94, 94, 92, 94, 92, 92, 92, 94, 94,
4934
+ 92, 94, 92, 92, 92, 92, 94, 94, 94, 94, 92, 94, 94, 94, 92, 94,
4935
+ 94, 92, 92, 94, 94, 94, 94, 94, 94, 92, 94, 94, 94, 92, 94, 94,
4936
+ 94, 92, 94, 92, 92, 92, 94, 94, 92, 94, 94, 92, 94, 92, 94, 94,
4937
+ 92, 94, 94, 92, 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 92, 92,
4938
+ 92, 92, 94, 92, 92, 92, 92, 92, 92, 94, 94, 92, 92, 94, 94, 92,
4939
+ 94, 94, 92, 92, 92, 94, 92, 94, 92, 92, 94, 92, 92, 92, 92, 92,
4940
+ 92, 94, 94, 92, 92, 92, 92, 94, 94, 92, 94, 94, 92, 94, 94, 94,
4941
+ 94, 94, 92, 92, 94, 94, 94, 92, 92, 92, 92, 92, 92, 92, 94, 92,
4942
+ 92, 92, 94, 94, 92, 92, 92, 94, 92, 92, 94, 94, 94, 92, 92, 94,
4943
+ 92, 94, 94, 92, 92, 92, 94, 94, 92, 94, 94, 92, 94, 92, 92, 92,
4944
+ 94, 94, 92, 94, 92, 92, 92, 94, 94, 92, 94, 94, 92, 94, 92, 92,
4945
+ 92, 92, 92, 92, 94, 94, 92, 92, 92, 92, 92, 94, 92, 92, 92, 94,
4946
+ 92, 92, 92, 94, 94, 94, 94, 94, 92, 92, 92, 92, 94, 94, 92, 92,
4947
+ 94, 94, 94, 92, 94, 92, 92, 94, 92, 92, 92, 92, 92, 94, 94, 94,
4948
+ 92, 94, 94, 92, 92, 92, 92, 92, 92, 92, 92, 94, 94, 94, 92, 94,
4949
+ 92, 94, 94, 92, 94, 94, 92, 94, 94, 94, 92, 92, 93, 94, 94, 92,
4950
+ 94, 92, 92, 92, 92, 94, 92, 94, 94, 92, 94, 92, 94, 94, 92, 92,
4951
+ 92, 92, 92, 92, 94, 92, 94, 92, 92, 94, 92, 94, 92, 94, 92, 92,
4952
+ 94, 92, 94, 92, 94, 92, 94, 94, 92, 94, 92, 92, 92, 92, 92, 92,
4953
+ 92, 92, 94, 92, 94, 94, 94, 94, 94, 94, 92, 92, 92, 92, 92, 92,
4954
+ 92, 94, 92, 92, 94, 92, 92, 92, 94, 92, 92, 92, 94, 92, 92, 92,
4955
+ 92, 92, 92, 92, 94, 92, 92, 92, 0, 92, 94, 92, 92, 92, 94, 92,
4956
+ 92, 94, 92, 92, 92, 92, 92, 92, 94, 92, 94, 92, 94, 94, 92, 92,
4957
+ 92, 92, 92, 92, 94, 92, 92, 93, 93, 93, 0, 93, 0, 93, 93, 93,
4958
+ 0, 93, 93, 93, 92, 92, 92, 92, 94, 92, 92, 94, 94, 92, 92, 94,
4959
+ 94, 94, 94, 92, 92, 92, 92, 92, 94, 92, 92, 92, 94, 92, 94, 94,
4960
+ 92, 94, 92, 94, 92, 0, 94, 94, 94, 0, 93, 0, 0, 0, 92, 0,
4961
+ 0, 93, 0, 0, 0, 0, 92, 93, 93, 0, 0, 92, 92, 93, 0, 93,
4962
+ 0, 92, 92, 0, 0, 93, 0, 93, 93, 0, 93, 94, 0, 0, 0, 0,
4963
+ 0, 93, 93, 92, 0, 0, 0, 0, 0, 0, 0, 93, 0, 93, 93, 0,
4964
+ 0, 93, 0, 0, 92, 94, 93, 93, 93, 0, 0, 93, 93, 93, 0, 0,
4965
+ 93, 93, 93, 0, 92, 93, 93, 93, 0, 93, 93, 0, 93, 0, 0, 0,
4966
+ 0, 93, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 93, 93, 93,
4967
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 93,
4968
+ 0, 93, 93, 0, 93, 93, 0, 0, 0, 0, 93, 0, 0, 93, 0, 0,
4969
+ 93, 93, 0, 93, 93, 93, 93, 93, 0, 93, 93, 0, 93, 93, 93, 93,
4970
+ 93, 0, 0, 0, 0, 93, 93, 0, 93, 0, 0, 0, 0, 93, 93, 93,
4971
+ 93, 93, 93, 93, 0, 93, 0, 93, 0, 0, 0, 93, 0, 93, 93, 0,
4972
+ 93, 93, 0, 93, 0, 93, 93, 0, 93, 93, 93, 0, 0, 93, 0, 93,
4973
+ 93, 93, 0, 0, 0, 93, 93, 0, 93, 93, 93, 0, 0, 93, 0, 0,
4974
+ 0, 93, 93, 0, 0, 93, 0, 0, 0, 0, 0, 93, 0, 0, 93, 0,
4975
+ 93, 0, 0, 93, 0, 0, 0, 93, 93, 0, 0, 0, 93, 0, 0, 0,
4976
+ 0, 0, 0, 0, 0, 0, 0, 93, 93, 0, 0, 0, 93, 0, 93, 93,
4977
+ 93, 93, 93, 0, 0, 93, 93, 93, 93, 93, 93, 93, 93, 0, 93, 93,
4978
+ 0, 0, 0, 93, 93, 93, 93, 0, 93, 0, 93, 0, 93, 93, 93, 0,
4979
+ 0, 93, 0, 0, 93, 93, 0, 0, 93, 0, 0, 0, 0, 93, 0, 0,
4980
+ 93, 0, 93, 93, 93, 93, 0, 93, 93, 0, 93, 0, 93, 93, 93, 0,
4981
+ 93, 93, 0, 0, 93, 0, 0, 93, 93, 0, 0, 0, 0, 0, 93, 93,
4982
+ 0, 0, 0, 93, 93, 93, 0, 93, 93, 0, 93, 93, 0, 93, 0, 0,
4983
+ 0, 93, 93, 0, 0, 0, 0, 93, 0, 0, 93, 0, 0, 0, 93, 0,
4984
+ 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4985
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4986
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4987
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
4988
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4989
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
4990
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4991
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4992
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4993
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4994
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4995
+ 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4996
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4997
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4998
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4999
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5000
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5001
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0,
5002
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
5003
+ 93, 93, 0, 0, 0, 93, 0, 0, 0, 93, 93, 93, 93, 0, 0, 93,
5004
+ 93, 93, 0, 93, 93, 0, 93, 93, 93, 93, 93, 0, 93, 0, 93, 93,
5005
+ 93, 93, 93, 93, 0, 0, 0, 93, 93, 93, 93, 93, 93, 0, 93, 0,
5006
+ 93, 93, 93, 0, 93, 93, 93, 0, 93, 93, 93, 93, 0, 0, 93, 93,
5007
+ 93, 0, 93, 93, 93, 93, 0, 0, 93, 93, 93, 93, 93, 93, 93, 93,
5008
+ 0, 93, 93, 0, 0, 93, 0, 0, 93, 93, 93, 93, 93, 93, 0, 93,
5009
+ 93, 93, 0, 93, 0, 93, 0, 93, 0, 0, 93, 0, 93, 93, 93, 93,
5010
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 93, 93,
5011
+ 0, 93, 0, 93, 93, 0, 93, 0, 0, 0, 93, 93, 93, 93, 93, 93,
5012
+ 93, 0, 0, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 93, 0, 93,
5013
+ 0, 93, 93, 93, 0, 93, 0, 93, 93, 93, 0, 93, 0, 93, 0, 93,
5014
+ 93, 93, 0, 93, 93, 0, 93, 93, 93, 0, 93, 0, 0, 0, 93, 93,
5015
+ 93, 93, 0, 93, 93, 93, 0, 0, 93, 93, 93, 0, 93, 93, 93, 93,
5016
+ 93, 0, 0, 93, 0, 93, 0, 93, 93, 93, 93, 93, 0, 0, 0, 93,
5017
+ 93, 0, 93, 93, 0, 93, 93, 0, 93, 0, 93, 93, 0, 93, 93, 93,
5018
+ 93, 0, 93, 93, 93, 0, 93, 0, 0, 93, 0, 0, 93, 93, 0, 93,
5019
+ 0, 0, 93, 0, 0, 93, 93, 93, 93, 0, 93, 0, 93, 93, 93, 0,
5020
+ 93, 0, 0, 93, 0, 93, 0, 93, 93, 0, 93, 93, 0, 93, 0, 93,
5021
+ 0, 93, 0, 0, 93, 0, 0, 93, 93, 93, 0, 93, 93, 0, 93, 93,
5022
+ 0, 93, 93, 0, 0, 93, 93, 0, 0, 93, 93, 93, 0, 93, 93, 0,
5023
+ 0, 0, 0, 0, 0, 93, 93, 0, 93, 93, 0, 0, 93, 0, 93, 93,
5024
+ 93, 0, 0, 93, 93, 0, 0, 93, 93, 93, 93, 93, 93, 93, 0, 0,
5025
+ 93, 0, 93, 0, 93, 0, 93, 0, 0, 0, 93, 93, 93, 93, 93, 93,
5026
+ 0, 93, 93, 0, 0, 93, 0, 93, 0, 0, 0, 93, 93, 0, 0, 93,
5027
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 93, 93, 0, 0, 93,
5028
+ 0, 0, 93, 0, 93, 0, 93, 93, 93, 0, 93, 0, 93, 93, 0, 93,
5029
+ 93, 0, 93, 93, 0, 0, 0, 93, 93, 93, 93, 93, 93, 93, 93, 93,
5030
+ 93, 93, 93, 93, 0, 93, 93, 0, 0, 93, 0, 93, 0, 0, 93, 0,
5031
+ 93, 0, 0, 0, 93, 0, 93, 0, 0, 0, 0, 0, 0, 93, 93, 0,
5032
+ 0, 93, 93, 93, 93, 93, 93, 0, 93, 93, 93, 93, 0, 93, 93, 0,
5033
+ 93, 0, 0, 93, 93, 0, 0, 93, 93, 0, 0, 93, 0, 93, 0, 93,
5034
+ 0, 0, 0, 0, 93, 0, 93, 0, 0, 93, 93, 93, 0, 0, 0, 0,
5035
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
5036
+ 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 93, 93, 0, 93, 93,
5037
+ 93, 93, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5038
+ 93, 0, 93, 0, 0, 93, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
5039
+ 0, 0, 0, 0, 93, 0, 0, 93, 0, 0, 93, 0, 93, 93, 93, 93,
5040
+ 93, 93, 0, 93, 0, 93, 93, 93, 93, 0, 93, 0, 93, 93, 93, 0,
5041
+ 0, 0, 93, 0, 93, 93, 93, 93, 0, 93, 93, 0, 93, 93, 0, 0,
5042
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 93, 0, 0,
5043
+ 0, 93, 93, 0, 0, 93, 0, 93, 0, 0, 93, 93, 0, 93, 93, 93,
5044
+ 0, 93, 93, 93, 93, 0, 0, 93, 93, 0, 0, 0, 0, 0, 0, 93,
5045
+ 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
5046
+ 0, 93, 93, 0, 0, 93, 0, 93, 93, 0, 93, 0, 0, 0, 0, 0,
5047
+ 0, 93, 0, 0, 93, 93, 93, 0, 93, 93, 93, 93, 0, 0, 93, 0,
5048
+ 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5049
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5050
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5051
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 93,
5052
+ 0, 93, 0, 0, 0, 0, 0, 93, 0, 0, 93, 93, 0, 93, 0, 0,
5053
+ 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
5054
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5055
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
5056
+ 0, 93, 0, 0, 0, 93, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
5057
+ 93, 0, 93, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
5058
+ 93, 93, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5059
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
5060
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 93, 0, 93, 0, 0,
5061
+ 93, 0, 0, 0, 93, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
5062
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 93, 0, 93, 0,
5063
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5064
+ 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
5065
+ 0, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 93, 93, 93, 93,
5066
+ 93, 93, 0, 0, 93, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
5067
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5068
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5069
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5070
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5071
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5072
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5073
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5074
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5075
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5076
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5077
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5078
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5079
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5080
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5081
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5082
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5083
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5084
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5085
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5086
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5087
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5088
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5089
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5090
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5091
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5092
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5093
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5094
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5095
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5096
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5097
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5098
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5099
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5100
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5101
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5102
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5103
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5104
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5105
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5106
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5107
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5108
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5109
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5110
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5111
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5112
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5113
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5114
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5115
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5116
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5117
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5118
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5119
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5120
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5121
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5122
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5123
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5124
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5125
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5126
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5127
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5128
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5129
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5130
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5131
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5132
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5133
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5134
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5135
+ 0, 0, 0, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
5136
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 0, 0,
5137
+ 0, 0, 0, 0, 0, 93, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
5138
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5139
+ 0, 0, 0, 0, 93, 0, 93, 0, 0, 0, 93, 93, 0, 0, 0, 0,
5140
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5141
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5142
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5143
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5144
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5145
+ 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
5146
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5147
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5148
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5149
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5150
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 0, 93, 0, 0, 0,
5151
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93, 93, 0, 0, 0, 0,
5152
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5153
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5154
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
5155
+ 93, 93, 93, 0, 93, 0, 93, 0, 93, 93, 0, 93, 0, 93, 0, 0,
5156
+ 93, 93, 93, 0, 93, 93, 93, 93, 0, 0, 93, 93, 93, 93, 93, 93,
5157
+ 0, 93, 93, 93, 0, 93, 93, 0, 0, 93, 0, 0, 93, 93, 93, 93,
5158
+ 0, 0, 0, 0, 93, 0, 0, 93, 93, 93, 0, 93, 93, 93, 93, 0,
5159
+ 93, 93, 0, 93, 93, 93, 0, 0, 93, 0, 0, 93, 0, 93, 93, 93,
5160
+ 93, 93, 0, 0, 0, 0, 0, 93, 93, 0, 0, 93, 0, 0, 93, 0,
5161
+ 0, 0, 0, 0, 93, 93, 93, 93, 0, 93, 93, 0, 0, 93, 0, 93,
5162
+ 93, 0, 93, 93, 93, 0, 0, 93, 0, 0, 93, 93, 93, 93, 93, 93,
5163
+ 93, 93, 0, 93, 93, 93, 0, 93, 93, 93, 93, 0, 93, 93, 93, 93,
5164
+ 0, 93, 93, 93, 93, 93, 0, 93, 0, 93, 93, 93, 93, 93, 93, 93,
5165
+ 93, 0, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 93,
5166
+ 0, 0, 93, 93, 0, 0, 0, 0, 93, 0, 0, 0, 93, 0, 93, 93,
5167
+ 93, 93, 0, 93, 0, 93, 0, 93, 93, 93, 93, 93, 93, 93, 93, 93,
5168
+ 93, 93, 0, 93, 93, 93, 93, 0, 93, 93, 93, 93, 93, 93, 0, 93,
5169
+ 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 0, 0, 0, 0, 0,
5170
+ 0, 0, 0, 93, 93, 0, 0, 0, 0, 0, 93, 93, 0, 93, 0, 0,
5171
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
5172
+ 0, 0, 0, 93, 0, 0, 93, 0, 0, 93, 93, 0, 0, 0, 93, 0,
5173
+ 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
5174
+ 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5175
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5176
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5177
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5178
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5179
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5180
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5181
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5182
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5183
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5184
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5185
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5186
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5187
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5188
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5189
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5190
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5191
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5192
+ 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
5193
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
5194
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5195
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5196
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5197
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5198
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5199
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5200
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5201
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5202
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5203
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5204
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5205
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5206
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5207
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5208
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5209
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5210
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5211
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5212
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5213
+ 0, 0, 0, 0, 0, 93, 93, 0, 93, 0, 93, 93, 0, 93, 93, 0,
5214
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5215
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5216
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5217
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5218
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5219
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5220
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5221
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5222
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5223
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5224
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5225
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5226
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5227
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5228
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5229
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5230
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5231
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5232
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5233
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 183, 98, 98, 98,
5234
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5235
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5236
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5237
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5238
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 183, 98, 98, 98, 98, 98, 98,
5239
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5240
+ 98, 98, 98, 98, 98, 183, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5241
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5242
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5243
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5244
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5245
+ 98, 98, 98, 98, 98, 98, 98, 183, 98, 98, 98, 98, 98, 98, 98, 98,
5246
+ 98, 183, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
5247
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 137, 137, 92, 92,
5248
+ 0, 92, 0, 92, 92, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 92,
5249
+ 92, 92, 0, 92, 92, 0, 0, 92, 92, 92, 0, 0, 0, 0, 0, 0,
5250
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5251
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5252
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5253
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5254
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5255
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5256
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5257
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5258
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5259
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5260
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5261
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5262
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5263
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5264
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5265
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5266
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5267
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5268
+ 0, 0, 0, 0, 0, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5269
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5270
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5271
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5272
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5273
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5274
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5275
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5276
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5277
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5278
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5279
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5280
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5281
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5282
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5283
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5284
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5285
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5286
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5287
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5288
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5289
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5290
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5291
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5292
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5293
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5294
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5295
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5296
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5297
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5298
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5299
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5300
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5301
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5302
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5303
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5304
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5305
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5306
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5307
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5308
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5309
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5310
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5311
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5312
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5313
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5314
+ 97, 97, 213, 137, 137, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
5315
+ 97, 97, 97, 97, 97, 110, 110, 110, 110, 97, 97, 97, 97, 97, 97, 137,
5316
+ 97, 134, 97, 110, 97, 97, 97, 97, 110, 97, 97, 97, 97, 97, 97, 97,
5317
+ 97, 97, 97, 97, 97, 97, 97, 110, 134, 97, 97, 97, 110, 110, 110, 110,
5318
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5319
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5320
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5321
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5322
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5323
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5324
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5325
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
5326
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0,
5327
+ 0, 122, 214, 122, 122, 122, 122, 214, 122, 122, 122, 122, 122, 129, 122, 122,
5328
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
5329
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
5330
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 215, 129, 215, 123, 122,
5331
+ 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
5332
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 132, 0,
5333
+ 0, 216, 216, 216, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
5334
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
5335
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
5336
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
5337
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5338
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5339
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5340
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5341
+ 218, 218, 128, 123, 94, 219, 98, 0, 0, 0, 0, 0, 0, 93, 0, 0,
5342
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
5344
diff --git a/modules/basic/tables-small.i b/modules/basic/tables-small.i
5345
new file mode 100644
5346
index 0000000..98abb3a
5348
+++ b/modules/basic/tables-small.i
5350
+/* NOTE: This file has not been maintained, and is out
5351
+ * of date with respect to the rest of the code.
5354
+ ENC_ISO_8859_1 = 1 << 0,
5355
+ ENC_ISO_8859_2 = 1 << 1,
5356
+ ENC_ISO_8859_3 = 1 << 2,
5357
+ ENC_ISO_8859_4 = 1 << 3,
5358
+ ENC_ISO_8859_5 = 1 << 4,
5359
+ ENC_ISO_8859_6 = 1 << 5,
5360
+ ENC_ISO_8859_7 = 1 << 6,
5361
+ ENC_ISO_8859_8 = 1 << 7,
5362
+ ENC_ISO_8859_9 = 1 << 8,
5363
+ ENC_ISO_10646 = 1 << 12
5366
+static Charset charsets[] = {
5367
+ { 0, NULL, "iso8859-1", conv_ucs4 },
5368
+ { 1, "ISO-8859-2", "iso8859-2", conv_8bit },
5369
+ { 2, "ISO-8859-3", "iso8859-3", conv_8bit },
5370
+ { 3, "ISO-8859-4", "iso8859-4", conv_8bit },
5371
+ { 4, "ISO-8859-5", "iso8859-5", conv_8bit },
5372
+ { 5, "ISO-8859-6", "iso8859-6", conv_8bit },
5373
+ { 6, "ISO-8859-7", "iso8859-7", conv_8bit },
5374
+ { 7, "ISO-8859-8", "iso8859-8", conv_8bit },
5375
+ { 8, "ISO-8859-9", "iso8859-9", conv_8bit },
5376
+ { 9, NULL, "iso10646-1", conv_ucs4 }
5379
+static PangoEngineRange basic_ranges[] = {
5380
+ { 0x0000, 0x02af, "*" },
5381
+ { 0x02b0, 0x02ff, "" },
5382
+ { 0x0380, 0x058f, "*" },
5383
+ { 0x0591, 0x05f4, "*" }, /* Hebrew */
5384
+ { 0x060c, 0x06f9, "" }, /* Arabic */
5385
+ { 0x2015, 0x2017, "*" },
5388
+static const guint32 char_mask_map[] = {
5390
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_6|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
5391
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_5|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
5392
+ ENC_ISO_8859_1|ENC_ISO_8859_9,
5393
+ ENC_ISO_8859_1|ENC_ISO_8859_8|ENC_ISO_8859_9,
5394
+ ENC_ISO_8859_1|ENC_ISO_8859_3|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
5395
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_6|ENC_ISO_8859_8|ENC_ISO_8859_9,
5396
+ ENC_ISO_8859_1|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
5397
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_7|ENC_ISO_8859_8|ENC_ISO_8859_9,
5398
+ ENC_ISO_8859_1|ENC_ISO_8859_4|ENC_ISO_8859_9,
5399
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_8|ENC_ISO_8859_9,
5400
+ ENC_ISO_8859_1|ENC_ISO_8859_3|ENC_ISO_8859_8|ENC_ISO_8859_9,
5401
+ ENC_ISO_8859_1|ENC_ISO_8859_3|ENC_ISO_8859_9,
5402
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9,
5403
+ ENC_ISO_8859_1|ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9,
5405
+ ENC_ISO_8859_1|ENC_ISO_8859_3|ENC_ISO_8859_4|ENC_ISO_8859_9,
5406
+ ENC_ISO_8859_1|ENC_ISO_8859_2,
5409
+ ENC_ISO_8859_2|ENC_ISO_8859_4,
5411
+ ENC_ISO_8859_3|ENC_ISO_8859_9,
5412
+ ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_9,
5413
+ ENC_ISO_8859_2|ENC_ISO_8859_3,
5415
+ ENC_ISO_8859_2|ENC_ISO_8859_3|ENC_ISO_8859_4,
5421
+static const guchar char_masks[] = {
5422
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5423
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5424
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5425
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
5426
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5427
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5428
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5429
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
5430
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5431
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5432
+ 1, 3, 4, 5, 6, 4, 7, 2, 8, 7, 3, 7, 7, 1, 4, 9,
5433
+ 8, 7, 5, 5, 10, 11, 4, 5, 10, 4, 3, 7, 4, 5, 4, 3,
5434
+ 12, 13, 13, 9, 13, 9, 9, 14, 12, 13, 12, 13, 12, 13, 13, 12,
5435
+ 15, 12, 12, 14, 13, 9, 13, 10, 9, 12, 13, 16, 13, 17, 15, 13,
5436
+ 12, 13, 13, 9, 13, 9, 9, 14, 12, 13, 12, 13, 12, 13, 13, 12,
5437
+ 15, 12, 12, 14, 13, 9, 13, 10, 9, 12, 13, 16, 13, 17, 15, 3,
5438
+ 18, 18, 19, 19, 20, 20, 19, 19, 21, 21, 21, 21, 20, 20, 19, 19,
5439
+ 20, 20, 18, 18, 0, 0, 18, 18, 20, 20, 19, 19, 21, 21, 22, 22,
5440
+ 21, 21, 18, 18, 21, 21, 21, 21, 18, 18, 18, 18, 0, 0, 18, 18,
5441
+ 22, 22, 0, 0, 21, 21, 18, 18, 18, 19, 19, 18, 18, 19, 19, 0,
5442
+ 0, 19, 19, 19, 19, 18, 18, 19, 19, 0, 18, 18, 18, 18, 0, 0,
5443
+ 19, 19, 0, 0, 19, 19, 18, 18, 19, 19, 19, 19, 21, 21, 23, 23,
5444
+ 20, 20, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 21, 21, 19, 19,
5445
+ 19, 19, 18, 18, 0, 0, 0, 0, 0, 19, 19, 24, 24, 20, 20, 0,
5446
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5447
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5448
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5449
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5450
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5451
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5452
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5453
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5454
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5455
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5456
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5457
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5458
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5459
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5460
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5461
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5462
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5463
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5464
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5465
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 0, 0,
5466
+ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0,
5467
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 26, 0, 20, 0, 19, 0, 0,
5468
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5469
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5470
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5471
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5472
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5473
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5474
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5475
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5476
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5477
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5478
+ 0, 0, 0, 0, 25, 25, 25, 0, 25, 25, 25, 0, 25, 0, 25, 25,
5479
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
5480
+ 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
5481
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
5482
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
5483
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5484
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5485
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5486
+ 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27,
5487
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
5488
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
5489
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
5490
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
5491
+ 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27,
5492
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5493
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5494
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5495
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5496
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5497
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5498
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5499
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5500
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5501
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5502
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5503
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5504
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5505
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5506
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5507
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5508
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5509
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5510
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5511
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5512
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5513
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5514
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5515
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
5516
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0,
5517
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5518
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
5519
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 29,
5520
+ 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
5521
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0,
5522
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
5523
+ 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5524
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0,
5525
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5526
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5527
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5528
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5529
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5530
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5531
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5532
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5533
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5534
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5535
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5536
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5537
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5538
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5539
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5540
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5541
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5542
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5543
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5544
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5545
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5546
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5547
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5548
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5549
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5550
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5551
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5552
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5553
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5554
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5555
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5556
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5557
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5558
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5559
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5560
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5561
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5562
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5563
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5564
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5565
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5566
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5567
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5568
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5569
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5570
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5571
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5572
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5573
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5574
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5575
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5576
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5577
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5578
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5579
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5580
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5581
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5582
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5583
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5584
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5585
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5586
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5587
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5588
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5589
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5590
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5591
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5592
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5593
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5594
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5595
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5596
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5597
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5598
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5599
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5600
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5601
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5602
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5603
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5604
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5605
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5606
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5607
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5608
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5609
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5610
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5611
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5612
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5613
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5614
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5615
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5616
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5617
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5618
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5619
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5620
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5621
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5622
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5623
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5624
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5625
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5626
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5627
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5628
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5629
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5630
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5631
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5632
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5633
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5634
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5635
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5636
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5637
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5638
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5639
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5640
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5641
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5642
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5643
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5644
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5645
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5646
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5647
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5648
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5649
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5650
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5651
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5652
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5653
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5654
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5655
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5656
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5657
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5658
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5659
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5660
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5661
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5662
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5663
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5664
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5665
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5668
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5669
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5671
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5672
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5673
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5674
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5675
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5676
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5677
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5678
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5679
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5680
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5681
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5682
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5683
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5684
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5685
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5686
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5687
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5688
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5689
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5690
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5691
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5692
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5693
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5694
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5695
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5696
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5697
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5699
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5700
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5701
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5703
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5704
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5708
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5709
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5710
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5711
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5712
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5713
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5714
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5715
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5716
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5717
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5718
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5719
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5720
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5721
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5722
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5723
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5724
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5725
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5726
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5727
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5728
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5729
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5730
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5731
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5732
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5733
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5734
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5735
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5736
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5737
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5738
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5739
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5740
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5741
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5742
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5743
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5744
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5745
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5746
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5747
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5748
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5749
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5750
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5751
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5752
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5753
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5754
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5755
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5756
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5757
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5758
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5759
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5760
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5761
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5762
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5763
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5764
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5765
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5766
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5767
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5768
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5769
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5770
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5771
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5772
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5773
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5774
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5775
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5776
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5777
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5778
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5779
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5780
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5781
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5782
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5783
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5784
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5785
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5786
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5787
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5788
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5789
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5790
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5791
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5792
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5793
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5794
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5795
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5796
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5797
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5798
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5799
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5800
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5801
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5802
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5803
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5804
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5805
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5806
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5807
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5808
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5809
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5810
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5811
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5812
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5813
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5814
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5815
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5816
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5817
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5818
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5819
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5820
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5821
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5822
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5823
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5824
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5825
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5826
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5827
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5828
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5829
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5830
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5831
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5832
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5833
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5834
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5835
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5836
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5837
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5838
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5839
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5840
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5841
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5842
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5843
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5844
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5845
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5846
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5847
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5848
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5849
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5850
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5851
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5852
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5853
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5854
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5855
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5856
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5857
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5858
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5859
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5860
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5861
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5862
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5863
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5864
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5865
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5866
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5867
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5868
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5869
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5870
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5871
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5872
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5873
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5874
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5875
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5876
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5877
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5878
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5879
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5880
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5881
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5882
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5883
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5884
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5885
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5886
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5887
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5888
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5889
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5890
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5891
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5892
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5893
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5894
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5895
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5896
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5897
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5898
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5899
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5900
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5901
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5902
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5903
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5904
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5905
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5906
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5907
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5908
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5909
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5910
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5911
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5912
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5913
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5914
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5915
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5916
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5917
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5918
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5919
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5920
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5921
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5922
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5923
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5924
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5925
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5926
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5927
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5928
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5929
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5930
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5931
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5932
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5933
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5934
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5935
+ 0, 0, 0, 0, 0, 25, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
5936
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5937
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0,
5938
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5939
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5940
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5941
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5942
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5943
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5944
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5945
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5946
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5947
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5948
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5949
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5950
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5951
+ 0, 0, 0, 0, 0, 0, 27,
5953
diff --git a/pango-view/Makefile.am b/pango-view/Makefile.am
5954
index 7b6e568..d4ae3ec 100644
5955
--- a/pango-view/Makefile.am
5956
+++ b/pango-view/Makefile.am
5957
@@ -49,6 +49,15 @@ pango_view_SOURCES = \
5958
pango_view_LDADD = \
5959
../pango/libpango-$(PANGO_API_VERSION).la \
5962
+pango_view_SOURCES += \
5966
+pango_view_LDADD += \
5967
+ ../pango/libpangox-$(PANGO_API_VERSION).la \
5971
pango_view_SOURCES += \
5973
@@ -58,9 +67,7 @@ pango_view_LDADD += \
5976
pango_view_SOURCES += \
5977
- viewer-pangoxft.c \
5981
pango_view_LDADD += \
5982
../pango/libpangoft2-$(PANGO_API_VERSION).la \
5983
../pango/libpangoxft-$(PANGO_API_VERSION).la \
5984
diff --git a/pango-view/viewer-pangox.c b/pango-view/viewer-pangox.c
5985
new file mode 100644
5986
index 0000000..137319d
5988
+++ b/pango-view/viewer-pangox.c
5990
+/* viewer-pangox.c: PangoX viewer backend.
5992
+ * Copyright (C) 1999,2004,2005 Red Hat, Inc.
5993
+ * Copyright (C) 2001 Sun Microsystems
5995
+ * This library is free software; you can redistribute it and/or
5996
+ * modify it under the terms of the GNU Library General Public
5997
+ * License as published by the Free Software Foundation; either
5998
+ * version 2 of the License, or (at your option) any later version.
6000
+ * This library is distributed in the hope that it will be useful,
6001
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
6002
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6003
+ * Library General Public License for more details.
6005
+ * You should have received a copy of the GNU Library General Public
6006
+ * License along with this library; if not, write to the
6007
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
6008
+ * Boston, MA 02111-1307, USA.
6010
+#include "config.h"
6012
+#include "viewer-render.h"
6013
+#include "viewer-x.h"
6015
+#include <pango/pangox.h>
6018
+pangox_view_destroy (gpointer instance)
6020
+ XViewer *x = (XViewer *)instance;
6022
+ pango_x_shutdown_display (x->display);
6024
+ x_view_destroy (instance);
6027
+static PangoContext *
6028
+pangox_view_get_context (gpointer instance)
6030
+ XViewer *x = (XViewer *) instance;
6031
+ PangoContext *context;
6032
+ PangoMatrix matrix = {0., 0., 0., 0., 0., 0.};
6034
+ context = pango_font_map_create_context (pango_x_font_map_for_display (x->display));
6036
+ /* We set an all-zero matrix on the context, to negotiate that
6037
+ * this backend doesn't support transformations.
6039
+ pango_context_set_matrix (context, &matrix);
6047
+ Drawable drawable;
6052
+render_callback (PangoLayout *layout,
6056
+ gpointer state G_GNUC_UNUSED)
6058
+ MyXContext *x_context = (MyXContext *) context;
6060
+ pango_x_render_layout (x_context->x->display,
6061
+ x_context->drawable,
6068
+pangox_view_render (gpointer instance,
6070
+ PangoContext *context,
6075
+ XViewer *x = (XViewer *) instance;
6076
+ Pixmap pixmap = (Pixmap) surface;
6078
+ MyXContext x_context;
6080
+ gc = XCreateGC (x->display, pixmap, 0, NULL);
6082
+ XSetForeground(x->display, gc, WhitePixel(x->display, x->screen));
6083
+ XFillRectangle (x->display, pixmap, gc, 0, 0, *width, *height);
6086
+ x_context.drawable = pixmap;
6087
+ x_context.gc = gc;
6089
+ XSetForeground(x->display, gc, BlackPixel(x->display, x->screen));
6090
+ do_output (context, render_callback, NULL, &x_context, state, width, height);
6092
+ XFlush(x->display);
6094
+ XFreeGC (x->display, gc);
6097
+const PangoViewer pangox_viewer = {
6102
+ pangox_view_destroy,
6103
+ pangox_view_get_context,
6104
+ x_view_create_surface,
6105
+ x_view_destroy_surface,
6106
+ pangox_view_render,
6108
+ x_view_create_window,
6109
+ x_view_destroy_window,
6112
diff --git a/pango/Makefile.am b/pango/Makefile.am
6113
index e37a579..d43b788 100644
6114
--- a/pango/Makefile.am
6115
+++ b/pango/Makefile.am
6116
@@ -163,6 +163,45 @@ Pango_1_0_gir_CFLAGS = -I$(top_builddir) -I$(top_srcdir) $(PANGO_CFLAGS)
6117
Pango_1_0_gir_FILES = $(filter-out %-private.h pango-color-table.h, $(pango_introspection_files))
6118
Pango_1_0_gir_SCANNERFLAGS = --c-include "pango/pango.h"
6120
+# ------------------- libpangox -------------------
6123
+pangoinclude_HEADERS += $(pangox_headers)
6124
+lib_LTLIBRARIES += libpangox-1.0.la
6125
+aliasdir = $(sysconfdir)/pango
6126
+alias_DATA = pangox.aliases
6129
+pangox_headers = pangox.h
6130
+pangox_public_sources = pangox.c
6132
+libpangox_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS)
6133
+libpangox_1_0_la_LIBADD = \
6134
+ libpango-$(PANGO_API_VERSION).la \
6135
+ $(INCLUDED_X_MODULES) \
6139
+libpangox_1_0_la_DEPENDENCIES = \
6140
+ libpango-$(PANGO_API_VERSION).la \
6141
+ $(INCLUDED_X_MODULES)
6144
+libpangox_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangox.def -Wl,pangox-win32-res.o
6145
+libpangox_1_0_la_DEPENDENCIES += pangox-win32-res.o pangox.def
6148
+pangox-win32-res.o: pangox.rc
6151
+libpangox_1_0_la_SOURCES = \
6152
+ $(pangox_public_sources) \
6155
+ pangox-private.h \
6156
+ pangox-fontcache.c \
6159
# ------------------- libpangoft2 -------------------
6162
@@ -426,10 +465,16 @@ endif # HAVE_INTROSPECTION
6164
bin_PROGRAMS = pango-querymodules
6167
+# As a temporary hack, we pull in libpangox here so that we can link
6169
pango_querymodules_SOURCES = \
6172
pango_querymodules_LDADD =
6174
+pango_querymodules_LDADD += libpangox-$(PANGO_API_VERSION).la
6177
pango_querymodules_LDADD += libpangoxft-$(PANGO_API_VERSION).la
6179
@@ -454,15 +499,17 @@ EXTRA_DIST = \
6198
@@ -472,7 +519,7 @@ if HAVE_INCLUDED_MODULES
6200
$(AM_V_GEN) cd $(top_builddir)/modules && $(MAKE) $(AM_MAKEFLAGS) included-modules
6202
-$(INCLUDED_LANG_MODULES) $(INCLUDED_FC_MODULES) $(INCLUDED_WIN32_MODULES) $(INCLUDED_CORE_TEXT_MODULES): included-modules
6203
+$(INCLUDED_LANG_MODULES) $(INCLUDED_X_MODULES) $(INCLUDED_FC_MODULES) $(INCLUDED_WIN32_MODULES) $(INCLUDED_CORE_TEXT_MODULES): included-modules
6206
.PHONY: included-modules
6207
@@ -481,6 +528,7 @@ endif
6208
MODULE_DEF_FILES = \
6210
module-defs-lang.c \
6213
module-defs-win32.c \
6214
module-defs-coretext.c
6215
@@ -506,12 +554,11 @@ MOSTLYCLEANFILES = \
6219
- $(MODULE_DEF_FILES) \
6220
- $(pango_vcproj_stuff)
6221
+ $(MODULE_DEF_FILES)
6224
if DISABLE_EXPLICIT_DEPS
6225
- -for i in libpangoft2-$(PANGO_API_VERSION).la libpangoxft-$(PANGO_API_VERSION).la libpangowin32-$(PANGO_API_VERSION).la; do \
6226
+ -for i in libpangoft2-$(PANGO_API_VERSION).la libpangoxft-$(PANGO_API_VERSION).la libpangox-$(PANGO_API_VERSION).la libpangowin32-$(PANGO_API_VERSION).la; do \
6227
test -f $(DESTDIR)$(libdir)/$$i && $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$$i ; \
6230
diff --git a/pango/pangox-fontcache.c b/pango/pangox-fontcache.c
6231
new file mode 100644
6232
index 0000000..f60b8c9
6234
+++ b/pango/pangox-fontcache.c
6237
+ * pango-fontcache.c: Cache of XFontStructs by XLFD
6239
+ * Copyright (C) 2000 Red Hat Software
6241
+ * This library is free software; you can redistribute it and/or
6242
+ * modify it under the terms of the GNU Library General Public
6243
+ * License as published by the Free Software Foundation; either
6244
+ * version 2 of the License, or (at your option) any later version.
6246
+ * This library is distributed in the hope that it will be useful,
6247
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
6248
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6249
+ * Library General Public License for more details.
6251
+ * You should have received a copy of the GNU Library General Public
6252
+ * License along with this library; if not, write to the
6253
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
6254
+ * Boston, MA 02111-1307, USA.
6257
+#include "config.h"
6258
+#include "pangox.h"
6263
+/* Number of fonts to retain after they are not otherwise referenced.
6265
+#define CACHE_SIZE 16
6267
+typedef struct _CacheEntry CacheEntry;
6269
+struct _PangoXFontCache
6273
+ GHashTable *forward;
6291
+free_cache_entry (char *xlfd G_GNUC_UNUSED,
6292
+ CacheEntry *entry,
6293
+ PangoXFontCache *cache)
6295
+ g_free (entry->xlfd);
6296
+ XFreeFont (cache->display, entry->fs);
6298
+ g_slice_free (CacheEntry, entry);
6302
+ * pango_x_font_cache_free:
6303
+ * @cache: a #PangoXFontCache
6305
+ * Frees a #PangoXFontCache and all associated memory. All fonts loaded
6306
+ * through this font cache will be freed along with the cache.
6309
+pango_x_font_cache_free (PangoXFontCache *cache)
6311
+ g_return_if_fail (cache != NULL);
6313
+ g_hash_table_foreach (cache->forward, (GHFunc)free_cache_entry, cache);
6315
+ g_hash_table_destroy (cache->forward);
6316
+ g_hash_table_destroy (cache->back);
6318
+ g_list_free (cache->mru);
6320
+ g_slice_free (PangoXFontCache, cache);
6324
+ * pango_x_font_cache_new:
6325
+ * @display: an X display.
6327
+ * Creates a font cache for the specified display.
6329
+ * Return value: The newly allocated #PangoXFontCache, which should be
6330
+ * freed with pango_x_font_cache_free().
6333
+pango_x_font_cache_new (Display *display)
6335
+ PangoXFontCache *cache;
6337
+ g_return_val_if_fail (display != NULL, NULL);
6339
+ cache = g_slice_new (PangoXFontCache);
6341
+ cache->display = display;
6343
+ cache->forward = g_hash_table_new (g_str_hash, g_str_equal);
6344
+ cache->back = g_hash_table_new (g_direct_hash, g_direct_equal);
6346
+ cache->mru = NULL;
6347
+ cache->mru_tail = NULL;
6348
+ cache->mru_count = 0;
6354
+cache_entry_unref (PangoXFontCache *cache, CacheEntry *entry)
6356
+ if (g_atomic_int_dec_and_test (&entry->ref_count))
6358
+ g_hash_table_remove (cache->forward, entry->xlfd);
6359
+ g_hash_table_remove (cache->back, entry->fs);
6361
+ free_cache_entry (NULL, entry, cache);
6366
+ * pango_x_font_cache_load:
6367
+ * @cache: a #PangoXFontCache
6368
+ * @xlfd: the X Logical Font Description to load.
6370
+ * Loads a #XFontStruct from a X Logical Font Description. The
6371
+ * result may be newly loaded, or it may have been previously
6374
+ * Return value: The font structure, or %NULL if the font could
6375
+ * not be loaded. In order to free this structure, you must call
6376
+ * pango_x_font_cache_unload().
6379
+pango_x_font_cache_load (PangoXFontCache *cache,
6382
+ CacheEntry *entry;
6384
+ g_return_val_if_fail (cache != NULL, NULL);
6385
+ g_return_val_if_fail (xlfd != NULL, NULL);
6387
+ entry = g_hash_table_lookup (cache->forward, xlfd);
6391
+ g_atomic_int_inc (&entry->ref_count);
6395
+ XFontStruct *fs = XLoadQueryFont (cache->display, xlfd);
6400
+ entry = g_slice_new (CacheEntry);
6402
+ entry->xlfd = g_strdup (xlfd);
6405
+ entry->ref_count = 1;
6406
+ entry->mru = NULL;
6408
+ g_hash_table_insert (cache->forward, entry->xlfd, entry);
6409
+ g_hash_table_insert (cache->back, entry->fs, entry);
6414
+ if (cache->mru_count > 1 && entry->mru->prev)
6416
+ /* Move to the head of the mru list */
6418
+ if (entry->mru == cache->mru_tail)
6420
+ cache->mru_tail = cache->mru_tail->prev;
6421
+ cache->mru_tail->next = NULL;
6425
+ entry->mru->prev->next = entry->mru->next;
6426
+ entry->mru->next->prev = entry->mru->prev;
6429
+ entry->mru->next = cache->mru;
6430
+ entry->mru->prev = NULL;
6431
+ cache->mru->prev = entry->mru;
6432
+ cache->mru = entry->mru;
6437
+ g_atomic_int_inc (&entry->ref_count);
6439
+ /* Insert into the mru list */
6441
+ if (cache->mru_count == CACHE_SIZE)
6443
+ CacheEntry *old_entry = cache->mru_tail->data;
6445
+ cache->mru_tail = cache->mru_tail->prev;
6446
+ cache->mru_tail->next = NULL;
6448
+ g_list_free_1 (old_entry->mru);
6449
+ old_entry->mru = NULL;
6450
+ cache_entry_unref (cache, old_entry);
6453
+ cache->mru_count++;
6455
+ cache->mru = g_list_prepend (cache->mru, entry);
6456
+ if (!cache->mru_tail)
6457
+ cache->mru_tail = cache->mru;
6458
+ entry->mru = cache->mru;
6465
+ * pango_x_font_cache_unload:
6466
+ * @cache: a #PangoXFontCache
6467
+ * @fs: the font structure to unload
6469
+ * Frees a font structure previously loaded with pango_x_font_cache_load().
6472
+pango_x_font_cache_unload (PangoXFontCache *cache,
6475
+ CacheEntry *entry;
6477
+ g_return_if_fail (cache != NULL);
6478
+ g_return_if_fail (fs != NULL);
6480
+ entry = g_hash_table_lookup (cache->back, fs);
6481
+ g_return_if_fail (entry != NULL);
6483
+ cache_entry_unref (cache, entry);
6485
diff --git a/pango/pangox-fontmap.c b/pango/pangox-fontmap.c
6486
new file mode 100644
6487
index 0000000..74925dc
6489
+++ b/pango/pangox-fontmap.c
6492
+ * pangox-fontmap.c: X font handling
6494
+ * Copyright (C) 2000 Red Hat Software
6496
+ * This library is free software; you can redistribute it and/or
6497
+ * modify it under the terms of the GNU Library General Public
6498
+ * License as published by the Free Software Foundation; either
6499
+ * version 2 of the License, or (at your option) any later version.
6501
+ * This library is distributed in the hope that it will be useful,
6502
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
6503
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6504
+ * Library General Public License for more details.
6506
+ * You should have received a copy of the GNU Library General Public
6507
+ * License along with this library; if not, write to the
6508
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
6509
+ * Boston, MA 02111-1307, USA.
6512
+#include "config.h"
6514
+#include <stdlib.h>
6515
+#include <string.h>
6519
+#include <X11/Xatom.h>
6521
+/* For XExtSetCloseDisplay */
6522
+#include <X11/Xlibint.h>
6524
+#include "pango-engine-private.h"
6525
+#include "pango-fontmap.h"
6526
+#include "pango-impl-utils.h"
6527
+#include "modules.h"
6529
+#undef PANGO_DISABLE_DEPRECATED
6531
+#include "pangox-private.h"
6533
+typedef struct _PangoXFamily PangoXFamily;
6534
+typedef struct _PangoXFamilyClass PangoXFamilyClass;
6535
+typedef struct _PangoXSizeInfo PangoXSizeInfo;
6537
+/* Number of freed fonts */
6538
+#define MAX_FREED_FONTS 16
6540
+/* This is the largest field length we will accept. If a fontname has a field
6541
+ larger than this we will skip it. */
6542
+#define XLFD_MAX_FIELD_LEN 64
6543
+#define MAX_FONTS 32767
6545
+/* These are the field numbers in the X Logical Font Description fontnames,
6546
+ e.g. -adobe-courier-bold-o-normal--25-180-100-100-m-150-iso8859-1 */
6553
+ XLFD_SET_WIDTH = 4,
6554
+ XLFD_ADD_STYLE = 5,
6557
+ XLFD_RESOLUTION_X = 8,
6558
+ XLFD_RESOLUTION_Y = 9,
6559
+ XLFD_SPACING = 10,
6560
+ XLFD_AVERAGE_WIDTH = 11,
6561
+ XLFD_CHARSET = 12,
6565
+struct _PangoXFamily
6567
+ PangoFontFamily parent_instance;
6569
+ char *family_name;
6570
+ GSList *font_entries;
6573
+struct _PangoXFamilyClass
6575
+ PangoFontFamilyClass parent_class;
6580
+ PangoFontFace parent_instance;
6583
+ PangoFontDescription *description;
6584
+ PangoCoverage *coverage;
6588
+ GSList *cached_fonts;
6591
+struct _PangoXSizeInfo
6597
+static const struct {
6598
+ const gchar text[12];
6599
+ PangoWeight value;
6600
+} weights_map[] = {
6602
+ { "regular", 400 },
6604
+ { "medium", 500 },
6605
+ { "semibold", 600 },
6606
+ { "demibold", 600 },
6608
+ { "extrabold", 800 },
6609
+ { "ultrabold", 800 },
6614
+static const struct {
6615
+ const gchar text[4];
6618
+ { "r", PANGO_STYLE_NORMAL },
6619
+ { "i", PANGO_STYLE_ITALIC },
6620
+ { "o", PANGO_STYLE_OBLIQUE }
6623
+static const struct {
6624
+ const gchar text[16];
6625
+ PangoStretch value;
6626
+} stretches_map[] = {
6627
+ { "normal", PANGO_STRETCH_NORMAL },
6628
+ { "semicondensed", PANGO_STRETCH_SEMI_CONDENSED },
6629
+ { "condensed", PANGO_STRETCH_CONDENSED },
6632
+static void pango_x_font_map_finalize (GObject *object);
6633
+static PangoFont *pango_x_font_map_load_font (PangoFontMap *fontmap,
6634
+ PangoContext *context,
6635
+ const PangoFontDescription *description);
6636
+static void pango_x_font_map_list_families (PangoFontMap *fontmap,
6637
+ PangoFontFamily ***families,
6640
+static void pango_x_fontmap_cache_clear (PangoXFontMap *xfontmap);
6641
+static void pango_x_font_map_read_aliases (PangoXFontMap *xfontmap);
6643
+static gint pango_x_get_size (PangoXFontMap *fontmap,
6644
+ const char *fontname);
6645
+static void pango_x_insert_font (PangoXFontMap *fontmap,
6646
+ const char *fontname);
6647
+static gboolean pango_x_is_xlfd_font_name (const char *fontname);
6648
+static char * pango_x_get_xlfd_field (const char *fontname,
6649
+ FontField field_num,
6651
+static char * pango_x_get_identifier (const char *fontname);
6654
+#define PANGO_X_TYPE_FAMILY (pango_x_family_get_type ())
6655
+#define PANGO_X_FAMILY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_X_TYPE_FAMILY, PangoXFamily))
6656
+#define PANGO_X_IS_FAMILY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_X_TYPE_FAMILY))
6658
+GType pango_x_family_get_type (void);
6661
+#define PANGO_X_TYPE_FACE (pango_x_face_get_type ())
6662
+#define PANGO_X_FACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_X_TYPE_FACE, PangoXFace))
6663
+#define PANGO_X_IS_FACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_X_TYPE_FACE))
6665
+GType pango_x_face_get_type (void);
6667
+G_DEFINE_TYPE (PangoXFontMap, pango_x_font_map, PANGO_TYPE_FONT_MAP);
6670
+pango_x_font_map_init (PangoXFontMap *xfontmap)
6672
+ xfontmap->families = g_hash_table_new (g_str_hash, g_str_equal);
6673
+ xfontmap->size_infos = g_hash_table_new (g_str_hash, g_str_equal);
6674
+ xfontmap->to_atom_cache = g_hash_table_new (g_str_hash, g_str_equal);
6675
+ xfontmap->from_atom_cache = g_hash_table_new (g_direct_hash, g_direct_equal);
6676
+ xfontmap->n_fonts = 0;
6680
+pango_x_font_map_class_init (PangoXFontMapClass *class)
6682
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
6683
+ PangoFontMapClass *font_map_class = PANGO_FONT_MAP_CLASS (class);
6685
+ object_class->finalize = pango_x_font_map_finalize;
6687
+ font_map_class->load_font = pango_x_font_map_load_font;
6688
+ font_map_class->list_families = pango_x_font_map_list_families;
6689
+ font_map_class->shape_engine_type = PANGO_RENDER_TYPE_X;
6693
+ * Hackery to set up notification when a Display is closed
6695
+static GSList *registered_displays;
6698
+close_display_cb (Display *display,
6699
+ XExtCodes *extcodes G_GNUC_UNUSED)
6701
+ pango_x_shutdown_display (display);
6702
+ registered_displays = g_slist_remove (registered_displays, display);
6708
+register_display (Display *display)
6710
+ XExtCodes *extcodes;
6713
+ for (tmp_list = registered_displays; tmp_list; tmp_list = tmp_list->next)
6715
+ if (tmp_list->data == display)
6719
+ registered_displays = g_slist_prepend (registered_displays, display);
6721
+ extcodes = XAddExtension (display);
6722
+ XESetCloseDisplay (display, extcodes->extension, close_display_cb);
6725
+static GList *fontmaps = NULL;
6728
+ * pango_x_font_map_for_display:
6729
+ * @display: an X #Display.
6731
+ * Returns a #PangoXFontMap for @display. Font maps are cached and should
6732
+ * not be freed. If the font map for a display is no longer needed, it can
6733
+ * be released with pango_x_shutdown_display().
6735
+ * Return value: a #PangoXFontMap for @display.
6738
+pango_x_font_map_for_display (Display *display)
6740
+ PangoXFontMap *xfontmap;
6741
+ GList *tmp_list = fontmaps;
6742
+ char **xfontnames;
6745
+ static gboolean registered_modules = FALSE;
6747
+ g_return_val_if_fail (display != NULL, NULL);
6749
+ if (!registered_modules)
6751
+ registered_modules = TRUE;
6753
+ for (i = 0; _pango_included_x_modules[i].list; i++)
6754
+ pango_module_register (&_pango_included_x_modules[i]);
6757
+ /* Make sure that the type system is initialized */
6762
+ xfontmap = tmp_list->data;
6764
+ if (xfontmap->display == display)
6765
+ return PANGO_FONT_MAP (xfontmap);
6767
+ tmp_list = tmp_list->next;
6770
+ xfontmap = g_object_new (PANGO_TYPE_X_FONT_MAP, NULL);
6772
+ xfontmap->display = display;
6773
+ xfontmap->font_cache = pango_x_font_cache_new (display);
6774
+ xfontmap->freed_fonts = g_queue_new ();
6776
+ /* Get a maximum of MAX_FONTS fontnames from the X server.
6777
+ Use "-*" as the pattern rather than "-*-*-*-*-*-*-*-*-*-*-*-*-*-*" since
6778
+ the latter may result in fonts being returned which don't actually exist.
6779
+ xlsfonts also uses "*" so I think it's OK. "-*" gets rid of aliases. */
6780
+ xfontnames = XListFonts (xfontmap->display, "-*", MAX_FONTS, &num_fonts);
6781
+ if (num_fonts == MAX_FONTS)
6782
+ g_warning("MAX_FONTS exceeded. Some fonts may be missing.");
6784
+ /* Insert the font families into the main table */
6785
+ for (i = 0; i < num_fonts; i++)
6787
+ if (pango_x_is_xlfd_font_name (xfontnames[i]))
6788
+ pango_x_insert_font (xfontmap, xfontnames[i]);
6791
+ XFreeFontNames (xfontnames);
6793
+ pango_x_font_map_read_aliases (xfontmap);
6795
+ fontmaps = g_list_prepend (fontmaps, xfontmap);
6797
+ /* This is a little screwed up, since different screens on the same display
6798
+ * might have different resolutions
6800
+ screen = DefaultScreen (xfontmap->display);
6801
+ xfontmap->resolution = (PANGO_SCALE * 72.27 / 25.4) * ((double) DisplayWidthMM (xfontmap->display, screen) /
6802
+ DisplayWidth (xfontmap->display, screen));
6804
+ register_display (xfontmap->display);
6806
+ return PANGO_FONT_MAP (xfontmap);
6810
+ * pango_x_shutdown_display:
6811
+ * @display: an X #Display
6813
+ * Free cached resources for the given X display structure.
6816
+pango_x_shutdown_display (Display *display)
6820
+ g_return_if_fail (display != NULL);
6822
+ tmp_list = fontmaps;
6825
+ PangoXFontMap *xfontmap = tmp_list->data;
6827
+ if (xfontmap->display == display)
6829
+ fontmaps = g_list_delete_link (fontmaps, tmp_list);
6830
+ pango_x_fontmap_cache_clear (xfontmap);
6831
+ g_object_unref (xfontmap);
6836
+ tmp_list = tmp_list->next;
6841
+pango_x_font_map_finalize (GObject *object)
6843
+ PangoXFontMap *xfontmap = PANGO_X_FONT_MAP (object);
6845
+ g_list_foreach (xfontmap->freed_fonts->head, (GFunc)g_object_unref, NULL);
6846
+ g_queue_free (xfontmap->freed_fonts);
6848
+ pango_x_font_cache_free (xfontmap->font_cache);
6850
+ /* FIXME: None of these hashtables free their key/values
6851
+ g_hash_table_destroy (xfontmap->families);
6852
+ g_hash_table_destroy (xfontmap->size_infos);
6853
+ g_hash_table_destroy (xfontmap->to_atom_cache);
6854
+ g_hash_table_destroy (xfontmap->from_atom_cache);
6857
+ fontmaps = g_list_remove (fontmaps, xfontmap);
6859
+ G_OBJECT_CLASS (pango_x_font_map_parent_class)->finalize (object);
6863
+list_families_foreach (gpointer key G_GNUC_UNUSED,
6865
+ gpointer user_data)
6867
+ GSList **list = user_data;
6869
+ *list = g_slist_prepend (*list, value);
6873
+pango_x_font_map_list_families (PangoFontMap *fontmap,
6874
+ PangoFontFamily ***families,
6877
+ GSList *family_list = NULL;
6879
+ PangoXFontMap *xfontmap = (PangoXFontMap *)fontmap;
6884
+ g_hash_table_foreach (xfontmap->families, list_families_foreach, &family_list);
6886
+ *n_families = g_slist_length (family_list);
6892
+ *families = g_new (PangoFontFamily *, *n_families);
6894
+ tmp_list = family_list;
6897
+ (*families)[i] = tmp_list->data;
6899
+ tmp_list = tmp_list->next;
6903
+ g_slist_free (family_list);
6906
+static PangoXFamily *
6907
+pango_x_get_font_family (PangoXFontMap *xfontmap,
6908
+ const char *family_name)
6910
+ PangoXFamily *font_family = g_hash_table_lookup (xfontmap->families, family_name);
6913
+ font_family = g_object_new (PANGO_X_TYPE_FAMILY, NULL);
6914
+ font_family->family_name = g_strdup (family_name);
6915
+ font_family->font_entries = NULL;
6917
+ g_hash_table_insert (xfontmap->families, font_family->family_name, font_family);
6920
+ return font_family;
6924
+pango_x_font_map_load_font (PangoFontMap *fontmap,
6925
+ PangoContext *context G_GNUC_UNUSED,
6926
+ const PangoFontDescription *description)
6928
+ PangoXFontMap *xfontmap = (PangoXFontMap *)fontmap;
6929
+ PangoXFamily *font_family;
6930
+ PangoFont *result = NULL;
6932
+ const gchar *family;
6936
+ g_return_val_if_fail (description != NULL, NULL);
6938
+ family = pango_font_description_get_family (description);
6939
+ name = g_ascii_strdown (family ? family : "", -1);
6940
+ size = pango_font_description_get_size (description);
6945
+ font_family = g_hash_table_lookup (xfontmap->families, name);
6948
+ PangoXFace *best_match = NULL;
6950
+ tmp_list = font_family->font_entries;
6953
+ PangoXFace *font_entry = tmp_list->data;
6955
+ if (pango_font_description_better_match (description,
6956
+ best_match ? best_match->description : NULL,
6957
+ font_entry->description))
6958
+ best_match = font_entry;
6960
+ tmp_list = tmp_list->next;
6965
+ GSList *tmp_list = best_match->cached_fonts;
6969
+ PangoXFont *xfont = tmp_list->data;
6970
+ if (xfont->size == size)
6972
+ result = (PangoFont *)xfont;
6974
+ g_object_ref (result);
6975
+ if (xfont->in_cache)
6976
+ pango_x_fontmap_cache_remove (fontmap, xfont);
6980
+ tmp_list = tmp_list->next;
6985
+ PangoXFont *xfont = pango_x_font_new (fontmap, best_match->xlfd, size);
6987
+ xfont->xface = best_match;
6988
+ best_match->cached_fonts = g_slist_prepend (best_match->cached_fonts, xfont);
6990
+ result = (PangoFont *)xfont;
7000
+/************************
7001
+ * Coverage Map Caching *
7002
+ ************************/
7004
+/* We need to be robust against errors accessing the coverage
7005
+ * cache window, since it is not our window. So we temporarily
7006
+ * set this error handler while accessing it. The error_occurred
7007
+ * global allows us to tell whether an error occurred for
7010
+static gboolean error_occurred;
7013
+ignore_error (Display *d G_GNUC_UNUSED,
7014
+ XErrorEvent *e G_GNUC_UNUSED)
7019
+/* Retrieve the coverage window for the given display.
7020
+ * We look for a property on the root window, and then
7021
+ * check that the window that property points to also
7022
+ * has the same property pointing to itself. The second
7023
+ * check allows us to make sure that a stale property
7024
+ * isn't just pointing to some other apps window
7027
+pango_x_real_get_coverage_win (Display *display)
7032
+ gulong bytes_after;
7034
+ Window retval = None;
7035
+ int (*old_handler) (Display *, XErrorEvent *);
7037
+ Atom coverage_win_atom = XInternAtom (display,
7038
+ "PANGO_COVERAGE_WIN",
7041
+ XGetWindowProperty (display,
7042
+ DefaultRootWindow (display),
7043
+ coverage_win_atom,
7046
+ &type, &format, &n_items, &bytes_after,
7049
+ if (type == XA_WINDOW)
7051
+ if (format == 32 && n_items == 1 && bytes_after == 0)
7052
+ retval = *(Atom *)data;
7057
+ old_handler= XSetErrorHandler (ignore_error);
7059
+ if (XGetWindowProperty (display,
7061
+ coverage_win_atom,
7064
+ &type, &format, &n_items, &bytes_after,
7065
+ &data) == Success &&
7066
+ type == XA_WINDOW)
7068
+ if (format != 32 || n_items != 1 || bytes_after != 0 ||
7069
+ *(Atom *)data != retval)
7077
+ XSync (display, False);
7078
+ XSetErrorHandler (old_handler);
7083
+/* Find or create the persistent window for caching font coverage
7086
+ * To assure atomic creation, we first look for the window, then if we
7087
+ * don't find it, grab the server, look for it again, and then if that
7088
+ * still didn't find it, create it and ungrab.
7091
+pango_x_get_coverage_win (PangoXFontMap *xfontmap)
7093
+ if (!xfontmap->coverage_win)
7094
+ xfontmap->coverage_win = pango_x_real_get_coverage_win (xfontmap->display);
7096
+ if (!xfontmap->coverage_win)
7098
+ Display *persistant_display;
7100
+ persistant_display = XOpenDisplay (DisplayString (xfontmap->display));
7101
+ if (!persistant_display)
7103
+ g_warning ("Cannot create or retrieve display for font coverage cache");
7107
+ XGrabServer (persistant_display);
7109
+ xfontmap->coverage_win = pango_x_real_get_coverage_win (xfontmap->display);
7110
+ if (!xfontmap->coverage_win)
7112
+ XSetWindowAttributes attr;
7114
+ attr.override_redirect = True;
7116
+ XSetCloseDownMode (persistant_display, RetainPermanent);
7118
+ xfontmap->coverage_win =
7119
+ XCreateWindow (persistant_display,
7120
+ DefaultRootWindow (persistant_display),
7121
+ -100, -100, 10, 10, 0, 0,
7122
+ InputOnly, (Visual *)CopyFromParent,
7123
+ CWOverrideRedirect, &attr);
7125
+ XChangeProperty (persistant_display,
7126
+ DefaultRootWindow (persistant_display),
7127
+ XInternAtom (persistant_display,
7128
+ "PANGO_COVERAGE_WIN",
7131
+ 32, PropModeReplace,
7132
+ (guchar *)&xfontmap->coverage_win, 1);
7135
+ XChangeProperty (persistant_display,
7136
+ xfontmap->coverage_win,
7137
+ XInternAtom (persistant_display,
7138
+ "PANGO_COVERAGE_WIN",
7141
+ 32, PropModeReplace,
7142
+ (guchar *)&xfontmap->coverage_win, 1);
7145
+ XUngrabServer (persistant_display);
7147
+ XSync (persistant_display, False);
7148
+ XCloseDisplay (persistant_display);
7151
+ return xfontmap->coverage_win;
7154
+/* Find the cached value for the coverage map on the
7155
+ * coverage cache window, if it exists. *atom is set
7156
+ * to the interned value of str for later use in storing
7157
+ * the property if the lookup fails
7159
+static PangoCoverage *
7160
+pango_x_get_cached_coverage (PangoXFontMap *xfontmap,
7164
+ int (*old_handler) (Display *, XErrorEvent *);
7165
+ Window coverage_win;
7166
+ PangoCoverage *result = NULL;
7172
+ gulong bytes_after;
7175
+ *atom = XInternAtom (xfontmap->display, str, False);
7179
+ coverage_win = pango_x_get_coverage_win (xfontmap);
7181
+ if (!coverage_win)
7184
+ old_handler= XSetErrorHandler (ignore_error);
7186
+ if (XGetWindowProperty (xfontmap->display,
7187
+ coverage_win, *atom,
7190
+ &type, &format, &n_items, &bytes_after,
7192
+ && type == XA_STRING)
7194
+ if (format == 8 && bytes_after == 0)
7195
+ result = pango_coverage_from_bytes (data, n_items);
7197
+ XSetErrorHandler (old_handler);
7203
+ /* Window disappeared out from under us */
7204
+ XSetErrorHandler (old_handler);
7205
+ xfontmap->coverage_win = None;
7213
+/* Store the given coverage map on the coverage cache window.
7214
+ * atom is the intern'ed value of the string that identifies
7215
+ * the cache entry.
7218
+pango_x_store_cached_coverage (PangoXFontMap *xfontmap,
7220
+ PangoCoverage *coverage)
7222
+ int (*old_handler) (Display *, XErrorEvent *);
7228
+ pango_coverage_to_bytes (coverage, &bytes, &size);
7232
+ Window coverage_win = pango_x_get_coverage_win (xfontmap);
7234
+ if (!coverage_win)
7237
+ old_handler = XSetErrorHandler (ignore_error);
7238
+ error_occurred = False;
7240
+ XChangeProperty (xfontmap->display,
7244
+ 8, PropModeReplace,
7247
+ XSync (xfontmap->display, False);
7248
+ XSetErrorHandler (old_handler);
7250
+ if (!error_occurred)
7254
+ /* Window disappeared out from under us */
7255
+ XSetErrorHandler (old_handler);
7256
+ xfontmap->coverage_win = None;
7265
+pango_x_font_map_read_alias_file (PangoXFontMap *xfontmap,
7266
+ const char *filename)
7272
+ PangoXFace *xface = NULL;
7274
+ infile = fopen (filename, "r");
7277
+ GString *line_buf = g_string_new (NULL);
7278
+ GString *tmp_buf = g_string_new (NULL);
7281
+ while ((lines_read = pango_read_line (infile, line_buf)))
7283
+ PangoXFamily *font_family;
7285
+ PangoVariant variant;
7286
+ PangoWeight weight;
7287
+ PangoStretch stretch;
7289
+ const char *p = line_buf->str;
7291
+ lineno += lines_read;
7293
+ if (!pango_skip_space (&p))
7296
+ if (!pango_scan_string (&p, tmp_buf))
7299
+ xface = g_object_new (PANGO_X_TYPE_FACE, NULL);
7300
+ xface->xlfd = NULL;
7301
+ xface->description = pango_font_description_new ();
7303
+ g_string_ascii_down (tmp_buf);
7304
+ pango_font_description_set_family (xface->description, tmp_buf->str);
7306
+ if (!pango_scan_string (&p, tmp_buf))
7309
+ if (!pango_parse_style (tmp_buf->str, &style, TRUE))
7311
+ pango_font_description_set_style (xface->description, style);
7313
+ if (!pango_scan_string (&p, tmp_buf))
7316
+ if (!pango_parse_variant (tmp_buf->str, &variant, TRUE))
7318
+ pango_font_description_set_variant (xface->description, variant);
7320
+ if (!pango_scan_string (&p, tmp_buf))
7323
+ if (!pango_parse_weight (tmp_buf->str, &weight, TRUE))
7325
+ pango_font_description_set_weight (xface->description, weight);
7327
+ if (!pango_scan_string (&p, tmp_buf))
7330
+ if (!pango_parse_stretch (tmp_buf->str, &stretch, TRUE))
7332
+ pango_font_description_set_stretch (xface->description, stretch);
7334
+ if (!pango_scan_string (&p, tmp_buf))
7337
+ /* Remove excess whitespace and check for complete fields */
7339
+ xlfds = g_strsplit (tmp_buf->str, ",", -1);
7340
+ for (i=0; xlfds[i]; i++)
7342
+ char *trimmed = pango_trim_string (xlfds[i]);
7343
+ g_free (xlfds[i]);
7344
+ xlfds[i] = trimmed;
7346
+ if (!pango_x_is_xlfd_font_name (xlfds[i]))
7348
+ g_warning ("XLFD '%s' must be complete (14 fields)", xlfds[i]);
7349
+ g_strfreev (xlfds);
7354
+ xface->xlfd = g_strjoinv (",", xlfds);
7355
+ g_strfreev (xlfds);
7357
+ /* Insert the font entry into our structures */
7359
+ font_family = pango_x_get_font_family (xfontmap,
7360
+ pango_font_description_get_family (xface->description));
7361
+ font_family->font_entries = g_slist_prepend (font_family->font_entries, xface);
7362
+ xfontmap->n_fonts++;
7364
+ /* Save space by consolidating duplicated string */
7365
+ pango_font_description_set_family_static (xface->description, font_family->family_name);
7366
+ xface->cached_fonts = NULL;
7367
+ xface->coverage = NULL;
7370
+ if (ferror (infile))
7371
+ g_warning ("Error reading '%s': %s", filename, g_strerror(errno));
7378
+ g_free (xface->xlfd);
7379
+ if (xface->description)
7380
+ pango_font_description_free (xface->description);
7384
+ g_warning ("Error parsing line %d of alias file '%s'", lineno, filename);
7387
+ g_string_free (tmp_buf, TRUE);
7388
+ g_string_free (line_buf, TRUE);
7396
+pango_x_font_map_read_aliases (PangoXFontMap *xfontmap)
7400
+ char *files_str = pango_config_key_get ("PangoX/AliasFiles");
7405
+ user_file = g_build_filename (g_get_user_config_dir (), "pango", "pangox.aliases", NULL);
7407
+ files_str = g_strconcat (user_file, ":" SYSCONFDIR "/pango/pangox.aliases", NULL);
7408
+ g_free (user_file);
7411
+ files = pango_split_file_list (files_str);
7418
+ pango_x_font_map_read_alias_file (xfontmap, files[n]);
7420
+ g_strfreev (files);
7421
+ g_free (files_str);
7425
+ * Returns %TRUE if the fontname is a valid XLFD.
7426
+ * (It just checks if the number of dashes is 14, and that each
7427
+ * field < XLFD_MAX_FIELD_LEN characters long - that's not in the XLFD but it
7428
+ * makes it easier for me).
7431
+pango_x_is_xlfd_font_name (const char *fontname)
7434
+ int field_len = 0;
7438
+ if (*fontname++ == '-')
7440
+ if (field_len > XLFD_MAX_FIELD_LEN) return FALSE;
7448
+ return (i == 14) ? TRUE : FALSE;
7452
+pango_x_get_size (PangoXFontMap *xfontmap, const char *fontname)
7454
+ char size_buffer[XLFD_MAX_FIELD_LEN];
7457
+ if (!pango_x_get_xlfd_field (fontname, XLFD_PIXELS, size_buffer))
7460
+ size = atoi (size_buffer);
7463
+ return (int)(0.5 + size * xfontmap->resolution);
7467
+ /* We use the trick that scaled bitmaps have a non-zero RESOLUTION_X, while
7468
+ * actual scaleable fonts have a zero RESOLUTION_X */
7469
+ if (!pango_x_get_xlfd_field (fontname, XLFD_RESOLUTION_X, size_buffer))
7472
+ if (atoi (size_buffer) == 0)
7480
+pango_x_get_identifier (const char *fontname)
7482
+ const char *p = fontname;
7483
+ const char *start;
7486
+ while (n_dashes < 2)
7495
+ while (n_dashes < 6)
7502
+ return g_strndup (start, (p - 1 - start));
7506
+ * This fills the buffer with the specified field from the X Logical Font
7507
+ * Description name, and returns it. If fontname is %NULL or the field is
7508
+ * longer than XFLD_MAX_FIELD_LEN it returns %NULL.
7509
+ * Note: For the charset field, we also return the encoding, e.g. 'iso8859-1'.
7512
+pango_x_get_xlfd_field (const char *fontname,
7513
+ FontField field_num,
7516
+ const char *t1, *t2;
7518
+ int countdown, len, num_dashes;
7523
+ /* we assume this is a valid fontname...that is, it has 14 fields */
7525
+ countdown = field_num;
7527
+ while (*t1 && (countdown >= 0))
7531
+ num_dashes = (field_num == XLFD_CHARSET) ? 2 : 1;
7532
+ for (t2 = t1; *t2; t2++)
7534
+ if (*t2 == '-' && --num_dashes == 0)
7540
+ /* Check we don't overflow the buffer */
7541
+ len = (long) t2 - (long) t1;
7542
+ if (len > XLFD_MAX_FIELD_LEN - 1)
7544
+ strncpy (buffer, t1, len);
7546
+ /* Convert to lower case. */
7547
+ for (p = buffer; *p; p++)
7548
+ *p = g_ascii_tolower (*p);
7551
+ strcpy(buffer, "(nil)");
7556
+/* This inserts the given fontname into the FontInfo table.
7557
+ If a FontInfo already exists with the same family and foundry, then the
7558
+ fontname is added to the FontInfos list of fontnames, else a new FontInfo
7559
+ is created and inserted in alphabetical order in the table. */
7561
+pango_x_insert_font (PangoXFontMap *xfontmap,
7562
+ const char *fontname)
7564
+ PangoFontDescription *description;
7565
+ char *family_name;
7567
+ PangoVariant variant;
7568
+ PangoWeight weight;
7569
+ PangoStretch stretch;
7570
+ char family_buffer[XLFD_MAX_FIELD_LEN];
7571
+ char weight_buffer[XLFD_MAX_FIELD_LEN];
7572
+ char slant_buffer[XLFD_MAX_FIELD_LEN];
7573
+ char set_width_buffer[XLFD_MAX_FIELD_LEN];
7575
+ PangoXFamily *font_family;
7576
+ PangoXFace *xface;
7577
+ PangoXSizeInfo *size_info;
7581
+ /* First insert the XLFD into the list of XLFDs for the "identifier" - which
7582
+ * is the 2-4th fields of the XLFD
7584
+ identifier = pango_x_get_identifier (fontname);
7585
+ size_info = g_hash_table_lookup (xfontmap->size_infos, identifier);
7588
+ size_info = g_slice_new (PangoXSizeInfo);
7589
+ size_info->identifier = identifier;
7590
+ size_info->xlfds = NULL;
7592
+ g_hash_table_insert (xfontmap->size_infos, identifier, size_info);
7595
+ g_free (identifier);
7597
+ size_info->xlfds = g_slist_prepend (size_info->xlfds, g_strdup (fontname));
7599
+ /* Convert the XLFD into a PangoFontDescription */
7601
+ family_name = pango_x_get_xlfd_field (fontname, XLFD_FAMILY, family_buffer);
7605
+ style = PANGO_STYLE_NORMAL;
7606
+ if (pango_x_get_xlfd_field (fontname, XLFD_SLANT, slant_buffer))
7608
+ for (i=0; i<G_N_ELEMENTS(styles_map); i++)
7610
+ if (!strcmp (styles_map[i].text, slant_buffer))
7612
+ style = styles_map[i].value;
7618
+ strcpy (slant_buffer, "*");
7620
+ variant = PANGO_VARIANT_NORMAL;
7622
+ weight = PANGO_WEIGHT_NORMAL;
7623
+ if (pango_x_get_xlfd_field (fontname, XLFD_WEIGHT, weight_buffer))
7625
+ for (i=0; i<G_N_ELEMENTS(weights_map); i++)
7627
+ if (!strcmp (weights_map[i].text, weight_buffer))
7629
+ weight = weights_map[i].value;
7635
+ strcpy (weight_buffer, "*");
7637
+ stretch = PANGO_STRETCH_NORMAL;
7638
+ if (pango_x_get_xlfd_field (fontname, XLFD_SET_WIDTH, set_width_buffer))
7640
+ for (i=0; i<G_N_ELEMENTS(stretches_map); i++)
7642
+ if (!strcmp (stretches_map[i].text, set_width_buffer))
7644
+ stretch = stretches_map[i].value;
7650
+ strcpy (set_width_buffer, "*");
7652
+ font_family = pango_x_get_font_family (xfontmap, family_name);
7654
+ tmp_list = font_family->font_entries;
7657
+ xface = tmp_list->data;
7659
+ if (pango_font_description_get_style (xface->description) == style &&
7660
+ pango_font_description_get_weight (xface->description) == weight &&
7661
+ pango_font_description_get_stretch (xface->description) == stretch &&
7662
+ pango_font_description_get_variant (xface->description) == variant)
7665
+ tmp_list = tmp_list->next;
7668
+ description = pango_font_description_new ();
7669
+ pango_font_description_set_family_static (description, font_family->family_name);
7670
+ pango_font_description_set_style (description, style);
7671
+ pango_font_description_set_weight (description, weight);
7672
+ pango_font_description_set_stretch (description, stretch);
7673
+ pango_font_description_set_variant (description, variant);
7675
+ xface = g_object_new (PANGO_X_TYPE_FACE, NULL);
7676
+ xface->description = description;
7677
+ xface->cached_fonts = NULL;
7678
+ xface->coverage = NULL;
7680
+ xface->xlfd = g_strconcat ("-*-",
7688
+ "--*-*-*-*-*-*-*-*",
7691
+ font_family->font_entries = g_slist_append (font_family->font_entries, xface);
7692
+ xfontmap->n_fonts++;
7695
+/* Compare the tail of a to b */
7697
+match_end (const char *a, const char *b)
7699
+ size_t len_a = strlen (a);
7700
+ size_t len_b = strlen (b);
7702
+ if (len_b > len_a)
7705
+ return (strcmp (a + len_a - len_b, b) == 0);
7708
+/* Given a XLFD, charset and size, find the best matching installed X font.
7709
+ * The XLFD must be a full XLFD (14 fields)
7712
+pango_x_make_matching_xlfd (PangoFontMap *fontmap, char *xlfd, const char *charset, int size)
7714
+ PangoXFontMap *xfontmap;
7717
+ PangoXSizeInfo *size_info;
7719
+ char *closest_match = NULL;
7720
+ gint match_distance = 0;
7721
+ gboolean match_scaleable = FALSE;
7722
+ char *result = NULL;
7724
+ char *dash_charset;
7726
+ xfontmap = PANGO_X_FONT_MAP (fontmap);
7728
+ dash_charset = g_strconcat ("-", charset, NULL);
7730
+ if (!match_end (xlfd, "-*-*") && !match_end (xlfd, dash_charset))
7732
+ g_free (dash_charset);
7736
+ identifier = pango_x_get_identifier (xlfd);
7737
+ size_info = g_hash_table_lookup (xfontmap->size_infos, identifier);
7738
+ g_free (identifier);
7742
+ g_free (dash_charset);
7746
+ tmp_list = size_info->xlfds;
7749
+ char *tmp_xlfd = tmp_list->data;
7751
+ if (match_end (tmp_xlfd, dash_charset))
7753
+ int font_size = pango_x_get_size (xfontmap, tmp_xlfd);
7757
+ int new_distance = (font_size == 0) ? 0 : abs (font_size - size);
7759
+ if (!closest_match ||
7760
+ new_distance < match_distance ||
7761
+ (new_distance < PANGO_SCALE && match_scaleable && font_size != 0))
7763
+ closest_match = tmp_xlfd;
7764
+ match_scaleable = (font_size == 0);
7765
+ match_distance = new_distance;
7770
+ tmp_list = tmp_list->next;
7773
+ if (closest_match)
7775
+ if (match_scaleable)
7777
+ char *prefix_end, *p;
7782
+ /* OK, we have a match; let's modify it to fit this size and charset */
7784
+ p = closest_match;
7785
+ while (n_dashes < 6)
7792
+ prefix_end = p - 1;
7794
+ while (n_dashes < 9)
7801
+ target_size = (int)((double)size / xfontmap->resolution + 0.5);
7802
+ prefix = g_strndup (closest_match, prefix_end - closest_match);
7803
+ result = g_strdup_printf ("%s--%d-*-*-*-*-*-%s", prefix, target_size, charset);
7808
+ result = g_strdup (closest_match);
7812
+ g_free (dash_charset);
7818
+ * pango_x_font_map_get_font_cache:
7819
+ * @font_map: a #PangoXFontMap.
7821
+ * Obtains the font cache associated with the given font map.
7823
+ * Return value: the #PangoXFontCache of @font_map.
7826
+pango_x_font_map_get_font_cache (PangoFontMap *font_map)
7828
+ g_return_val_if_fail (font_map != NULL, NULL);
7829
+ g_return_val_if_fail (PANGO_X_IS_FONT_MAP (font_map), NULL);
7831
+ return PANGO_X_FONT_MAP (font_map)->font_cache;
7835
+pango_x_fontmap_get_display (PangoFontMap *fontmap)
7837
+ g_return_val_if_fail (fontmap != NULL, NULL);
7838
+ g_return_val_if_fail (PANGO_X_IS_FONT_MAP (fontmap), NULL);
7840
+ return PANGO_X_FONT_MAP (fontmap)->display;
7844
+pango_x_fontmap_cache_add (PangoFontMap *fontmap,
7845
+ PangoXFont *xfont)
7847
+ PangoXFontMap *xfontmap = PANGO_X_FONT_MAP (fontmap);
7849
+ if (xfontmap->freed_fonts->length == MAX_FREED_FONTS)
7851
+ PangoXFont *old_font = g_queue_pop_tail (xfontmap->freed_fonts);
7852
+ g_object_unref (old_font);
7855
+ g_object_ref (xfont);
7856
+ g_queue_push_head (xfontmap->freed_fonts, xfont);
7857
+ xfont->in_cache = TRUE;
7861
+pango_x_fontmap_cache_remove (PangoFontMap *fontmap,
7862
+ PangoXFont *xfont)
7864
+ PangoXFontMap *xfontmap = PANGO_X_FONT_MAP (fontmap);
7866
+ GList *link = g_list_find (xfontmap->freed_fonts->head, xfont);
7867
+ if (link == xfontmap->freed_fonts->tail)
7869
+ xfontmap->freed_fonts->tail = xfontmap->freed_fonts->tail->prev;
7870
+ if (xfontmap->freed_fonts->tail)
7871
+ xfontmap->freed_fonts->tail->next = NULL;
7874
+ xfontmap->freed_fonts->head = g_list_delete_link (xfontmap->freed_fonts->head, link);
7875
+ xfontmap->freed_fonts->length--;
7876
+ xfont->in_cache = FALSE;
7878
+ g_object_unref (xfont);
7882
+pango_x_fontmap_cache_clear (PangoXFontMap *xfontmap)
7884
+ g_list_foreach (xfontmap->freed_fonts->head, (GFunc)g_object_unref, NULL);
7885
+ g_list_free (xfontmap->freed_fonts->head);
7886
+ xfontmap->freed_fonts->head = NULL;
7887
+ xfontmap->freed_fonts->tail = NULL;
7888
+ xfontmap->freed_fonts->length = 0;
7893
+pango_x_fontmap_atom_from_name (PangoFontMap *fontmap,
7894
+ const char *atomname)
7896
+ PangoXFontMap *xfm = PANGO_X_FONT_MAP(fontmap);
7900
+ found = g_hash_table_lookup (xfm->to_atom_cache, atomname);
7903
+ return (Atom)(GPOINTER_TO_UINT(found));
7905
+ atom = XInternAtom (xfm->display, atomname, FALSE);
7906
+ g_hash_table_insert (xfm->to_atom_cache, g_strdup (atomname),
7914
+pango_x_fontmap_name_from_atom (PangoFontMap *fontmap,
7917
+ PangoXFontMap *xfm = PANGO_X_FONT_MAP(fontmap);
7919
+ char *name, *name2;
7921
+ found = g_hash_table_lookup (xfm->from_atom_cache, GUINT_TO_POINTER(atom));
7924
+ return (const char *)found;
7926
+ name = XGetAtomName (xfm->display, atom);
7927
+ name2 = g_strdup (name);
7930
+ g_hash_table_insert (xfm->from_atom_cache, (gpointer)atom, name2);
7939
+static PangoFontDescription *
7940
+pango_x_face_describe (PangoFontFace *face)
7942
+ PangoXFace *xface = PANGO_X_FACE (face);
7944
+ return pango_font_description_copy (xface->description);
7947
+static const char *
7948
+pango_x_face_get_face_name (PangoFontFace *face)
7950
+ PangoXFace *xface = PANGO_X_FACE (face);
7952
+ if (!xface->face_name)
7954
+ PangoFontDescription *desc = pango_font_face_describe (face);
7956
+ pango_font_description_unset_fields (desc,
7957
+ PANGO_FONT_MASK_FAMILY | PANGO_FONT_MASK_SIZE);
7959
+ xface->face_name = pango_font_description_to_string (desc);
7960
+ pango_font_description_free (desc);
7963
+ return xface->face_name;
7966
+typedef PangoFontFaceClass PangoXFaceClass;
7967
+G_DEFINE_TYPE (PangoXFace, pango_x_face, PANGO_TYPE_FONT_FACE);
7970
+pango_x_face_class_init (PangoXFaceClass *class)
7972
+ class->describe = pango_x_face_describe;
7973
+ class->get_face_name = pango_x_face_get_face_name;
7977
+pango_x_face_init (PangoXFace *self)
7981
+/* Cut and paste here to avoid an inter-module dependency */
7982
+static PangoCoverageLevel
7983
+engine_shape_covers (PangoEngineShape *engine,
7985
+ PangoLanguage *language,
7988
+ g_return_val_if_fail (PANGO_IS_ENGINE_SHAPE (engine), PANGO_COVERAGE_NONE);
7989
+ g_return_val_if_fail (PANGO_IS_FONT (font), PANGO_COVERAGE_NONE);
7991
+ return PANGO_ENGINE_SHAPE_GET_CLASS (engine)->covers (engine,
7998
+pango_x_face_get_coverage (PangoXFace *xface,
8000
+ PangoLanguage *language)
8002
+ PangoXFont *xfont;
8003
+ PangoXFontMap *xfontmap = NULL; /* Quiet gcc */
8004
+ PangoCoverage *result = NULL;
8009
+ if (xface->coverage)
8011
+ pango_coverage_ref (xface->coverage);
8012
+ return xface->coverage;
8015
+ xfont = (PangoXFont *)font;
8017
+ xfontmap = (PangoXFontMap *)pango_x_font_map_for_display (xfont->display);
8020
+ const char *lang_str = language ? pango_language_to_string (language) : "*";
8022
+ char *str = g_strconcat (lang_str, "|", xface->xlfd, NULL);
8023
+ result = pango_x_get_cached_coverage (xfontmap, str, &atom);
8030
+ PangoMap *shape_map;
8031
+ PangoEngineShape *engine;
8034
+ result = pango_coverage_new ();
8036
+ shape_map = pango_x_get_shaper_map (language);
8037
+ engine = (PangoEngineShape *)pango_map_get_engine (shape_map, PANGO_SCRIPT_COMMON);
8039
+ for (wc = 0; wc < 65536; wc++)
8041
+ PangoCoverageLevel level;
8043
+ level = engine_shape_covers (engine, font, language, wc);
8044
+ if (level != PANGO_COVERAGE_NONE)
8045
+ pango_coverage_set (result, wc, level);
8049
+ pango_x_store_cached_coverage (xfontmap, atom, result);
8054
+ xface->coverage = result;
8055
+ pango_coverage_ref (result);
8062
+pango_x_face_remove (PangoXFace *xface,
8065
+ xface->cached_fonts = g_slist_remove (xface->cached_fonts, font);
8069
+ * PangoXFontFamily
8073
+pango_x_family_list_faces (PangoFontFamily *family,
8074
+ PangoFontFace ***faces,
8077
+ PangoXFamily *xfamily = PANGO_X_FAMILY (family);
8079
+ *n_faces = g_slist_length (xfamily->font_entries);
8085
+ *faces = g_new (PangoFontFace *, *n_faces);
8087
+ tmp_list = xfamily->font_entries;
8090
+ (*faces)[i++] = tmp_list->data;
8091
+ tmp_list = tmp_list->next;
8096
+static const char *
8097
+pango_x_family_get_name (PangoFontFamily *family)
8099
+ PangoXFamily *xfamily = PANGO_X_FAMILY (family);
8101
+ return xfamily->family_name;
8104
+G_DEFINE_TYPE (PangoXFamily, pango_x_family, PANGO_TYPE_FONT_FAMILY);
8107
+pango_x_family_class_init (PangoXFamilyClass *klass)
8109
+ PangoFontFamilyClass *font_family_class = PANGO_FONT_FAMILY_CLASS (klass);
8111
+ font_family_class->list_faces = pango_x_family_list_faces;
8112
+ font_family_class->get_name = pango_x_family_get_name;
8116
+pango_x_family_init (PangoXFamily *self)
8119
diff --git a/pango/pangox-private.h b/pango/pangox-private.h
8120
new file mode 100644
8121
index 0000000..e28ab8b
8123
+++ b/pango/pangox-private.h
8126
+ * pangox-private.h:
8128
+ * Copyright (C) 1999 Red Hat Software
8130
+ * This library is free software; you can redistribute it and/or
8131
+ * modify it under the terms of the GNU Library General Public
8132
+ * License as published by the Free Software Foundation; either
8133
+ * version 2 of the License, or (at your option) any later version.
8135
+ * This library is distributed in the hope that it will be useful,
8136
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
8137
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8138
+ * Library General Public License for more details.
8140
+ * You should have received a copy of the GNU Library General Public
8141
+ * License along with this library; if not, write to the
8142
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
8143
+ * Boston, MA 02111-1307, USA.
8146
+#ifndef __PANGOX_PRIVATE_H__
8147
+#define __PANGOX_PRIVATE_H__
8149
+#include <pango/pangox.h>
8150
+#include <pango/pango-modules.h>
8152
+typedef struct _PangoXFace PangoXFace;
8153
+typedef struct _PangoXFont PangoXFont;
8154
+typedef struct _PangoXSubfontInfo PangoXSubfontInfo;
8165
+ /* hash table mapping from charset-name to array of PangoXSubfont ids,
8166
+ * of length n_fonts
8168
+ GHashTable *subfonts_by_charset;
8170
+ PangoXSubfontInfo **subfonts;
8175
+ GSList *metrics_by_lang;
8177
+ PangoFontMap *fontmap;
8178
+ /* If TRUE, font is in cache of recently unused fonts and not otherwise
8181
+ gboolean in_cache;
8183
+ PangoXFace *xface; /* Used to remove cached fonts */
8187
+#define PANGO_TYPE_X_FONT_MAP (pango_x_font_map_get_type ())
8188
+#define PANGO_X_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_X_FONT_MAP, PangoXFontMap))
8189
+#define PANGO_X_FONT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_X_FONT_MAP, PangoXFontMapClass))
8190
+#define PANGO_X_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_X_FONT_MAP))
8191
+#define PANGO_X_IS_FONT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_X_FONT_MAP))
8192
+#define PANGO_X_FONT_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_X_FONT_MAP, PangoXFontMapClass))
8194
+typedef struct _PangoXFontMap PangoXFontMap;
8195
+typedef struct _PangoXFontMapClass PangoXFontMapClass;
8197
+struct _PangoXFontMap
8199
+ PangoFontMap parent_instance;
8203
+ PangoXFontCache *font_cache;
8204
+ GQueue *freed_fonts;
8206
+ GHashTable *families;
8207
+ GHashTable *size_infos;
8209
+ GHashTable *to_atom_cache;
8210
+ GHashTable *from_atom_cache;
8214
+ double resolution; /* (points / pixel) * PANGO_SCALE */
8216
+ Window coverage_win;
8219
+struct _PangoXFontMapClass
8221
+ PangoFontMapClass parent_class;
8224
+GType pango_x_font_map_get_type (void) G_GNUC_CONST;
8226
+PangoXFont * pango_x_font_new (PangoFontMap *fontmap,
8229
+PangoMap * pango_x_get_shaper_map (PangoLanguage *language);
8230
+char * pango_x_make_matching_xlfd (PangoFontMap *fontmap,
8232
+ const char *charset,
8234
+PangoCoverage *pango_x_face_get_coverage (PangoXFace *xface,
8236
+ PangoLanguage *language);
8237
+void pango_x_face_remove (PangoXFace *xface,
8240
+Display * pango_x_fontmap_get_display (PangoFontMap *fontmap);
8241
+void pango_x_fontmap_cache_add (PangoFontMap *fontmap,
8242
+ PangoXFont *xfont);
8243
+void pango_x_fontmap_cache_remove (PangoFontMap *fontmap,
8244
+ PangoXFont *xfont);
8246
+Atom pango_x_fontmap_atom_from_name (PangoFontMap *fontmap,
8247
+ const char *atomname);
8248
+const char *pango_x_fontmap_name_from_atom (PangoFontMap *fontmap,
8251
+#endif /* __PANGOX_PRIVATE_H__ */
8252
diff --git a/pango/pangox.aliases b/pango/pangox.aliases
8253
new file mode 100644
8254
index 0000000..9b41aa7
8256
+++ b/pango/pangox.aliases
8258
+# File defining aliases of PangoFontDescription to X font set
8260
+# family style variant weight stretch XLFD
8262
+sans normal normal normal normal \
8263
+ "-*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*,\
8264
+ -*-gulim-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8265
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8266
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8267
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8268
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8269
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8270
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8271
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8272
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8273
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8274
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8275
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8276
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8277
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8278
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8280
+sans italic normal normal normal \
8281
+ "-*-helvetica-medium-o-normal--*-*-*-*-*-*-*-*,\
8282
+ -*-gulim-medium-o-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8283
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8284
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8285
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8286
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8287
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8288
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8289
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8290
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8291
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8292
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8293
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8294
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8295
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8296
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8298
+sans normal normal bold normal \
8299
+ "-*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*,\
8300
+ -*-gulim-bold-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8301
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8302
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8303
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8304
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8305
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8306
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8307
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8308
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8309
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8310
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8311
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8312
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8313
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8314
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8316
+sans italic normal bold normal \
8317
+ "-*-helvetica-bold-o-normal--*-*-*-*-*-*-*-*,\
8318
+ -*-gulim-bold-o-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8319
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8320
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8321
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8322
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8323
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8324
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8325
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8326
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8327
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8328
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8329
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8330
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8331
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8332
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8335
+serif normal normal normal normal \
8336
+ "-*-times-medium-r-normal--*-*-*-*-*-*-*-*,\
8337
+ -*-batang-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8338
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8339
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8340
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8341
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8342
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8343
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8344
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8345
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8346
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8347
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8348
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8349
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8350
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8351
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8353
+serif italic normal normal normal \
8354
+ "-*-times-medium-i-normal--*-*-*-*-*-*-*-*,\
8355
+ -*-batang-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8356
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8357
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8358
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8359
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8360
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8361
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8362
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8363
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8364
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8365
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8366
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8367
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8368
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8369
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8371
+serif normal normal bold normal \
8372
+ "-*-times-bold-r-normal--*-*-*-*-*-*-*-*,\
8373
+ -*-batang-bold-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8374
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8375
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8376
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8377
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8378
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8379
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8380
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8381
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8382
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8383
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8384
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8385
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8386
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8387
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8389
+serif italic normal bold normal \
8390
+ "-*-times-bold-i-normal--*-*-*-*-*-*-*-*,\
8391
+ -*-batang-bold-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8392
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8393
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8394
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8395
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8396
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8397
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8398
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8399
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8400
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8401
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8402
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8403
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8404
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8405
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8407
+monospace normal normal normal normal \
8408
+ "-*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8409
+ -*-dotum-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8410
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8411
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8412
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8413
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8414
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8415
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8416
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8417
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8418
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8419
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8420
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8421
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8422
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8423
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8425
+monospace italic normal normal normal \
8426
+ "-*-fixed-medium-i-normal--*-*-*-*-*-*-*-*,\
8427
+ -*-dotum-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8428
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8429
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8430
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8431
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8432
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8433
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8434
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8435
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8436
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8437
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8438
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8439
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8440
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8441
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8443
+monospace normal normal bold normal \
8444
+ "-*-fixed-bold-r-normal--*-*-*-*-*-*-*-*,\
8445
+ -*-dotum-bold-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8446
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8447
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8448
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8449
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8450
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8451
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8452
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8453
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8454
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8455
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8456
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8457
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8458
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8459
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8461
+monospace italic normal bold normal \
8462
+ "-*-fixed-bold-i-normal--*-*-*-*-*-*-*-*,\
8463
+ -*-dotum-bold-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
8464
+ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
8465
+ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
8466
+ -kaist-iyagi-bold-r-normal--*-*-*-*-*-*-johab-1,\
8467
+ -*-song ti-medium-r-normal--*-*-*-*-*-*-*-*,\
8468
+ -freetype-unitamil-medium-r-normal--*-*-*-*-*-*-iso10646-tam,\
8469
+ -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev,\
8470
+ -*-gujarati-medium-r-normal--*-*-*-*-*-*-iso10646-guj,\
8471
+ -*-gurmukhi-medium-r-normal--*-*-*-*-*-*-iso10646-gur,\
8472
+ -*-bengali-medium-r-normal--*-*-*-*-*-*-iso10646-bng,\
8473
+ -*-kannada-medium-r-normal--*-*-*-*-*-*-iso10646-kan,\
8474
+ -*-burmese-medium-r-normal--*-*-*-*-*-*-iso10646-brm,\
8475
+ -*-buginese-medium-r-normal--*-*-*-*-*-*-iso10646-bgn,\
8476
+ -*-oriya-medium-r-normal--*-*-*-*-*-*-iso10646-ori,\
8477
+ -daewoo-mincho-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0"
8478
diff --git a/pango/pangox.c b/pango/pangox.c
8479
new file mode 100644
8480
index 0000000..24bca5e
8482
+++ b/pango/pangox.c
8484
+/* pangox.c: Routines for handling X fonts
8486
+ * Copyright (C) 1999 Red Hat Software
8487
+ * Copyright (C) 2000 SuSE Linux Ltd
8489
+ * This library is free software; you can redistribute it and/or
8490
+ * modify it under the terms of the GNU Library General Public
8491
+ * License as published by the Free Software Foundation; either
8492
+ * version 2 of the License, or (at your option) any later version.
8494
+ * This library is distributed in the hope that it will be useful,
8495
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
8496
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8497
+ * Library General Public License for more details.
8499
+ * You should have received a copy of the GNU Library General Public
8500
+ * License along with this library; if not, write to the
8501
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
8502
+ * Boston, MA 02111-1307, USA.
8505
+#include "config.h"
8506
+#include <string.h>
8507
+#include <stdlib.h>
8510
+#include <X11/Xlib.h>
8511
+#include "pango-impl-utils.h"
8513
+#undef PANGO_DISABLE_DEPRECATED
8515
+#include "pangox.h"
8516
+#include "pangox-private.h"
8518
+#define PANGO_TYPE_X_FONT (pango_x_font_get_type ())
8519
+#define PANGO_X_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_X_FONT, PangoXFont))
8520
+#define PANGO_X_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_X_FONT, PangoXFontClass))
8521
+#define PANGO_X_IS_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_X_FONT))
8522
+#define PANGO_X_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_X_FONT))
8523
+#define PANGO_X_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_X_FONT, PangoXFontClass))
8525
+typedef struct _PangoXFontClass PangoXFontClass;
8526
+typedef struct _PangoXMetricsInfo PangoXMetricsInfo;
8527
+typedef struct _PangoXContextInfo PangoXContextInfo;
8529
+struct _PangoXSubfontInfo
8532
+ XFontStruct *font_struct;
8533
+ gboolean is_1byte;
8538
+struct _PangoXMetricsInfo
8540
+ const char *sample_str;
8541
+ PangoFontMetrics *metrics;
8544
+struct _PangoXContextInfo
8546
+ PangoGetGCFunc get_gc_func;
8547
+ PangoFreeGCFunc free_gc_func;
8550
+struct _PangoXFontClass
8552
+ PangoFontClass parent_class;
8555
+static void pango_x_font_dispose (GObject *object);
8556
+static void pango_x_font_finalize (GObject *object);
8558
+static PangoFontDescription *pango_x_font_describe (PangoFont *font);
8559
+static PangoCoverage * pango_x_font_get_coverage (PangoFont *font,
8560
+ PangoLanguage *language);
8561
+static PangoEngineShape * pango_x_font_find_shaper (PangoFont *font,
8562
+ PangoLanguage *language,
8564
+static void pango_x_font_get_glyph_extents (PangoFont *font,
8566
+ PangoRectangle *ink_rect,
8567
+ PangoRectangle *logical_rect);
8568
+static PangoFontMetrics * pango_x_font_get_metrics (PangoFont *font,
8569
+ PangoLanguage *language);
8570
+static PangoFontMap * pango_x_font_get_font_map (PangoFont *font);
8572
+static PangoXSubfontInfo * pango_x_find_subfont (PangoFont *font,
8573
+ PangoXSubfont subfont_index);
8574
+static XCharStruct * pango_x_get_per_char (PangoFont *font,
8575
+ PangoXSubfontInfo *subfont,
8576
+ guint16 char_index);
8577
+static gboolean pango_x_find_glyph (PangoFont *font,
8579
+ PangoXSubfontInfo **subfont_return,
8580
+ XCharStruct **charstruct_return);
8581
+static XFontStruct * pango_x_get_font_struct (PangoFont *font,
8582
+ PangoXSubfontInfo *info);
8584
+static void pango_x_get_item_properties (PangoItem *item,
8585
+ PangoUnderline *uline,
8586
+ PangoAttrColor *fg_color,
8588
+ PangoAttrColor *bg_color,
8589
+ gboolean *bg_set);
8591
+static inline PangoXSubfontInfo *
8592
+pango_x_find_subfont (PangoFont *font,
8593
+ PangoXSubfont subfont_index)
8595
+ PangoXFont *xfont = (PangoXFont *)font;
8597
+ if (subfont_index < 1 || subfont_index > xfont->n_subfonts)
8600
+ return xfont->subfonts[subfont_index-1];
8604
+pango_x_make_font_struct (PangoFont *font, PangoXSubfontInfo *info)
8606
+ PangoXFont *xfont = (PangoXFont *)font;
8607
+ PangoXFontCache *cache;
8609
+ cache = pango_x_font_map_get_font_cache (xfont->fontmap);
8611
+ info->font_struct = pango_x_font_cache_load (cache, info->xlfd);
8612
+ if (!info->font_struct)
8614
+ g_warning ("Cannot load font for XLFD '%s\n", info->xlfd);
8616
+ /* Prevent a segfault, but probably not much more */
8617
+ info->font_struct = pango_x_font_cache_load (cache, "fixed");
8620
+ info->is_1byte = (info->font_struct->min_byte1 == 0 && info->font_struct->max_byte1 == 0);
8621
+ info->range_byte1 = info->font_struct->max_byte1 - info->font_struct->min_byte1 + 1;
8622
+ info->range_byte2 = info->font_struct->max_char_or_byte2 - info->font_struct->min_char_or_byte2 + 1;
8625
+static inline XFontStruct *
8626
+pango_x_get_font_struct (PangoFont *font, PangoXSubfontInfo *info)
8628
+ if (!info->font_struct)
8629
+ pango_x_make_font_struct (font, info);
8631
+ return info->font_struct;
8635
+free_context_info (PangoXContextInfo *info)
8637
+ g_slice_free (PangoXContextInfo, info);
8640
+static PangoXContextInfo *
8641
+get_context_info (PangoContext *context)
8643
+ PangoXContextInfo *info;
8644
+ static GQuark quark = 0;
8646
+ if (G_UNLIKELY (!quark))
8647
+ quark = g_quark_from_static_string ("pango-x-info");
8649
+ info = g_object_get_qdata (G_OBJECT (context), quark);
8651
+ if (G_UNLIKELY (!info))
8653
+ info = g_slice_new (PangoXContextInfo);
8654
+ info->get_gc_func = NULL;
8655
+ info->free_gc_func = NULL;
8656
+ g_object_set_qdata_full (G_OBJECT (context),
8658
+ info, (GDestroyNotify)free_context_info);
8665
+ * pango_x_get_context:
8666
+ * @display: an X display (As returned by XOpenDisplay().)
8668
+ * Retrieves a #PangoContext appropriate for rendering with X fonts on the
8671
+ * Return value: the new #PangoContext.
8673
+ * Deprecated: 1.22: Use pango_x_font_map_for_display() followed by
8674
+ * pango_font_map_create_context() instead.
8677
+pango_x_get_context (Display *display)
8679
+ return pango_font_map_create_context (pango_x_font_map_for_display (display));
8683
+ * pango_x_context_set_funcs:
8684
+ * @context: a #PangoContext.
8685
+ * @get_gc_func: function called to create a new GC for a given color.
8686
+ * @free_gc_func: function called to free a GC created with @get_gc_func.
8688
+ * Sets the functions that will be used to get GC's in various colors when
8689
+ * rendering layouts with this context.
8692
+pango_x_context_set_funcs (PangoContext *context,
8693
+ PangoGetGCFunc get_gc_func,
8694
+ PangoFreeGCFunc free_gc_func)
8696
+ PangoXContextInfo *info;
8698
+ g_return_if_fail (context != NULL);
8700
+ info = get_context_info (context);
8702
+ info->get_gc_func = get_gc_func;
8703
+ info->free_gc_func = free_gc_func;
8706
+G_DEFINE_TYPE (PangoXFont, pango_x_font, PANGO_TYPE_FONT);
8709
+pango_x_font_init (PangoXFont *xfont)
8711
+ xfont->subfonts_by_charset = g_hash_table_new (g_str_hash, g_str_equal);
8713
+ xfont->n_subfonts = 0;
8714
+ xfont->max_subfonts = 1;
8716
+ xfont->subfonts = g_new (PangoXSubfontInfo *, xfont->max_subfonts);
8718
+ xfont->metrics_by_lang = NULL;
8721
+ xfont->xface = NULL;
8725
+pango_x_font_class_init (PangoXFontClass *class)
8727
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
8728
+ PangoFontClass *font_class = PANGO_FONT_CLASS (class);
8730
+ object_class->finalize = pango_x_font_finalize;
8731
+ object_class->dispose = pango_x_font_dispose;
8733
+ font_class->describe = pango_x_font_describe;
8734
+ font_class->get_coverage = pango_x_font_get_coverage;
8735
+ font_class->find_shaper = pango_x_font_find_shaper;
8736
+ font_class->get_glyph_extents = pango_x_font_get_glyph_extents;
8737
+ font_class->get_metrics = pango_x_font_get_metrics;
8738
+ font_class->get_font_map = pango_x_font_get_font_map;
8742
+pango_x_font_new (PangoFontMap *fontmap, const char *spec, int size)
8744
+ PangoXFont *result;
8746
+ g_return_val_if_fail (fontmap != NULL, NULL);
8747
+ g_return_val_if_fail (spec != NULL, NULL);
8749
+ result = g_object_new (PANGO_TYPE_X_FONT, NULL);
8751
+ g_assert (result->fontmap == NULL);
8752
+ result->fontmap = fontmap;
8753
+ g_object_add_weak_pointer (G_OBJECT (result->fontmap), (gpointer *) (gpointer) &result->fontmap);
8755
+ result->display = pango_x_fontmap_get_display (fontmap);
8757
+ result->fonts = g_strsplit(spec, ",", -1);
8758
+ for (result->n_fonts = 0; result->fonts[result->n_fonts]; result->n_fonts++)
8761
+ result->size = size;
8767
+ * pango_x_load_font:
8768
+ * @display: the X display.
8769
+ * @spec: a comma-separated list of XLFD's.
8771
+ * Loads up a logical font based on a "fontset" style text
8772
+ * specification. This is not remotely useful (Pango API's generally
8773
+ * work in terms of #PangoFontDescription) and the result may not
8774
+ * work correctly in all circumstances. Use of this function should
8777
+ * Returns: a new #PangoFont.
8780
+pango_x_load_font (Display *display,
8783
+ PangoXFont *result;
8785
+ g_return_val_if_fail (display != NULL, NULL);
8786
+ g_return_val_if_fail (spec != NULL, NULL);
8788
+ result = pango_x_font_new (pango_x_font_map_for_display (display), spec, -1);
8790
+ return (PangoFont *)result;
8798
+ XDrawString16 (display, d, gc, \
8799
+ glyph_x0, glyph_y0, \
8800
+ xcharbuffer, charcount); \
8808
+ * @display: the X display.
8809
+ * @d: the drawable on which to draw string.
8810
+ * @gc: the graphics context.
8811
+ * @font: the font in which to draw the string.
8812
+ * @glyphs: the glyph string to draw.
8813
+ * @x: the x position of start of string (in pixels).
8814
+ * @y: the y position of baseline (in pixels).
8816
+ * Renders a #PangoGlyphString onto an X drawable.
8819
+pango_x_render (Display *display,
8823
+ PangoGlyphString *glyphs,
8827
+ Font old_fid = None;
8833
+ * We collect the characters in this buffer as long as the font does not
8834
+ * change. At that time, or when the buffer runs full, or at the end,
8835
+ * then we empty the buffer.
8837
+ XChar2b xcharbuffer[1000];
8838
+ int glyph_x0 = 0, expected_x = 0; /* x/y initializations are to quiet GCC */
8840
+ int charcount = 0;
8842
+ g_return_if_fail (display != NULL);
8843
+ g_return_if_fail (glyphs != NULL);
8845
+ for (i=0; i<glyphs->num_glyphs; i++)
8847
+ PangoGlyph glyph = glyphs->glyphs[i].glyph;
8848
+ int glyph_x = x + PANGO_PIXELS (x_off + glyphs->glyphs[i].geometry.x_offset);
8849
+ int glyph_y = y + PANGO_PIXELS (glyphs->glyphs[i].geometry.y_offset);
8851
+ /* Clip glyphs into the X coordinate range; we really
8852
+ * want to clip glyphs with an ink rect outside the
8853
+ * [0,32767] x [0,32767] rectangle but looking up
8854
+ * the ink rect here would be a noticeable speed hit.
8855
+ * This is close enough.
8857
+ if (!(glyph != PANGO_GLYPH_EMPTY &&
8858
+ glyph_x >= -16384 && glyph_x <= 32767 &&
8859
+ glyph_y >= -16384 && glyph_y <= 32767))
8862
+ if (G_LIKELY ((glyph & PANGO_GLYPH_UNKNOWN_FLAG) == 0))
8864
+ guint16 index = PANGO_X_GLYPH_INDEX (glyph);
8865
+ guint16 subfont_index = PANGO_X_GLYPH_SUBFONT (glyph);
8866
+ PangoXSubfontInfo *subfont;
8868
+ subfont = pango_x_find_subfont (font, subfont_index);
8871
+ fs = pango_x_get_font_struct (font, subfont);
8875
+ if (fs->fid != old_fid)
8878
+ XSetFont (display, gc, fs->fid);
8879
+ old_fid = fs->fid;
8882
+ if (charcount == G_N_ELEMENTS (xcharbuffer) ||
8883
+ (charcount > 0 && (glyph_y != glyph_y0 ||
8884
+ glyph_x != expected_x)))
8887
+ if (charcount == 0)
8889
+ glyph_x0 = glyph_x;
8890
+ glyph_y0 = glyph_y;
8892
+ xcharbuffer[charcount].byte1 = index / 256;
8893
+ xcharbuffer[charcount].byte2 = index % 256;
8895
+ expected_x = glyph_x + XTextWidth16 (fs, &xcharbuffer[charcount], 1);
8899
+ goto unknown_glyph;
8901
+ PangoFontMetrics *metrics;
8902
+ int x1, y1, x2, y2; /* rectangle the character should go inside. */
8906
+ gboolean invalid_input;
8912
+ metrics = pango_font_get_metrics (font, NULL);
8918
+ y1 = glyph_y - PANGO_PIXELS (metrics->ascent);
8919
+ y2 = y1 + PANGO_PIXELS (metrics->ascent + metrics->descent);
8924
+ y1 = y2 - PANGO_UNKNOWN_GLYPH_HEIGHT;
8928
+ x2 = x1 + PANGO_PIXELS (glyphs->glyphs[i].geometry.width);
8930
+ baseline = glyph_y;
8931
+ stroke_thick = MAX ((int) (0.5 + 0.025 * (y2 - y1)), 1);
8933
+ if (glyph & PANGO_GLYPH_UNKNOWN_FLAG)
8934
+ wc = glyph & ~PANGO_GLYPH_UNKNOWN_FLAG;
8937
+ invalid_input = glyph == PANGO_GLYPH_INVALID_INPUT || wc > 0x10FFFF;
8943
+ case 0x2028: /* Line separator */
8944
+ case 0x2029: /* Paragraph separator */
8946
+ /* Draw a carriage-return thingy */
8947
+ PangoRectangle up_stroke;
8948
+ PangoRectangle across_stroke;
8950
+ int hborder = (x2 - x1) * 0.1;
8951
+ int arrow_height = 0.25 * (y2 - y1);
8952
+ int top_border = (y2 - y1) * 0.25;
8954
+ int arrow_x, arrow_width, tmp_height;
8956
+ /* Draw the arrow-head */
8958
+ tmp_height = (stroke_thick % 2 == 0) ? 2 : 1; /* Starting height */
8959
+ arrow_height = 2 * ((1 + arrow_height - tmp_height) / 2) + tmp_height; /* Force symmetry */
8960
+ arrow_width = 2 + arrow_height - tmp_height;
8962
+ for (arrow_x = x1 + hborder; arrow_x < x1 + hborder + arrow_width; arrow_x++)
8964
+ XDrawLine (display, d, gc,
8966
+ baseline - stroke_thick + (stroke_thick - tmp_height) / 2,
8968
+ baseline - stroke_thick + (stroke_thick - tmp_height) / 2 + tmp_height - 1);
8970
+ if ((arrow_x - x1 - hborder) % 2 == 1)
8974
+ across_stroke.x = arrow_x;
8975
+ across_stroke.width = x2 - hborder - arrow_x - stroke_thick;
8976
+ across_stroke.y = baseline - stroke_thick;
8977
+ across_stroke.height = stroke_thick;
8979
+ XFillRectangle (display, d, gc,
8980
+ across_stroke.x, across_stroke.y,
8981
+ across_stroke.width, across_stroke.height);
8983
+ up_stroke.x = across_stroke.x + across_stroke.width;
8984
+ up_stroke.width = stroke_thick;
8985
+ up_stroke.y = y1 + top_border;
8986
+ up_stroke.height = baseline - up_stroke.y;
8988
+ XFillRectangle (display, d, gc,
8989
+ up_stroke.x, up_stroke.y,
8990
+ up_stroke.width, up_stroke.height);
8996
+ /* Perhaps we should draw the box-with-numbers as in the
8997
+ * other backends, though we have no guarantee of having
8998
+ * an appropriate size of font. Right now, we just
8999
+ * draw an empty box. (To draw the box-with-numbers.
9000
+ * the backends would have to be changed to use
9001
+ * pango_x_font_get_unknown_glyph() rather than
9002
+ * pango_x_get_unknown_glyph().
9005
+ int xspace = MAX ((int) (0.5 + 0.1 * (x2 - x1)), 1);
9006
+ int yspace = MAX ((int) (0.5 + 0.1 * (y2 - y1)), 1);
9013
+ XFillRectangle (display, d, gc,
9015
+ x2 - x1, stroke_thick);
9016
+ XFillRectangle (display, d, gc,
9017
+ x1, y1 + stroke_thick,
9018
+ stroke_thick, y2 - y1 - 2 * stroke_thick);
9019
+ XFillRectangle (display, d, gc,
9020
+ x2 - stroke_thick, y1 + stroke_thick,
9021
+ stroke_thick, y2 - y1 - 2 * stroke_thick);
9022
+ XFillRectangle (display, d, gc,
9023
+ x1, y2 - stroke_thick,
9024
+ x2 - x1, stroke_thick);
9025
+ if (invalid_input)
9027
+ XDrawLine (display, d, gc,
9030
+ XDrawLine (display, d, gc,
9039
+ pango_font_metrics_unref (metrics);
9043
+ x_off += glyphs->glyphs[i].geometry.width;
9051
+pango_x_font_get_glyph_extents (PangoFont *font,
9053
+ PangoRectangle *ink_rect,
9054
+ PangoRectangle *logical_rect)
9057
+ PangoXSubfontInfo *subfont;
9059
+ if (glyph == PANGO_GLYPH_EMPTY)
9062
+ ink_rect->x = ink_rect->width = ink_rect->y = ink_rect->height = 0;
9064
+ logical_rect->x = logical_rect->width = logical_rect->y = logical_rect->height = 0;
9067
+ if ((glyph & PANGO_GLYPH_UNKNOWN_FLAG) == 0 && pango_x_find_glyph (font, glyph, &subfont, &cs))
9071
+ ink_rect->x = PANGO_SCALE * cs->lbearing;
9072
+ ink_rect->width = PANGO_SCALE * (cs->rbearing - cs->lbearing);
9073
+ ink_rect->y = PANGO_SCALE * -cs->ascent;
9074
+ ink_rect->height = PANGO_SCALE * (cs->ascent + cs->descent);
9078
+ logical_rect->x = 0;
9079
+ logical_rect->width = PANGO_SCALE * cs->width;
9080
+ logical_rect->y = - PANGO_SCALE * subfont->font_struct->ascent;
9081
+ logical_rect->height = PANGO_SCALE * (subfont->font_struct->ascent + subfont->font_struct->descent);
9086
+ PangoFontMetrics *metrics;
9088
+ gdouble width_factor;
9091
+ if (glyph & PANGO_GLYPH_UNKNOWN_FLAG)
9092
+ wc = glyph & (~PANGO_GLYPH_UNKNOWN_FLAG);
9100
+ case 0x2028: /* Line separator */
9101
+ case 0x2029: /* Paragraph separator */
9103
+#define MAGIC_FACTOR 1.2
9105
+ /* carriage-return thingy */
9106
+ width_factor = MAGIC_FACTOR;
9111
+ /* Unknown glyph square */
9112
+ width_factor = 1.0;
9116
+ metrics = pango_font_get_metrics (font, NULL);
9120
+ w = metrics->approximate_char_width * width_factor;
9121
+ w = PANGO_SCALE * PANGO_PIXELS (w);
9125
+ ink_rect->x = PANGO_SCALE;
9126
+ ink_rect->width = w - 2 * PANGO_SCALE;
9127
+ ink_rect->y = - (metrics->ascent - PANGO_SCALE);
9128
+ ink_rect->height = metrics->ascent + metrics->descent - 2 * PANGO_SCALE;
9132
+ logical_rect->x = 0;
9133
+ logical_rect->width = w;
9134
+ logical_rect->y = - metrics->ascent;
9135
+ logical_rect->height = metrics->ascent + metrics->descent;
9138
+ pango_font_metrics_unref (metrics);
9143
+ ink_rect->x = ink_rect->y = ink_rect->height = ink_rect->width = 0;
9145
+ logical_rect->x = logical_rect->y = logical_rect->height = logical_rect->width = 0;
9151
+get_int_prop (Atom atom,
9160
+ while (i < fs->n_properties)
9162
+ if (fs->properties[i].name == atom)
9164
+ *val = fs->properties[i].card32;
9174
+/* Call @func with each glyph resulting from shaping @string with each
9175
+ * glyph. This duplicates quite a bit of code from pango_itemize. This
9176
+ * function should die and we should simply add the ability to specify
9177
+ * particular fonts when itemizing.
9180
+itemize_string_foreach (PangoFont *font,
9181
+ PangoLanguage *language,
9183
+ void (*func) (PangoFont *font,
9184
+ PangoGlyphInfo *glyph_info,
9188
+ const char *start, *p;
9189
+ PangoGlyphString *glyph_str = pango_glyph_string_new ();
9190
+ PangoEngineShape *shaper, *last_shaper;
9193
+ guint8 *embedding_levels;
9194
+ PangoDirection base_dir = PANGO_DIRECTION_LTR;
9195
+ gboolean finished = FALSE;
9197
+ embedding_levels = pango_log2vis_get_embedding_levels (str, -1, &base_dir);
9199
+ last_shaper = NULL;
9204
+ while (*p || !finished)
9210
+ wc = g_utf8_get_char (p);
9211
+ shaper = pango_font_find_shaper (font, language, wc);
9221
+ (shaper != last_shaper || last_level != embedding_levels[i])))
9223
+ PangoAnalysis analysis = { NULL };
9226
+ analysis.shape_engine = last_shaper;
9227
+ analysis.font = font;
9228
+ analysis.language = language;
9229
+ analysis.level = last_level;
9231
+ pango_shape (start, p - start, &analysis, glyph_str);
9233
+ for (j = 0; j < glyph_str->num_glyphs; j++)
9234
+ (*func) (font, &glyph_str->glyphs[j], data);
9241
+ p = g_utf8_next_char (p);
9243
+ last_shaper = shaper;
9244
+ last_level = embedding_levels[i];
9249
+ pango_glyph_string_free (glyph_str);
9250
+ g_free (embedding_levels);
9253
+/* Get composite font metrics for all subfonts in list
9256
+get_font_metrics_from_subfonts (PangoFont *font,
9258
+ PangoFontMetrics *metrics)
9260
+ PangoXFont *xfont = (PangoXFont *)font;
9261
+ GSList *tmp_list = subfonts;
9262
+ gboolean first = TRUE;
9263
+ int total_avg_widths = 0;
9264
+ int n_avg_widths = 0;
9265
+ Atom avg_width_atom;
9267
+ avg_width_atom = pango_x_fontmap_atom_from_name (xfont->fontmap,
9270
+ metrics->ascent = 0;
9271
+ metrics->descent = 0;
9275
+ PangoXSubfontInfo *subfont = pango_x_find_subfont (font, GPOINTER_TO_UINT (tmp_list->data));
9279
+ XFontStruct *fs = pango_x_get_font_struct (font, subfont);
9280
+ gint avg_width = 0;
9286
+ metrics->ascent = fs->ascent * PANGO_SCALE;
9287
+ metrics->descent = fs->descent * PANGO_SCALE;
9292
+ metrics->ascent = MAX (fs->ascent * PANGO_SCALE, metrics->ascent);
9293
+ metrics->descent = MAX (fs->descent * PANGO_SCALE, metrics->descent);
9296
+ if (get_int_prop (avg_width_atom, fs, &avg_width))
9298
+ /* convert decipoints --> Pango units.
9299
+ * Resolution is in (points * PANGO_SCALE) / pixel,
9300
+ * avg_width in decipoints.
9301
+ * We want pixels * PANGO_SCALE
9304
+ /* Convert to points * PANGO_SCALE */
9305
+ avg_width *= PANGO_SCALE / (double) 10.0;
9306
+ /* Convert to pixels * PANGO_SCALE */
9307
+ avg_width *= (PANGO_SCALE / PANGO_X_FONT_MAP (PANGO_X_FONT (font)->fontmap)->resolution);
9311
+ avg_width = PANGO_SCALE * ((fs->min_bounds.width + fs->max_bounds.width) / 2);
9317
+ total_avg_widths += avg_width;
9318
+ n_avg_widths += 1;
9322
+ g_warning ("Invalid subfont %d in get_font_metrics_from_subfonts", GPOINTER_TO_UINT (tmp_list->data));
9324
+ tmp_list = tmp_list->next;
9327
+ /* This is pretty darn bogus. */
9329
+ metrics->approximate_char_width = total_avg_widths / n_avg_widths;
9331
+ metrics->approximate_char_width = PANGO_UNKNOWN_GLYPH_WIDTH * PANGO_SCALE;
9332
+ if (metrics->ascent + metrics->descent == 0)
9334
+ metrics->ascent = PANGO_UNKNOWN_GLYPH_HEIGHT * PANGO_SCALE;
9335
+ metrics->descent = 0;
9340
+get_subfonts_foreach (PangoFont *font,
9341
+ PangoGlyphInfo *glyph_info,
9344
+ GSList **subfonts = data;
9345
+ PangoGlyph glyph = glyph_info->glyph;
9346
+ PangoXSubfont subfont;
9348
+ if (glyph == PANGO_GLYPH_EMPTY)
9351
+ /* Use an arbitrary subfont for unknown glyphs...*/
9352
+ if (glyph & PANGO_GLYPH_UNKNOWN_FLAG)
9354
+ if (((PangoXFont *)font)->n_subfonts > 0)
9355
+ glyph = PANGO_X_MAKE_GLYPH (1, 0);
9360
+ subfont = PANGO_X_GLYPH_SUBFONT (glyph);
9361
+ if (!g_slist_find (*subfonts, GUINT_TO_POINTER ((guint)subfont)))
9362
+ *subfonts = g_slist_prepend (*subfonts, GUINT_TO_POINTER ((guint)subfont));
9365
+/* Get composite font metrics for all subfonts resulting from shaping
9366
+ * string str with the given font
9369
+get_font_metrics_from_string (PangoFont *font,
9370
+ PangoLanguage *language,
9372
+ PangoFontMetrics *metrics)
9374
+ GSList *subfonts = NULL;
9376
+ itemize_string_foreach (font, language, str, get_subfonts_foreach, &subfonts);
9377
+ get_font_metrics_from_subfonts (font, subfonts, metrics);
9378
+ g_slist_free (subfonts);
9382
+average_width_foreach (PangoFont *font G_GNUC_UNUSED,
9383
+ PangoGlyphInfo *glyph_info,
9386
+ int *width = data;
9388
+ *width += glyph_info->geometry.width;
9391
+/* Get composite font metrics for all subfonts resulting from shaping
9392
+ * string str with the given font
9395
+get_total_width_for_string (PangoFont *font,
9396
+ PangoLanguage *language,
9401
+ itemize_string_foreach (font, language, str, average_width_foreach, &width);
9406
+static PangoFontMetrics *
9407
+pango_x_font_get_metrics (PangoFont *font,
9408
+ PangoLanguage *language)
9410
+ PangoXMetricsInfo *info = NULL; /* Quiet gcc */
9411
+ PangoXFont *xfont = (PangoXFont *)font;
9414
+ const char *sample_str = pango_language_get_sample_string (language);
9416
+ tmp_list = xfont->metrics_by_lang;
9419
+ info = tmp_list->data;
9421
+ if (info->sample_str == sample_str) /* We _don't_ need strcmp */
9424
+ tmp_list = tmp_list->next;
9429
+ PangoFontMetrics *metrics;
9431
+ info = g_slice_new0 (PangoXMetricsInfo);
9433
+ xfont->metrics_by_lang = g_slist_prepend (xfont->metrics_by_lang, info);
9435
+ info->sample_str = sample_str;
9436
+ metrics = pango_font_metrics_new ();
9438
+ get_font_metrics_from_string (font, language, sample_str, metrics);
9440
+ metrics->approximate_digit_width = get_total_width_for_string (font, language, "0123456789") / 10;
9442
+ info->metrics = metrics;
9445
+ return pango_font_metrics_ref (info->metrics);
9448
+static PangoFontMap *
9449
+pango_x_font_get_font_map (PangoFont *font)
9451
+ PangoXFont *xfont = (PangoXFont *)font;
9453
+ return xfont->fontmap;
9456
+/* Compare the tail of a to b */
9458
+match_end (const char *a, const char *b)
9460
+ size_t len_a = strlen (a);
9461
+ size_t len_b = strlen (b);
9463
+ if (len_b > len_a)
9466
+ return (strcmp (a + len_a - len_b, b) == 0);
9469
+/* Substitute in a charset into an XLFD. Return the
9470
+ * (g_malloc'd) new name, or %NULL if the XLFD cannot
9471
+ * match the charset
9474
+name_for_charset (char *xlfd, char *charset)
9477
+ char *dash_charset = g_strconcat ("-", charset, NULL);
9478
+ char *result = NULL;
9481
+ for (p = xlfd; *p; p++)
9485
+ if (ndashes == 14) /* Complete XLFD */
9487
+ if (match_end (xlfd, "-*-*"))
9489
+ result = g_malloc (strlen (xlfd) - 4 + strlen (dash_charset) + 1);
9490
+ strncpy (result, xlfd, strlen (xlfd) - 4);
9491
+ strcpy (result + strlen (xlfd) - 4, dash_charset);
9493
+ if (match_end (xlfd, dash_charset))
9494
+ result = g_strdup (xlfd);
9496
+ else if (ndashes == 13)
9498
+ if (match_end (xlfd, "-*"))
9500
+ result = g_malloc (strlen (xlfd) - 2 + strlen (dash_charset) + 1);
9501
+ strncpy (result, xlfd, strlen (xlfd) - 2);
9502
+ strcpy (result + strlen (xlfd) - 2, dash_charset);
9504
+ if (match_end (xlfd, dash_charset))
9505
+ result = g_strdup (xlfd);
9509
+ if (match_end (xlfd, "*"))
9511
+ result = g_malloc (strlen (xlfd) + strlen (dash_charset) + 1);
9512
+ strcpy (result, xlfd);
9513
+ strcpy (result + strlen (xlfd), dash_charset);
9515
+ if (match_end (xlfd, dash_charset))
9516
+ result = g_strdup (xlfd);
9519
+ g_free (dash_charset);
9523
+static PangoXSubfont
9524
+pango_x_insert_subfont (PangoFont *font, const char *xlfd)
9526
+ PangoXFont *xfont = (PangoXFont *)font;
9527
+ PangoXSubfontInfo *info;
9529
+ info = g_slice_new (PangoXSubfontInfo);
9531
+ info->xlfd = g_strdup (xlfd);
9532
+ info->font_struct = NULL;
9534
+ xfont->n_subfonts++;
9536
+ if (xfont->n_subfonts > xfont->max_subfonts)
9538
+ xfont->max_subfonts *= 2;
9539
+ xfont->subfonts = g_renew (PangoXSubfontInfo *, xfont->subfonts, xfont->max_subfonts);
9542
+ xfont->subfonts[xfont->n_subfonts - 1] = info;
9544
+ return xfont->n_subfonts;
9548
+ * pango_x_list_subfonts:
9549
+ * @font: a #PangoFont.
9550
+ * @charsets: the charsets to list subfonts for.
9551
+ * @n_charsets: the number of charsets in @charsets.
9552
+ * @subfont_ids: location to store a pointer to an array of subfont IDs for each found subfont;
9553
+ * the result must be freed using g_free().
9554
+ * @subfont_charsets: location to store a pointer to an array of subfont IDs for each found subfont;
9555
+ * the result must be freed using g_free().
9557
+ * Lists the subfonts of a given font. The result is ordered first by charset,
9558
+ * and then within each charset, by the order of fonts in the font specification.
9560
+ * Return value: length of the arrays stored in @subfont_ids and
9561
+ * @subfont_charsets.
9564
+pango_x_list_subfonts (PangoFont *font,
9567
+ PangoXSubfont **subfont_ids,
9568
+ int **subfont_charsets)
9570
+ PangoXFont *xfont = (PangoXFont *)font;
9571
+ PangoXSubfont **subfont_lists;
9572
+ PangoFontMap *fontmap;
9574
+ int n_subfonts = 0;
9576
+ g_return_val_if_fail (font != NULL, 0);
9577
+ g_return_val_if_fail (n_charsets == 0 || charsets != NULL, 0);
9579
+ fontmap = pango_x_font_map_for_display (xfont->display);
9581
+ subfont_lists = g_new (PangoXSubfont *, n_charsets);
9583
+ for (j=0; j<n_charsets; j++)
9585
+ subfont_lists[j] = g_hash_table_lookup (xfont->subfonts_by_charset, charsets[j]);
9586
+ if (!subfont_lists[j])
9588
+ subfont_lists[j] = g_new (PangoXSubfont, xfont->n_fonts);
9590
+ for (i = 0; i < xfont->n_fonts; i++)
9592
+ PangoXSubfont subfont = 0;
9595
+ if (xfont->size == -1)
9597
+ xlfd = name_for_charset (xfont->fonts[i], charsets[j]);
9602
+ char **names = XListFonts (xfont->display, xlfd, 1, &count);
9604
+ subfont = pango_x_insert_subfont (font, names[0]);
9606
+ XFreeFontNames (names);
9612
+ xlfd = pango_x_make_matching_xlfd (fontmap, xfont->fonts[i], charsets[j], xfont->size);
9615
+ subfont = pango_x_insert_subfont (font, xlfd);
9620
+ subfont_lists[j][i] = subfont;
9623
+ g_hash_table_insert (xfont->subfonts_by_charset, g_strdup (charsets[j]), subfont_lists[j]);
9626
+ for (i = 0; i < xfont->n_fonts; i++)
9627
+ if (subfont_lists[j][i])
9631
+ *subfont_ids = g_new (PangoXSubfont, n_subfonts);
9632
+ *subfont_charsets = g_new (int, n_subfonts);
9636
+ for (j=0; j<n_charsets; j++)
9637
+ for (i=0; i<xfont->n_fonts; i++)
9638
+ if (subfont_lists[j][i])
9640
+ (*subfont_ids)[n_subfonts] = subfont_lists[j][i];
9641
+ (*subfont_charsets)[n_subfonts] = j;
9645
+ g_free (subfont_lists);
9647
+ return n_subfonts;
9651
+ * pango_x_has_glyph:
9652
+ * @font: a #PangoFont which must be from the X backend.
9653
+ * @glyph: the index of a glyph in the font. (Formed
9654
+ * using the #PANGO_X_MAKE_GLYPH macro)
9656
+ * Checks if the given glyph is present in a X font.
9658
+ * Return value: %TRUE if the glyph is present.
9661
+pango_x_has_glyph (PangoFont *font,
9664
+ PangoXSubfontInfo *subfont;
9667
+ guint16 char_index = PANGO_X_GLYPH_INDEX (glyph);
9668
+ guint16 subfont_index = PANGO_X_GLYPH_SUBFONT (glyph);
9670
+ subfont = pango_x_find_subfont (font, subfont_index);
9674
+ cs = pango_x_get_per_char (font, subfont, char_index);
9676
+ if (cs && (cs->lbearing != cs->rbearing || cs->width != 0))
9683
+ * pango_x_font_subfont_xlfd:
9684
+ * @font: a #PangoFont which must be from the X backend.
9685
+ * @subfont_id: the id of a subfont within the font.
9687
+ * Determines the X Logical Font Description for the specified
9690
+ * Return value: A newly-allocated string containing the XLFD for the
9691
+ * subfont. This string must be freed with g_free().
9694
+pango_x_font_subfont_xlfd (PangoFont *font,
9695
+ PangoXSubfont subfont_id)
9697
+ PangoXSubfontInfo *subfont;
9699
+ g_return_val_if_fail (font != NULL, NULL);
9700
+ g_return_val_if_fail (PANGO_X_IS_FONT (font), NULL);
9702
+ subfont = pango_x_find_subfont (font, subfont_id);
9705
+ g_warning ("pango_x_font_subfont_xlfd: Invalid subfont_id specified");
9709
+ return g_strdup (subfont->xlfd);
9713
+pango_x_font_dispose (GObject *object)
9715
+ PangoXFont *xfont = PANGO_X_FONT (object);
9717
+ /* If the font is not already in the freed-fonts cache, add it,
9718
+ * if it is already there, do nothing and the font will be
9721
+ if (!xfont->in_cache && xfont->fontmap)
9722
+ pango_x_fontmap_cache_add (xfont->fontmap, xfont);
9724
+ G_OBJECT_CLASS (pango_x_font_parent_class)->dispose (object);
9729
+subfonts_foreach (gpointer key, gpointer value, gpointer data G_GNUC_UNUSED)
9736
+free_metrics_info (PangoXMetricsInfo *info)
9738
+ pango_font_metrics_unref (info->metrics);
9739
+ g_slice_free (PangoXMetricsInfo, info);
9743
+pango_x_font_finalize (GObject *object)
9745
+ PangoXFont *xfont = (PangoXFont *)object;
9746
+ PangoXFontCache *cache = pango_x_font_map_get_font_cache (xfont->fontmap);
9750
+ for (i=0; i<xfont->n_subfonts; i++)
9752
+ PangoXSubfontInfo *info = xfont->subfonts[i];
9754
+ g_free (info->xlfd);
9756
+ if (info->font_struct)
9757
+ pango_x_font_cache_unload (cache, info->font_struct);
9759
+ g_slice_free (PangoXSubfontInfo, info);
9762
+ g_free (xfont->subfonts);
9764
+ g_hash_table_foreach (xfont->subfonts_by_charset, subfonts_foreach, NULL);
9765
+ g_hash_table_destroy (xfont->subfonts_by_charset);
9767
+ g_slist_foreach (xfont->metrics_by_lang, (GFunc)free_metrics_info, NULL);
9768
+ g_slist_free (xfont->metrics_by_lang);
9771
+ pango_x_face_remove (xfont->xface, (PangoFont *)xfont);
9773
+ g_assert (xfont->fontmap != NULL);
9774
+ g_object_remove_weak_pointer (G_OBJECT (xfont->fontmap), (gpointer *) (gpointer) &xfont->fontmap);
9775
+ xfont->fontmap = NULL;
9777
+ g_strfreev (xfont->fonts);
9779
+ G_OBJECT_CLASS (pango_x_font_parent_class)->finalize (object);
9782
+static PangoFontDescription *
9783
+pango_x_font_describe (PangoFont *font)
9785
+ /* FIXME: this doesn't work for fonts from pango_x_font_load()
9787
+ PangoXFont *xfont = (PangoXFont *)font;
9791
+ PangoFontDescription *desc = pango_font_face_describe (PANGO_FONT_FACE (xfont->xface));
9792
+ pango_font_description_set_size (desc, xfont->size);
9801
+pango_x_get_shaper_map (PangoLanguage *language)
9803
+ static guint engine_type_id = 0;
9804
+ static guint render_type_id = 0;
9806
+ if (engine_type_id == 0)
9808
+ engine_type_id = g_quark_from_static_string (PANGO_ENGINE_TYPE_SHAPE);
9809
+ render_type_id = g_quark_from_static_string (PANGO_RENDER_TYPE_X);
9812
+ return pango_find_map (language, engine_type_id, render_type_id);
9815
+static PangoCoverage *
9816
+pango_x_font_get_coverage (PangoFont *font,
9817
+ PangoLanguage *language)
9819
+ PangoXFont *xfont = (PangoXFont *)font;
9821
+ return pango_x_face_get_coverage (xfont->xface, font, language);
9824
+static PangoEngineShape *
9825
+pango_x_font_find_shaper (PangoFont *font G_GNUC_UNUSED,
9826
+ PangoLanguage *language,
9829
+ PangoMap *shape_map = NULL;
9830
+ PangoScript script;
9832
+ shape_map = pango_x_get_shaper_map (language);
9833
+ script = pango_script_for_unichar (ch);
9834
+ return (PangoEngineShape *)pango_map_get_engine (shape_map, script);
9837
+/* Utility functions */
9839
+static XCharStruct *
9840
+pango_x_get_per_char (PangoFont *font,
9841
+ PangoXSubfontInfo *subfont,
9842
+ guint16 char_index)
9850
+ fs = pango_x_get_font_struct (font, subfont);
9854
+ if (subfont->is_1byte)
9856
+ index = (int)char_index - fs->min_char_or_byte2;
9857
+ if (index < 0 || index >= subfont->range_byte2)
9862
+ byte1 = (int)(char_index / 256) - fs->min_byte1;
9863
+ if (byte1 < 0 || byte1 >= subfont->range_byte1)
9866
+ byte2 = (int)(char_index % 256) - fs->min_char_or_byte2;
9867
+ if (byte2 < 0 || byte2 >= subfont->range_byte2)
9870
+ index = byte1 * subfont->range_byte2 + byte2;
9874
+ return &fs->per_char[index];
9876
+ return &fs->min_bounds;
9880
+pango_x_find_glyph (PangoFont *font,
9882
+ PangoXSubfontInfo **subfont_return,
9883
+ XCharStruct **charstruct_return)
9885
+ PangoXSubfontInfo *subfont;
9888
+ guint16 char_index = PANGO_X_GLYPH_INDEX (glyph);
9889
+ guint16 subfont_index = PANGO_X_GLYPH_SUBFONT (glyph);
9891
+ subfont = pango_x_find_subfont (font, subfont_index);
9895
+ cs = pango_x_get_per_char (font, subfont, char_index);
9897
+ if (cs && (cs->lbearing != cs->rbearing || cs->width != 0))
9899
+ if (subfont_return)
9900
+ *subfont_return = subfont;
9902
+ if (charstruct_return)
9903
+ *charstruct_return = cs;
9912
+ * pango_x_get_unknown_glyph:
9913
+ * @font: a #PangoFont.
9915
+ * Returns the index of a glyph suitable for drawing unknown characters;
9916
+ * you should generally use PANGO_GET_UNKNOWN_GLYPH() instead,
9917
+ * since that may return a glyph that provides a better representation
9918
+ * of a particular char. (E.g., by showing hex digits, or a glyph
9919
+ * representative of a certain Unicode range.)
9921
+ * Return value: a glyph index into @font.
9924
+pango_x_get_unknown_glyph (PangoFont *font G_GNUC_UNUSED)
9926
+ return PANGO_GET_UNKNOWN_GLYPH (0);
9930
+ * pango_x_render_layout_line:
9931
+ * @display: the X display.
9932
+ * @drawable: the drawable on which to draw.
9933
+ * @gc: GC to use for uncolored drawing.
9934
+ * @line: a #PangoLayoutLine.
9935
+ * @x: the x position of start of string (in pixels).
9936
+ * @y: the y position of baseline (in pixels).
9938
+ * Renders a #PangoLayoutLine onto an X drawable.
9941
+pango_x_render_layout_line (Display *display,
9942
+ Drawable drawable,
9944
+ PangoLayoutLine *line,
9948
+ GSList *tmp_list = line->runs;
9949
+ PangoRectangle overall_rect;
9950
+ PangoRectangle logical_rect;
9951
+ PangoRectangle ink_rect;
9952
+ PangoContext *context = pango_layout_get_context (line->layout);
9953
+ PangoXContextInfo *info = get_context_info (context);
9957
+ pango_layout_line_get_extents (line,NULL, &overall_rect);
9961
+ PangoUnderline uline = PANGO_UNDERLINE_NONE;
9962
+ PangoLayoutRun *run = tmp_list->data;
9963
+ PangoAttrColor fg_color, bg_color;
9964
+ gboolean fg_set, bg_set;
9967
+ tmp_list = tmp_list->next;
9969
+ pango_x_get_item_properties (run->item, &uline, &fg_color, &fg_set, &bg_color, &bg_set);
9971
+ if (fg_set && info->get_gc_func)
9972
+ fg_gc = info->get_gc_func (context, &fg_color.color, gc);
9976
+ if (uline == PANGO_UNDERLINE_NONE)
9977
+ pango_glyph_string_extents (run->glyphs, run->item->analysis.font,
9978
+ NULL, &logical_rect);
9980
+ pango_glyph_string_extents (run->glyphs, run->item->analysis.font,
9981
+ &ink_rect, &logical_rect);
9983
+ if (bg_set && info->get_gc_func)
9985
+ GC bg_gc = info->get_gc_func (context, &bg_color.color, gc);
9987
+ XFillRectangle (display, drawable, bg_gc,
9988
+ x + (x_off + logical_rect.x) / PANGO_SCALE,
9989
+ y + overall_rect.y / PANGO_SCALE,
9990
+ logical_rect.width / PANGO_SCALE,
9991
+ overall_rect.height / PANGO_SCALE);
9993
+ if (info->free_gc_func)
9994
+ info->free_gc_func (context, bg_gc);
9997
+ pango_x_render (display, drawable, fg_gc, run->item->analysis.font, run->glyphs,
9998
+ x + x_off / PANGO_SCALE, y);
10002
+ case PANGO_UNDERLINE_NONE:
10004
+ case PANGO_UNDERLINE_DOUBLE:
10005
+ XDrawLine (display, drawable, fg_gc,
10006
+ x + (x_off + ink_rect.x) / PANGO_SCALE - 1, y + 4,
10007
+ x + (x_off + ink_rect.x + ink_rect.width) / PANGO_SCALE, y + 4);
10008
+ /* Fall through */
10009
+ case PANGO_UNDERLINE_SINGLE:
10010
+ XDrawLine (display, drawable, fg_gc,
10011
+ x + (x_off + ink_rect.x) / PANGO_SCALE - 1, y + 2,
10012
+ x + (x_off + ink_rect.x + ink_rect.width) / PANGO_SCALE, y + 2);
10014
+ case PANGO_UNDERLINE_ERROR:
10018
+ int end_x = x + (x_off + ink_rect.x + ink_rect.width) / PANGO_SCALE;
10020
+ for (point_x = x + PANGO_PIXELS (x_off + ink_rect.x) - 1;
10021
+ point_x <= end_x;
10025
+ XDrawLine (display, drawable, gc,
10026
+ point_x, y + 2, MIN (point_x + 1, end_x), y + 2);
10028
+ XDrawLine (display, drawable, gc,
10029
+ point_x, y + 3, MIN (point_x + 1, end_x), y + 3);
10031
+ counter = (counter + 1) % 2;
10035
+ case PANGO_UNDERLINE_LOW:
10036
+ XDrawLine (display, drawable, fg_gc,
10037
+ x + (x_off + ink_rect.x) / PANGO_SCALE - 1, y + (ink_rect.y + ink_rect.height) / PANGO_SCALE + 2,
10038
+ x + (x_off + ink_rect.x + ink_rect.width) / PANGO_SCALE, y + (ink_rect.y + ink_rect.height) / PANGO_SCALE + 2);
10042
+ if (fg_set && info->get_gc_func && info->free_gc_func)
10043
+ info->free_gc_func (context, fg_gc);
10045
+ x_off += logical_rect.width;
10050
+ * pango_x_render_layout:
10051
+ * @display: the X display.
10052
+ * @drawable: the drawable on which to draw.
10053
+ * @gc: GC to use for uncolored drawing.
10054
+ * @layout: a #PangoLayout.
10055
+ * @x: the x position of the left of the layout (in pixels).
10056
+ * @y: the y position of the top of the layout (in pixels).
10058
+ * Renders a #PangoLayout onto an X drawable.
10061
+pango_x_render_layout (Display *display,
10062
+ Drawable drawable,
10064
+ PangoLayout *layout,
10068
+ PangoLayoutIter *iter;
10070
+ g_return_if_fail (display != NULL);
10071
+ g_return_if_fail (PANGO_IS_LAYOUT (layout));
10073
+ iter = pango_layout_get_iter (layout);
10077
+ PangoRectangle logical_rect;
10078
+ PangoLayoutLine *line;
10081
+ line = pango_layout_iter_get_line_readonly (iter);
10083
+ pango_layout_iter_get_line_extents (iter, NULL, &logical_rect);
10084
+ baseline = pango_layout_iter_get_baseline (iter);
10086
+ pango_x_render_layout_line (display, drawable, gc,
10088
+ x + PANGO_PIXELS (logical_rect.x),
10089
+ y + PANGO_PIXELS (baseline));
10091
+ while (pango_layout_iter_next_line (iter));
10093
+ pango_layout_iter_free (iter);
10096
+/* This utility function is duplicated here and in pango-layout.c; should it be
10097
+ * public? Trouble is - what is the appropriate set of properties?
10100
+pango_x_get_item_properties (PangoItem *item,
10101
+ PangoUnderline *uline,
10102
+ PangoAttrColor *fg_color,
10103
+ gboolean *fg_set,
10104
+ PangoAttrColor *bg_color,
10105
+ gboolean *bg_set)
10107
+ GSList *tmp_list = item->analysis.extra_attrs;
10117
+ PangoAttribute *attr = tmp_list->data;
10119
+ switch ((int) attr->klass->type)
10121
+ case PANGO_ATTR_UNDERLINE:
10123
+ *uline = ((PangoAttrInt *)attr)->value;
10126
+ case PANGO_ATTR_FOREGROUND:
10128
+ *fg_color = *((PangoAttrColor *)attr);
10134
+ case PANGO_ATTR_BACKGROUND:
10136
+ *bg_color = *((PangoAttrColor *)attr);
10145
+ tmp_list = tmp_list->next;
10150
+ * pango_x_apply_ligatures:
10152
+ * @subfont: unused
10153
+ * @glyphs: unused
10154
+ * @n_glyphs: unused
10155
+ * @clusters: unused
10157
+ * Previously did subfont-specific ligation. Now a no-op.
10159
+ * Return value: %FALSE, always.
10162
+pango_x_apply_ligatures (PangoFont *font G_GNUC_UNUSED,
10163
+ PangoXSubfont subfont_id G_GNUC_UNUSED,
10164
+ gunichar **glyphs G_GNUC_UNUSED,
10165
+ int *n_glyphs G_GNUC_UNUSED,
10166
+ int **clusters G_GNUC_UNUSED)
10172
+ * pango_x_find_first_subfont:
10173
+ * @font: A #PangoFont.
10174
+ * @rfont: A pointer to a #PangoXSubfont.
10175
+ * @charsets: An array of charsets.
10176
+ * @n_charsets: The number of charsets in @charsets.
10178
+ * Looks for subfonts with the @charset charset,
10179
+ * in @font, and puts the first one in *@rfont.
10181
+ * Return value: %TRUE if *@rfont now contains a font.
10184
+pango_x_find_first_subfont (PangoFont *font,
10187
+ PangoXSubfont *rfont)
10190
+ gboolean result = FALSE;
10191
+ PangoXSubfont *subfonts;
10192
+ int *subfont_charsets;
10194
+ g_return_val_if_fail (font, 0);
10195
+ g_return_val_if_fail (charsets, 0);
10196
+ g_return_val_if_fail (rfont, 0);
10198
+ n_subfonts = pango_x_list_subfonts (font, charsets, n_charsets,
10199
+ &subfonts, &subfont_charsets);
10201
+ if (n_subfonts > 0)
10203
+ *rfont = subfonts[0];
10207
+ g_free (subfonts);
10208
+ g_free (subfont_charsets);
10213
+ * pango_x_fallback_shape:
10214
+ * @font: A #PangoFont.
10215
+ * @glyphs: A pointer to a #PangoGlyphString.
10216
+ * @text: UTF-8 string.
10217
+ * @n_chars: Number of UTF-8 seqs in @text.
10219
+ * This is a simple fallback shaper, that can be used
10220
+ * if no subfont that supports a given script is found.
10221
+ * For every character in @text, it puts the unknown glyph.
10224
+pango_x_fallback_shape (PangoFont *font,
10225
+ PangoGlyphString *glyphs,
10226
+ const char *text,
10229
+ PangoGlyph unknown_glyph = pango_x_get_unknown_glyph (font);
10230
+ PangoRectangle logical_rect;
10234
+ g_return_if_fail (font);
10235
+ g_return_if_fail (glyphs);
10236
+ g_return_if_fail (text);
10237
+ g_return_if_fail (n_chars >= 0);
10239
+ pango_font_get_glyph_extents (font, unknown_glyph, NULL, &logical_rect);
10240
+ pango_glyph_string_set_size (glyphs, n_chars);
10242
+ for (i = 0; i < n_chars; i++)
10244
+ glyphs->glyphs[i].glyph = unknown_glyph;
10246
+ glyphs->glyphs[i].geometry.x_offset = 0;
10247
+ glyphs->glyphs[i].geometry.y_offset = 0;
10248
+ glyphs->glyphs[i].geometry.width = logical_rect.width;
10250
+ glyphs->log_clusters[i] = p - text;
10252
+ p = g_utf8_next_char (p);
10257
+ * pango_x_font_get_unknown_glyph:
10258
+ * @font: a #PangoFont.
10259
+ * @wc: the Unicode character for which a glyph is needed.
10261
+ * Returns the index of a glyph suitable for drawing @wc as an
10262
+ * unknown character.
10264
+ * Use PANGO_GET_UNKNOWN_GLYPH() instead.
10266
+ * Return value: a glyph index into @font.
10269
+pango_x_font_get_unknown_glyph (PangoFont *font G_GNUC_UNUSED,
10272
+ return PANGO_GET_UNKNOWN_GLYPH (wc);
10274
diff --git a/pango/pangox.def b/pango/pangox.def
10275
new file mode 100644
10276
index 0000000..36d7e3f
10278
+++ b/pango/pangox.def
10281
+pango_x_apply_ligatures
10282
+pango_x_context_set_funcs
10283
+pango_x_face_get_coverage
10284
+pango_x_face_get_type
10285
+pango_x_face_remove
10286
+pango_x_fallback_shape
10287
+pango_x_family_get_type
10288
+pango_x_find_first_subfont
10289
+pango_x_font_cache_free
10290
+pango_x_font_cache_load
10291
+pango_x_font_cache_new
10292
+pango_x_font_cache_unload
10293
+pango_x_font_get_type
10294
+pango_x_font_get_unknown_glyph
10295
+pango_x_font_map_for_display
10296
+pango_x_font_map_get_font_cache
10297
+pango_x_font_map_get_type
10299
+pango_x_font_subfont_xlfd
10300
+pango_x_fontmap_atom_from_name
10301
+pango_x_fontmap_cache_add
10302
+pango_x_fontmap_cache_remove
10303
+pango_x_fontmap_get_display
10304
+pango_x_fontmap_name_from_atom
10305
+pango_x_get_context
10306
+pango_x_get_shaper_map
10307
+pango_x_get_unknown_glyph
10309
+pango_x_list_subfonts
10311
+pango_x_make_matching_xlfd
10313
+pango_x_render_layout
10314
+pango_x_render_layout_line
10315
+pango_x_shutdown_display
10316
diff --git a/pango/pangox.h b/pango/pangox.h
10317
new file mode 100644
10318
index 0000000..f708ed1
10320
+++ b/pango/pangox.h
10325
+ * Copyright (C) 1999 Red Hat Software
10326
+ * Copyright (C) 2000 SuSE Linux Ltd
10328
+ * This library is free software; you can redistribute it and/or
10329
+ * modify it under the terms of the GNU Library General Public
10330
+ * License as published by the Free Software Foundation; either
10331
+ * version 2 of the License, or (at your option) any later version.
10333
+ * This library is distributed in the hope that it will be useful,
10334
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10335
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10336
+ * Library General Public License for more details.
10338
+ * You should have received a copy of the GNU Library General Public
10339
+ * License along with this library; if not, write to the
10340
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
10341
+ * Boston, MA 02111-1307, USA.
10344
+#ifndef __PANGOX_H__
10345
+#define __PANGOX_H__
10348
+#include <pango/pango-layout.h>
10352
+#include <X11/Xlib.h>
10354
+#ifndef PANGO_DISABLE_DEPRECATED
10356
+#define PANGO_RENDER_TYPE_X "PangoRenderX"
10358
+typedef GC (*PangoGetGCFunc) (PangoContext *context, PangoColor *color, GC base_gc);
10359
+typedef void (*PangoFreeGCFunc) (PangoContext *context, GC gc);
10361
+/* Calls for applications
10364
+PangoContext * pango_x_get_context (Display *display);
10366
+void pango_x_context_set_funcs (PangoContext *context,
10367
+ PangoGetGCFunc get_gc_func,
10368
+ PangoFreeGCFunc free_gc_func);
10371
+PangoFont * pango_x_load_font (Display *display,
10372
+ const gchar *spec);
10374
+void pango_x_render (Display *display,
10378
+ PangoGlyphString *glyphs,
10382
+void pango_x_render_layout_line (Display *display,
10383
+ Drawable drawable,
10385
+ PangoLayoutLine *line,
10389
+void pango_x_render_layout (Display *display,
10390
+ Drawable drawable,
10392
+ PangoLayout *layout,
10396
+/* API for rendering modules
10398
+typedef guint16 PangoXSubfont;
10400
+#define PANGO_X_MAKE_GLYPH(subfont,index_) ((subfont)<<16 | (index_))
10401
+#define PANGO_X_GLYPH_SUBFONT(glyph) ((glyph)>>16)
10402
+#define PANGO_X_GLYPH_INDEX(glyph) ((glyph) & 0xffff)
10405
+int pango_x_list_subfonts (PangoFont *font,
10408
+ PangoXSubfont **subfont_ids,
10409
+ int **subfont_charsets);
10411
+gboolean pango_x_has_glyph (PangoFont *font,
10412
+ PangoGlyph glyph);
10414
+PangoGlyph pango_x_get_unknown_glyph (PangoFont *font);
10416
+#ifdef PANGO_ENABLE_ENGINE
10418
+PangoGlyph pango_x_font_get_unknown_glyph (PangoFont *font,
10420
+#endif /* PANGO_ENABLE_ENGINE */
10422
+/* API for libraries that want to use PangoX mixed with classic X fonts.
10424
+typedef struct _PangoXFontCache PangoXFontCache;
10427
+PangoXFontCache *pango_x_font_cache_new (Display *display);
10429
+void pango_x_font_cache_free (PangoXFontCache *cache);
10432
+XFontStruct * pango_x_font_cache_load (PangoXFontCache *cache,
10433
+ const char *xlfd);
10435
+void pango_x_font_cache_unload (PangoXFontCache *cache,
10436
+ XFontStruct *fs);
10439
+PangoFontMap * pango_x_font_map_for_display (Display *display);
10441
+void pango_x_shutdown_display (Display *display);
10443
+PangoXFontCache *pango_x_font_map_get_font_cache (PangoFontMap *font_map);
10446
+char *pango_x_font_subfont_xlfd (PangoFont *font,
10447
+ PangoXSubfont subfont_id);
10451
+gboolean pango_x_find_first_subfont (PangoFont *font,
10454
+ PangoXSubfont *rfont);
10457
+void pango_x_fallback_shape (PangoFont *font,
10458
+ PangoGlyphString *glyphs,
10459
+ const char *text,
10463
+gboolean pango_x_apply_ligatures (PangoFont *font,
10464
+ PangoXSubfont subfont,
10465
+ gunichar **glyphs,
10469
+#endif /* PANGO_DISABLE_DEPRECATED */
10473
+#endif /* __PANGOX_H__ */
10474
diff --git a/pango/pangox.rc.in b/pango/pangox.rc.in
10475
new file mode 100644
10476
index 0000000..c259393
10478
+++ b/pango/pangox.rc.in
10480
+#include <winver.h>
10482
+VS_VERSION_INFO VERSIONINFO
10483
+ FILEVERSION @PANGO_VERSION_MAJOR@,@PANGO_VERSION_MINOR@,@PANGO_VERSION_MICRO@,0
10484
+ PRODUCTVERSION @PANGO_VERSION_MAJOR@,@PANGO_VERSION_MINOR@,@PANGO_VERSION_MICRO@,0
10487
+ FILEOS VOS__WINDOWS32
10489
+ FILESUBTYPE VFT2_UNKNOWN
10491
+ BLOCK "StringFileInfo"
10495
+ VALUE "CompanyName", "Red Hat Software"
10496
+ VALUE "FileDescription", "Pangox"
10497
+ VALUE "FileVersion", "@PANGO_VERSION_MAJOR@.@PANGO_VERSION_MINOR@.@PANGO_VERSION_MICRO@.0"
10498
+ VALUE "InternalName", "pangox-@PANGO_API_VERSION@-@PANGO_CURRENT_MINUS_AGE@"
10499
+ VALUE "LegalCopyright", "Copyright � 1999 Red Hat Software."
10500
+ VALUE "OriginalFilename", "pangox-@PANGO_API_VERSION@-@PANGO_CURRENT_MINUS_AGE@.dll"
10501
+ VALUE "ProductName", "Pangox"
10502
+ VALUE "ProductVersion", "@PANGO_VERSION_MAJOR@.@PANGO_VERSION_MINOR@.@PANGO_VERSION_MICRO@"
10505
+ BLOCK "VarFileInfo"
10507
+ VALUE "Translation", 0x409, 1200
10510
diff --git a/pangox-uninstalled.pc.in b/pangox-uninstalled.pc.in
10511
new file mode 100644
10512
index 0000000..434cc61
10514
+++ b/pangox-uninstalled.pc.in
10516
+Name: Pango X Uninstalled
10517
+Description: X Window System font support for Pango, Not Installed
10518
+Version: @VERSION@
10520
+Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangox-@PANGO_API_VERSION@.la @X_LIBS@
10521
+Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @X_CFLAGS@
10522
diff --git a/pangox.pc.in b/pangox.pc.in
10523
new file mode 100644
10524
index 0000000..95f1c26
10529
+exec_prefix=@exec_prefix@
10531
+includedir=@includedir@
10534
+Description: X Window System font support for Pango
10535
+Version: @VERSION@
10537
+Libs: -L${libdir} -lpangox-@PANGO_API_VERSION@ @X_LIBS@
10538
+Cflags: -I${includedir}/pango-1.0 @X_CFLAGS@