From bc65c8aaaeffe392c9fb55c2228becebcf0cf93e Mon Sep 17 00:00:00 2001
From: John Naylor <john.naylor@2ndquadrant.com>
Date: Wed, 14 Oct 2020 12:38:44 -0400
Subject: [PATCH v1] Optimize unicode decomposition and recomposition

Use a perfect hash to look up a codepoint in the decomposition
array. Since the order of the array is less important now, this
allows us to move all recomposeable codepoints to the front. Linear
search now only scans 1/6 of the array, speeding up recomposition
accordingly. Normalization is about 4x faster, and testing for
normalized strings is about 2x faster.
---
 .../unicode/generate-unicode_norm_table.pl    |   96 +-
 src/common/unicode_norm.c                     |   82 +-
 src/include/common/unicode_norm_table.h       | 3638 ++++++++++++-----
 src/tools/pgindent/exclude_file_patterns      |    3 +-
 4 files changed, 2796 insertions(+), 1023 deletions(-)

diff --git a/src/common/unicode/generate-unicode_norm_table.pl b/src/common/unicode/generate-unicode_norm_table.pl
index 7ce15e1a03..ffa47b3638 100644
--- a/src/common/unicode/generate-unicode_norm_table.pl
+++ b/src/common/unicode/generate-unicode_norm_table.pl
@@ -10,6 +10,10 @@
 use strict;
 use warnings;
 
+use FindBin;
+use lib "$FindBin::RealBin/../../tools/";
+use PerfectHash;
+
 my $output_file = "unicode_norm_table.h";
 
 my $FH;
@@ -96,6 +100,17 @@ typedef struct
 								 * decomposition itself if DECOMP_INLINE */
 } pg_unicode_decomposition;
 
+/* Typedef for hash function on quick check table */
+typedef int (*decomp_hash_func) (const void *key);
+
+/* Information for decomposition lookup with perfect hash function */
+typedef struct
+{
+	const pg_unicode_decomposition *decomps;
+	decomp_hash_func	hash;
+	int		num_decomps;
+} pg_unicode_decompinfo;
+
 #define DECOMP_NO_COMPOSE	0x80	/* don't use for re-composition */
 #define DECOMP_INLINE		0x40	/* decomposition is stored inline in
 									 * dec_index */
@@ -114,13 +129,18 @@ HEADER
 my $decomp_index  = 0;
 my $decomp_string = "";
 
-my $last_code = $characters[-1]->{code};
+# First iterate through the codes in order to derive some values
+# and build the output string.
 foreach my $char (@characters)
 {
 	my $code   = $char->{code};
 	my $class  = $char->{class};
 	my $decomp = $char->{decomp};
 
+	# Give all entries a default sort order. Later, we will mark entries
+	# needed for recomposition with an earlier sort order
+	$char->{sortorder} = 0;
+
 	# The character decomposition mapping field in UnicodeData.txt is a list
 	# of unicode codepoints, separated by space. But it can be prefixed with
 	# so-called compatibility formatting tag, like "<compat>", or "<font>".
@@ -157,25 +177,33 @@ foreach my $char (@characters)
 			&& $character_hash{$first_decomp}->{class} != 0)
 		{
 			$flags .= " | DECOMP_NO_COMPOSE";
-			$comment = "non-starter decomposition";
+			$char->{comment} = "non-starter decomposition";
 		}
 		else
 		{
 			foreach my $lcode (@composition_exclusion_codes)
 			{
-				if ($lcode eq $char->{code})
+				if ($lcode eq $code)
 				{
 					$flags .= " | DECOMP_NO_COMPOSE";
-					$comment = "in exclusion list";
+					$char->{comment} = "in exclusion list";
 					last;
 				}
 			}
 		}
+
+		# Set sortorder for some entries of decomp size 2 so that they
+		# come before the rest.
+		# XXX This must match the DECOMPOSITION_NO_COMPOSE C macro above!
+		# See the inverse lookup in recompose_code() found in
+		# common/unicode_norm.c.
+		$char->{sortorder} = -1
+		  if ($flags !~ /DECOMP_COMPAT/ && $flags !~ /DECOMP_NO_COMPOSE/)
 	}
 
 	if ($decomp_size == 0)
 	{
-		print $OUTPUT "\t{0x$code, $class, 0$flags, 0}";
+		$char->{output} = sprintf "\t{0x$code, $class, 0$flags, 0}";
 	}
 	elsif ($decomp_size == 1 && length($first_decomp) <= 4)
 	{
@@ -183,11 +211,11 @@ foreach my $char (@characters)
 		# The decomposition consists of a single codepoint, and it fits
 		# in a uint16, so we can store it "inline" in the main table.
 		$flags .= " | DECOMP_INLINE";
-		print $OUTPUT "\t{0x$code, $class, 1$flags, 0x$first_decomp}";
+		$char->{output} = sprintf "\t{0x$code, $class, 1$flags, 0x$first_decomp}";
 	}
 	else
 	{
-		print $OUTPUT
+		$char->{output} = sprintf
 		  "\t{0x$code, $class, $decomp_size$flags, $decomp_index}";
 
 		# Now save the decompositions into a dedicated area that will
@@ -203,21 +231,18 @@ foreach my $char (@characters)
 
 		$decomp_index = $decomp_index + $decomp_size;
 	}
+}
 
-	# Print a comma after all items except the last one.
-	print $OUTPUT "," unless ($code eq $last_code);
-	if ($comment ne "")
-	{
+my @code_packed;
+foreach my $char (sort recomp_sort @characters)
+{
+	# Save the code point bytes as a string in network order.
+	push @code_packed, pack('N', hex($char->{code}));
 
-		# If the line is wide already, indent the comment with one tab,
-		# otherwise with two. This is to make the output match the way
-		# pgindent would mangle it. (This is quite hacky. To do this
-		# properly, we should actually track how long the line is so far,
-		# but this works for now.)
-		print $OUTPUT "\t" if ($decomp_index < 10);
+	print $OUTPUT $char->{output};
 
-		print $OUTPUT "\t/* $comment */" if ($comment ne "");
-	}
+	print $OUTPUT ",";
+	print $OUTPUT "\t/* $char->{comment} */" if ($char->{comment});
 	print $OUTPUT "\n";
 }
 print $OUTPUT "\n};\n\n";
@@ -231,4 +256,37 @@ $decomp_string
 };
 HEADER
 
+# Emit the definition of the perfect hash function.
+my $funcname = 'DecompMain_hash_func';
+my $f        = PerfectHash::generate_hash_function(\@code_packed, $funcname,
+	fixed_key_length => 4);
+print $OUTPUT "\n/* Perfect hash function for decomposition */\n";
+print $OUTPUT "static $f\n";
+
+# Emit the structure that wraps the hash lookup information into
+# one variable.
+print $OUTPUT <<HEADER;
+/* Hash lookup information for decomposition */
+static const pg_unicode_decompinfo UnicodeDecompInfo =
+{
+	UnicodeDecompMain,
+	$funcname,
+	$num_characters
+};
+HEADER
+
 close $OUTPUT;
+
+# Sort by specially-marked sort order, then by code point.
+sub recomp_sort
+{
+	my $anum = hex($a->{code});
+	my $bnum = hex($a->{code});
+
+	return -1 if ($a->{sortorder} < $b->{sortorder});
+	return 1 if ($a->{sortorder} > $b->{sortorder});
+
+	return -1 if $anum < $bnum;
+	return 0 if $anum == $bnum;
+	return 1 if $anum > $bnum;
+}
diff --git a/src/common/unicode_norm.c b/src/common/unicode_norm.c
index 4bb6a0f587..99bfab177d 100644
--- a/src/common/unicode_norm.c
+++ b/src/common/unicode_norm.c
@@ -44,29 +44,37 @@
 #define NCOUNT		VCOUNT * TCOUNT
 #define SCOUNT		LCOUNT * NCOUNT
 
-/* comparison routine for bsearch() of decomposition lookup table. */
-static int
-conv_compare(const void *p1, const void *p2)
-{
-	uint32		v1,
-				v2;
-
-	v1 = *(const uint32 *) p1;
-	v2 = ((const pg_unicode_decomposition *) p2)->codepoint;
-	return (v1 > v2) ? 1 : ((v1 == v2) ? 0 : -1);
-}
 
 /*
  * Get the entry corresponding to code in the decomposition lookup table.
  */
-static pg_unicode_decomposition *
+static const pg_unicode_decomposition *
 get_code_entry(pg_wchar code)
 {
-	return bsearch(&(code),
-				   UnicodeDecompMain,
-				   lengthof(UnicodeDecompMain),
-				   sizeof(pg_unicode_decomposition),
-				   conv_compare);
+	int			h;
+	uint32		hashkey;
+	pg_unicode_decompinfo decompinfo = UnicodeDecompInfo;
+
+	/*
+	 * Compute the hash function. The hash key is the codepoint with the bytes
+	 * in network order.
+	 */
+	hashkey = pg_hton32(code);
+	h = decompinfo.hash(&hashkey);
+
+	/* An out-of-range result implies no match */
+	if (h < 0 || h >= decompinfo.num_decomps)
+		return NULL;
+
+	/*
+	 * Since it's a perfect hash, we need only match to the specific codepoint
+	 * it identifies.
+	 */
+	if (code != decompinfo.decomps[h].codepoint)
+		return NULL;
+
+	/* Success! */
+	return &decompinfo.decomps[h];
 }
 
 /*
@@ -77,7 +85,7 @@ get_code_entry(pg_wchar code)
  * is only valid until next call to this function!
  */
 static const pg_wchar *
-get_code_decomposition(pg_unicode_decomposition *entry, int *dec_size)
+get_code_decomposition(const pg_unicode_decomposition *entry, int *dec_size)
 {
 	static pg_wchar x;
 
@@ -104,7 +112,7 @@ get_code_decomposition(pg_unicode_decomposition *entry, int *dec_size)
 static int
 get_decomposed_size(pg_wchar code, bool compat)
 {
-	pg_unicode_decomposition *entry;
+	const pg_unicode_decomposition *entry;
 	int			size = 0;
 	int			i;
 	const uint32 *decomp;
@@ -197,17 +205,31 @@ recompose_code(uint32 start, uint32 code, uint32 *result)
 		 * Do an inverse lookup of the decomposition tables to see if anything
 		 * matches. The comparison just needs to be a perfect match on the
 		 * sub-table of size two, because the start character has already been
-		 * recomposed partially.
+		 * recomposed partially. The array UnicodeDecompMain should have all
+		 * recomposeable codepoints at the front as a performance optimization.
+		 * See common/generate-unicode_norm_table.pl.
 		 */
 		for (i = 0; i < lengthof(UnicodeDecompMain); i++)
 		{
 			const pg_unicode_decomposition *entry = &UnicodeDecompMain[i];
 
-			if (DECOMPOSITION_SIZE(entry) != 2)
-				continue;
-
-			if (DECOMPOSITION_NO_COMPOSE(entry))
-				continue;
+			if (DECOMPOSITION_SIZE(entry) != 2 ||
+				DECOMPOSITION_NO_COMPOSE(entry))
+			{
+#ifdef USE_ASSERT_CHECKING
+				/*
+				 * Verify that there are no recomposeable codepoints
+				 * from this point forwards.
+				 */
+				for (int j = i; j < lengthof(UnicodeDecompMain); j++)
+				{
+					entry = &UnicodeDecompMain[j];
+					Assert(DECOMPOSITION_SIZE(entry) != 2 ||
+						   DECOMPOSITION_NO_COMPOSE(entry));
+				}
+#endif
+				break;
+			}
 
 			if (start == UnicodeDecomp_codepoints[entry->dec_index] &&
 				code == UnicodeDecomp_codepoints[entry->dec_index + 1])
@@ -231,7 +253,7 @@ recompose_code(uint32 start, uint32 code, uint32 *result)
 static void
 decompose_code(pg_wchar code, bool compat, pg_wchar **result, int *current)
 {
-	pg_unicode_decomposition *entry;
+	const pg_unicode_decomposition *entry;
 	int			i;
 	const uint32 *decomp;
 	int			dec_size;
@@ -358,8 +380,8 @@ unicode_normalize(UnicodeNormalizationForm form, const pg_wchar *input)
 		pg_wchar	prev = decomp_chars[count - 1];
 		pg_wchar	next = decomp_chars[count];
 		pg_wchar	tmp;
-		pg_unicode_decomposition *prevEntry = get_code_entry(prev);
-		pg_unicode_decomposition *nextEntry = get_code_entry(next);
+		const pg_unicode_decomposition *prevEntry = get_code_entry(prev);
+		const pg_unicode_decomposition *nextEntry = get_code_entry(next);
 
 		/*
 		 * If no entries are found, the character used is either an Hangul
@@ -417,7 +439,7 @@ unicode_normalize(UnicodeNormalizationForm form, const pg_wchar *input)
 	for (count = 1; count < decomp_size; count++)
 	{
 		pg_wchar	ch = decomp_chars[count];
-		pg_unicode_decomposition *ch_entry = get_code_entry(ch);
+		const pg_unicode_decomposition *ch_entry = get_code_entry(ch);
 		int			ch_class = (ch_entry == NULL) ? 0 : ch_entry->comb_class;
 		pg_wchar	composite;
 
@@ -458,7 +480,7 @@ unicode_normalize(UnicodeNormalizationForm form, const pg_wchar *input)
 static uint8
 get_canonical_class(pg_wchar ch)
 {
-	pg_unicode_decomposition *entry = get_code_entry(ch);
+	const pg_unicode_decomposition *entry = get_code_entry(ch);
 
 	if (!entry)
 		return 0;
diff --git a/src/include/common/unicode_norm_table.h b/src/include/common/unicode_norm_table.h
index 96d43b893c..ad5792dbb7 100644
--- a/src/include/common/unicode_norm_table.h
+++ b/src/include/common/unicode_norm_table.h
@@ -25,6 +25,17 @@ typedef struct
 								 * decomposition itself if DECOMP_INLINE */
 } pg_unicode_decomposition;
 
+/* Typedef for hash function on quick check table */
+typedef int (*decomp_hash_func) (const void *key);
+
+/* Information for decomposition lookup with perfect hash function */
+typedef struct
+{
+	const pg_unicode_decomposition *decomps;
+	decomp_hash_func	hash;
+	int		num_decomps;
+} pg_unicode_decompinfo;
+
 #define DECOMP_NO_COMPOSE	0x80	/* don't use for re-composition */
 #define DECOMP_INLINE		0x40	/* decomposition is stored inline in
 									 * dec_index */
@@ -38,20 +49,6 @@ typedef struct
 /* Table of Unicode codepoints and their decompositions */
 static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 {
-	{0x00A0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0020},
-	{0x00A8, 0, 2 | DECOMP_COMPAT, 0},
-	{0x00AA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0061},
-	{0x00AF, 0, 2 | DECOMP_COMPAT, 2},
-	{0x00B2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0032},
-	{0x00B3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0033},
-	{0x00B4, 0, 2 | DECOMP_COMPAT, 4},
-	{0x00B5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03BC},
-	{0x00B8, 0, 2 | DECOMP_COMPAT, 6},
-	{0x00B9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0031},
-	{0x00BA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006F},
-	{0x00BC, 0, 3 | DECOMP_COMPAT, 8},
-	{0x00BD, 0, 3 | DECOMP_COMPAT, 11},
-	{0x00BE, 0, 3 | DECOMP_COMPAT, 14},
 	{0x00C0, 0, 2, 17},
 	{0x00C1, 0, 2, 19},
 	{0x00C2, 0, 2, 21},
@@ -150,8 +147,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x012E, 0, 2, 207},
 	{0x012F, 0, 2, 209},
 	{0x0130, 0, 2, 211},
-	{0x0132, 0, 2 | DECOMP_COMPAT, 213},
-	{0x0133, 0, 2 | DECOMP_COMPAT, 215},
 	{0x0134, 0, 2, 217},
 	{0x0135, 0, 2, 219},
 	{0x0136, 0, 2, 221},
@@ -162,15 +157,12 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x013C, 0, 2, 231},
 	{0x013D, 0, 2, 233},
 	{0x013E, 0, 2, 235},
-	{0x013F, 0, 2 | DECOMP_COMPAT, 237},
-	{0x0140, 0, 2 | DECOMP_COMPAT, 239},
 	{0x0143, 0, 2, 241},
 	{0x0144, 0, 2, 243},
 	{0x0145, 0, 2, 245},
 	{0x0146, 0, 2, 247},
 	{0x0147, 0, 2, 249},
 	{0x0148, 0, 2, 251},
-	{0x0149, 0, 2 | DECOMP_COMPAT, 253},
 	{0x014C, 0, 2, 255},
 	{0x014D, 0, 2, 257},
 	{0x014E, 0, 2, 259},
@@ -218,20 +210,10 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x017C, 0, 2, 343},
 	{0x017D, 0, 2, 345},
 	{0x017E, 0, 2, 347},
-	{0x017F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0073},
 	{0x01A0, 0, 2, 349},
 	{0x01A1, 0, 2, 351},
 	{0x01AF, 0, 2, 353},
 	{0x01B0, 0, 2, 355},
-	{0x01C4, 0, 2 | DECOMP_COMPAT, 357},
-	{0x01C5, 0, 2 | DECOMP_COMPAT, 359},
-	{0x01C6, 0, 2 | DECOMP_COMPAT, 361},
-	{0x01C7, 0, 2 | DECOMP_COMPAT, 363},
-	{0x01C8, 0, 2 | DECOMP_COMPAT, 365},
-	{0x01C9, 0, 2 | DECOMP_COMPAT, 367},
-	{0x01CA, 0, 2 | DECOMP_COMPAT, 369},
-	{0x01CB, 0, 2 | DECOMP_COMPAT, 371},
-	{0x01CC, 0, 2 | DECOMP_COMPAT, 373},
 	{0x01CD, 0, 2, 375},
 	{0x01CE, 0, 2, 377},
 	{0x01CF, 0, 2, 379},
@@ -265,9 +247,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x01EE, 0, 2, 435},
 	{0x01EF, 0, 2, 437},
 	{0x01F0, 0, 2, 439},
-	{0x01F1, 0, 2 | DECOMP_COMPAT, 441},
-	{0x01F2, 0, 2 | DECOMP_COMPAT, 443},
-	{0x01F3, 0, 2 | DECOMP_COMPAT, 445},
 	{0x01F4, 0, 2, 447},
 	{0x01F5, 0, 2, 449},
 	{0x01F8, 0, 2, 451},
@@ -322,144 +301,8 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x0231, 0, 2, 549},
 	{0x0232, 0, 2, 551},
 	{0x0233, 0, 2, 553},
-	{0x02B0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0068},
-	{0x02B1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0266},
-	{0x02B2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006A},
-	{0x02B3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0072},
-	{0x02B4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0279},
-	{0x02B5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x027B},
-	{0x02B6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0281},
-	{0x02B7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0077},
-	{0x02B8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0079},
-	{0x02D8, 0, 2 | DECOMP_COMPAT, 555},
-	{0x02D9, 0, 2 | DECOMP_COMPAT, 557},
-	{0x02DA, 0, 2 | DECOMP_COMPAT, 559},
-	{0x02DB, 0, 2 | DECOMP_COMPAT, 561},
-	{0x02DC, 0, 2 | DECOMP_COMPAT, 563},
-	{0x02DD, 0, 2 | DECOMP_COMPAT, 565},
-	{0x02E0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0263},
-	{0x02E1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006C},
-	{0x02E2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0073},
-	{0x02E3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0078},
-	{0x02E4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0295},
-	{0x0300, 230, 0, 0},
-	{0x0301, 230, 0, 0},
-	{0x0302, 230, 0, 0},
-	{0x0303, 230, 0, 0},
-	{0x0304, 230, 0, 0},
-	{0x0305, 230, 0, 0},
-	{0x0306, 230, 0, 0},
-	{0x0307, 230, 0, 0},
-	{0x0308, 230, 0, 0},
-	{0x0309, 230, 0, 0},
-	{0x030A, 230, 0, 0},
-	{0x030B, 230, 0, 0},
-	{0x030C, 230, 0, 0},
-	{0x030D, 230, 0, 0},
-	{0x030E, 230, 0, 0},
-	{0x030F, 230, 0, 0},
-	{0x0310, 230, 0, 0},
-	{0x0311, 230, 0, 0},
-	{0x0312, 230, 0, 0},
-	{0x0313, 230, 0, 0},
-	{0x0314, 230, 0, 0},
-	{0x0315, 232, 0, 0},
-	{0x0316, 220, 0, 0},
-	{0x0317, 220, 0, 0},
-	{0x0318, 220, 0, 0},
-	{0x0319, 220, 0, 0},
-	{0x031A, 232, 0, 0},
-	{0x031B, 216, 0, 0},
-	{0x031C, 220, 0, 0},
-	{0x031D, 220, 0, 0},
-	{0x031E, 220, 0, 0},
-	{0x031F, 220, 0, 0},
-	{0x0320, 220, 0, 0},
-	{0x0321, 202, 0, 0},
-	{0x0322, 202, 0, 0},
-	{0x0323, 220, 0, 0},
-	{0x0324, 220, 0, 0},
-	{0x0325, 220, 0, 0},
-	{0x0326, 220, 0, 0},
-	{0x0327, 202, 0, 0},
-	{0x0328, 202, 0, 0},
-	{0x0329, 220, 0, 0},
-	{0x032A, 220, 0, 0},
-	{0x032B, 220, 0, 0},
-	{0x032C, 220, 0, 0},
-	{0x032D, 220, 0, 0},
-	{0x032E, 220, 0, 0},
-	{0x032F, 220, 0, 0},
-	{0x0330, 220, 0, 0},
-	{0x0331, 220, 0, 0},
-	{0x0332, 220, 0, 0},
-	{0x0333, 220, 0, 0},
-	{0x0334, 1, 0, 0},
-	{0x0335, 1, 0, 0},
-	{0x0336, 1, 0, 0},
-	{0x0337, 1, 0, 0},
-	{0x0338, 1, 0, 0},
-	{0x0339, 220, 0, 0},
-	{0x033A, 220, 0, 0},
-	{0x033B, 220, 0, 0},
-	{0x033C, 220, 0, 0},
-	{0x033D, 230, 0, 0},
-	{0x033E, 230, 0, 0},
-	{0x033F, 230, 0, 0},
-	{0x0340, 230, 1 | DECOMP_INLINE, 0x0300},
-	{0x0341, 230, 1 | DECOMP_INLINE, 0x0301},
-	{0x0342, 230, 0, 0},
-	{0x0343, 230, 1 | DECOMP_INLINE, 0x0313},
-	{0x0344, 230, 2 | DECOMP_NO_COMPOSE, 567},	/* non-starter decomposition */
-	{0x0345, 240, 0, 0},
-	{0x0346, 230, 0, 0},
-	{0x0347, 220, 0, 0},
-	{0x0348, 220, 0, 0},
-	{0x0349, 220, 0, 0},
-	{0x034A, 230, 0, 0},
-	{0x034B, 230, 0, 0},
-	{0x034C, 230, 0, 0},
-	{0x034D, 220, 0, 0},
-	{0x034E, 220, 0, 0},
-	{0x0350, 230, 0, 0},
-	{0x0351, 230, 0, 0},
-	{0x0352, 230, 0, 0},
-	{0x0353, 220, 0, 0},
-	{0x0354, 220, 0, 0},
-	{0x0355, 220, 0, 0},
-	{0x0356, 220, 0, 0},
-	{0x0357, 230, 0, 0},
-	{0x0358, 232, 0, 0},
-	{0x0359, 220, 0, 0},
-	{0x035A, 220, 0, 0},
-	{0x035B, 230, 0, 0},
-	{0x035C, 233, 0, 0},
-	{0x035D, 234, 0, 0},
-	{0x035E, 234, 0, 0},
-	{0x035F, 233, 0, 0},
-	{0x0360, 234, 0, 0},
-	{0x0361, 234, 0, 0},
-	{0x0362, 233, 0, 0},
-	{0x0363, 230, 0, 0},
-	{0x0364, 230, 0, 0},
-	{0x0365, 230, 0, 0},
-	{0x0366, 230, 0, 0},
-	{0x0367, 230, 0, 0},
-	{0x0368, 230, 0, 0},
-	{0x0369, 230, 0, 0},
-	{0x036A, 230, 0, 0},
-	{0x036B, 230, 0, 0},
-	{0x036C, 230, 0, 0},
-	{0x036D, 230, 0, 0},
-	{0x036E, 230, 0, 0},
-	{0x036F, 230, 0, 0},
-	{0x0374, 0, 1 | DECOMP_INLINE, 0x02B9},
-	{0x037A, 0, 2 | DECOMP_COMPAT, 569},
-	{0x037E, 0, 1 | DECOMP_INLINE, 0x003B},
-	{0x0384, 0, 2 | DECOMP_COMPAT, 571},
 	{0x0385, 0, 2, 573},
 	{0x0386, 0, 2, 575},
-	{0x0387, 0, 1 | DECOMP_INLINE, 0x00B7},
 	{0x0388, 0, 2, 577},
 	{0x0389, 0, 2, 579},
 	{0x038A, 0, 2, 581},
@@ -479,19 +322,8 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x03CC, 0, 2, 609},
 	{0x03CD, 0, 2, 611},
 	{0x03CE, 0, 2, 613},
-	{0x03D0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
-	{0x03D1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B8},
-	{0x03D2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03A5},
 	{0x03D3, 0, 2, 615},
 	{0x03D4, 0, 2, 617},
-	{0x03D5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
-	{0x03D6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C0},
-	{0x03F0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03BA},
-	{0x03F1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C1},
-	{0x03F2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C2},
-	{0x03F4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0398},
-	{0x03F5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B5},
-	{0x03F9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03A3},
 	{0x0400, 0, 2, 619},
 	{0x0401, 0, 2, 621},
 	{0x0403, 0, 2, 623},
@@ -510,11 +342,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x045E, 0, 2, 649},
 	{0x0476, 0, 2, 651},
 	{0x0477, 0, 2, 653},
-	{0x0483, 230, 0, 0},
-	{0x0484, 230, 0, 0},
-	{0x0485, 230, 0, 0},
-	{0x0486, 230, 0, 0},
-	{0x0487, 230, 0, 0},
 	{0x04C1, 0, 2, 655},
 	{0x04C2, 0, 2, 657},
 	{0x04D0, 0, 2, 659},
@@ -549,615 +376,51 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x04F5, 0, 2, 717},
 	{0x04F8, 0, 2, 719},
 	{0x04F9, 0, 2, 721},
-	{0x0587, 0, 2 | DECOMP_COMPAT, 723},
-	{0x0591, 220, 0, 0},
-	{0x0592, 230, 0, 0},
-	{0x0593, 230, 0, 0},
-	{0x0594, 230, 0, 0},
-	{0x0595, 230, 0, 0},
-	{0x0596, 220, 0, 0},
-	{0x0597, 230, 0, 0},
-	{0x0598, 230, 0, 0},
-	{0x0599, 230, 0, 0},
-	{0x059A, 222, 0, 0},
-	{0x059B, 220, 0, 0},
-	{0x059C, 230, 0, 0},
-	{0x059D, 230, 0, 0},
-	{0x059E, 230, 0, 0},
-	{0x059F, 230, 0, 0},
-	{0x05A0, 230, 0, 0},
-	{0x05A1, 230, 0, 0},
-	{0x05A2, 220, 0, 0},
-	{0x05A3, 220, 0, 0},
-	{0x05A4, 220, 0, 0},
-	{0x05A5, 220, 0, 0},
-	{0x05A6, 220, 0, 0},
-	{0x05A7, 220, 0, 0},
-	{0x05A8, 230, 0, 0},
-	{0x05A9, 230, 0, 0},
-	{0x05AA, 220, 0, 0},
-	{0x05AB, 230, 0, 0},
-	{0x05AC, 230, 0, 0},
-	{0x05AD, 222, 0, 0},
-	{0x05AE, 228, 0, 0},
-	{0x05AF, 230, 0, 0},
-	{0x05B0, 10, 0, 0},
-	{0x05B1, 11, 0, 0},
-	{0x05B2, 12, 0, 0},
-	{0x05B3, 13, 0, 0},
-	{0x05B4, 14, 0, 0},
-	{0x05B5, 15, 0, 0},
-	{0x05B6, 16, 0, 0},
-	{0x05B7, 17, 0, 0},
-	{0x05B8, 18, 0, 0},
-	{0x05B9, 19, 0, 0},
-	{0x05BA, 19, 0, 0},
-	{0x05BB, 20, 0, 0},
-	{0x05BC, 21, 0, 0},
-	{0x05BD, 22, 0, 0},
-	{0x05BF, 23, 0, 0},
-	{0x05C1, 24, 0, 0},
-	{0x05C2, 25, 0, 0},
-	{0x05C4, 230, 0, 0},
-	{0x05C5, 220, 0, 0},
-	{0x05C7, 18, 0, 0},
-	{0x0610, 230, 0, 0},
-	{0x0611, 230, 0, 0},
-	{0x0612, 230, 0, 0},
-	{0x0613, 230, 0, 0},
-	{0x0614, 230, 0, 0},
-	{0x0615, 230, 0, 0},
-	{0x0616, 230, 0, 0},
-	{0x0617, 230, 0, 0},
-	{0x0618, 30, 0, 0},
-	{0x0619, 31, 0, 0},
-	{0x061A, 32, 0, 0},
 	{0x0622, 0, 2, 725},
 	{0x0623, 0, 2, 727},
 	{0x0624, 0, 2, 729},
 	{0x0625, 0, 2, 731},
 	{0x0626, 0, 2, 733},
-	{0x064B, 27, 0, 0},
-	{0x064C, 28, 0, 0},
-	{0x064D, 29, 0, 0},
-	{0x064E, 30, 0, 0},
-	{0x064F, 31, 0, 0},
-	{0x0650, 32, 0, 0},
-	{0x0651, 33, 0, 0},
-	{0x0652, 34, 0, 0},
-	{0x0653, 230, 0, 0},
-	{0x0654, 230, 0, 0},
-	{0x0655, 220, 0, 0},
-	{0x0656, 220, 0, 0},
-	{0x0657, 230, 0, 0},
-	{0x0658, 230, 0, 0},
-	{0x0659, 230, 0, 0},
-	{0x065A, 230, 0, 0},
-	{0x065B, 230, 0, 0},
-	{0x065C, 220, 0, 0},
-	{0x065D, 230, 0, 0},
-	{0x065E, 230, 0, 0},
-	{0x065F, 220, 0, 0},
-	{0x0670, 35, 0, 0},
-	{0x0675, 0, 2 | DECOMP_COMPAT, 735},
-	{0x0676, 0, 2 | DECOMP_COMPAT, 737},
-	{0x0677, 0, 2 | DECOMP_COMPAT, 739},
-	{0x0678, 0, 2 | DECOMP_COMPAT, 741},
 	{0x06C0, 0, 2, 743},
 	{0x06C2, 0, 2, 745},
 	{0x06D3, 0, 2, 747},
-	{0x06D6, 230, 0, 0},
-	{0x06D7, 230, 0, 0},
-	{0x06D8, 230, 0, 0},
-	{0x06D9, 230, 0, 0},
-	{0x06DA, 230, 0, 0},
-	{0x06DB, 230, 0, 0},
-	{0x06DC, 230, 0, 0},
-	{0x06DF, 230, 0, 0},
-	{0x06E0, 230, 0, 0},
-	{0x06E1, 230, 0, 0},
-	{0x06E2, 230, 0, 0},
-	{0x06E3, 220, 0, 0},
-	{0x06E4, 230, 0, 0},
-	{0x06E7, 230, 0, 0},
-	{0x06E8, 230, 0, 0},
-	{0x06EA, 220, 0, 0},
-	{0x06EB, 230, 0, 0},
-	{0x06EC, 230, 0, 0},
-	{0x06ED, 220, 0, 0},
-	{0x0711, 36, 0, 0},
-	{0x0730, 230, 0, 0},
-	{0x0731, 220, 0, 0},
-	{0x0732, 230, 0, 0},
-	{0x0733, 230, 0, 0},
-	{0x0734, 220, 0, 0},
-	{0x0735, 230, 0, 0},
-	{0x0736, 230, 0, 0},
-	{0x0737, 220, 0, 0},
-	{0x0738, 220, 0, 0},
-	{0x0739, 220, 0, 0},
-	{0x073A, 230, 0, 0},
-	{0x073B, 220, 0, 0},
-	{0x073C, 220, 0, 0},
-	{0x073D, 230, 0, 0},
-	{0x073E, 220, 0, 0},
-	{0x073F, 230, 0, 0},
-	{0x0740, 230, 0, 0},
-	{0x0741, 230, 0, 0},
-	{0x0742, 220, 0, 0},
-	{0x0743, 230, 0, 0},
-	{0x0744, 220, 0, 0},
-	{0x0745, 230, 0, 0},
-	{0x0746, 220, 0, 0},
-	{0x0747, 230, 0, 0},
-	{0x0748, 220, 0, 0},
-	{0x0749, 230, 0, 0},
-	{0x074A, 230, 0, 0},
-	{0x07EB, 230, 0, 0},
-	{0x07EC, 230, 0, 0},
-	{0x07ED, 230, 0, 0},
-	{0x07EE, 230, 0, 0},
-	{0x07EF, 230, 0, 0},
-	{0x07F0, 230, 0, 0},
-	{0x07F1, 230, 0, 0},
-	{0x07F2, 220, 0, 0},
-	{0x07F3, 230, 0, 0},
-	{0x07FD, 220, 0, 0},
-	{0x0816, 230, 0, 0},
-	{0x0817, 230, 0, 0},
-	{0x0818, 230, 0, 0},
-	{0x0819, 230, 0, 0},
-	{0x081B, 230, 0, 0},
-	{0x081C, 230, 0, 0},
-	{0x081D, 230, 0, 0},
-	{0x081E, 230, 0, 0},
-	{0x081F, 230, 0, 0},
-	{0x0820, 230, 0, 0},
-	{0x0821, 230, 0, 0},
-	{0x0822, 230, 0, 0},
-	{0x0823, 230, 0, 0},
-	{0x0825, 230, 0, 0},
-	{0x0826, 230, 0, 0},
-	{0x0827, 230, 0, 0},
-	{0x0829, 230, 0, 0},
-	{0x082A, 230, 0, 0},
-	{0x082B, 230, 0, 0},
-	{0x082C, 230, 0, 0},
-	{0x082D, 230, 0, 0},
-	{0x0859, 220, 0, 0},
-	{0x085A, 220, 0, 0},
-	{0x085B, 220, 0, 0},
-	{0x08D3, 220, 0, 0},
-	{0x08D4, 230, 0, 0},
-	{0x08D5, 230, 0, 0},
-	{0x08D6, 230, 0, 0},
-	{0x08D7, 230, 0, 0},
-	{0x08D8, 230, 0, 0},
-	{0x08D9, 230, 0, 0},
-	{0x08DA, 230, 0, 0},
-	{0x08DB, 230, 0, 0},
-	{0x08DC, 230, 0, 0},
-	{0x08DD, 230, 0, 0},
-	{0x08DE, 230, 0, 0},
-	{0x08DF, 230, 0, 0},
-	{0x08E0, 230, 0, 0},
-	{0x08E1, 230, 0, 0},
-	{0x08E3, 220, 0, 0},
-	{0x08E4, 230, 0, 0},
-	{0x08E5, 230, 0, 0},
-	{0x08E6, 220, 0, 0},
-	{0x08E7, 230, 0, 0},
-	{0x08E8, 230, 0, 0},
-	{0x08E9, 220, 0, 0},
-	{0x08EA, 230, 0, 0},
-	{0x08EB, 230, 0, 0},
-	{0x08EC, 230, 0, 0},
-	{0x08ED, 220, 0, 0},
-	{0x08EE, 220, 0, 0},
-	{0x08EF, 220, 0, 0},
-	{0x08F0, 27, 0, 0},
-	{0x08F1, 28, 0, 0},
-	{0x08F2, 29, 0, 0},
-	{0x08F3, 230, 0, 0},
-	{0x08F4, 230, 0, 0},
-	{0x08F5, 230, 0, 0},
-	{0x08F6, 220, 0, 0},
-	{0x08F7, 230, 0, 0},
-	{0x08F8, 230, 0, 0},
-	{0x08F9, 220, 0, 0},
-	{0x08FA, 220, 0, 0},
-	{0x08FB, 230, 0, 0},
-	{0x08FC, 230, 0, 0},
-	{0x08FD, 230, 0, 0},
-	{0x08FE, 230, 0, 0},
-	{0x08FF, 230, 0, 0},
 	{0x0929, 0, 2, 749},
 	{0x0931, 0, 2, 751},
 	{0x0934, 0, 2, 753},
-	{0x093C, 7, 0, 0},
-	{0x094D, 9, 0, 0},
-	{0x0951, 230, 0, 0},
-	{0x0952, 220, 0, 0},
-	{0x0953, 230, 0, 0},
-	{0x0954, 230, 0, 0},
-	{0x0958, 0, 2 | DECOMP_NO_COMPOSE, 755},	/* in exclusion list */
-	{0x0959, 0, 2 | DECOMP_NO_COMPOSE, 757},	/* in exclusion list */
-	{0x095A, 0, 2 | DECOMP_NO_COMPOSE, 759},	/* in exclusion list */
-	{0x095B, 0, 2 | DECOMP_NO_COMPOSE, 761},	/* in exclusion list */
-	{0x095C, 0, 2 | DECOMP_NO_COMPOSE, 763},	/* in exclusion list */
-	{0x095D, 0, 2 | DECOMP_NO_COMPOSE, 765},	/* in exclusion list */
-	{0x095E, 0, 2 | DECOMP_NO_COMPOSE, 767},	/* in exclusion list */
-	{0x095F, 0, 2 | DECOMP_NO_COMPOSE, 769},	/* in exclusion list */
-	{0x09BC, 7, 0, 0},
 	{0x09CB, 0, 2, 771},
 	{0x09CC, 0, 2, 773},
-	{0x09CD, 9, 0, 0},
-	{0x09DC, 0, 2 | DECOMP_NO_COMPOSE, 775},	/* in exclusion list */
-	{0x09DD, 0, 2 | DECOMP_NO_COMPOSE, 777},	/* in exclusion list */
-	{0x09DF, 0, 2 | DECOMP_NO_COMPOSE, 779},	/* in exclusion list */
-	{0x09FE, 230, 0, 0},
-	{0x0A33, 0, 2 | DECOMP_NO_COMPOSE, 781},	/* in exclusion list */
-	{0x0A36, 0, 2 | DECOMP_NO_COMPOSE, 783},	/* in exclusion list */
-	{0x0A3C, 7, 0, 0},
-	{0x0A4D, 9, 0, 0},
-	{0x0A59, 0, 2 | DECOMP_NO_COMPOSE, 785},	/* in exclusion list */
-	{0x0A5A, 0, 2 | DECOMP_NO_COMPOSE, 787},	/* in exclusion list */
-	{0x0A5B, 0, 2 | DECOMP_NO_COMPOSE, 789},	/* in exclusion list */
-	{0x0A5E, 0, 2 | DECOMP_NO_COMPOSE, 791},	/* in exclusion list */
-	{0x0ABC, 7, 0, 0},
-	{0x0ACD, 9, 0, 0},
-	{0x0B3C, 7, 0, 0},
 	{0x0B48, 0, 2, 793},
 	{0x0B4B, 0, 2, 795},
 	{0x0B4C, 0, 2, 797},
-	{0x0B4D, 9, 0, 0},
-	{0x0B5C, 0, 2 | DECOMP_NO_COMPOSE, 799},	/* in exclusion list */
-	{0x0B5D, 0, 2 | DECOMP_NO_COMPOSE, 801},	/* in exclusion list */
 	{0x0B94, 0, 2, 803},
 	{0x0BCA, 0, 2, 805},
 	{0x0BCB, 0, 2, 807},
 	{0x0BCC, 0, 2, 809},
-	{0x0BCD, 9, 0, 0},
 	{0x0C48, 0, 2, 811},
-	{0x0C4D, 9, 0, 0},
-	{0x0C55, 84, 0, 0},
-	{0x0C56, 91, 0, 0},
-	{0x0CBC, 7, 0, 0},
 	{0x0CC0, 0, 2, 813},
 	{0x0CC7, 0, 2, 815},
 	{0x0CC8, 0, 2, 817},
 	{0x0CCA, 0, 2, 819},
 	{0x0CCB, 0, 2, 821},
-	{0x0CCD, 9, 0, 0},
-	{0x0D3B, 9, 0, 0},
-	{0x0D3C, 9, 0, 0},
 	{0x0D4A, 0, 2, 823},
 	{0x0D4B, 0, 2, 825},
 	{0x0D4C, 0, 2, 827},
-	{0x0D4D, 9, 0, 0},
-	{0x0DCA, 9, 0, 0},
 	{0x0DDA, 0, 2, 829},
 	{0x0DDC, 0, 2, 831},
 	{0x0DDD, 0, 2, 833},
 	{0x0DDE, 0, 2, 835},
-	{0x0E33, 0, 2 | DECOMP_COMPAT, 837},
-	{0x0E38, 103, 0, 0},
-	{0x0E39, 103, 0, 0},
-	{0x0E3A, 9, 0, 0},
-	{0x0E48, 107, 0, 0},
-	{0x0E49, 107, 0, 0},
-	{0x0E4A, 107, 0, 0},
-	{0x0E4B, 107, 0, 0},
-	{0x0EB3, 0, 2 | DECOMP_COMPAT, 839},
-	{0x0EB8, 118, 0, 0},
-	{0x0EB9, 118, 0, 0},
-	{0x0EBA, 9, 0, 0},
-	{0x0EC8, 122, 0, 0},
-	{0x0EC9, 122, 0, 0},
-	{0x0ECA, 122, 0, 0},
-	{0x0ECB, 122, 0, 0},
-	{0x0EDC, 0, 2 | DECOMP_COMPAT, 841},
-	{0x0EDD, 0, 2 | DECOMP_COMPAT, 843},
-	{0x0F0C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0F0B},
-	{0x0F18, 220, 0, 0},
-	{0x0F19, 220, 0, 0},
-	{0x0F35, 220, 0, 0},
-	{0x0F37, 220, 0, 0},
-	{0x0F39, 216, 0, 0},
-	{0x0F43, 0, 2 | DECOMP_NO_COMPOSE, 845},	/* in exclusion list */
-	{0x0F4D, 0, 2 | DECOMP_NO_COMPOSE, 847},	/* in exclusion list */
-	{0x0F52, 0, 2 | DECOMP_NO_COMPOSE, 849},	/* in exclusion list */
-	{0x0F57, 0, 2 | DECOMP_NO_COMPOSE, 851},	/* in exclusion list */
-	{0x0F5C, 0, 2 | DECOMP_NO_COMPOSE, 853},	/* in exclusion list */
-	{0x0F69, 0, 2 | DECOMP_NO_COMPOSE, 855},	/* in exclusion list */
-	{0x0F71, 129, 0, 0},
-	{0x0F72, 130, 0, 0},
-	{0x0F73, 0, 2 | DECOMP_NO_COMPOSE, 857},	/* non-starter decomposition */
-	{0x0F74, 132, 0, 0},
-	{0x0F75, 0, 2 | DECOMP_NO_COMPOSE, 859},	/* non-starter decomposition */
-	{0x0F76, 0, 2 | DECOMP_NO_COMPOSE, 861},	/* in exclusion list */
-	{0x0F77, 0, 2 | DECOMP_COMPAT, 863},
-	{0x0F78, 0, 2 | DECOMP_NO_COMPOSE, 865},	/* in exclusion list */
-	{0x0F79, 0, 2 | DECOMP_COMPAT, 867},
-	{0x0F7A, 130, 0, 0},
-	{0x0F7B, 130, 0, 0},
-	{0x0F7C, 130, 0, 0},
-	{0x0F7D, 130, 0, 0},
-	{0x0F80, 130, 0, 0},
-	{0x0F81, 0, 2 | DECOMP_NO_COMPOSE, 869},	/* non-starter decomposition */
-	{0x0F82, 230, 0, 0},
-	{0x0F83, 230, 0, 0},
-	{0x0F84, 9, 0, 0},
-	{0x0F86, 230, 0, 0},
-	{0x0F87, 230, 0, 0},
-	{0x0F93, 0, 2 | DECOMP_NO_COMPOSE, 871},	/* in exclusion list */
-	{0x0F9D, 0, 2 | DECOMP_NO_COMPOSE, 873},	/* in exclusion list */
-	{0x0FA2, 0, 2 | DECOMP_NO_COMPOSE, 875},	/* in exclusion list */
-	{0x0FA7, 0, 2 | DECOMP_NO_COMPOSE, 877},	/* in exclusion list */
-	{0x0FAC, 0, 2 | DECOMP_NO_COMPOSE, 879},	/* in exclusion list */
-	{0x0FB9, 0, 2 | DECOMP_NO_COMPOSE, 881},	/* in exclusion list */
-	{0x0FC6, 220, 0, 0},
 	{0x1026, 0, 2, 883},
-	{0x1037, 7, 0, 0},
-	{0x1039, 9, 0, 0},
-	{0x103A, 9, 0, 0},
-	{0x108D, 220, 0, 0},
-	{0x10FC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x10DC},
-	{0x135D, 230, 0, 0},
-	{0x135E, 230, 0, 0},
-	{0x135F, 230, 0, 0},
-	{0x1714, 9, 0, 0},
-	{0x1734, 9, 0, 0},
-	{0x17D2, 9, 0, 0},
-	{0x17DD, 230, 0, 0},
-	{0x18A9, 228, 0, 0},
-	{0x1939, 222, 0, 0},
-	{0x193A, 230, 0, 0},
-	{0x193B, 220, 0, 0},
-	{0x1A17, 230, 0, 0},
-	{0x1A18, 220, 0, 0},
-	{0x1A60, 9, 0, 0},
-	{0x1A75, 230, 0, 0},
-	{0x1A76, 230, 0, 0},
-	{0x1A77, 230, 0, 0},
-	{0x1A78, 230, 0, 0},
-	{0x1A79, 230, 0, 0},
-	{0x1A7A, 230, 0, 0},
-	{0x1A7B, 230, 0, 0},
-	{0x1A7C, 230, 0, 0},
-	{0x1A7F, 220, 0, 0},
-	{0x1AB0, 230, 0, 0},
-	{0x1AB1, 230, 0, 0},
-	{0x1AB2, 230, 0, 0},
-	{0x1AB3, 230, 0, 0},
-	{0x1AB4, 230, 0, 0},
-	{0x1AB5, 220, 0, 0},
-	{0x1AB6, 220, 0, 0},
-	{0x1AB7, 220, 0, 0},
-	{0x1AB8, 220, 0, 0},
-	{0x1AB9, 220, 0, 0},
-	{0x1ABA, 220, 0, 0},
-	{0x1ABB, 230, 0, 0},
-	{0x1ABC, 230, 0, 0},
-	{0x1ABD, 220, 0, 0},
-	{0x1ABF, 220, 0, 0},
-	{0x1AC0, 220, 0, 0},
 	{0x1B06, 0, 2, 885},
 	{0x1B08, 0, 2, 887},
 	{0x1B0A, 0, 2, 889},
 	{0x1B0C, 0, 2, 891},
 	{0x1B0E, 0, 2, 893},
 	{0x1B12, 0, 2, 895},
-	{0x1B34, 7, 0, 0},
 	{0x1B3B, 0, 2, 897},
 	{0x1B3D, 0, 2, 899},
 	{0x1B40, 0, 2, 901},
 	{0x1B41, 0, 2, 903},
 	{0x1B43, 0, 2, 905},
-	{0x1B44, 9, 0, 0},
-	{0x1B6B, 230, 0, 0},
-	{0x1B6C, 220, 0, 0},
-	{0x1B6D, 230, 0, 0},
-	{0x1B6E, 230, 0, 0},
-	{0x1B6F, 230, 0, 0},
-	{0x1B70, 230, 0, 0},
-	{0x1B71, 230, 0, 0},
-	{0x1B72, 230, 0, 0},
-	{0x1B73, 230, 0, 0},
-	{0x1BAA, 9, 0, 0},
-	{0x1BAB, 9, 0, 0},
-	{0x1BE6, 7, 0, 0},
-	{0x1BF2, 9, 0, 0},
-	{0x1BF3, 9, 0, 0},
-	{0x1C37, 7, 0, 0},
-	{0x1CD0, 230, 0, 0},
-	{0x1CD1, 230, 0, 0},
-	{0x1CD2, 230, 0, 0},
-	{0x1CD4, 1, 0, 0},
-	{0x1CD5, 220, 0, 0},
-	{0x1CD6, 220, 0, 0},
-	{0x1CD7, 220, 0, 0},
-	{0x1CD8, 220, 0, 0},
-	{0x1CD9, 220, 0, 0},
-	{0x1CDA, 230, 0, 0},
-	{0x1CDB, 230, 0, 0},
-	{0x1CDC, 220, 0, 0},
-	{0x1CDD, 220, 0, 0},
-	{0x1CDE, 220, 0, 0},
-	{0x1CDF, 220, 0, 0},
-	{0x1CE0, 230, 0, 0},
-	{0x1CE2, 1, 0, 0},
-	{0x1CE3, 1, 0, 0},
-	{0x1CE4, 1, 0, 0},
-	{0x1CE5, 1, 0, 0},
-	{0x1CE6, 1, 0, 0},
-	{0x1CE7, 1, 0, 0},
-	{0x1CE8, 1, 0, 0},
-	{0x1CED, 220, 0, 0},
-	{0x1CF4, 230, 0, 0},
-	{0x1CF8, 230, 0, 0},
-	{0x1CF9, 230, 0, 0},
-	{0x1D2C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0041},
-	{0x1D2D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x00C6},
-	{0x1D2E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0042},
-	{0x1D30, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0044},
-	{0x1D31, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0045},
-	{0x1D32, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x018E},
-	{0x1D33, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0047},
-	{0x1D34, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0048},
-	{0x1D35, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0049},
-	{0x1D36, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004A},
-	{0x1D37, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004B},
-	{0x1D38, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004C},
-	{0x1D39, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004D},
-	{0x1D3A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004E},
-	{0x1D3C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004F},
-	{0x1D3D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0222},
-	{0x1D3E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0050},
-	{0x1D3F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0052},
-	{0x1D40, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0054},
-	{0x1D41, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0055},
-	{0x1D42, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0057},
-	{0x1D43, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0061},
-	{0x1D44, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0250},
-	{0x1D45, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0251},
-	{0x1D46, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D02},
-	{0x1D47, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0062},
-	{0x1D48, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0064},
-	{0x1D49, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0065},
-	{0x1D4A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0259},
-	{0x1D4B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025B},
-	{0x1D4C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025C},
-	{0x1D4D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0067},
-	{0x1D4F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006B},
-	{0x1D50, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006D},
-	{0x1D51, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x014B},
-	{0x1D52, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006F},
-	{0x1D53, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0254},
-	{0x1D54, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D16},
-	{0x1D55, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D17},
-	{0x1D56, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0070},
-	{0x1D57, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0074},
-	{0x1D58, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0075},
-	{0x1D59, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D1D},
-	{0x1D5A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026F},
-	{0x1D5B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0076},
-	{0x1D5C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D25},
-	{0x1D5D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
-	{0x1D5E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B3},
-	{0x1D5F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B4},
-	{0x1D60, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
-	{0x1D61, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C7},
-	{0x1D62, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0069},
-	{0x1D63, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0072},
-	{0x1D64, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0075},
-	{0x1D65, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0076},
-	{0x1D66, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
-	{0x1D67, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B3},
-	{0x1D68, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C1},
-	{0x1D69, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
-	{0x1D6A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C7},
-	{0x1D78, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x043D},
-	{0x1D9B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0252},
-	{0x1D9C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0063},
-	{0x1D9D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0255},
-	{0x1D9E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x00F0},
-	{0x1D9F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025C},
-	{0x1DA0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0066},
-	{0x1DA1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025F},
-	{0x1DA2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0261},
-	{0x1DA3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0265},
-	{0x1DA4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0268},
-	{0x1DA5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0269},
-	{0x1DA6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026A},
-	{0x1DA7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D7B},
-	{0x1DA8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x029D},
-	{0x1DA9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026D},
-	{0x1DAA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D85},
-	{0x1DAB, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x029F},
-	{0x1DAC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0271},
-	{0x1DAD, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0270},
-	{0x1DAE, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0272},
-	{0x1DAF, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0273},
-	{0x1DB0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0274},
-	{0x1DB1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0275},
-	{0x1DB2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0278},
-	{0x1DB3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0282},
-	{0x1DB4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0283},
-	{0x1DB5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x01AB},
-	{0x1DB6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0289},
-	{0x1DB7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028A},
-	{0x1DB8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D1C},
-	{0x1DB9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028B},
-	{0x1DBA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028C},
-	{0x1DBB, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x007A},
-	{0x1DBC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0290},
-	{0x1DBD, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0291},
-	{0x1DBE, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0292},
-	{0x1DBF, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B8},
-	{0x1DC0, 230, 0, 0},
-	{0x1DC1, 230, 0, 0},
-	{0x1DC2, 220, 0, 0},
-	{0x1DC3, 230, 0, 0},
-	{0x1DC4, 230, 0, 0},
-	{0x1DC5, 230, 0, 0},
-	{0x1DC6, 230, 0, 0},
-	{0x1DC7, 230, 0, 0},
-	{0x1DC8, 230, 0, 0},
-	{0x1DC9, 230, 0, 0},
-	{0x1DCA, 220, 0, 0},
-	{0x1DCB, 230, 0, 0},
-	{0x1DCC, 230, 0, 0},
-	{0x1DCD, 234, 0, 0},
-	{0x1DCE, 214, 0, 0},
-	{0x1DCF, 220, 0, 0},
-	{0x1DD0, 202, 0, 0},
-	{0x1DD1, 230, 0, 0},
-	{0x1DD2, 230, 0, 0},
-	{0x1DD3, 230, 0, 0},
-	{0x1DD4, 230, 0, 0},
-	{0x1DD5, 230, 0, 0},
-	{0x1DD6, 230, 0, 0},
-	{0x1DD7, 230, 0, 0},
-	{0x1DD8, 230, 0, 0},
-	{0x1DD9, 230, 0, 0},
-	{0x1DDA, 230, 0, 0},
-	{0x1DDB, 230, 0, 0},
-	{0x1DDC, 230, 0, 0},
-	{0x1DDD, 230, 0, 0},
-	{0x1DDE, 230, 0, 0},
-	{0x1DDF, 230, 0, 0},
-	{0x1DE0, 230, 0, 0},
-	{0x1DE1, 230, 0, 0},
-	{0x1DE2, 230, 0, 0},
-	{0x1DE3, 230, 0, 0},
-	{0x1DE4, 230, 0, 0},
-	{0x1DE5, 230, 0, 0},
-	{0x1DE6, 230, 0, 0},
-	{0x1DE7, 230, 0, 0},
-	{0x1DE8, 230, 0, 0},
-	{0x1DE9, 230, 0, 0},
-	{0x1DEA, 230, 0, 0},
-	{0x1DEB, 230, 0, 0},
-	{0x1DEC, 230, 0, 0},
-	{0x1DED, 230, 0, 0},
-	{0x1DEE, 230, 0, 0},
-	{0x1DEF, 230, 0, 0},
-	{0x1DF0, 230, 0, 0},
-	{0x1DF1, 230, 0, 0},
-	{0x1DF2, 230, 0, 0},
-	{0x1DF3, 230, 0, 0},
-	{0x1DF4, 230, 0, 0},
-	{0x1DF5, 230, 0, 0},
-	{0x1DF6, 232, 0, 0},
-	{0x1DF7, 228, 0, 0},
-	{0x1DF8, 228, 0, 0},
-	{0x1DF9, 220, 0, 0},
-	{0x1DFB, 230, 0, 0},
-	{0x1DFC, 233, 0, 0},
-	{0x1DFD, 220, 0, 0},
-	{0x1DFE, 230, 0, 0},
-	{0x1DFF, 220, 0, 0},
 	{0x1E00, 0, 2, 907},
 	{0x1E01, 0, 2, 909},
 	{0x1E02, 0, 2, 911},
@@ -1312,7 +575,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x1E97, 0, 2, 1209},
 	{0x1E98, 0, 2, 1211},
 	{0x1E99, 0, 2, 1213},
-	{0x1E9A, 0, 2 | DECOMP_COMPAT, 1215},
 	{0x1E9B, 0, 2, 1217},
 	{0x1EA0, 0, 2, 1219},
 	{0x1EA1, 0, 2, 1221},
@@ -1505,136 +767,1000 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x1F6E, 0, 2, 1595},
 	{0x1F6F, 0, 2, 1597},
 	{0x1F70, 0, 2, 1599},
+	{0x1F72, 0, 2, 1601},
+	{0x1F74, 0, 2, 1603},
+	{0x1F76, 0, 2, 1605},
+	{0x1F78, 0, 2, 1607},
+	{0x1F7A, 0, 2, 1609},
+	{0x1F7C, 0, 2, 1611},
+	{0x1F80, 0, 2, 1613},
+	{0x1F81, 0, 2, 1615},
+	{0x1F82, 0, 2, 1617},
+	{0x1F83, 0, 2, 1619},
+	{0x1F84, 0, 2, 1621},
+	{0x1F85, 0, 2, 1623},
+	{0x1F86, 0, 2, 1625},
+	{0x1F87, 0, 2, 1627},
+	{0x1F88, 0, 2, 1629},
+	{0x1F89, 0, 2, 1631},
+	{0x1F8A, 0, 2, 1633},
+	{0x1F8B, 0, 2, 1635},
+	{0x1F8C, 0, 2, 1637},
+	{0x1F8D, 0, 2, 1639},
+	{0x1F8E, 0, 2, 1641},
+	{0x1F8F, 0, 2, 1643},
+	{0x1F90, 0, 2, 1645},
+	{0x1F91, 0, 2, 1647},
+	{0x1F92, 0, 2, 1649},
+	{0x1F93, 0, 2, 1651},
+	{0x1F94, 0, 2, 1653},
+	{0x1F95, 0, 2, 1655},
+	{0x1F96, 0, 2, 1657},
+	{0x1F97, 0, 2, 1659},
+	{0x1F98, 0, 2, 1661},
+	{0x1F99, 0, 2, 1663},
+	{0x1F9A, 0, 2, 1665},
+	{0x1F9B, 0, 2, 1667},
+	{0x1F9C, 0, 2, 1669},
+	{0x1F9D, 0, 2, 1671},
+	{0x1F9E, 0, 2, 1673},
+	{0x1F9F, 0, 2, 1675},
+	{0x1FA0, 0, 2, 1677},
+	{0x1FA1, 0, 2, 1679},
+	{0x1FA2, 0, 2, 1681},
+	{0x1FA3, 0, 2, 1683},
+	{0x1FA4, 0, 2, 1685},
+	{0x1FA5, 0, 2, 1687},
+	{0x1FA6, 0, 2, 1689},
+	{0x1FA7, 0, 2, 1691},
+	{0x1FA8, 0, 2, 1693},
+	{0x1FA9, 0, 2, 1695},
+	{0x1FAA, 0, 2, 1697},
+	{0x1FAB, 0, 2, 1699},
+	{0x1FAC, 0, 2, 1701},
+	{0x1FAD, 0, 2, 1703},
+	{0x1FAE, 0, 2, 1705},
+	{0x1FAF, 0, 2, 1707},
+	{0x1FB0, 0, 2, 1709},
+	{0x1FB1, 0, 2, 1711},
+	{0x1FB2, 0, 2, 1713},
+	{0x1FB3, 0, 2, 1715},
+	{0x1FB4, 0, 2, 1717},
+	{0x1FB6, 0, 2, 1719},
+	{0x1FB7, 0, 2, 1721},
+	{0x1FB8, 0, 2, 1723},
+	{0x1FB9, 0, 2, 1725},
+	{0x1FBA, 0, 2, 1727},
+	{0x1FBC, 0, 2, 1729},
+	{0x1FC1, 0, 2, 1737},
+	{0x1FC2, 0, 2, 1739},
+	{0x1FC3, 0, 2, 1741},
+	{0x1FC4, 0, 2, 1743},
+	{0x1FC6, 0, 2, 1745},
+	{0x1FC7, 0, 2, 1747},
+	{0x1FC8, 0, 2, 1749},
+	{0x1FCA, 0, 2, 1751},
+	{0x1FCC, 0, 2, 1753},
+	{0x1FCD, 0, 2, 1755},
+	{0x1FCE, 0, 2, 1757},
+	{0x1FCF, 0, 2, 1759},
+	{0x1FD0, 0, 2, 1761},
+	{0x1FD1, 0, 2, 1763},
+	{0x1FD2, 0, 2, 1765},
+	{0x1FD6, 0, 2, 1767},
+	{0x1FD7, 0, 2, 1769},
+	{0x1FD8, 0, 2, 1771},
+	{0x1FD9, 0, 2, 1773},
+	{0x1FDA, 0, 2, 1775},
+	{0x1FDD, 0, 2, 1777},
+	{0x1FDE, 0, 2, 1779},
+	{0x1FDF, 0, 2, 1781},
+	{0x1FE0, 0, 2, 1783},
+	{0x1FE1, 0, 2, 1785},
+	{0x1FE2, 0, 2, 1787},
+	{0x1FE4, 0, 2, 1789},
+	{0x1FE5, 0, 2, 1791},
+	{0x1FE6, 0, 2, 1793},
+	{0x1FE7, 0, 2, 1795},
+	{0x1FE8, 0, 2, 1797},
+	{0x1FE9, 0, 2, 1799},
+	{0x1FEA, 0, 2, 1801},
+	{0x1FEC, 0, 2, 1803},
+	{0x1FED, 0, 2, 1805},
+	{0x1FF2, 0, 2, 1807},
+	{0x1FF3, 0, 2, 1809},
+	{0x1FF4, 0, 2, 1811},
+	{0x1FF6, 0, 2, 1813},
+	{0x1FF7, 0, 2, 1815},
+	{0x1FF8, 0, 2, 1817},
+	{0x1FFA, 0, 2, 1819},
+	{0x1FFC, 0, 2, 1821},
+	{0x219A, 0, 2, 1983},
+	{0x219B, 0, 2, 1985},
+	{0x21AE, 0, 2, 1987},
+	{0x21CD, 0, 2, 1989},
+	{0x21CE, 0, 2, 1991},
+	{0x21CF, 0, 2, 1993},
+	{0x2204, 0, 2, 1995},
+	{0x2209, 0, 2, 1997},
+	{0x220C, 0, 2, 1999},
+	{0x2224, 0, 2, 2001},
+	{0x2226, 0, 2, 2003},
+	{0x2241, 0, 2, 2015},
+	{0x2244, 0, 2, 2017},
+	{0x2247, 0, 2, 2019},
+	{0x2249, 0, 2, 2021},
+	{0x2260, 0, 2, 2023},
+	{0x2262, 0, 2, 2025},
+	{0x226D, 0, 2, 2027},
+	{0x226E, 0, 2, 2029},
+	{0x226F, 0, 2, 2031},
+	{0x2270, 0, 2, 2033},
+	{0x2271, 0, 2, 2035},
+	{0x2274, 0, 2, 2037},
+	{0x2275, 0, 2, 2039},
+	{0x2278, 0, 2, 2041},
+	{0x2279, 0, 2, 2043},
+	{0x2280, 0, 2, 2045},
+	{0x2281, 0, 2, 2047},
+	{0x2284, 0, 2, 2049},
+	{0x2285, 0, 2, 2051},
+	{0x2288, 0, 2, 2053},
+	{0x2289, 0, 2, 2055},
+	{0x22AC, 0, 2, 2057},
+	{0x22AD, 0, 2, 2059},
+	{0x22AE, 0, 2, 2061},
+	{0x22AF, 0, 2, 2063},
+	{0x22E0, 0, 2, 2065},
+	{0x22E1, 0, 2, 2067},
+	{0x22E2, 0, 2, 2069},
+	{0x22E3, 0, 2, 2071},
+	{0x22EA, 0, 2, 2073},
+	{0x22EB, 0, 2, 2075},
+	{0x22EC, 0, 2, 2077},
+	{0x22ED, 0, 2, 2079},
+	{0x304C, 0, 2, 2317},
+	{0x304E, 0, 2, 2319},
+	{0x3050, 0, 2, 2321},
+	{0x3052, 0, 2, 2323},
+	{0x3054, 0, 2, 2325},
+	{0x3056, 0, 2, 2327},
+	{0x3058, 0, 2, 2329},
+	{0x305A, 0, 2, 2331},
+	{0x305C, 0, 2, 2333},
+	{0x305E, 0, 2, 2335},
+	{0x3060, 0, 2, 2337},
+	{0x3062, 0, 2, 2339},
+	{0x3065, 0, 2, 2341},
+	{0x3067, 0, 2, 2343},
+	{0x3069, 0, 2, 2345},
+	{0x3070, 0, 2, 2347},
+	{0x3071, 0, 2, 2349},
+	{0x3073, 0, 2, 2351},
+	{0x3074, 0, 2, 2353},
+	{0x3076, 0, 2, 2355},
+	{0x3077, 0, 2, 2357},
+	{0x3079, 0, 2, 2359},
+	{0x307A, 0, 2, 2361},
+	{0x307C, 0, 2, 2363},
+	{0x307D, 0, 2, 2365},
+	{0x3094, 0, 2, 2367},
+	{0x309E, 0, 2, 2373},
+	{0x30AC, 0, 2, 2377},
+	{0x30AE, 0, 2, 2379},
+	{0x30B0, 0, 2, 2381},
+	{0x30B2, 0, 2, 2383},
+	{0x30B4, 0, 2, 2385},
+	{0x30B6, 0, 2, 2387},
+	{0x30B8, 0, 2, 2389},
+	{0x30BA, 0, 2, 2391},
+	{0x30BC, 0, 2, 2393},
+	{0x30BE, 0, 2, 2395},
+	{0x30C0, 0, 2, 2397},
+	{0x30C2, 0, 2, 2399},
+	{0x30C5, 0, 2, 2401},
+	{0x30C7, 0, 2, 2403},
+	{0x30C9, 0, 2, 2405},
+	{0x30D0, 0, 2, 2407},
+	{0x30D1, 0, 2, 2409},
+	{0x30D3, 0, 2, 2411},
+	{0x30D4, 0, 2, 2413},
+	{0x30D6, 0, 2, 2415},
+	{0x30D7, 0, 2, 2417},
+	{0x30D9, 0, 2, 2419},
+	{0x30DA, 0, 2, 2421},
+	{0x30DC, 0, 2, 2423},
+	{0x30DD, 0, 2, 2425},
+	{0x30F4, 0, 2, 2427},
+	{0x30F7, 0, 2, 2429},
+	{0x30F8, 0, 2, 2431},
+	{0x30F9, 0, 2, 2433},
+	{0x30FA, 0, 2, 2435},
+	{0x30FE, 0, 2, 2437},
+	{0x1109A, 0, 2, 4776},
+	{0x1109C, 0, 2, 4778},
+	{0x110AB, 0, 2, 4780},
+	{0x1112E, 0, 2, 4782},
+	{0x1112F, 0, 2, 4784},
+	{0x1134B, 0, 2, 4786},
+	{0x1134C, 0, 2, 4788},
+	{0x114BB, 0, 2, 4790},
+	{0x114BC, 0, 2, 4792},
+	{0x114BE, 0, 2, 4794},
+	{0x115BA, 0, 2, 4796},
+	{0x115BB, 0, 2, 4798},
+	{0x11938, 0, 2, 4800},
+	{0x00A0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0020},
+	{0x00A8, 0, 2 | DECOMP_COMPAT, 0},
+	{0x00AA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0061},
+	{0x00AF, 0, 2 | DECOMP_COMPAT, 2},
+	{0x00B2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0032},
+	{0x00B3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0033},
+	{0x00B4, 0, 2 | DECOMP_COMPAT, 4},
+	{0x00B5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03BC},
+	{0x00B8, 0, 2 | DECOMP_COMPAT, 6},
+	{0x00B9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0031},
+	{0x00BA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006F},
+	{0x00BC, 0, 3 | DECOMP_COMPAT, 8},
+	{0x00BD, 0, 3 | DECOMP_COMPAT, 11},
+	{0x00BE, 0, 3 | DECOMP_COMPAT, 14},
+	{0x0132, 0, 2 | DECOMP_COMPAT, 213},
+	{0x0133, 0, 2 | DECOMP_COMPAT, 215},
+	{0x013F, 0, 2 | DECOMP_COMPAT, 237},
+	{0x0140, 0, 2 | DECOMP_COMPAT, 239},
+	{0x0149, 0, 2 | DECOMP_COMPAT, 253},
+	{0x017F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0073},
+	{0x01C4, 0, 2 | DECOMP_COMPAT, 357},
+	{0x01C5, 0, 2 | DECOMP_COMPAT, 359},
+	{0x01C6, 0, 2 | DECOMP_COMPAT, 361},
+	{0x01C7, 0, 2 | DECOMP_COMPAT, 363},
+	{0x01C8, 0, 2 | DECOMP_COMPAT, 365},
+	{0x01C9, 0, 2 | DECOMP_COMPAT, 367},
+	{0x01CA, 0, 2 | DECOMP_COMPAT, 369},
+	{0x01CB, 0, 2 | DECOMP_COMPAT, 371},
+	{0x01CC, 0, 2 | DECOMP_COMPAT, 373},
+	{0x01F1, 0, 2 | DECOMP_COMPAT, 441},
+	{0x01F2, 0, 2 | DECOMP_COMPAT, 443},
+	{0x01F3, 0, 2 | DECOMP_COMPAT, 445},
+	{0x02B0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0068},
+	{0x02B1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0266},
+	{0x02B2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006A},
+	{0x02B3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0072},
+	{0x02B4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0279},
+	{0x02B5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x027B},
+	{0x02B6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0281},
+	{0x02B7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0077},
+	{0x02B8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0079},
+	{0x02D8, 0, 2 | DECOMP_COMPAT, 555},
+	{0x02D9, 0, 2 | DECOMP_COMPAT, 557},
+	{0x02DA, 0, 2 | DECOMP_COMPAT, 559},
+	{0x02DB, 0, 2 | DECOMP_COMPAT, 561},
+	{0x02DC, 0, 2 | DECOMP_COMPAT, 563},
+	{0x02DD, 0, 2 | DECOMP_COMPAT, 565},
+	{0x02E0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0263},
+	{0x02E1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006C},
+	{0x02E2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0073},
+	{0x02E3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0078},
+	{0x02E4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0295},
+	{0x0300, 230, 0, 0},
+	{0x0301, 230, 0, 0},
+	{0x0302, 230, 0, 0},
+	{0x0303, 230, 0, 0},
+	{0x0304, 230, 0, 0},
+	{0x0305, 230, 0, 0},
+	{0x0306, 230, 0, 0},
+	{0x0307, 230, 0, 0},
+	{0x0308, 230, 0, 0},
+	{0x0309, 230, 0, 0},
+	{0x030A, 230, 0, 0},
+	{0x030B, 230, 0, 0},
+	{0x030C, 230, 0, 0},
+	{0x030D, 230, 0, 0},
+	{0x030E, 230, 0, 0},
+	{0x030F, 230, 0, 0},
+	{0x0310, 230, 0, 0},
+	{0x0311, 230, 0, 0},
+	{0x0312, 230, 0, 0},
+	{0x0313, 230, 0, 0},
+	{0x0314, 230, 0, 0},
+	{0x0315, 232, 0, 0},
+	{0x0316, 220, 0, 0},
+	{0x0317, 220, 0, 0},
+	{0x0318, 220, 0, 0},
+	{0x0319, 220, 0, 0},
+	{0x031A, 232, 0, 0},
+	{0x031B, 216, 0, 0},
+	{0x031C, 220, 0, 0},
+	{0x031D, 220, 0, 0},
+	{0x031E, 220, 0, 0},
+	{0x031F, 220, 0, 0},
+	{0x0320, 220, 0, 0},
+	{0x0321, 202, 0, 0},
+	{0x0322, 202, 0, 0},
+	{0x0323, 220, 0, 0},
+	{0x0324, 220, 0, 0},
+	{0x0325, 220, 0, 0},
+	{0x0326, 220, 0, 0},
+	{0x0327, 202, 0, 0},
+	{0x0328, 202, 0, 0},
+	{0x0329, 220, 0, 0},
+	{0x032A, 220, 0, 0},
+	{0x032B, 220, 0, 0},
+	{0x032C, 220, 0, 0},
+	{0x032D, 220, 0, 0},
+	{0x032E, 220, 0, 0},
+	{0x032F, 220, 0, 0},
+	{0x0330, 220, 0, 0},
+	{0x0331, 220, 0, 0},
+	{0x0332, 220, 0, 0},
+	{0x0333, 220, 0, 0},
+	{0x0334, 1, 0, 0},
+	{0x0335, 1, 0, 0},
+	{0x0336, 1, 0, 0},
+	{0x0337, 1, 0, 0},
+	{0x0338, 1, 0, 0},
+	{0x0339, 220, 0, 0},
+	{0x033A, 220, 0, 0},
+	{0x033B, 220, 0, 0},
+	{0x033C, 220, 0, 0},
+	{0x033D, 230, 0, 0},
+	{0x033E, 230, 0, 0},
+	{0x033F, 230, 0, 0},
+	{0x0340, 230, 1 | DECOMP_INLINE, 0x0300},
+	{0x0341, 230, 1 | DECOMP_INLINE, 0x0301},
+	{0x0342, 230, 0, 0},
+	{0x0343, 230, 1 | DECOMP_INLINE, 0x0313},
+	{0x0344, 230, 2 | DECOMP_NO_COMPOSE, 567},	/* non-starter decomposition */
+	{0x0345, 240, 0, 0},
+	{0x0346, 230, 0, 0},
+	{0x0347, 220, 0, 0},
+	{0x0348, 220, 0, 0},
+	{0x0349, 220, 0, 0},
+	{0x034A, 230, 0, 0},
+	{0x034B, 230, 0, 0},
+	{0x034C, 230, 0, 0},
+	{0x034D, 220, 0, 0},
+	{0x034E, 220, 0, 0},
+	{0x0350, 230, 0, 0},
+	{0x0351, 230, 0, 0},
+	{0x0352, 230, 0, 0},
+	{0x0353, 220, 0, 0},
+	{0x0354, 220, 0, 0},
+	{0x0355, 220, 0, 0},
+	{0x0356, 220, 0, 0},
+	{0x0357, 230, 0, 0},
+	{0x0358, 232, 0, 0},
+	{0x0359, 220, 0, 0},
+	{0x035A, 220, 0, 0},
+	{0x035B, 230, 0, 0},
+	{0x035C, 233, 0, 0},
+	{0x035D, 234, 0, 0},
+	{0x035E, 234, 0, 0},
+	{0x035F, 233, 0, 0},
+	{0x0360, 234, 0, 0},
+	{0x0361, 234, 0, 0},
+	{0x0362, 233, 0, 0},
+	{0x0363, 230, 0, 0},
+	{0x0364, 230, 0, 0},
+	{0x0365, 230, 0, 0},
+	{0x0366, 230, 0, 0},
+	{0x0367, 230, 0, 0},
+	{0x0368, 230, 0, 0},
+	{0x0369, 230, 0, 0},
+	{0x036A, 230, 0, 0},
+	{0x036B, 230, 0, 0},
+	{0x036C, 230, 0, 0},
+	{0x036D, 230, 0, 0},
+	{0x036E, 230, 0, 0},
+	{0x036F, 230, 0, 0},
+	{0x0374, 0, 1 | DECOMP_INLINE, 0x02B9},
+	{0x037A, 0, 2 | DECOMP_COMPAT, 569},
+	{0x037E, 0, 1 | DECOMP_INLINE, 0x003B},
+	{0x0384, 0, 2 | DECOMP_COMPAT, 571},
+	{0x0387, 0, 1 | DECOMP_INLINE, 0x00B7},
+	{0x03D0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
+	{0x03D1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B8},
+	{0x03D2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03A5},
+	{0x03D5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
+	{0x03D6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C0},
+	{0x03F0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03BA},
+	{0x03F1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C1},
+	{0x03F2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C2},
+	{0x03F4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0398},
+	{0x03F5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B5},
+	{0x03F9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03A3},
+	{0x0483, 230, 0, 0},
+	{0x0484, 230, 0, 0},
+	{0x0485, 230, 0, 0},
+	{0x0486, 230, 0, 0},
+	{0x0487, 230, 0, 0},
+	{0x0587, 0, 2 | DECOMP_COMPAT, 723},
+	{0x0591, 220, 0, 0},
+	{0x0592, 230, 0, 0},
+	{0x0593, 230, 0, 0},
+	{0x0594, 230, 0, 0},
+	{0x0595, 230, 0, 0},
+	{0x0596, 220, 0, 0},
+	{0x0597, 230, 0, 0},
+	{0x0598, 230, 0, 0},
+	{0x0599, 230, 0, 0},
+	{0x059A, 222, 0, 0},
+	{0x059B, 220, 0, 0},
+	{0x059C, 230, 0, 0},
+	{0x059D, 230, 0, 0},
+	{0x059E, 230, 0, 0},
+	{0x059F, 230, 0, 0},
+	{0x05A0, 230, 0, 0},
+	{0x05A1, 230, 0, 0},
+	{0x05A2, 220, 0, 0},
+	{0x05A3, 220, 0, 0},
+	{0x05A4, 220, 0, 0},
+	{0x05A5, 220, 0, 0},
+	{0x05A6, 220, 0, 0},
+	{0x05A7, 220, 0, 0},
+	{0x05A8, 230, 0, 0},
+	{0x05A9, 230, 0, 0},
+	{0x05AA, 220, 0, 0},
+	{0x05AB, 230, 0, 0},
+	{0x05AC, 230, 0, 0},
+	{0x05AD, 222, 0, 0},
+	{0x05AE, 228, 0, 0},
+	{0x05AF, 230, 0, 0},
+	{0x05B0, 10, 0, 0},
+	{0x05B1, 11, 0, 0},
+	{0x05B2, 12, 0, 0},
+	{0x05B3, 13, 0, 0},
+	{0x05B4, 14, 0, 0},
+	{0x05B5, 15, 0, 0},
+	{0x05B6, 16, 0, 0},
+	{0x05B7, 17, 0, 0},
+	{0x05B8, 18, 0, 0},
+	{0x05B9, 19, 0, 0},
+	{0x05BA, 19, 0, 0},
+	{0x05BB, 20, 0, 0},
+	{0x05BC, 21, 0, 0},
+	{0x05BD, 22, 0, 0},
+	{0x05BF, 23, 0, 0},
+	{0x05C1, 24, 0, 0},
+	{0x05C2, 25, 0, 0},
+	{0x05C4, 230, 0, 0},
+	{0x05C5, 220, 0, 0},
+	{0x05C7, 18, 0, 0},
+	{0x0610, 230, 0, 0},
+	{0x0611, 230, 0, 0},
+	{0x0612, 230, 0, 0},
+	{0x0613, 230, 0, 0},
+	{0x0614, 230, 0, 0},
+	{0x0615, 230, 0, 0},
+	{0x0616, 230, 0, 0},
+	{0x0617, 230, 0, 0},
+	{0x0618, 30, 0, 0},
+	{0x0619, 31, 0, 0},
+	{0x061A, 32, 0, 0},
+	{0x064B, 27, 0, 0},
+	{0x064C, 28, 0, 0},
+	{0x064D, 29, 0, 0},
+	{0x064E, 30, 0, 0},
+	{0x064F, 31, 0, 0},
+	{0x0650, 32, 0, 0},
+	{0x0651, 33, 0, 0},
+	{0x0652, 34, 0, 0},
+	{0x0653, 230, 0, 0},
+	{0x0654, 230, 0, 0},
+	{0x0655, 220, 0, 0},
+	{0x0656, 220, 0, 0},
+	{0x0657, 230, 0, 0},
+	{0x0658, 230, 0, 0},
+	{0x0659, 230, 0, 0},
+	{0x065A, 230, 0, 0},
+	{0x065B, 230, 0, 0},
+	{0x065C, 220, 0, 0},
+	{0x065D, 230, 0, 0},
+	{0x065E, 230, 0, 0},
+	{0x065F, 220, 0, 0},
+	{0x0670, 35, 0, 0},
+	{0x0675, 0, 2 | DECOMP_COMPAT, 735},
+	{0x0676, 0, 2 | DECOMP_COMPAT, 737},
+	{0x0677, 0, 2 | DECOMP_COMPAT, 739},
+	{0x0678, 0, 2 | DECOMP_COMPAT, 741},
+	{0x06D6, 230, 0, 0},
+	{0x06D7, 230, 0, 0},
+	{0x06D8, 230, 0, 0},
+	{0x06D9, 230, 0, 0},
+	{0x06DA, 230, 0, 0},
+	{0x06DB, 230, 0, 0},
+	{0x06DC, 230, 0, 0},
+	{0x06DF, 230, 0, 0},
+	{0x06E0, 230, 0, 0},
+	{0x06E1, 230, 0, 0},
+	{0x06E2, 230, 0, 0},
+	{0x06E3, 220, 0, 0},
+	{0x06E4, 230, 0, 0},
+	{0x06E7, 230, 0, 0},
+	{0x06E8, 230, 0, 0},
+	{0x06EA, 220, 0, 0},
+	{0x06EB, 230, 0, 0},
+	{0x06EC, 230, 0, 0},
+	{0x06ED, 220, 0, 0},
+	{0x0711, 36, 0, 0},
+	{0x0730, 230, 0, 0},
+	{0x0731, 220, 0, 0},
+	{0x0732, 230, 0, 0},
+	{0x0733, 230, 0, 0},
+	{0x0734, 220, 0, 0},
+	{0x0735, 230, 0, 0},
+	{0x0736, 230, 0, 0},
+	{0x0737, 220, 0, 0},
+	{0x0738, 220, 0, 0},
+	{0x0739, 220, 0, 0},
+	{0x073A, 230, 0, 0},
+	{0x073B, 220, 0, 0},
+	{0x073C, 220, 0, 0},
+	{0x073D, 230, 0, 0},
+	{0x073E, 220, 0, 0},
+	{0x073F, 230, 0, 0},
+	{0x0740, 230, 0, 0},
+	{0x0741, 230, 0, 0},
+	{0x0742, 220, 0, 0},
+	{0x0743, 230, 0, 0},
+	{0x0744, 220, 0, 0},
+	{0x0745, 230, 0, 0},
+	{0x0746, 220, 0, 0},
+	{0x0747, 230, 0, 0},
+	{0x0748, 220, 0, 0},
+	{0x0749, 230, 0, 0},
+	{0x074A, 230, 0, 0},
+	{0x07EB, 230, 0, 0},
+	{0x07EC, 230, 0, 0},
+	{0x07ED, 230, 0, 0},
+	{0x07EE, 230, 0, 0},
+	{0x07EF, 230, 0, 0},
+	{0x07F0, 230, 0, 0},
+	{0x07F1, 230, 0, 0},
+	{0x07F2, 220, 0, 0},
+	{0x07F3, 230, 0, 0},
+	{0x07FD, 220, 0, 0},
+	{0x0816, 230, 0, 0},
+	{0x0817, 230, 0, 0},
+	{0x0818, 230, 0, 0},
+	{0x0819, 230, 0, 0},
+	{0x081B, 230, 0, 0},
+	{0x081C, 230, 0, 0},
+	{0x081D, 230, 0, 0},
+	{0x081E, 230, 0, 0},
+	{0x081F, 230, 0, 0},
+	{0x0820, 230, 0, 0},
+	{0x0821, 230, 0, 0},
+	{0x0822, 230, 0, 0},
+	{0x0823, 230, 0, 0},
+	{0x0825, 230, 0, 0},
+	{0x0826, 230, 0, 0},
+	{0x0827, 230, 0, 0},
+	{0x0829, 230, 0, 0},
+	{0x082A, 230, 0, 0},
+	{0x082B, 230, 0, 0},
+	{0x082C, 230, 0, 0},
+	{0x082D, 230, 0, 0},
+	{0x0859, 220, 0, 0},
+	{0x085A, 220, 0, 0},
+	{0x085B, 220, 0, 0},
+	{0x08D3, 220, 0, 0},
+	{0x08D4, 230, 0, 0},
+	{0x08D5, 230, 0, 0},
+	{0x08D6, 230, 0, 0},
+	{0x08D7, 230, 0, 0},
+	{0x08D8, 230, 0, 0},
+	{0x08D9, 230, 0, 0},
+	{0x08DA, 230, 0, 0},
+	{0x08DB, 230, 0, 0},
+	{0x08DC, 230, 0, 0},
+	{0x08DD, 230, 0, 0},
+	{0x08DE, 230, 0, 0},
+	{0x08DF, 230, 0, 0},
+	{0x08E0, 230, 0, 0},
+	{0x08E1, 230, 0, 0},
+	{0x08E3, 220, 0, 0},
+	{0x08E4, 230, 0, 0},
+	{0x08E5, 230, 0, 0},
+	{0x08E6, 220, 0, 0},
+	{0x08E7, 230, 0, 0},
+	{0x08E8, 230, 0, 0},
+	{0x08E9, 220, 0, 0},
+	{0x08EA, 230, 0, 0},
+	{0x08EB, 230, 0, 0},
+	{0x08EC, 230, 0, 0},
+	{0x08ED, 220, 0, 0},
+	{0x08EE, 220, 0, 0},
+	{0x08EF, 220, 0, 0},
+	{0x08F0, 27, 0, 0},
+	{0x08F1, 28, 0, 0},
+	{0x08F2, 29, 0, 0},
+	{0x08F3, 230, 0, 0},
+	{0x08F4, 230, 0, 0},
+	{0x08F5, 230, 0, 0},
+	{0x08F6, 220, 0, 0},
+	{0x08F7, 230, 0, 0},
+	{0x08F8, 230, 0, 0},
+	{0x08F9, 220, 0, 0},
+	{0x08FA, 220, 0, 0},
+	{0x08FB, 230, 0, 0},
+	{0x08FC, 230, 0, 0},
+	{0x08FD, 230, 0, 0},
+	{0x08FE, 230, 0, 0},
+	{0x08FF, 230, 0, 0},
+	{0x093C, 7, 0, 0},
+	{0x094D, 9, 0, 0},
+	{0x0951, 230, 0, 0},
+	{0x0952, 220, 0, 0},
+	{0x0953, 230, 0, 0},
+	{0x0954, 230, 0, 0},
+	{0x0958, 0, 2 | DECOMP_NO_COMPOSE, 755},	/* in exclusion list */
+	{0x0959, 0, 2 | DECOMP_NO_COMPOSE, 757},	/* in exclusion list */
+	{0x095A, 0, 2 | DECOMP_NO_COMPOSE, 759},	/* in exclusion list */
+	{0x095B, 0, 2 | DECOMP_NO_COMPOSE, 761},	/* in exclusion list */
+	{0x095C, 0, 2 | DECOMP_NO_COMPOSE, 763},	/* in exclusion list */
+	{0x095D, 0, 2 | DECOMP_NO_COMPOSE, 765},	/* in exclusion list */
+	{0x095E, 0, 2 | DECOMP_NO_COMPOSE, 767},	/* in exclusion list */
+	{0x095F, 0, 2 | DECOMP_NO_COMPOSE, 769},	/* in exclusion list */
+	{0x09BC, 7, 0, 0},
+	{0x09CD, 9, 0, 0},
+	{0x09DC, 0, 2 | DECOMP_NO_COMPOSE, 775},	/* in exclusion list */
+	{0x09DD, 0, 2 | DECOMP_NO_COMPOSE, 777},	/* in exclusion list */
+	{0x09DF, 0, 2 | DECOMP_NO_COMPOSE, 779},	/* in exclusion list */
+	{0x09FE, 230, 0, 0},
+	{0x0A33, 0, 2 | DECOMP_NO_COMPOSE, 781},	/* in exclusion list */
+	{0x0A36, 0, 2 | DECOMP_NO_COMPOSE, 783},	/* in exclusion list */
+	{0x0A3C, 7, 0, 0},
+	{0x0A4D, 9, 0, 0},
+	{0x0A59, 0, 2 | DECOMP_NO_COMPOSE, 785},	/* in exclusion list */
+	{0x0A5A, 0, 2 | DECOMP_NO_COMPOSE, 787},	/* in exclusion list */
+	{0x0A5B, 0, 2 | DECOMP_NO_COMPOSE, 789},	/* in exclusion list */
+	{0x0A5E, 0, 2 | DECOMP_NO_COMPOSE, 791},	/* in exclusion list */
+	{0x0ABC, 7, 0, 0},
+	{0x0ACD, 9, 0, 0},
+	{0x0B3C, 7, 0, 0},
+	{0x0B4D, 9, 0, 0},
+	{0x0B5C, 0, 2 | DECOMP_NO_COMPOSE, 799},	/* in exclusion list */
+	{0x0B5D, 0, 2 | DECOMP_NO_COMPOSE, 801},	/* in exclusion list */
+	{0x0BCD, 9, 0, 0},
+	{0x0C4D, 9, 0, 0},
+	{0x0C55, 84, 0, 0},
+	{0x0C56, 91, 0, 0},
+	{0x0CBC, 7, 0, 0},
+	{0x0CCD, 9, 0, 0},
+	{0x0D3B, 9, 0, 0},
+	{0x0D3C, 9, 0, 0},
+	{0x0D4D, 9, 0, 0},
+	{0x0DCA, 9, 0, 0},
+	{0x0E33, 0, 2 | DECOMP_COMPAT, 837},
+	{0x0E38, 103, 0, 0},
+	{0x0E39, 103, 0, 0},
+	{0x0E3A, 9, 0, 0},
+	{0x0E48, 107, 0, 0},
+	{0x0E49, 107, 0, 0},
+	{0x0E4A, 107, 0, 0},
+	{0x0E4B, 107, 0, 0},
+	{0x0EB3, 0, 2 | DECOMP_COMPAT, 839},
+	{0x0EB8, 118, 0, 0},
+	{0x0EB9, 118, 0, 0},
+	{0x0EBA, 9, 0, 0},
+	{0x0EC8, 122, 0, 0},
+	{0x0EC9, 122, 0, 0},
+	{0x0ECA, 122, 0, 0},
+	{0x0ECB, 122, 0, 0},
+	{0x0EDC, 0, 2 | DECOMP_COMPAT, 841},
+	{0x0EDD, 0, 2 | DECOMP_COMPAT, 843},
+	{0x0F0C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0F0B},
+	{0x0F18, 220, 0, 0},
+	{0x0F19, 220, 0, 0},
+	{0x0F35, 220, 0, 0},
+	{0x0F37, 220, 0, 0},
+	{0x0F39, 216, 0, 0},
+	{0x0F43, 0, 2 | DECOMP_NO_COMPOSE, 845},	/* in exclusion list */
+	{0x0F4D, 0, 2 | DECOMP_NO_COMPOSE, 847},	/* in exclusion list */
+	{0x0F52, 0, 2 | DECOMP_NO_COMPOSE, 849},	/* in exclusion list */
+	{0x0F57, 0, 2 | DECOMP_NO_COMPOSE, 851},	/* in exclusion list */
+	{0x0F5C, 0, 2 | DECOMP_NO_COMPOSE, 853},	/* in exclusion list */
+	{0x0F69, 0, 2 | DECOMP_NO_COMPOSE, 855},	/* in exclusion list */
+	{0x0F71, 129, 0, 0},
+	{0x0F72, 130, 0, 0},
+	{0x0F73, 0, 2 | DECOMP_NO_COMPOSE, 857},	/* non-starter decomposition */
+	{0x0F74, 132, 0, 0},
+	{0x0F75, 0, 2 | DECOMP_NO_COMPOSE, 859},	/* non-starter decomposition */
+	{0x0F76, 0, 2 | DECOMP_NO_COMPOSE, 861},	/* in exclusion list */
+	{0x0F77, 0, 2 | DECOMP_COMPAT, 863},
+	{0x0F78, 0, 2 | DECOMP_NO_COMPOSE, 865},	/* in exclusion list */
+	{0x0F79, 0, 2 | DECOMP_COMPAT, 867},
+	{0x0F7A, 130, 0, 0},
+	{0x0F7B, 130, 0, 0},
+	{0x0F7C, 130, 0, 0},
+	{0x0F7D, 130, 0, 0},
+	{0x0F80, 130, 0, 0},
+	{0x0F81, 0, 2 | DECOMP_NO_COMPOSE, 869},	/* non-starter decomposition */
+	{0x0F82, 230, 0, 0},
+	{0x0F83, 230, 0, 0},
+	{0x0F84, 9, 0, 0},
+	{0x0F86, 230, 0, 0},
+	{0x0F87, 230, 0, 0},
+	{0x0F93, 0, 2 | DECOMP_NO_COMPOSE, 871},	/* in exclusion list */
+	{0x0F9D, 0, 2 | DECOMP_NO_COMPOSE, 873},	/* in exclusion list */
+	{0x0FA2, 0, 2 | DECOMP_NO_COMPOSE, 875},	/* in exclusion list */
+	{0x0FA7, 0, 2 | DECOMP_NO_COMPOSE, 877},	/* in exclusion list */
+	{0x0FAC, 0, 2 | DECOMP_NO_COMPOSE, 879},	/* in exclusion list */
+	{0x0FB9, 0, 2 | DECOMP_NO_COMPOSE, 881},	/* in exclusion list */
+	{0x0FC6, 220, 0, 0},
+	{0x1037, 7, 0, 0},
+	{0x1039, 9, 0, 0},
+	{0x103A, 9, 0, 0},
+	{0x108D, 220, 0, 0},
+	{0x10FC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x10DC},
+	{0x135D, 230, 0, 0},
+	{0x135E, 230, 0, 0},
+	{0x135F, 230, 0, 0},
+	{0x1714, 9, 0, 0},
+	{0x1734, 9, 0, 0},
+	{0x17D2, 9, 0, 0},
+	{0x17DD, 230, 0, 0},
+	{0x18A9, 228, 0, 0},
+	{0x1939, 222, 0, 0},
+	{0x193A, 230, 0, 0},
+	{0x193B, 220, 0, 0},
+	{0x1A17, 230, 0, 0},
+	{0x1A18, 220, 0, 0},
+	{0x1A60, 9, 0, 0},
+	{0x1A75, 230, 0, 0},
+	{0x1A76, 230, 0, 0},
+	{0x1A77, 230, 0, 0},
+	{0x1A78, 230, 0, 0},
+	{0x1A79, 230, 0, 0},
+	{0x1A7A, 230, 0, 0},
+	{0x1A7B, 230, 0, 0},
+	{0x1A7C, 230, 0, 0},
+	{0x1A7F, 220, 0, 0},
+	{0x1AB0, 230, 0, 0},
+	{0x1AB1, 230, 0, 0},
+	{0x1AB2, 230, 0, 0},
+	{0x1AB3, 230, 0, 0},
+	{0x1AB4, 230, 0, 0},
+	{0x1AB5, 220, 0, 0},
+	{0x1AB6, 220, 0, 0},
+	{0x1AB7, 220, 0, 0},
+	{0x1AB8, 220, 0, 0},
+	{0x1AB9, 220, 0, 0},
+	{0x1ABA, 220, 0, 0},
+	{0x1ABB, 230, 0, 0},
+	{0x1ABC, 230, 0, 0},
+	{0x1ABD, 220, 0, 0},
+	{0x1ABF, 220, 0, 0},
+	{0x1AC0, 220, 0, 0},
+	{0x1B34, 7, 0, 0},
+	{0x1B44, 9, 0, 0},
+	{0x1B6B, 230, 0, 0},
+	{0x1B6C, 220, 0, 0},
+	{0x1B6D, 230, 0, 0},
+	{0x1B6E, 230, 0, 0},
+	{0x1B6F, 230, 0, 0},
+	{0x1B70, 230, 0, 0},
+	{0x1B71, 230, 0, 0},
+	{0x1B72, 230, 0, 0},
+	{0x1B73, 230, 0, 0},
+	{0x1BAA, 9, 0, 0},
+	{0x1BAB, 9, 0, 0},
+	{0x1BE6, 7, 0, 0},
+	{0x1BF2, 9, 0, 0},
+	{0x1BF3, 9, 0, 0},
+	{0x1C37, 7, 0, 0},
+	{0x1CD0, 230, 0, 0},
+	{0x1CD1, 230, 0, 0},
+	{0x1CD2, 230, 0, 0},
+	{0x1CD4, 1, 0, 0},
+	{0x1CD5, 220, 0, 0},
+	{0x1CD6, 220, 0, 0},
+	{0x1CD7, 220, 0, 0},
+	{0x1CD8, 220, 0, 0},
+	{0x1CD9, 220, 0, 0},
+	{0x1CDA, 230, 0, 0},
+	{0x1CDB, 230, 0, 0},
+	{0x1CDC, 220, 0, 0},
+	{0x1CDD, 220, 0, 0},
+	{0x1CDE, 220, 0, 0},
+	{0x1CDF, 220, 0, 0},
+	{0x1CE0, 230, 0, 0},
+	{0x1CE2, 1, 0, 0},
+	{0x1CE3, 1, 0, 0},
+	{0x1CE4, 1, 0, 0},
+	{0x1CE5, 1, 0, 0},
+	{0x1CE6, 1, 0, 0},
+	{0x1CE7, 1, 0, 0},
+	{0x1CE8, 1, 0, 0},
+	{0x1CED, 220, 0, 0},
+	{0x1CF4, 230, 0, 0},
+	{0x1CF8, 230, 0, 0},
+	{0x1CF9, 230, 0, 0},
+	{0x1D2C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0041},
+	{0x1D2D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x00C6},
+	{0x1D2E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0042},
+	{0x1D30, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0044},
+	{0x1D31, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0045},
+	{0x1D32, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x018E},
+	{0x1D33, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0047},
+	{0x1D34, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0048},
+	{0x1D35, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0049},
+	{0x1D36, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004A},
+	{0x1D37, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004B},
+	{0x1D38, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004C},
+	{0x1D39, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004D},
+	{0x1D3A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004E},
+	{0x1D3C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x004F},
+	{0x1D3D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0222},
+	{0x1D3E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0050},
+	{0x1D3F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0052},
+	{0x1D40, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0054},
+	{0x1D41, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0055},
+	{0x1D42, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0057},
+	{0x1D43, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0061},
+	{0x1D44, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0250},
+	{0x1D45, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0251},
+	{0x1D46, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D02},
+	{0x1D47, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0062},
+	{0x1D48, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0064},
+	{0x1D49, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0065},
+	{0x1D4A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0259},
+	{0x1D4B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025B},
+	{0x1D4C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025C},
+	{0x1D4D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0067},
+	{0x1D4F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006B},
+	{0x1D50, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006D},
+	{0x1D51, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x014B},
+	{0x1D52, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006F},
+	{0x1D53, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0254},
+	{0x1D54, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D16},
+	{0x1D55, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D17},
+	{0x1D56, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0070},
+	{0x1D57, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0074},
+	{0x1D58, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0075},
+	{0x1D59, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D1D},
+	{0x1D5A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026F},
+	{0x1D5B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0076},
+	{0x1D5C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D25},
+	{0x1D5D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
+	{0x1D5E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B3},
+	{0x1D5F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B4},
+	{0x1D60, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
+	{0x1D61, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C7},
+	{0x1D62, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0069},
+	{0x1D63, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0072},
+	{0x1D64, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0075},
+	{0x1D65, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0076},
+	{0x1D66, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B2},
+	{0x1D67, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B3},
+	{0x1D68, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C1},
+	{0x1D69, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C6},
+	{0x1D6A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03C7},
+	{0x1D78, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x043D},
+	{0x1D9B, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0252},
+	{0x1D9C, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0063},
+	{0x1D9D, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0255},
+	{0x1D9E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x00F0},
+	{0x1D9F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025C},
+	{0x1DA0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0066},
+	{0x1DA1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x025F},
+	{0x1DA2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0261},
+	{0x1DA3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0265},
+	{0x1DA4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0268},
+	{0x1DA5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0269},
+	{0x1DA6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026A},
+	{0x1DA7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D7B},
+	{0x1DA8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x029D},
+	{0x1DA9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x026D},
+	{0x1DAA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D85},
+	{0x1DAB, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x029F},
+	{0x1DAC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0271},
+	{0x1DAD, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0270},
+	{0x1DAE, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0272},
+	{0x1DAF, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0273},
+	{0x1DB0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0274},
+	{0x1DB1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0275},
+	{0x1DB2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0278},
+	{0x1DB3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0282},
+	{0x1DB4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0283},
+	{0x1DB5, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x01AB},
+	{0x1DB6, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0289},
+	{0x1DB7, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028A},
+	{0x1DB8, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1D1C},
+	{0x1DB9, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028B},
+	{0x1DBA, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x028C},
+	{0x1DBB, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x007A},
+	{0x1DBC, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0290},
+	{0x1DBD, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0291},
+	{0x1DBE, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0292},
+	{0x1DBF, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x03B8},
+	{0x1DC0, 230, 0, 0},
+	{0x1DC1, 230, 0, 0},
+	{0x1DC2, 220, 0, 0},
+	{0x1DC3, 230, 0, 0},
+	{0x1DC4, 230, 0, 0},
+	{0x1DC5, 230, 0, 0},
+	{0x1DC6, 230, 0, 0},
+	{0x1DC7, 230, 0, 0},
+	{0x1DC8, 230, 0, 0},
+	{0x1DC9, 230, 0, 0},
+	{0x1DCA, 220, 0, 0},
+	{0x1DCB, 230, 0, 0},
+	{0x1DCC, 230, 0, 0},
+	{0x1DCD, 234, 0, 0},
+	{0x1DCE, 214, 0, 0},
+	{0x1DCF, 220, 0, 0},
+	{0x1DD0, 202, 0, 0},
+	{0x1DD1, 230, 0, 0},
+	{0x1DD2, 230, 0, 0},
+	{0x1DD3, 230, 0, 0},
+	{0x1DD4, 230, 0, 0},
+	{0x1DD5, 230, 0, 0},
+	{0x1DD6, 230, 0, 0},
+	{0x1DD7, 230, 0, 0},
+	{0x1DD8, 230, 0, 0},
+	{0x1DD9, 230, 0, 0},
+	{0x1DDA, 230, 0, 0},
+	{0x1DDB, 230, 0, 0},
+	{0x1DDC, 230, 0, 0},
+	{0x1DDD, 230, 0, 0},
+	{0x1DDE, 230, 0, 0},
+	{0x1DDF, 230, 0, 0},
+	{0x1DE0, 230, 0, 0},
+	{0x1DE1, 230, 0, 0},
+	{0x1DE2, 230, 0, 0},
+	{0x1DE3, 230, 0, 0},
+	{0x1DE4, 230, 0, 0},
+	{0x1DE5, 230, 0, 0},
+	{0x1DE6, 230, 0, 0},
+	{0x1DE7, 230, 0, 0},
+	{0x1DE8, 230, 0, 0},
+	{0x1DE9, 230, 0, 0},
+	{0x1DEA, 230, 0, 0},
+	{0x1DEB, 230, 0, 0},
+	{0x1DEC, 230, 0, 0},
+	{0x1DED, 230, 0, 0},
+	{0x1DEE, 230, 0, 0},
+	{0x1DEF, 230, 0, 0},
+	{0x1DF0, 230, 0, 0},
+	{0x1DF1, 230, 0, 0},
+	{0x1DF2, 230, 0, 0},
+	{0x1DF3, 230, 0, 0},
+	{0x1DF4, 230, 0, 0},
+	{0x1DF5, 230, 0, 0},
+	{0x1DF6, 232, 0, 0},
+	{0x1DF7, 228, 0, 0},
+	{0x1DF8, 228, 0, 0},
+	{0x1DF9, 220, 0, 0},
+	{0x1DFB, 230, 0, 0},
+	{0x1DFC, 233, 0, 0},
+	{0x1DFD, 220, 0, 0},
+	{0x1DFE, 230, 0, 0},
+	{0x1DFF, 220, 0, 0},
+	{0x1E9A, 0, 2 | DECOMP_COMPAT, 1215},
 	{0x1F71, 0, 1 | DECOMP_INLINE, 0x03AC},
-	{0x1F72, 0, 2, 1601},
 	{0x1F73, 0, 1 | DECOMP_INLINE, 0x03AD},
-	{0x1F74, 0, 2, 1603},
 	{0x1F75, 0, 1 | DECOMP_INLINE, 0x03AE},
-	{0x1F76, 0, 2, 1605},
 	{0x1F77, 0, 1 | DECOMP_INLINE, 0x03AF},
-	{0x1F78, 0, 2, 1607},
 	{0x1F79, 0, 1 | DECOMP_INLINE, 0x03CC},
-	{0x1F7A, 0, 2, 1609},
 	{0x1F7B, 0, 1 | DECOMP_INLINE, 0x03CD},
-	{0x1F7C, 0, 2, 1611},
 	{0x1F7D, 0, 1 | DECOMP_INLINE, 0x03CE},
-	{0x1F80, 0, 2, 1613},
-	{0x1F81, 0, 2, 1615},
-	{0x1F82, 0, 2, 1617},
-	{0x1F83, 0, 2, 1619},
-	{0x1F84, 0, 2, 1621},
-	{0x1F85, 0, 2, 1623},
-	{0x1F86, 0, 2, 1625},
-	{0x1F87, 0, 2, 1627},
-	{0x1F88, 0, 2, 1629},
-	{0x1F89, 0, 2, 1631},
-	{0x1F8A, 0, 2, 1633},
-	{0x1F8B, 0, 2, 1635},
-	{0x1F8C, 0, 2, 1637},
-	{0x1F8D, 0, 2, 1639},
-	{0x1F8E, 0, 2, 1641},
-	{0x1F8F, 0, 2, 1643},
-	{0x1F90, 0, 2, 1645},
-	{0x1F91, 0, 2, 1647},
-	{0x1F92, 0, 2, 1649},
-	{0x1F93, 0, 2, 1651},
-	{0x1F94, 0, 2, 1653},
-	{0x1F95, 0, 2, 1655},
-	{0x1F96, 0, 2, 1657},
-	{0x1F97, 0, 2, 1659},
-	{0x1F98, 0, 2, 1661},
-	{0x1F99, 0, 2, 1663},
-	{0x1F9A, 0, 2, 1665},
-	{0x1F9B, 0, 2, 1667},
-	{0x1F9C, 0, 2, 1669},
-	{0x1F9D, 0, 2, 1671},
-	{0x1F9E, 0, 2, 1673},
-	{0x1F9F, 0, 2, 1675},
-	{0x1FA0, 0, 2, 1677},
-	{0x1FA1, 0, 2, 1679},
-	{0x1FA2, 0, 2, 1681},
-	{0x1FA3, 0, 2, 1683},
-	{0x1FA4, 0, 2, 1685},
-	{0x1FA5, 0, 2, 1687},
-	{0x1FA6, 0, 2, 1689},
-	{0x1FA7, 0, 2, 1691},
-	{0x1FA8, 0, 2, 1693},
-	{0x1FA9, 0, 2, 1695},
-	{0x1FAA, 0, 2, 1697},
-	{0x1FAB, 0, 2, 1699},
-	{0x1FAC, 0, 2, 1701},
-	{0x1FAD, 0, 2, 1703},
-	{0x1FAE, 0, 2, 1705},
-	{0x1FAF, 0, 2, 1707},
-	{0x1FB0, 0, 2, 1709},
-	{0x1FB1, 0, 2, 1711},
-	{0x1FB2, 0, 2, 1713},
-	{0x1FB3, 0, 2, 1715},
-	{0x1FB4, 0, 2, 1717},
-	{0x1FB6, 0, 2, 1719},
-	{0x1FB7, 0, 2, 1721},
-	{0x1FB8, 0, 2, 1723},
-	{0x1FB9, 0, 2, 1725},
-	{0x1FBA, 0, 2, 1727},
 	{0x1FBB, 0, 1 | DECOMP_INLINE, 0x0386},
-	{0x1FBC, 0, 2, 1729},
 	{0x1FBD, 0, 2 | DECOMP_COMPAT, 1731},
 	{0x1FBE, 0, 1 | DECOMP_INLINE, 0x03B9},
 	{0x1FBF, 0, 2 | DECOMP_COMPAT, 1733},
 	{0x1FC0, 0, 2 | DECOMP_COMPAT, 1735},
-	{0x1FC1, 0, 2, 1737},
-	{0x1FC2, 0, 2, 1739},
-	{0x1FC3, 0, 2, 1741},
-	{0x1FC4, 0, 2, 1743},
-	{0x1FC6, 0, 2, 1745},
-	{0x1FC7, 0, 2, 1747},
-	{0x1FC8, 0, 2, 1749},
 	{0x1FC9, 0, 1 | DECOMP_INLINE, 0x0388},
-	{0x1FCA, 0, 2, 1751},
 	{0x1FCB, 0, 1 | DECOMP_INLINE, 0x0389},
-	{0x1FCC, 0, 2, 1753},
-	{0x1FCD, 0, 2, 1755},
-	{0x1FCE, 0, 2, 1757},
-	{0x1FCF, 0, 2, 1759},
-	{0x1FD0, 0, 2, 1761},
-	{0x1FD1, 0, 2, 1763},
-	{0x1FD2, 0, 2, 1765},
 	{0x1FD3, 0, 1 | DECOMP_INLINE, 0x0390},
-	{0x1FD6, 0, 2, 1767},
-	{0x1FD7, 0, 2, 1769},
-	{0x1FD8, 0, 2, 1771},
-	{0x1FD9, 0, 2, 1773},
-	{0x1FDA, 0, 2, 1775},
 	{0x1FDB, 0, 1 | DECOMP_INLINE, 0x038A},
-	{0x1FDD, 0, 2, 1777},
-	{0x1FDE, 0, 2, 1779},
-	{0x1FDF, 0, 2, 1781},
-	{0x1FE0, 0, 2, 1783},
-	{0x1FE1, 0, 2, 1785},
-	{0x1FE2, 0, 2, 1787},
 	{0x1FE3, 0, 1 | DECOMP_INLINE, 0x03B0},
-	{0x1FE4, 0, 2, 1789},
-	{0x1FE5, 0, 2, 1791},
-	{0x1FE6, 0, 2, 1793},
-	{0x1FE7, 0, 2, 1795},
-	{0x1FE8, 0, 2, 1797},
-	{0x1FE9, 0, 2, 1799},
-	{0x1FEA, 0, 2, 1801},
 	{0x1FEB, 0, 1 | DECOMP_INLINE, 0x038E},
-	{0x1FEC, 0, 2, 1803},
-	{0x1FED, 0, 2, 1805},
 	{0x1FEE, 0, 1 | DECOMP_INLINE, 0x0385},
 	{0x1FEF, 0, 1 | DECOMP_INLINE, 0x0060},
-	{0x1FF2, 0, 2, 1807},
-	{0x1FF3, 0, 2, 1809},
-	{0x1FF4, 0, 2, 1811},
-	{0x1FF6, 0, 2, 1813},
-	{0x1FF7, 0, 2, 1815},
-	{0x1FF8, 0, 2, 1817},
 	{0x1FF9, 0, 1 | DECOMP_INLINE, 0x038C},
-	{0x1FFA, 0, 2, 1819},
 	{0x1FFB, 0, 1 | DECOMP_INLINE, 0x038F},
-	{0x1FFC, 0, 2, 1821},
 	{0x1FFD, 0, 1 | DECOMP_INLINE, 0x00B4},
 	{0x1FFE, 0, 2 | DECOMP_COMPAT, 1823},
 	{0x2000, 0, 1 | DECOMP_INLINE, 0x2002},
@@ -1839,54 +1965,10 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x217E, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0064},
 	{0x217F, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x006D},
 	{0x2189, 0, 3 | DECOMP_COMPAT, 1980},
-	{0x219A, 0, 2, 1983},
-	{0x219B, 0, 2, 1985},
-	{0x21AE, 0, 2, 1987},
-	{0x21CD, 0, 2, 1989},
-	{0x21CE, 0, 2, 1991},
-	{0x21CF, 0, 2, 1993},
-	{0x2204, 0, 2, 1995},
-	{0x2209, 0, 2, 1997},
-	{0x220C, 0, 2, 1999},
-	{0x2224, 0, 2, 2001},
-	{0x2226, 0, 2, 2003},
 	{0x222C, 0, 2 | DECOMP_COMPAT, 2005},
 	{0x222D, 0, 3 | DECOMP_COMPAT, 2007},
 	{0x222F, 0, 2 | DECOMP_COMPAT, 2010},
 	{0x2230, 0, 3 | DECOMP_COMPAT, 2012},
-	{0x2241, 0, 2, 2015},
-	{0x2244, 0, 2, 2017},
-	{0x2247, 0, 2, 2019},
-	{0x2249, 0, 2, 2021},
-	{0x2260, 0, 2, 2023},
-	{0x2262, 0, 2, 2025},
-	{0x226D, 0, 2, 2027},
-	{0x226E, 0, 2, 2029},
-	{0x226F, 0, 2, 2031},
-	{0x2270, 0, 2, 2033},
-	{0x2271, 0, 2, 2035},
-	{0x2274, 0, 2, 2037},
-	{0x2275, 0, 2, 2039},
-	{0x2278, 0, 2, 2041},
-	{0x2279, 0, 2, 2043},
-	{0x2280, 0, 2, 2045},
-	{0x2281, 0, 2, 2047},
-	{0x2284, 0, 2, 2049},
-	{0x2285, 0, 2, 2051},
-	{0x2288, 0, 2, 2053},
-	{0x2289, 0, 2, 2055},
-	{0x22AC, 0, 2, 2057},
-	{0x22AD, 0, 2, 2059},
-	{0x22AE, 0, 2, 2061},
-	{0x22AF, 0, 2, 2063},
-	{0x22E0, 0, 2, 2065},
-	{0x22E1, 0, 2, 2067},
-	{0x22E2, 0, 2, 2069},
-	{0x22E3, 0, 2, 2071},
-	{0x22EA, 0, 2, 2073},
-	{0x22EB, 0, 2, 2075},
-	{0x22EC, 0, 2, 2077},
-	{0x22ED, 0, 2, 2079},
 	{0x2329, 0, 1 | DECOMP_INLINE, 0x3008},
 	{0x232A, 0, 1 | DECOMP_INLINE, 0x3009},
 	{0x2460, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0031},
@@ -2299,69 +2381,11 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x3038, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x5341},
 	{0x3039, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x5344},
 	{0x303A, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x5345},
-	{0x304C, 0, 2, 2317},
-	{0x304E, 0, 2, 2319},
-	{0x3050, 0, 2, 2321},
-	{0x3052, 0, 2, 2323},
-	{0x3054, 0, 2, 2325},
-	{0x3056, 0, 2, 2327},
-	{0x3058, 0, 2, 2329},
-	{0x305A, 0, 2, 2331},
-	{0x305C, 0, 2, 2333},
-	{0x305E, 0, 2, 2335},
-	{0x3060, 0, 2, 2337},
-	{0x3062, 0, 2, 2339},
-	{0x3065, 0, 2, 2341},
-	{0x3067, 0, 2, 2343},
-	{0x3069, 0, 2, 2345},
-	{0x3070, 0, 2, 2347},
-	{0x3071, 0, 2, 2349},
-	{0x3073, 0, 2, 2351},
-	{0x3074, 0, 2, 2353},
-	{0x3076, 0, 2, 2355},
-	{0x3077, 0, 2, 2357},
-	{0x3079, 0, 2, 2359},
-	{0x307A, 0, 2, 2361},
-	{0x307C, 0, 2, 2363},
-	{0x307D, 0, 2, 2365},
-	{0x3094, 0, 2, 2367},
 	{0x3099, 8, 0, 0},
 	{0x309A, 8, 0, 0},
 	{0x309B, 0, 2 | DECOMP_COMPAT, 2369},
 	{0x309C, 0, 2 | DECOMP_COMPAT, 2371},
-	{0x309E, 0, 2, 2373},
 	{0x309F, 0, 2 | DECOMP_COMPAT, 2375},
-	{0x30AC, 0, 2, 2377},
-	{0x30AE, 0, 2, 2379},
-	{0x30B0, 0, 2, 2381},
-	{0x30B2, 0, 2, 2383},
-	{0x30B4, 0, 2, 2385},
-	{0x30B6, 0, 2, 2387},
-	{0x30B8, 0, 2, 2389},
-	{0x30BA, 0, 2, 2391},
-	{0x30BC, 0, 2, 2393},
-	{0x30BE, 0, 2, 2395},
-	{0x30C0, 0, 2, 2397},
-	{0x30C2, 0, 2, 2399},
-	{0x30C5, 0, 2, 2401},
-	{0x30C7, 0, 2, 2403},
-	{0x30C9, 0, 2, 2405},
-	{0x30D0, 0, 2, 2407},
-	{0x30D1, 0, 2, 2409},
-	{0x30D3, 0, 2, 2411},
-	{0x30D4, 0, 2, 2413},
-	{0x30D6, 0, 2, 2415},
-	{0x30D7, 0, 2, 2417},
-	{0x30D9, 0, 2, 2419},
-	{0x30DA, 0, 2, 2421},
-	{0x30DC, 0, 2, 2423},
-	{0x30DD, 0, 2, 2425},
-	{0x30F4, 0, 2, 2427},
-	{0x30F7, 0, 2, 2429},
-	{0x30F8, 0, 2, 2431},
-	{0x30F9, 0, 2, 2433},
-	{0x30FA, 0, 2, 2435},
-	{0x30FE, 0, 2, 2437},
 	{0x30FF, 0, 2 | DECOMP_COMPAT, 2439},
 	{0x3131, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1100},
 	{0x3132, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x1101},
@@ -4626,16 +4650,11 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x10F50, 220, 0, 0},
 	{0x11046, 9, 0, 0},
 	{0x1107F, 9, 0, 0},
-	{0x1109A, 0, 2, 4776},
-	{0x1109C, 0, 2, 4778},
-	{0x110AB, 0, 2, 4780},
 	{0x110B9, 9, 0, 0},
 	{0x110BA, 7, 0, 0},
 	{0x11100, 230, 0, 0},
 	{0x11101, 230, 0, 0},
 	{0x11102, 230, 0, 0},
-	{0x1112E, 0, 2, 4782},
-	{0x1112F, 0, 2, 4784},
 	{0x11133, 9, 0, 0},
 	{0x11134, 9, 0, 0},
 	{0x11173, 7, 0, 0},
@@ -4647,8 +4666,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x112EA, 9, 0, 0},
 	{0x1133B, 7, 0, 0},
 	{0x1133C, 7, 0, 0},
-	{0x1134B, 0, 2, 4786},
-	{0x1134C, 0, 2, 4788},
 	{0x1134D, 9, 0, 0},
 	{0x11366, 230, 0, 0},
 	{0x11367, 230, 0, 0},
@@ -4665,13 +4682,8 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x11442, 9, 0, 0},
 	{0x11446, 7, 0, 0},
 	{0x1145E, 230, 0, 0},
-	{0x114BB, 0, 2, 4790},
-	{0x114BC, 0, 2, 4792},
-	{0x114BE, 0, 2, 4794},
 	{0x114C2, 9, 0, 0},
 	{0x114C3, 7, 0, 0},
-	{0x115BA, 0, 2, 4796},
-	{0x115BB, 0, 2, 4798},
 	{0x115BF, 9, 0, 0},
 	{0x115C0, 7, 0, 0},
 	{0x1163F, 9, 0, 0},
@@ -4680,7 +4692,6 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x1172B, 9, 0, 0},
 	{0x11839, 9, 0, 0},
 	{0x1183A, 7, 0, 0},
-	{0x11938, 0, 2, 4800},
 	{0x1193D, 9, 0, 0},
 	{0x1193E, 9, 0, 0},
 	{0x11943, 7, 0, 0},
@@ -6641,7 +6652,7 @@ static const pg_unicode_decomposition UnicodeDecompMain[6604] =
 	{0x2FA1A, 0, 1 | DECOMP_INLINE, 0x9F0F},
 	{0x2FA1B, 0, 1 | DECOMP_INLINE, 0x9F16},
 	{0x2FA1C, 0, 1 | DECOMP_INLINE, 0x9F3B},
-	{0x2FA1D, 0, 1, 5091}
+	{0x2FA1D, 0, 1, 5091},
 
 };
 
@@ -8935,3 +8946,1684 @@ static const uint32 UnicodeDecomp_codepoints[5092] =
 	 /* 5090 */ 0x2A291,
 	 /* 5091 */ 0x2A600
 };
+
+/* Perfect hash function for decomposition */
+static int
+DecompMain_hash_func(const void *key)
+{
+	static const int16 h[13209] = {
+		     0,    759,   4790,   4791,      0,      0,      0,      0,
+		     0,      0,      0,      0,   2904,   2904,      0,      0,
+		  2905,   2905,  -1432,   2813,   2904,   2904,   2904,  -5133,
+		  3611,   3612,  -5178,  -5178,  -5133,   1803,   1803,    884,
+		  4427,   4428,  -4370,  -4370,  -4325,  -4325,   2661,     98,
+		 -4279,  -4325,  -4325,  -4325,  -4325,  -4325,   2661,   2661,
+		   797,   4401,   4402,   4403,   1096,   1052,   1053,   1054,
+		 -8722,   4413,  17622,   2664,   2664,   2664,   6412,   6413,
+		  6414,   6415,   6416,   6417,   5646,   1892,  -5094,  -4319,
+		  4472,  -5343,  -5343,   4432,   4433,  -5343,  -5343,  -6309,
+		 -3007,   2556,  -5343,  -5343,  -3628,  -3628,  -3628,  -3628,
+		  -906,      0,      0, -10611, -10566,   2887,   2888,   2889,
+		  2890,   2891,  -9616,  -3636,  -8844,  -8844,  -1858,  -5333,
+		 -8797,  -9755,    310,  -5333,  -8842,  -5333,  -1855,    152,
+		   316,   2907,   2908,  -2239,   2910,   2911,   2912,   2913,
+		  2914,   2915,   2916,   2917,   2918,   2919,   2920,   2921,
+		  2922,   2923,   2924,   2925,   2926,   2927,   2928,   2929,
+		  2930,   2931,   2932,   2933,   2934,   2935,   2936,   2937,
+		  2938,   2939,   2940,   2941,   2942,   2943,   2944,   2945,
+		  2946,   2947,  32767,  32767,  32767,  32767,  32767,  32767,
+		 -7767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		   942,  32767,    989,  32767,  32767,  32767,  32767,    990,
+		 32767,  32767,  -7733,  -7733,  -4425,  -4380,  32767,  32767,
+		 -7735,  -7735, -20943,  32767, -17642, -14340, -14340,  32767,
+		-11994,  -8692,  -8692,  -8692,  -8692,  -8692,  32767,     52,
+		 -8738,  -8738,  -8693,  -8693,  -8693,  -8693,     59,     60,
+		 32767,  -8739,  -8694,  -8694,  -8694,  -8694,  -8694,  32767,
+		 32767,  -8696,  -8696,  -8696,  -8696,  -8696,  32767,  32767,
+		    26,     27,  -3280,  -3324,     30,     31,  32767,     32,
+		 13241,   9940,   9941,   6640,   6641,   3340,   3341,     40,
+		     0,     41,     42,     43,  -8700,  -8700,     91,  32767,
+		 32767,     47,     48,     49,  -8702,  -8702,  32767,     97,
+		 32767,     53,     54,     55,     56,   2136,   3875,   -537,
+		  4904,     61,     62,     63,     64,     65,     66,     67,
+		    68,  32767,  32767,     69,     70,     71,     72,     73,
+		    74,     75,     76,     77,     78,     79,     80,     81,
+		    82,     83,     84,     85,     86,     87,     88,  32767,
+		 32767,     89,     90,     91,     92,     93,     94,     95,
+		 -8661,  -8661,  32767,  -7805,  -7805,  -8664,  -8664,  -8664,
+		 -8664,  32767,     57,     58,     59,     60,  -3247,  -3291,
+		   912,    913,  32767,  32767,  13271,   9970,   9971,   6670,
+		  6671,   3370,   4216,  32767,  32767,     69,     70,     71,
+		 -8672,  -8672,    119,  32767,  32767,     75,     76,     77,
+		 -8674,  -8674,    125,    126,     82,  -2585,  -2585,  -2585,
+		 -2585,  -5751,  -2585,  -2585,    135,  -2585,    137,  32767,
+		 32767,   7255,    139,  -3159,  -3158,  -3157, -13759,  -7669,
+		  -552,  -3155,    147,  -3154,  -5365,    150,  -3153,  -3152,
+		 -3151,  -3150,  -3149,  -3148,  -3147,  -2520,  -3145,  -3144,
+		   960,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   4717,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,   3673,   3674,   2144,   2145,   2146,   2147,   2148,
+		  2149,   2150,   2151,   2152,   2153,   2154,   2155,   2156,
+		  2157,   2158,  -5459,  -5459,  -3599,  -3599,  -3599,  -3599,
+		 -3599,   2665,  -3599,  -3599,  -3599,  -3599,  -3599,  -3599,
+		 -3599,  -3599,   3706,  -3600,  -6989,  -6989,   1755,   1756,
+		 -7034,  -7034,  -6989,    -53,    -53,   -972,   1766,   1767,
+		 -7031,  -7031,  -6986,  -6986,      0,  -2563,  -6940,  -6986,
+		 -6986,  -6986,  -6986,  -6986,      0,      0,   1738,   1739,
+		  1740,   1741,  -1566,  -1610,  -1609,      0,   1748,   1749,
+		 14958,      0,      0,      0,   3748,   3749,   3750,   3751,
+		  3752,   3753,   3754,      0,  -6986,  -6986,   1805,   1806,
+		  1762,   1763,   1764,  -8012,  -8012,  -8978,  -5676,   -113,
+		 -8012,   -113,  -2456,  -6203,  -6203,  -6203,  -6203,  -6203,
+		 -6203,  -5431,  -1676,   5311,   4537,  -4253,   5563,   5564,
+		 -4210,  -4210,   5567,   5568,   6535,   3234,  -2328,   5572,
+		  5573,   3859,   3860,   3861,   3862,   1141,   2056,   9931,
+		 10847,  10803,   3868,   3869,   3870,    328,    328,   9127,
+		  3874,   9083,   9084,   2099,   5575,   9040,   9999,    -65,
+		  5579,   9089,   5581,   2104,     98,    -65,   1271,  12459,
+		  3669,   3669,   3714,   3714,   3714,  13491,  13492,  14459,
+		 11158,   5596,  13496,   5598,   7942,  11690,  11691,  11692,
+		 11693,  11694,  11695,  10924,   7170,    184,    959,   9750,
+		   -65,    -65,   9710,   9711,    -65,    -65,  -1031,   2271,
+		  7834,    -65,    -65,   1650,   1650,   1650,   1650,   4372,
+		  3458,  -4416,  -5331,  -5286,   1650,   1650,   1650,   5193,
+		  5194,  -3604,   1650,  -3558,  -3558,   3428,    -47,  -3511,
+		 -4469,   5596,    -47,  -3556,    -47,   3431,   5438,   5602,
+		  4267,  -6920,   1871,   1872,   1828,   1829,   1830,  -7946,
+		 -7946,  -8912,  -5610,    -47,  -7946,    -47,  -2390,  -6137,
+		 -6137,  -6137,  -6137,  -6137,  -6137,  -5365,  -1610,   5377,
+		  4603,  -4187,   5629,   5630,  -4144,  -4144,   5633,   5634,
+		  6601,   3300,  -2262,   5638,   5639,   3925,   3926,   3927,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  -2367,  -2367,    935,    976,    936,    936,
+		   936,   9680,   9681,  32767,  32767,   3099,  32767,   3098,
+		  3098,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,    911,    911,    911,    911,    911,    911,
+		 32767,  32767,    909,    909,    909,    909,    909,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,    993,    994,  -1216,    996,    997,
+		   998,   7401,   -800,  11149,   5060,  -2056,   5062,   1005,
+		  5063,  -4365,   5064,   5065,   5066,   1011,    559,   1013,
+		  1014,   1015,    908,    561,   1018,  -2743,   1534,   1021,
+		  1022,   1023,   1024,    566,   1026,   6103,   1028,   1029,
+		  1030,   1031,   1032,   1033,   1034,   1035,  -2737,  -2737,
+		 -2737,   1039,   1040,   1041,   1042,   1043,   1044,   1045,
+		  1046,   1047,   1048,   1049,   1050,   1051,  -6236,   1053,
+		  1054,   1055,   1056,   1057,   1058,   1059,     72,   1061,
+		  1062,   1063,   1064,   1065,   1066,   1067,   1068,   1069,
+		  1070,   1071,  32767,   1072,   1073,  -2802,  -2801,  -2800,
+		 -2799,   1078,  -2796,  -2795,  -2794,   1544,   -664,  -2791,
+		 -2790,  -2789,   5249,  -3494,  -2579,   5296,   6212,   6168,
+		  -767,   -766,   -765,  -4307,  -4307,   4492,   -761,   4448,
+		  4449,  -2536,    940,  32767,      0,  32767,  32767,   4451,
+		 -1318,  -1318,  -1318,  32767,  32767,   -672,    506,    506,
+		     0,   -928,  32767,  32767,  32767,  32767,  32767,    949,
+		   252,     96,   3294,   6187,   6188,    256,  32767,  -6362,
+		 32767,    258,    259,    260,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,  32767,      0,
+		 32767,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,  32767,    261,  -5575,    263,
+		 -5574,    265,  -4744,    267,  32767,  -3183,  32767,  32767,
+		 32767,  32767,  -3187,  32767,  32767,  32767,  32767,      0,
+		 32767,  32767,  32767,  32767,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,    268, -11680,  -5590,
+		  1527,  -5590,   1527,  -4754,   4675,  -4753,  -5592,  -5592,
+		 -4755,  -4755,   4681,      0,      0,      0,   4682,   4683,
+		  4684,   4685,   4686,   4687,      0,      0,  32767,  32767,
+		     0,      0,  -4560,      0,   4688,   4689,   4690,   4691,
+		  4692,   4693,   4694,   4695,   -706,   -706,   4696,  -4775,
+		 -4775,   4699,   4700,   4701,  -4777,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,    275,      0,  32767,    277,
+		 32767,  32767,      0,    278,  32767,  32767,  32767,      0,
+		   279,    280,    281,  32767,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,   4703,   4704,   4705,   4706,  32767,
+		 32767,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   4655,   4656,   4657,   4658,
+		  4659,   4712,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,    283,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,    284,    285,  32767,    286,
+		 32767,  32767,  32767,    287,  32767,  32767,  32767,  32767,
+		   288,    289,    290,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   2998,   2998,   2998,
+		  2998,   2998,   2998,   2998,  32767,  32767,  32767,  32767,
+		 32767,  32767,    291,    292,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   1120,
+		  1121,   1122,   1123,   1124,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   4713,   4714,   4715,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,    293,    294,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,    295,    296,    297,    298,
+		 32767,  32767,    299,    300,  32767,  32767,    301,    302,
+		   303,    304,    305,    306,  32767,  32767,    307,    308,
+		   309,    310,    311,    312,  32767,  32767,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,    736,   -753,    738,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,    764,    765,    766,    767,
+		   768,    769,    770,    771,    772,    773,    774,    775,
+		   776,    777,    778,    779,    780,    781,    782,    783,
+		  9637,    785,    887,    787,   4022,    789,   9648,    791,
+		  4028,    793,    794,   9658,    796,    797,    798,    799,
+		   800,    801,    802,    803,    804,    805,    806,    807,
+		     0,      0,   4407,   4452,    816,    -73,    818,    819,
+		  8149,  -4948,  -4948,  -4948,  -4948,   2009,      0,      0,
+		     0,      0,      0,      0,    838,    839,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,  32767,  32767,  32767,  32767,  32767,      0,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  -2274,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  -2283,  -2283,
+		 -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,
+		 -2283,  -2283,  -3665,  -2283,  -2283,  -2283,  -2283,  -2283,
+		 -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,
+		 -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,
+		 -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,  -2283,
+		 -2283,  -2283,  -2283,  32767,  -2284,  32767,  -2285,  -2285,
+		 32767,  -2286,  -2286,  32767,  -2287,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,   1177,   1178,
+		  1179,   1180,   1181,   1182,   1183,   1184,   1185,   1186,
+		  1187,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		   327,    328,    329,    330,    331,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   -265,   -265,   -265,   1833,   1192,   1193,   1194,
+		 -3856,  -3812,  -3812,  -3812,  -3812,  -3812,  -3856,  -3856,
+		 -3856,   1204,   1205,   1206,   1207,   1208,  32767,  32767,
+		 32767,  32767,  -3865,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   4716,   4717,   4718,   4719,
+		  4720,   4721,   4722,   4723,   4724,   4725,   4726,   4727,
+		  4728,   4729,   4730,   4731,   4732,   4733,   4734,   4735,
+		  3252,   4737,   4738,   4739,   4740,   4741,   4742,   4376,
+		  4744,   4377,   3133,   3134,   4379,   4379,   3137,   4380,
+		  3267,   4753,   4754,   4755,   4756,   4757,   4758,   4759,
+		  4760,   4761,   4762,   4763,   4764,   4765,   4766,   4767,
+		  4768,   4769,   4770,   4771,   4772,   4773,   4774,   4775,
+		  4776,   4777,   4778,   4779,   4780,   4781,   6561,   6562,
+		  6563,  12193,   6565,   6566,   4788,   4789,   4790,   3305,
+		  4772,   3305,   4794,   3305,   4796,   4797,   4798,   3305,
+		  4800,  32767,      0,   4802,   4803,   4804,   4805,   4806,
+		  4807,   4808,   4809,   4810,   4811,   4812,   4813,   4814,
+		  4815,   4816,   4817,   4818,   4819,   4820,   4821,   4822,
+		  4823,   4824,   4825,   4826,   4827,   4828,  13682,   4830,
+		  4932,   4832,   8067,   4834,  13693,   4836,   8073,   4838,
+		  4839,  13703,   4841,   4842,   4843,   4844,   4845,   4846,
+		  4847,   4848,   4849,   4850,   4851,   4852,   1186,   4854,
+		  4855,   4856,   4857,   3968,   4859,   4860,  12190,   -907,
+		  -907,   -907,   -907,   -907,   -907,   4868,   4869,   4870,
+		  4871,  32767,   4872,   4873,  32767,  32767,   4874,  32767,
+		  1233,   4875,   4876,  32767,  32767,   4877,   4878,   4879,
+		  8126,  32767,   4881,   4882,   4883,   6698,   6699,   7945,
+		  6701,   4888,   9388,   7949,   4891,   4892,  32767,   4893,
+		 32767,   4894,   4895,   4896,   4897,   4898,   4899,   3517,
+		  3518,   3519,   3520,   3521,   4904,   3523,   3524,   3525,
+		  3526,   3527,   3528,   3529,   3530,   3531,   3532,   3533,
+		  3534,   3535,   3536,   3537,   3538,   3539,   3540,   3541,
+		  3542,   3543,   4926,   8206,   4928,   8209,   4930,   4931,
+		  4932,   4933,   4934,   4935,   8222,   4937,   4938,   8225,
+		  8226,   4941,   4942,   4943,      0,   4945,   8230,      0,
+		     0,   4949,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,  32767,   -127,   -127,   -127,
+		  7202,   -127,   -127,      0,   -128,   -128,   -128,   -128,
+		     0,  32767,   -130,   4971,   -129,   5613,   5614,   5615,
+		  4976,   5618,  32767,   5619,   5620,   5621,   4981,   5624,
+		  4983,   4984,  32767,   5630,   5631,  -1986,  -1986,   -126,
+		  -126,   5078,   4992,   5037,   5038,   5039,   5040,   5041,
+		  5086,   5087,   5088,   5089,  -2239,   5091,   5092,   5093,
+		  5094,   5095,   5096,   5097,   5098,   5099,   5100,      0,
+		  5101,   -640,   -640,   -640,      0,   -641,   -641,   -641,
+		  -641,   -641,      0,   -642,      0,      0,  32767,   -645,
+		  -645,   6973,   6974,   5115,   5116,    -87,      0,    -44,
+		   -44,    -44,    -44,    -44,    -88,    -88,    -88,    -88,
+		  7241,    -88,    -88,    -88,    -88,    -88,    -88,    -88,
+		   -88,    -88,    -88,    -88,    -88,   5654,   5655,   5656,
+		  5657,   5658,   5659,   5660,   5661,   5662,   5663,   5664,
+		  5665,   5666,   5667,   5668,   5669,  -1948,  -1948,    -88,
+		   -88,   5116,   5117,   5074,   5075,   5076,   5077,   5078,
+		  5123,   5124,   5125,   5126,  -2202,   5128,   5129,   5130,
+		  5131,   5132,   5133,   5134,   5135,   5136,   5137,   5138,
+		  5139,   -602,   -602,   -602,   -602,   -602,   -602,   -602,
+		  -602,   -602,   -602,   -602,   -602,   -602,   -602,   -602,
+		  -602,   7016,   7017,   5158,   5159,    -44,    -44,      0,
+		     0,      0,      0,      0,    -44,    -44,    -44,    -44,
+		  7285,    -44,    -44,    -44,    -44,    -44,    -44,    -44,
+		   -44,    -44,    -44,    -44,    -44,   5698,   5699,   5700,
+		  5701,   5702,   5703,   5704,   5705,   5706,   5707,   5708,
+		  5709,   5710,   5711,   5712,   5713,  -1904,  -1904,    -44,
+		   -44,   5160,   5161,   5118,   5119,   5120,   5121,   5122,
+		  5167,   5168,   5169,   5170,  -2158,   5172,   5173,   5174,
+		  5175,   5176,   5177,   5178,   5179,   5180,   5181,   5182,
+		  5183,   -558,   -558,   -558,   -558,   -558,   -558,   -558,
+		  -558,   -558,   -558,   -558,   -558,   -558,   -558,   -558,
+		  -558,   7060,   7061,   5202,   5203,      0,      0,     44,
+		    44,     44,     44,     44,      0,      0,      0,      0,
+		  7329,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,   5742,   5743,   5744,
+		  5745,   5746,   5747,   5748,   5749,   5750,   5751,   5752,
+		  5753,   5754,   5755,   5756,   5757,  -1860,  -1860,      0,
+		     0,      0,      0,      0,   6264,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,  -3389,
+		 -3389,   5355,   5356,  -3434,  -3434,  -3389,  -3389,  -3389,
+		 -3389,   5363,   5364,  -3434,  -3434,  -3389,  -3389,  -3389,
+		 -3345,  -3345,  -3391,  -3391,  -3391,  -3391,  -3391,  -3391,
+		 -3391,   5331,   5332,   5333,   5334,   2027,   1983,   5337,
+		  5338,   5339,   5340,  18549,  15248,  15249,  11948,  11949,
+		  8648,   8649,   5348,   5349,   5350,   5351,   5352,  -3391,
+		 -3391,   5400,   5401,   5357,   5358,   5359,   5360,  -3391,
+		 -3391,   5408,   5409,   5365,   5366,   5367,   5324,   5325,
+		  5372,   5373,   5374,   5375,   5376,   5377,   5378,  -3343,
+		 -3343,  -3343,  -3343,    -35,     10,  -3343,  -3343,  -3343,
+		 -3343, -16551, -13249, -13249,  -9947,  -9947,  -6645,  -6645,
+		 -3343,  -3343,  -3343,  -3343,  -3343,   5401,   5402,  -3388,
+		 -3388,  -3343,  -3343,  -3343,  -3343,   5409,   5410,  -3388,
+		 -3388,  -3343,  -3343,  -3343,  -3299,  -3299,  -3345,  -3345,
+		 -3345,  -3345,  -3345,  -3345,  -3345,   5377,   5378,   5379,
+		  5380,   2073,   2029,   5383,   5384,   5385,   5386,  18595,
+		 15294,  15295,  11994,  11995,   8694,   8695,   5394,   5395,
+		  5396,   5397,   5398,  -3345,  -3345,   5446,   5447,   5403,
+		  5404,   5405,   5406,  -3345,  -3345,   5454,   5455,   5411,
+		  5412,   5413,   5414,   5415,   5416,   5417,   5418,   5419,
+		  5420,   5421,   5422,  -3299,  -3299,  -3299,  -3299,      9,
+		    54,  -3299,  -3299,  -3299,  -3299, -16507, -13205, -13205,
+		 -9903,  -9903,  -6601,  -6601,  -3299,  -3299,  -3299,  -3299,
+		 -3299,   5445,   5446,  -3344,  -3344,  -3299,  -3299,  -3299,
+		 -3299,   5453,   5454,  -3344,  -3344,  -3299,  -3299,  -3299,
+		 -3299,  -3299,  -3299,  -3299,  -3299,  -3299,  -3299,  -3299,
+		 -3299,   5423,   5424,   5425,   5426,   2119,   2075,   5429,
+		  5430,   5431,   5432,  18641,  15340,  15341,  12040,  12041,
+		  8740,   8741,   5440,   5441,   5442,   5443,   5444,  -3299,
+		 -3299,   5492,   5493,   5449,   5450,   5451,   5452,  -3299,
+		 -3299,   5500,   5501,   5457,   2790,   2790,   2790,   2790,
+		  -376,   2790,   2790,   5510,   2790,   5512,  12630,   5514,
+		 12632,   5516,   2218,   2219,   2220,  -8382,  -2292,   4825,
+		  2222,   5524,   2223,     12,   5527,   2224,   2225,   2226,
+		  2227,   2228,   2229,   2230,   2857,   2232,   2233,   5538,
+		  2234,   5540,   2235,   5542,   5543,   2236,  -3299,  -3299,
+		 -3299,   5548,   5549,  -3299,  -3299,   2790,   2790,   2790,
+		  5555,   5556,   5557,   2790,   2790,   2790,   2790,   2790,
+		  2790,   2790,   2790,   2790,   2790,   2790,   2790,   2790,
+		  9083,   9084,   2790,   2790,   2790,   2790,   2790,   2790,
+		  2790,   2790,   2790,   2790,   2790,   2790,   3549,   7580,
+		  7581,   2790,   2790,   2790,   2790,   2790,   2790,   2790,
+		  2790,   5694,   5694,   2790,   2790,   5695,   5695,   1358,
+		  5603,   5694,   5694,   5694,  -2343,   6401,   6402,  -2388,
+		 -2388,  -2343,   4593,   4593,   3674,   7217,   7218,  -1580,
+		 -1580,  -1535,  -1535,   5451,   2888,  -1489,  -1535,  -1535,
+		 -1535,  -1535,  -1535,   5451,   5451,   3587,   7191,   7192,
+		  7193,   3886,   3842,   3843,   3844,  -5932,   7203,  20412,
+		  5454,   5454,   5454,   9202,   9203,   9204,   9205,   9206,
+		  9207,   8436,   4682,  -2304,  -1529,   7262,  -2553,  -2553,
+		  7222,   7223,  -2553,  32767,  32767,   -219,   5344,  -2555,
+		 -2555,   -840,   -840,   -840,   -840,   1882,   2788,   2788,
+		 -7823,  -7778,   5675,   5676,   5677,   5678,   5679,  -6828,
+		  -848,  -6056,  -6056,    930,  -2545,  -6009,  -6967,   3098,
+		 -2545,  -6054,  -2545,    933,   2940,   3104,   5695,   5696,
+		   549,   5698,   5699,   5700,   5701,   5702,   5703,   5704,
+		  5705,   5706,   5707,   5708,   5709,   5710,   5711,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  -1250,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   7502,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  -1419,  32767,  32767,
+		 32767,  32767,      0,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,   4580,   4581,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,    912,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,   -129,  32767,  32767,   -131,   -131,
+		   896,      0,  32767,  32767,  32767,  -2616,  32767,  32767,
+		 32767,  32767,  32767,  32767,      0,      0,  32767,    882,
+		   882,  32767,      0,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   -197,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  5757,   5758,   5759,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  -4071,  -4071, -12944,  -4071,  32767,
+		 -4072,  -4072,  -9647,  32767,      0,      0,   5401,      0,
+		     0,  -4068,  -4068,  -4068,      0,  -2329,  -4067,    346,
+		 -4068,  -5246,  32767,  32767,  -4575,  -5503,  -4069,  -4069,
+		 -4069,  32767,  32767,  -4071,  -4071,   -950,  32767,   -950,
+		 32767,  -4073,      0,  -4074,  32767,      0,      0,      0,
+		     0,  32767,      0,      0,      0,  32767,      0,      0,
+		     0,      0,      0,      0,      0,  32767,      0,      0,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		     0,      0,      0,      0,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,  -4337,  -2128,      0,      0,      0,
+		 -8037,    707,   -207,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   1760,  32767,  -2024,  32767,  32767,   1761,
+		  1762,   1763,   1764,   1765,   1766,  10620,   1768,   1870,
+		  1770,   1374,  32767,  32767,  32767,  -2908,  -2952,  32767,
+		 32767,   1375,  -3204,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,    579,  32767,  32767,  32767,  32767,  32767,  -3995,
+		 -3995,  -3995,   2962,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,  -2645,    831,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,   4613,   4614,
+		 32767,  32767,      0,    276,  32767,      0,  32767,  32767,
+		 32767,      0,  32767,  32767,  32767,  32767,      0,      0,
+		     0,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  -4423,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  1377,  32767,  32767,   2963,   2964,  32767,  32767,  32767,
+		 32767,  32767,  32767,    349,    350,  32767,   -531,   -530,
+		 32767,   1378,  32767,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,  32767,      0,  32767,  32767,
+		 32767,      0,  32767,  32767,  32767,  32767,      0,      0,
+		     0,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,      0,      0,
+		     0,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   -187,   -187,   -187,
+		  -187,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 -5344,  -5344,  32767,  32767,   2965,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  -5827,
+		 -5827,  -5827,  -4802,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,      0,      0,  32767,  32767,
+		     0,      0,  32767,  32767,      0,      0,      0,      0,
+		     0,      0,  32767,  32767,      0,      0,      0,      0,
+		     0,      0,  32767,  32767,    313,    314,    315,    316,
+		   317,    318,    319,    320,    321,    322,    323,    324,
+		 32767,  32767,   -411,   1079,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   -877,
+		 32767,   6064,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   2966,   2967,  32767,   1382,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,   2968,  32767,  32767,  32767,  -9358,
+		 32767,  -9314,  -9314,  -9314,  32767,  32767,  32767,  32767,
+		 32767,  32767,   -768,   7132,   7133,  32767,  32767,  32767,
+		 32767,   2697,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,      0,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  -1181,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  -4100,      0,   9000,
+		  9001,      0,      0,      0,      0,      0,      0,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,  -1245,      0,
+		     0,  -1244,  -1243,      0,  -1242,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,   3268,
+		     0,   4651,  32767,  32767,      0,   4651,      0,   4652,
+		     0,   4653,      0,   4654,      0,   4655,      0,   4656,
+		  1389,   4656,      0,   4657,      0,   4658,      0,      0,
+		  4660,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,  32767,      0,      0,      0,
+		     0,  32767,  32767,  32767,  32767,      0,      0,   8233,
+		 32767,      0,  32767,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		  4220,   4221,      0,      0,      0,      0,      0,   3305,
+		     0,      0,   3307,   3307,   3307,   3307,      0,      0,
+		     0,   3310,   1901,      0,      0,      0,      0,      0,
+		     0,  -1319,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,   7618,   7619,   7620,
+		     3,      3,   1863,   1863,   7067,   7068,   7025,   7026,
+		  7027,   7028,   7029,   7074,   7075,   7076,   7077,   -251,
+		  7079,   7080,   7081,   7082,   7083,   7084,   7085,   7086,
+		  7087,   7088,   7089,   7090,   1349,   1349,   1349,   1349,
+		  1349,   1349,   1349,   1349,   1349,   1349,   1349,   1349,
+		  1349,   1349,   1349,   1349,   8967,   8968,   7109,   7110,
+		  1907,   1907,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   2989,   2990,   2991,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,      0,      0,   1401,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   1402,
+		  2331,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1449,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   1404,  32767,   1405,  32767,
+		  1406,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   1407,  32767,  32767,  32767,  32767,  32767,
+		 32767,   4588,   4589,   4590,   4591,   4592,   4593,   4594,
+		  4595,   4596,   4597,   4598,  32767,  32767,   1410,  32767,
+		 32767,  32767,  32767,   1411,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  7002,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  6168,  -3267,   1415,   1416,   1417,  -3264,  -3264,  -3264,
+		 -3264,  -3264,  -3264,   1424,   1425,  -4183,  32767,   1426,
+		  1427,   5988,   1429,  -3258,  32767,  -3259,  -3259,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,   1390,  32767,
+		 32767,  32767,  -3268,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   1434,  32767,  32767,  32767,
+		 32767,   1435,  32767,  32767,  32767,  32767,   1436,  32767,
+		 32767,  32767,  32767,   1437,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  1438,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  -3218,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   7380,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,    360,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   1440,
+		 32767,   1441,  -4485,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  10733,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   4484,
+		 32767,   4531,   4532,   4533,  32767,  32767,  -2452,   -587,
+		 32767,  32767,  32767,  32767,  32767,   -842,   -842,   3659,
+		 -4200,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,    928,  32767,
+		   929,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,    930,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   4601,   4602,  32767,
+		 32767,  32767,  32767,  32767,  32767,   2071,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   1444,  32767,  32767,  32767,
+		     0,  32767,      0,  32767,  32767,  -2192,   1107,   1107,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   3005,   3006,   3007,   3008,
+		 32767,  32767,  32767,    931,   -340,  32767,  32767,  32767,
+		 -1180,   5937,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  4608,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   3010,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   4609,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   2880,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767, -11659,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  -5062,  32767,  32767,  -5109,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  -4115,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   4639,
+		 32767,  32767,  32767,   4640,   4641,   4642,  17851,  32767,
+		 32767,  32767,  11248,   7947,   7948,   4647,   4648,   4649,
+		  4650,   4651,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,   4611,   8686,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  1270,   4897,   4898,   4899,  11619,   4901,   4902,  32767,
+		  4903,   4904,   4905,   4906,   4907,   9707,   -879,   1269,
+		  1269,   1269,   1269,   1269,   1269,   1269,   1269,   1269,
+		  1269,  32767,  32767,   4920,   4921,   3637,  -2451,  -1436,
+		  4925,   4926,  32767,   7319,   7320,  32767,   7321,   7322,
+		  7323,   7324,   5319,  32767,  32767,  32767,  -1435,  -1434,
+		 32767,  -7726,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,    384,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,  20109,  16808,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,   3219,   3220,   6903,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		 -5258,  -5258,  -5258,  -5258,  -5258,  -5258,  -5258,      0,
+		     0,      0,      0,      0,      0,  -1825,  -1825,  -1825,
+		-15033, -11731, -11731,  -8429,      0,      0,      0,  -1828,
+		 -1828,  -1828,  -1828,  -1828,      0,      0,      0,      0,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,  -2079,  -3817,    596,  -4844,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,  32767,  32767,      0,
+		     0,      0,      0,      0,      0,      0,   8757,   8758,
+		  8759,   8760,   8761,   8762,   8763,   8764,   8765,   8766,
+		    45,     45,     45,     45,   3353,   3398,     45,     45,
+		    45,     45, -13163,  -9861,  -9861,  -6559,  -6559,  -3257,
+		 -3257,     45,     45,     45,     45,     45,   8789,   8790,
+		     0,      0,     45,     45,     45,     45,   8797,   8798,
+		     0,      0,     45,   2713,   2714,   2715,   2716,   5883,
+		  2718,   2719,      0,   2721,      0,  -7117,      0,  -7117,
+		     0,   3299,   3299,   3299,  13902,   7813,    697,   3301,
+		     0,   3302,   5514,      0,   3304,   3304,   3304,   3304,
+		  3304,   3304,   3304,   2678,   3304,   3304,      0,   3305,
+		     0,   3306,      0,      0,   3308,   8844,   8845,   8846,
+		     0,      0,   8849,   8850,   2762,   2763,   2764,      0,
+		     0,      0,   2768,   2769,   2770,   2771,   2772,   2773,
+		  2774,   2775,   2776,   2777,   2778,   2779,   2780,  -3512,
+		 -3512,   2783,   2784,   2785,   2786,   2787,   2788,   2789,
+		  2790,   2791,   2792,   2793,   2794,   2036,  -1994,  -1994,
+		  2798,   2799,   2800,   2801,   2802,   2803,   2804,   2805,
+		   -98,    -97,   2808,   2809,    -95,    -94,   4244,      0,
+		   -90,    -89,    -88,   7950,   -793,   -793,   7998,   7999,
+		  7955,   1020,   1021,   1941,  -1601,  -1601,   7198,   7199,
+		  7155,   7156,    171,   2735,   7113,   7160,   7161,   7162,
+		  7163,   7164,    179,    180,   2045,  -1558,  -1558,  -1558,
+		  1750,   1795,   1795,   1795,  11572,  -1562, -14770,    189,
+		   190,    191,  -3556,  -3556,  -3556,  -3556,  -3556,  -3556,
+		 -2784,    971,   7958,   7184,  -1606,   8210,   8211,  -1563,
+		 -1563,   8214,   8215,   9182,   5881,    319,   8219,   8220,
+		  6506,   6507,   6508,   6509,   3788,   2883,   2884,  13496,
+		 13452,      0,      0,      0,      0,      0,  12508,   6529,
+		 11738,  11739,   4754,   8230,  11695,  12654,   2590,   8234,
+		 11744,   8236,   4759,   2753,   2590,      0,      0,   5148,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,      0,      0,      0,  10878,
+		     0,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,      0,   1408,
+		     0,      0,  32767,  32767,  32767,  32767,  32767,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,   5760,      0,      0,      0,      0,      0,  32767,
+		     0,  32767,      0,      0,  32767,      0,      0,  32767,
+		     0,   3520,   3521,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		  1657,   1658,   1659,   1660,  -5668,   1662,   1663,   1664,
+		  1665,   1666,   1667,   1668,   1669,   1670,   1671,   1672,
+		  1673,  -4068,  -4068,  -4068,  -4068,  -4068,  -4068,  -4068,
+		 -4068,  -4068,  -4068,  -4068,  -4068,  -4068,  -4068,  -4068,
+		 -4068,   3550,   3551,   1692,   3595,   3596,   3597,  -3469,
+		 -3469,  -3469,  -3469,  -3469,  -3513,  -3513,  -3513,  -3513,
+		  3816,  -3513,  -3513,  -3513,  -3513,   3612,   3613,   3614,
+		  3615,   3616,   3617,   3618,   3619,   3620,   3621,   3622,
+		  3623,   3624,   3625,   3626,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,      0,      0,
+		 -6719,      0,      0,  -6678,      0,      0,      0,      0,
+		     0,  -4799,   5788,   3641,   3642,   3643,   3644,   3645,
+		  3646,   3647,   3648,   3649,   3650,   3651,   3652,      0,
+		     0,   1285,   7374,   6360,      0,      0,   3660,  -2392,
+		 -2392,   3663,  -2392,  -2392,  -2392,  -2392,   -386,  -2392,
+		 -2555,   3671,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,      0,  32767,  32767,  32767,
+		 32767,   6685,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  4638,   4639,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,   4600,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   1383,  32767,  32767,
+		 32767,  32767,   1384,  -1883,   1386,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,   4640,  32767,
+		 32767,  32767,   1387,  -3268,      0,  -3266,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   1391,  32767,  32767,
+		 32767,  32767,   1392,   1393,   1394,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  -5630,  -5630,  -5630,  -5630,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  -5690,  -5690,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1515,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  -9707,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,      0,      0,  32767,  32767,   4641,   4642,  32767,
+		 32767,  32767,  32767,  32767,   4630,  32767,  32767,  32767,
+		 -4214,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  1852,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1452,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  -8247,  -4945,  32767,
+		 -7282,  32767,  32767,  32767,  -1875,  -1875,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,      0,      0,      0,      0,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   1453,   1454,   1455,   -642,      0,      0,
+		     0,   5051,   5008,   5009,   5010,   5011,   5012,   5057,
+		  5058,   5059,      0,      0,      0,      0,      0,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  -3509,
+		 32767,  32767,  32767,  32767,  -3513,  -3513,  -3513,  -3513,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  -4466,
+		 32767,  -4467,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  -4482,  32767,  32767,  -3605,  -3605,  -3605,
+		 -3605,  -3605,  -3605,  -3605,  32767,  32767,  -3607, -12460,
+		 -3607,  -3708,  -3607,  -6841,  32767,  32767,  -3609,  -6845,
+		 32767,  -3610, -12473,  -3610,  -3610,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   4646,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1456,   1457,      0,  32767,      0,  32767,      0,
+		 32767,      0,  32767,      0,  32767,  32767,  32767,      0,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   1857,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,  -2932,      0,  32767,
+		     0,  32767,      0,  32767,      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,  32767,      0,      0,      0,   1459,
+		  1460,   1461,   1462,   1463,   1464,   1465,   1466,      0,
+		     0,   1467,      0,   1489,      0,   1491,   1492,   1493,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   5489,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,      0,      0,
+		     0,  32767,   3616,   1469,   1470,   1471,   1472,   1473,
+		  1474,   1475,   1476,   1477,   1478,   1479,   1480,  -2172,
+		  1496,   -888,   5201,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,    115,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,    116,
+		   117,    361,  32767,    362,  32767,    363,  32767,    364,
+		 32767,    365,  32767,  32767,  32767,    366,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,   1484,
+		     0,      0,      0,      0,      0,      0,    367,      0,
+		   368,   1613,   1613,    369,    370,   1613,    371,   1485,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,  -1779,  -1779,  -1779,
+		 -7408,  -1779,  -1779,      0,      0,      0,   1486,     20,
+		  1488,      0,   1490,      0,      0,      0,   1494,      0,
+		 32767,   4801,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,  -8853,      0,   -101,
+		     0,  -3234,      0,  -8858,      0,  -3236,      0,      0,
+		 -8863,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,   3667,      0,      0,
+		     0,      0,    890,      0,      0,  -7329,   5769,   5770,
+		  5771,   5772,   5773,   5774,      0,      0,      0,      0,
+		 32767,      0,      0,  32767,  32767,      0,  32767,  32767,
+		     0,      0,  32767,  32767,      0,      0,      0,  -3246,
+		 32767,      0,      0,      0,  -1814,  -1814,  -3059,  -1814,
+		     0,  -4499,  -3059,      0,      0,  32767,      0,  32767,
+		     0,      0,      0,      0,      0,      0,   1383,      0,
+		  1382,   1382,   1382,      0,   1382,   1382,   1382,   1382,
+		  1382,   1382,   1382,   1382,   1382,   1382,   1382,   1382,
+		  1382,   1382,   1382,   1382,   1382,   1382,   1382,   1382,
+		  1382,      0,  -3279,      0,  -3280,      0,      0,      0,
+		     0,      0,      0,  -3286,      0,      0,  -3286,  -3286,
+		     0,      0,      0,   4944,      0,  -3284,   4947,   4948,
+		     0,   4950,   4951,   4952,   4953,   4954,   4955,   4956,
+		  4957,   4958,   4959,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,      0,
+		 32767,  32767,      0,      0,      0,      0,  32767,  32767,
+		 32767,      0,      0,   1500,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   4650,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   6703,
+		  6704,   6705,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  13097,      0,      0,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  -3442,   1502,  -3442,  32767,
+		  1504,   1505,  -3443,   1507,   1508,   1509,   1510,   1511,
+		  1512,   1513,   1514,   1515,   1516,  32767,   1644,   1645,
+		  1646,  -5682,   1648,   1649,   1523,  32767,  32767,  32767,
+		 32767,   1524,  32767,  32767,  32767,  32767,  32767,  32767,
+		 -4090,  32767,  32767,  32767,  -4093,  -4093,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,      0,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1528,   1529,   1530,  32767,   1531,   1532,   1533,
+		  1534,   1535,   1536,   1537,   1538,   1539,   1540,   1541,
+		 32767,   1542,   1543,   1544,   1545,   1546,   1547,   1548,
+		  1549,   1550,   1551,   1552,   1553,   1554,   1555,   1556,
+		  1557,   1558,   1559,  32767,   1560,   1561,   1562,   1563,
+		  1564,   1565,   1566,   1567,   1568,   1569,   1570,   1571,
+		  1572,   1573,   1574,   1575,   1576,   1577,   1578,   1579,
+		  1580,   1581,   1582,   1583,   1584,   1585,   1586,   -365,
+		  -365,  32767,  32767,  32767,  32767,   -413,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   1588,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  -410,   1590,  -2995,  -2995,   1593,   1594,   1595,   1596,
+		  1597,   1598,   1599,   1600,   1601,   1602,   1603,   1604,
+		  1605,   1606,   1607,   1608,   1609,   1610,   1611,   1612,
+		  1613,   1614,   1615,   1616,   1617,   1618,   1619,   1620,
+		  1621,   1622,   1623,   1624,   1625,   1626,   1627,   1628,
+		  1629,   1630,   1631,   1632,   1633,   1634,   1635,   1636,
+		  1637,   1638,   1639,   1640,   1641,   1642,   1643,   1644,
+		  1645,   1646,   1647,   1648,   1649,   1650,   1651,   1652,
+		  1653,   1654,   1655,   1656,   1657,   1658,   1659,   1660,
+		  1661,   1662,   1663,   1664,   1665,   1666,   1667,   1668,
+		  1669,   1670,   1671,   1672,   1673,   1674,   1675,   1676,
+		  1677,   1678,   1679,   1680,   1681,   1682,   1683,  32767,
+		  1684,   1685,   1686,   1687,   1688,  32767,    372,    373,
+		   374,    375,    376,    377,    378,    379,    380,    381,
+		   382,    383,      0,    385,    386,    387,    388,    389,
+		   390,    391,    392,    393,    394,    395,    396,    397,
+		   398,    399,    400,    401,    402,    403,    404,    405,
+		   406,    407,    408,    409,    410,    411,    412,    413,
+		   414,    415,    416,    417,    418,    419,    420,    421,
+		   422,    423,    424,    425,    426,    427,    428,    429,
+		   430,    431,    432,    433,    434,    435,    436,    437,
+		   438,    439,    440,    441,    442,    443,    444,    445,
+		   446,    447,    448,    449,    450,    451,    452,    453,
+		   454,    455,    456,    457,    458,    459,    460,    461,
+		-19647, -16345,    464,    465,    466,    467,    468,    469,
+		   470,    471,    472,    473,    474,    475,    476,    477,
+		 -2741,  -2741,  -6423,    481,    482,    483,    484,    485,
+		   486,    487,    488,    489,    490,    491,   5750,   5751,
+		  5752,   5753,   5754,   5755,   5756,    499,    500,    501,
+		   502,    503,    504,   2330,   2331,   2332,  15541,  12240,
+		 12241,   8940,    512,    513,    514,   2343,   2344,   2345,
+		  2346,   2347,    520,    521,    522,    523,    524,    525,
+		  1689,    526,  32767,  32767,  32767,  32767,    527,    528,
+		   529,    530,    531,    532,    533,    534,    535,    536,
+		   537,    538,    539,    540,    541,    542,    543,    544,
+		   545,    546,    547,    548,    549,    550,    551,    552,
+		   553,    554,    555,    556,    557,    558,    559,    560,
+		   561,    562,    563,    564,    565,    566,    567,    568,
+		   569,    570,    571,    572,    573,    574,    575,    576,
+		   577,    578,    579,    580,    581,    582,    583,    584,
+		   585,    586,    587,    588,    589,    590,    591,    592,
+		   593,   2673,   4412,      0,   5441,    598,    599,    600,
+		   601,    602,    603,    604,    605,    606,    607,    608,
+		   609,    610,    611,    612,    613,    614,    615,    616,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   6706,
+		  6707,   6708,   6709,   3402,   3358,   6712,   6713,   6714,
+		  6715,  19924,  16623,  16624,  13323,  13324,  10023,  10024,
+		  6723,   6724,   6725,   6726,   6727,  32767,  32767,   6773,
+		  6774,   6730,   6731,   6732,   6733,  32767,  32767,   6779,
+		  6780,   6736,   4069,   4069,   4069,   4069,    903,   4069,
+		  4069,   6789,   4069,   6791,  13909,   6793,  13911,   6795,
+		  3497,   3498,   3499,  -7103,  -1013,   6104,   3501,   6803,
+		  3502,   1291,    672,  -8578,  -5276,  -5276,  -1974,  -1974,
+		 -1974,  -1974,  -1974,   6770,   6771,      0,      0,  -1976,
+		 -1976,  -1976,  -1976,   6776,   6777,  32767,   1725,  -1978,
+		   690,    691,    692,    693,   3860,    695,    696,  32767,
+		   697,  32767,  -9142,  32767,  -9143,      0,   1272,   1272,
+		  1272,  11875,   5786,  -1330,   1274,  -2027,   1275,   3487,
+		 -2027,   1277,   1277,   1277,   1277,   1277,   1277,   1277,
+		  1623,   1276,   2248,  -2029,   2248,  -2030,   2248,  -2031,
+		 -1059,   1276,   7784,   6812,   7785,  32767,  32767,   6813,
+		  6814,    726,    727,    728,  -2036,  -2036,  -2036,    732,
+		   733,    734,    735,    736,    737,    738,    739,    740,
+		   741,    742,    743,    744,  -5548,  -5548,    747,    748,
+		   749,    750,    751,    752,    753,    754,    755,    756,
+		   757,    758,      0,  -4030,  -4030,    762,    763,    764,
+		   765,    766,    767,    768,    769,  -2134,  -2133,    772,
+		   773,  -2131,  -2130,   2208,      0,  -2127,  -2126,  -2125,
+		  5913,  -2830,  -1915,   5960,   6876,   6832,   -103,   -102,
+		  -101,  -3643,  -3643,   5156,    -97,   5112,   5113,  -1872,
+		  1604,   5069,   6028,   5116,   5117,   5118,   5119,  -1866,
+		 -1865,      0,  -2697,      0,   -298,   -298,   -253,   -253,
+		  -253,   9524,  -2708,  32767,  -1861,  -1860,  -1859,  -5606,
+		 -5606,  -5606,  -4709,  -5607,  -5607,  -4835,  -1080,   5907,
+		  5133,  -3657,   7050,   6159,  -3615,  -2725,   7052,      0,
+		 32767,   3825,  -1737,   6163,  32767,   4449,   4450,   4451,
+		  5338,   1730,   1711,    825,  12323,  12279,  32767,  32767,
+		  6990,   3689,   3690,   3691,   3692,   3693,  -5050,  -5050,
+		  1722,   1723,   3700,  32767,  32767,   1586,      0,  -7565,
+		     0,      0,   1431,   1595,    260, -10927,      0,  -2134,
+		 -2178,  -2177,  32767,  32767,      0,      0,   2211,      0,
+		     0,      0,  -6402,   1800, -10148,  -4058,   3059,  -4058,
+		     0,  -4057,   5372,  -4056,  -4056,  -4056,      0,    453,
+		     0,      0,      0,    108,    456,      0,   3762,   -514,
+		     0,      0,      0,      0,    459,      0,  -5076,      0,
+		     0,      0,      0,      0,      0,      0,      0,   3773,
+		  3774,   3775,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,   7288,
+		     0,      0,      0,      0,      0,      0,      0,    988,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,  32767,      0,      0,   3876,   3876,
+		  3876,   3876,      0,   3875,   3875,   3875,   -462,   1747,
+		  3875,   3875,   3875,  -4162,   4582,   3668,  -4206,  -5121,
+		 -5076,   1860,   1860,   1860,   5403,   5404,  -3394,   1860,
+		 -3348,  -3348,   3638,    163,  -3301,  -4259,  -3346,    162,
+		 -3347,  -3347,   3639,   3639,   1775,   4473,   1777,   2076,
+		  2077,   2033,   2034,   2035,  -7741,  -7741,  -8707,  -5405,
+		   158,      0,    157,  -2186,  -5933,  -5933,      0,  -5934,
+		  6619,  -5935,      0,      0,      0,  32767,  32767,  32767,
+		  5826,  32767,  32767,  32767,  32767,   6793,  32767,  -2071,
+		 32767,   5829,  32767,   5830,   5831,   5832,  32767,   5833,
+		  5834,  32767,   5835,  32767,  32767,  -4499,      0,   5837,
+		     0,   5838,      0,   5010,      0,   5840,  32767,  10263,
+		   199,   1786,   9352,   1788,   1789,    359,    196,   1532,
+		 12720,   1794,   3929,   3974,   3974,   3974,  13751,  13752,
+		 14719,   -413,   5855,  13755,   5857,   8201,      0,  11949,
+		  5860,  -1256,   5862,   1805,   5863,  -3565,   5864,   5865,
+		  5866,   5867,   5868,   5869,   5870,   5871,   5872,   5873,
+		 32767,   5874,   5875,   5876,   5877,   5878,   5879,   5880,
+		  5881,   5882,   5883,  14757,   5885,   5886,   5887,   5888,
+		 11464,   5890,   1818,   1819,  -3581,   1821,   1822,   5891,
+		  5892,   5893,   1826,   4156,   5895,   5896,   5897,   7076,
+		 32767,   5899,   6406,   7335,   5902,   5903,   5904,   5905,
+		  5906,   5907,   5908,   2788,   5910,   2789,   5912,   5913,
+		  5914,   5915,  32767,   1842,   1843,   1844,   1845,  32767,
+		  1846,   1847,   1848,  32767,   1849,   1850,   1851,   1852,
+		  1853,   1854,   1855,  32767,   1856,   1857,   1858,   1859,
+		  1860,   1861,  32767,  32767,  32767,  32767,   1862,   1863,
+		  1864,   1865,   1866,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1867,   1868,   1869,   1870,   1871,   1872,   1873,
+		  1874,   1875,   1876,   1877,   1878,   1879,   1880,   1881,
+		  1882,   1883,   1884,   1885,   1886,   1887,   1888,   1889,
+		  1890,   1891,   1892,   1893,   1894,   1895,   1896,   1897,
+		  1898,   1899,   1900,   1901,   1902,   1903,   1904,   1905,
+		  1906,   6244,   4036,   1909,   1910,   1911,   9949,   1206,
+		  2121,   9996,  10912,  10868,   3933,   3934,   3935,    393,
+		   393,   9192,   3939,   9148,   9149,   2164,   5640,   9105,
+		 10064,      0,   5644,   9154,   5646,   2169,    163,      0,
+		  1336,  12524,   3734,   3734,   3779,   3779,   3779,  13556,
+		 13557,  14524,  11223,   5661,  13561,   5663,   8007,  11755,
+		 11756,  11757,  11758,  11759,  11760,  10989,   7235,    249,
+		  1024,   9815,      0,      0,   9775,   9776,      0,      0,
+		  -966,   2336,   7899,      0,      0,  32767,      0,      0,
+		     0,  32767,      0,      0,  32767,      0,  32767,  32767,
+		 10335,  32767,      0,  32767,      0,  32767,    829,   3475,
+		     0,  -3464,  -4422,   5643,      0,  -3509,      0,   3478,
+		  5485,   5649,   4314,  -6873,   1918,   1919,   1875,   1876,
+		  1877,  -7899,  -7899,  -8865,  -5563,      0,  -7899,      0,
+		 -2343,  -6090,  -6090,      0,   7117,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,  -8873,      0,
+		     0,      0,      0,  -5575,      0,      0,   3168,  32767,
+		 32767,      0,      0,      0,      0,      0,   1738,      0,
+		     0,      0,  -1178,      0,      0,   -506,  -1434,      0,
+		     0,      0,      0,      0,      0,      0,   3121,      0,
+		  3122,      0,      0,      0,      0,      0,   4202,  17411,
+		     0,  14110,  10809,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,  -5629,      0,      0,   3169,  32767,
+		 32767,   3125,  32767,   3126,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  -8912,  32767,  -5611,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  -5621,
+		 -5621,   3131,   3132,  -5666,      0,      0,  -5623,  -5623,
+		     0,      0,  -5625,  -5625,  32767,  32767,  32767,  32767,
+		 32767,  32767,   3092,   3093,  32767,  32767,   -259,   3095,
+		 32767,  32767,   3096,  16305,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  10260,   3144,
+		 10262,   3146,   9428,      0,   9429,  10269,  10270,   9434,
+		  9435,      0,  32767,  32767,  32767,      0,      0,      0,
+		     0,      0,      0,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,      0,      0,      0,      0,
+		     0,      0,      0,  32767,  32767,      0,   9472,   9473,
+		     0,      0,      0,   9479,  32767,  32767,  32767,  32767,
+		 32767,  32767,  -2417,   8186,   2097,  -5019,  32767,      0,
+		 32767,  32767,  32767,  32767,  -2418,  -2418,  -2418,  -2418,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,      0,      0,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,     52,     52,     52,     52,     52,
+		     0,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   1920,   1921,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		   171,    172,    173,    174,    175,    176,    177,    178,
+		   179,  -5562,  -5562,  -5562,  -5562,  -5562,  -5562,  -5562,
+		 -5562,  -5562,  -5562,  -5562,  -5562,  -5562,  -5562,  -5562,
+		 -5562,   2056,   2057,    198,   2101,   2102,   2103,  -4963,
+		 32767,  32767,  32767,  32767,  32767,      0,  32767,  32767,
+		 32767,   5916,   5917,   5918,   5919,   5920,   5921,   5922,
+		  5923,   5924,   8857,   5926,  32767,  32767,      0,  32767,
+		     0,   5927,   5928,   5929,   5930,   5931,   5932,   5933,
+		  5934,   5935,   5936,   5937,   5938,   5939,   5940,   4525,
+		  5942,   5943,   5944,   5945,   5946,   5947,   5948,   5949,
+		  5950,   5951,   5952,   5953,   5954,   5955,   5956,   5957,
+		 32767,   5958,   5959,   5960,   4502,   4502,   4502,   4502,
+		  4502,   4502,   4502,   4502,   5969,   5970,   4504,   5972,
+		  4484,   5974,   4484,   4484,   4484,   5978,   5979,   5980,
+		  5981,   5982,   5983,   5984,   5985,   5986,   5987,   5988,
+		  5989,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   2285,  32767,  32767,  32767,
+		 32767,  32767,  32767,   5990,   5991,   5992,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   5993,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,   7023,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   1922,   1923,   1924,   1925,
+		  1926,   1927,   1928,   1929,   1930,   1931,   1932,   1933,
+		  1934,   1935,   1200,   2690,   1200,   1939,   1940,   1941,
+		  1942,   1943,   1944,   1945,   1946,   1947,   1948,   1949,
+		  1950,   1951,   1188,   1188,   1188,   1188,   1188,   1188,
+		  1188,   1188,   1188,   1188,   1188,   1188,   1188,   1188,
+		  1188,   1188,   1188,   1188,   1188,   1188,  -7665,   1188,
+		  1087,   1188,  -2046,   1188,  -7670,   1188,  -2048,   1188,
+		  1188,  -7675,   1188,   1188,   1188,   1188,   1188,   1188,
+		  1188,   1188,   1188,   1188,   1188,   1188,   1996,   1997,
+		 -2409,  -2453,   1184,   2074,   1184,   1184,  -6145,   6953,
+		  6954,   6955,   6956,      0,   2010,   2011,   2012,   2013,
+		  2014,   2015,   1178,   1178,   2018,   2019,   2020,   2021,
+		  2022,   2023,   2024,   2025,   2026,   2027,   2028,   2029,
+		  2030,   2031,   2032,   2033,   2034,   2035,   2036,   2037,
+		  2038,   2039,   2040,   2041,   2042,   2043,   2044,   2045,
+		  2046,   2047,   2048,   2049,   2050,   2051,   2052,   2053,
+		  2054,   2055,   2056,   2057,   2058,   2059,   2060,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,      0,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,      0,      0,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   1315,   1272,   1273,   1274,  32767,   1275,
+		  1320,   1321,   1322,   1323,  -6005,   1325,   1326,   1327,
+		 32767,   1328,   1329,   1330,  32767,   1331,   1332,   1333,
+		  1334,  -4407,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,   6052,      0,      0,   6055,
+		     0,      0,      0,      0,   2006,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   1850,   1851,   1852,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  -4054,
+		 -4054,  -4054,  -4054,   4690,   4691,  -4099,  -4099,  -4054,
+		 -4054,  -4054,  -4054,   4698,   4699,  -4099,  32767,  -4055,
+		 -4055,  -4055,  -4011,  -4011,  -4057,  -4057,  -4057,  -4057,
+		 -4057,  -4057,  -4057,   4665,   4666,   4667,   4668,   1361,
+		  1317,   4671,   4672,   4673,   4674,  17883,  14582,  14583,
+		 11282,  11283,   7982,   7983,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,      0,      0,
+		     0,  32767,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,  32767,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		 32767,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,   1952,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,      0,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,   1999,      0,   4586,
+		  4587,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,  32767,      0,      0,      0,
+		     0,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		  5204,   5161,   5162,   5163,   5164,   5165,   5210,   5211,
+		  5212,   5213,  -2115,   5215,   5216,   5217,   5218,   5219,
+		  5220,   5221,   5222,   5223,   5224,   5225,   5226,   -515,
+		  -515,   -515,   -515,   -515,   -515,   -515,   -515,   -515,
+		  -515,   -515,   -515,   -515,   -515,   -515,   -515,   7103,
+		  7104,   5245,   5246,   5247,   5248,   5249,  -1014,   5251,
+		  5252,   5253,   5254,   5255,   5256,   5257,   5258,   5259,
+		  5260,   8650,   8651,    -92,    -92,   8699,   8700,   8656,
+		  8657,   8658,   8659,    -92,    -92,   8707,   8708,   8664,
+		  8665,   8666,   8623,   8624,   8671,   8672,   8673,   8674,
+		  8675,   8676,   8677,    -44,    -44,    -44,    -44,   3264,
+		  3309,    -44,    -44,    -44,    -44, -13252,  -9950,  -9950,
+		 -6648,  -6648,  -3346,  -3346,    -44,    -44,    -44,    -44,
+		   -44,   8700,   8701,    -89,    -89,    -44,    -44,    -44,
+		   -44,   8708,   8709,    -89,    -89,    -44,    -44,    -44,
+		     0,      0,    -46,    -46,    -46,    -46,    -46,    -46,
+		   -46,   8676,   8677,   8678,   8679,   5372,   5328,   8682,
+		  8683,   8684,   8685,  21894,  18593,  18594,  15293,  15294,
+		 11993,  11994,   8693,   8694,   8695,   8696,   8697,    -46,
+		   -46,   8745,   8746,   8702,   8703,   8704,   8705,    -46,
+		   -46,   8753,   8754,   8710,   8711,   8712,   8713,   8714,
+		  8715,   8716,   8717,   8718,   8719,   8720,   8721,      0,
+		     0,      0,      0,   3308,   3353,      0,      0,      0,
+		     0, -13208,  -9906,  -9906,  -6604,  -6604,  -3302,  -3302,
+		     0,      0,      0,      0,      0,   8744,   8745,    -45,
+		   -45,      0,      0,      0,      0,   8752,   8753,    -45,
+		   -45,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,   8722,   8723,   8724,
+		  8725,   5418,   5374,   8728,   8729,   8730,   8731,  21940,
+		 18639,  18640,  15339,  15340,  12039,  12040,   8739,   8740,
+		  8741,   8742,   8743,      0,      0,   8791,   8792,   8748,
+		  8749,   8750,   8751,      0,      0,   8799,   8800,   8756,
+		  6089,   6089,   6089,   6089,   2923,   6089,   6089,   8809,
+		  6089,   8811,  15929,   8813,  15931,   8815,   5517,   5518,
+		  5519,  -5083,   1007,   8124,   5521,   8823,   5522,   3311,
+		  8826,   5523,   5524,   5525,   5526,   5527,   5528,   5529,
+		  6156,   5531,   5532,   8837,   5533,   8839,   5534,   8841,
+		  8842,   5535,      0,      0,      0,   8847,   8848,      0,
+		     0,      0,  13200,   9900,   9900,   6600,   6600,   3300,
+		  3300,      0,      0,      0, -10416,  -3299,      0,      0,
+		     0,  10603,  32767,  32767,      0,  32767,      0,  32767,
+		 32767,      0,      0,      0,      0,      0,      0,      0,
+		  -626,      0,      0,  32767,      0,  32767,      0,  32767,
+		 32767,      0,      0,  32767,  32767,  32767,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,  32767,  32767,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      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,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  -2928,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,      0,
+		     0,      0,      0,      0,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  -4090,   1652,   1653,  32767,  32767,   2061,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,      0,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,   1610,  32767,  32767,   6150,   6151,   6152,    411,
+		   411,    411,    411,    411,    411,    411,    411,    411,
+		   411,    411,    411,    411,    411,    411,    411,   8029,
+		  8030,   6171,   6172,    969,    969,   1013,   1013,   1013,
+		  1013,   1013,    969,    969,    969,    969,   8298,    969,
+		   969,    969,    969,    969,    969,    969,    969,    969,
+		   969,    969,    969,   6711,   6712,   6713,   6714,   6715,
+		  6716,   6717,   6718,   6719,   6720,   6721,   6722,   6723,
+		  6724,   6725,   6726,   -891,   -891,    969,    969,   6173,
+		  6174,   6131,   6132,   6133,   6134,   6135,   6180,   6181,
+		  6182,   6183,  -1145,   6185,   6186,   6187,   6188,   6189,
+		  6190,   6191,   6192,   6193,   6194,   6195,   6196,    455,
+		   455,    455,    455,    455,    455,    455,    455,    455,
+		   455,    455,    455,    455,    455,    455,    455,   8073,
+		  8074,   6215,   6216,   1013,   1013,   1057,   1057,   1057,
+		  1057,   1057,   1013,   1013,   1013,   1013,   8342,   1013,
+		  1013,   1013,   1013,   1013,   1013,   1013,   1013,   1013,
+		  1013,   1013,   1013,   6755,   6756,   6757,   6758,   6759,
+		  6760,   6761,   6762,   6763,   6764,   6765,   6766,   6767,
+		  6768,   6769,   6770,   -847,   -847,   1013,   1013,   6217,
+		  6218,   6175,   6176,   6177,   6178,   6179,   6224,   6225,
+		  6226,   6227,  -1101,   6229,   6230,   6231,   6232,   6233,
+		  6234,   6235,   6236,   6237,   6238,   6239,   6240,    499,
+		   499,    499,    499,    499,    499,    499,    499,    499,
+		   499,    499,    499,    499,    499,    499,    499,   8117,
+		  8118,   6259,   6260,   6261,   6262,   6263,      0,   6265,
+		  6266,   6267,   6268,   6269,   6270,   6271,   6272,   6273,
+		  6274,   9664,   9665,    922,    922,   9713,   9714,   9670,
+		  9671,   9672,   9673,    922,    922,   9721,   9722,   9678,
+		  9679,   9680,   9637,   9638,   9685,   9686,   9687,   9688,
+		  9689,   9690,   9691,    970,    970,    970,    970,   4278,
+		  4323,    970,    970,    970,    970, -12238,  -8936,  -8936,
+		 -5634,  -5634,  -2332,  -2332,  -2332,  -2332,  -2332,   6412,
+		  6413,  -2377,  -2377,  -2332,  -2332,  -2332,  -2332,   6420,
+		  6421,  -2377,  -2377,  -2332,  -2332,  -2332,  -2288,  -2288,
+		 -2334,  -2334,  -2334,  -2334,  -2334,  -2334,  -2334,   6388,
+		  6389,   6390,   6391,   3084,   3040,   6394,   6395,   6396,
+		  6397,  19606,  16305,  16306,  13005,  13006,   9705,   9706,
+		  6405,   6406,   6407,   6408,   6409,  -2334,  -2334,   6457,
+		  6458,   6414,   6415,   6416,   6417,  -2334,  -2334,   6465,
+		  6466,   6422,   6423,   6424,   6381,   6382,   6429,   6430,
+		  6431,   6432,   6433,   6434,   6435,  -2286,  -2286,  -2286,
+		 -2286,   1022,   1067,  -2286,  -2286,  -2286,  -2286, -15494,
+		-12192, -12192,  -8890,  -8890,  -5588,  -5588,  -2286,  -2286,
+		 -2286,  -2286,  -2286,   6458,   6459,  -2331,  -2331,  -2286,
+		 -2286,  -2286,  -2286,   6466,   6467,  -2331,  -2331,  -2286,
+		 -2286,  -2286,  -2286,  -2286,  -2286,  -2286,  -2286,  -2286,
+		 -2286,  -2286,  -2286,   6436,   6437,   6438,   6439,   3132,
+		  3088,   6442,   6443,   6444,   6445,  19654,  16353,  16354,
+		 13053,  13054,   9753,   9754,   6453,   6454,   6455,   6456,
+		  6457,  -2286,  -2286,   6505,   6506,   6462,   6463,   6464,
+		  6465,  -2286,  -2286,   6513,   6514,   6470,   6471,   6472,
+		  6473,   6474,   6475,   6476,   6477,   6478,   6479,   6480,
+		  6481,  -2240,  -2240,  -2240,  -2240,   1068,   1113,  -2240,
+		 -2240,  -2240,  -2240, -15448, -12146, -12146,  -8844,  -8844,
+		 -5542,  -5542,  -2240,  -2240,  -2240,  -2240,  -2240,   6504,
+		  6505,  -2285,  -2285,  -2240,  -2240,  -2240,  -2240,   6512,
+		  6513,  -2285,  -2285,  -2240,    428,    429,    430,    431,
+		  3598,    433,    434,  -2285,    436,  -2285,  -9402,  -2285,
+		 -9402,  -2285,   1014,   1014,   1014,  11617,   5528,  -1588,
+		  1016,  -2285,   1017,   3229,  -2285,   1019,   1019,   1019,
+		  1019,   1019,   1019,   1019,    393,   1019,   1019,  -2285,
+		  1020,  -2285,   1021,  -2285,  -2285,   1023,   6559,   6560,
+		  6561,  -2285,  -2285,   6564,   6565,   6566,  -6633,  -3332,
+		 -3331,    -30,    -29,   3272,   3273,   3274,  13691,   6575,
+		  3277,   3278,   3279,  -7323,  -1233,   5884,   3281,   6583,
+		  3282,   1071,   6586,   3283,   3284,   3285,   3286,   3287,
+		  3288,   3289,   3916,   3291,   3292,   6597,   3293,   6599,
+		  3294,   6601,   6602,   3295,   3296,  32767,  32767,  32767,
+		  3297,   3298,   3299,   3300,   3301,   3302,   3303,   3304,
+		  3305,   3306,   3307,   3308,   3309,   3310,   3311,   3312,
+		  3313,   3314,   3315,   3316,   3317,   3318,   3319,   3320,
+		  3321,   3322,   3323,   3324,   3325,   3326,   3327,   3328,
+		  3329,   3330,   3331,   3332,   3333,   3334,   3335,   3336,
+		  3337,   3338,   3339,   3340,   3341,   3342,   3343,   3344,
+		  3345,   3346,   3347,   3348,   3349,   3350,   3351,   3352,
+		  3353,   3354,   3355,   3356,   3357,   3358,   3359,   3360,
+		  3361,   3362,   3363,   3364,  32767,  32767,   3365,   3366,
+		  3367,   3368,   3369,   3370,   3371,   3372,   3373,   3374,
+		  3375,   3376,   3377,   3378,   3379,   3380,   3381,   3382,
+		  3383,   3384,   3385,   3386,   3387,   3388,   3389,   3390,
+		  3391,   3392,   3393,   3394,   3395,   3396,   3397,   3398,
+		  3399,   3400,   3401,   3402,   3403,   3404,   3405,   3406,
+		  3407,   3408,   3409,   3410,   3411,   3412,   3413,   3414,
+		  3415,   3416,   3417,   3418,   3419,   3420,   4803,   3422,
+		  3423,   3424,   3425,   3426,   3427,   3428,   3429,   3430,
+		  3431,   3432,   3433,   3434,   3435,   3436,   3437,   3438,
+		  3439,   3440,   3441,   3442,   3443,   3444,   3445,   3446,
+		  3447,   3448,   3449,   3450,   3451,   3452,   3453,   3454,
+		  3455,   3456,   3457,   3458,   3459,   3460,   3461,   3462,
+		  3463,   3464,   3465,   3466,   3467,   3468,   3469,   3470,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,   3471,
+		  3472,   3473,   3474,   3475,  -7402,   3477,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,   3478,   3479,   2072,   3481,   3482,  32767,
+		 32767,  32767,  32767,  32767,   3483,   3484,   3485,   3486,
+		  3487,   3488,   3489,   3490,   3491,   3492,   3493,   3494,
+		  3495,   3496,   3497,   3498,   3499,   3500,   3501,   3502,
+		  3503,   3504,   3505,   3506,   3507,   3508,  32767,   3509,
+		  3510,   3511,   3512,   3513,  32767,   3514,  32767,   3515,
+		  3516,  32767,   3517,   3518,  32767,   3519,      0,      0,
+		  3522,   3523,   3524,   3525,   3526,   3527,   3528,   3529,
+		  3530,   3531,   3532,   3533,   3534,   3535,   3536,   3537,
+		  3538,   3539,   3540,   3541,   3542,   3543,   3544,   3545,
+		  3546,   3547,   3548,   3549,   3550,   3551,   3552,   3553,
+		  3554,   3555,   3556,   3557,   3558,   1902,   1902,   1902,
+		  1902,   9231,   1902,   1902,   1902,   1902,   1902,   1902,
+		  1902,   1902,   1902,   1902,   1902,   1902,   7644,   7645,
+		  7646,   7647,   7648,   7649,   7650,   7651,   7652,   7653,
+		  7654,   7655,   7656,   7657,   7658,   7659,     42,     42,
+		  1902,      0,      0,      0,   7067,   7068,   7069,   7070,
+		  7071,   7116,   7117,   7118,   7119,   -209,   7121,   7122,
+		  7123,   7124,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,   3627,   3628,   3629,  10349,   3631,   3632,
+		 10311,   3634,   3635,   3636,   3637,   3638,   8438,  -2148,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,   3653,   3654,   2370,  -3718,
+		 -2703,   3658,   3659,      0,   6053,   6054,      0,   6056,
+		  6057,   6058,   6059,   4054,   6061,   6225,      0,      0,
+		  3672,      0,      0,   1531,   1531,   1531,   1531,   1531,
+		  1531,   1531,   1531,   1531,   1531,   1531,   1531,   1531,
+		  1531,   1531,   9149,   9150,   7291,   7292,   7293,   7294,
+		  7295,   1032,   7297,   7298,   7299,   7300,   7301,   7302,
+		  7303,   7304,      0,   7307,  10697,  10698,   1955,   1955,
+		 10746,  10747,  10703,   3768,   3769,   4689,   1952,   1952,
+		 10751,  10752,  10708,  10709,   3724,   6288,  10666,  10713,
+		 10714,  10715,  10716,  10717,   3732,   3733,   1996,   1996,
+		  1996,   1996,   5304,   5349,   5349,   3741,   1994,   1994,
+		-11214,   3745,   3746,   3747,      0,      0,      0,      0,
+		     0,      0,      0,   3755,  10742,  10743,   1953,   1953,
+		  1998,   1998,   1998,  11775,  11776,  12743,   9442,   3880,
+		 11780,   3882,   6226,   9974,   9975,   9976,   9977,   9978,
+		  9979,   9208,   5454,  -1532,   -757,   8034,  -1781,  -1781,
+		  7994,   7995,  -1781,  -1781,  -2747,    555,   6118,  -1781,
+		 -1781,    -66,    -66,    -66,    -66,   2656,   1742,  -6132,
+		 -7047,  -7002,    -66,    -66,    -66,   3477,   3478,  -5320,
+		   -66,  -5274,  -5274,   1712,  -1763,  -5227,  -6185,   3880,
+		 -1763,  -5272,  -1763,   1715,   3722,   3886,   2551,  -8636,
+		   155,    156,    112,    113,    114,  -9662,  -9662, -10628,
+		 -7326,  -1763,  -9662,  -1763,  -4106,  -7853,  -7853,  -7853,
+		 -7853,  -7853,  -7853,  -7081,  -3326,   3661,   2887,  -5903,
+		  3913,   3914,  -5860,  -5860,   3917,   3918,   4885,   1584,
+		 -3978,   3922,   3923,   2209,   2210,   2211,   2212,   -509,
+		   406,   8281,   9197,   9153,   2218,   2219,   2220,  -1322,
+		 -1322,   7477,   2224,   7433,   7434,    449,   3925,   7390,
+		  8349,  -1715,   3929,   7439,   3931,    454,  -1552,  -1715,
+		  -379,  10809,   2019,   2019,   2064,   2064,   2064,  11841,
+		 11842,  12809,   9508,   3946,  11846,   3948,   6292,  10040,
+		 10041,  10042,  10043,  10044,  10045,   9274,   5520,  -1466,
+		  -691,   8100,  -1715,  -1715,   8060,   8061,  -1715,  -1715,
+		 -2681,    621,   6184,  -1715,  -1715,      0,      0,      0,
+		     0,   2722,   1808,  -6066,  -6981,  -6936,      0,      0,
+		     0,   3543,   3544,  -5254,      0,  -5208,  -5208,   1778,
+		 -1697,  -5161,  -6119,   3946,  -1697,  -5206,  -1697,   1781,
+		  3788,   3952,   2617,  -8570,    221,    222,    178,    179,
+		   180,  -9596,  -9596, -10562,  -7260,  -1697,  -9596,  -1697,
+		 -4040,  -7787,  -7787,  -7787,  -7787,  -7787,  -7787,  -7015,
+		 -3260,   3727,   2953,  -5837,   3979,   3980,  -5794,  -5794,
+		  3983,   3984,   4951,   1650,  -3912,   3988,   3989,   2275,
+		  2276,   2277,   2278,   -443,    472,   8347,   9263,   9219,
+		  2284,   2285,   2286,  -1256,  -1256,   7543,   2290,   7499,
+		  7500,    515,   3991,   7456,   8415,  -1649,   3995,   7505,
+		  3997,    520,  -1486,  -1649,   -313,  10875,   2085,   2085,
+		  2130,   2130,   2130,  11907,  11908,  12875,   9574,   4012,
+		 11912,   4014,   6358,  10106,  10107,   4018,  -3098,   4020,
+		  4021,   4022,   4023,   4024,   4025,   4026,   4027,   4028,
+		  4029,   4030,   4031,   4032,   4033,   4034,   4035,   4036,
+		  4037,   4038,   4039,   4040,   4041,   4042,   4043,   4044,
+		 12918,   4046,   4047,   4048,   4049,   9625,   4051,   4052,
+		   885,  32767,  32767,   4054,   4055,   4056,   4057,   4058,
+		  2321,   4060,   4061,   4062,   5241,   4064,   4065,   4572,
+		  5501,   4068,   4069,   4070,   4071,   4072,   4073,   4074,
+		   954,   4076,    955,   4078,   4079,   4080,   4081,   4082,
+		  -119, -13327,   4085, -10024,  -6722,   4088,   4089,   4090,
+		  4091,   4092,   4093,   4094,   4095,   4096,   4097,   4098,
+		  4099,   4100,   4101,   4102,   4103,   9733,   4105,   4106,
+		   938,  32767,  32767,  32767,  32767,  32767,   2328,  32767,
+		  2329,   2330,   2331,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
+		 32767,  32767,  32767,  32767,    870,  32767,    871,  32767,
+		   872,  32767,    873,  32767,    874,  32767,    875,  32767,
+		   876,   9729,   9730,    979,    979,   9778,   4113,   4114,
+		  9738,   9739,   4117,   4118,   9744,   9745,  32767,    883,
+		 32767,    884,  32767,  32767,  32767,  32767,  32767,  32767,
+		   885,    886,  32767,    887,    888,  32767,    889,      0,
+		 32767,    891,   8221,   4122,  -4877,  -4877,   4125,   4126,
+		  4127,   4128,   4129,   4130,  32767,  32767,  32767,  32767,
+		 32767,  32767,   4131,   4132,   4133,   4134,   4135,   4136,
+		  4137,   4138,   4139,   4140,   4141,   4142,   4143,   4144,
+		  4145,   4146,   4147,   5393,   4149,   4150,   5395,   5395,
+		  4153,   5396,   4155,   4156,   4157,   4158,   4159,   4160,
+		  4161,   4162,   4163,   4164,    897,   4166,   -484,  32767,
+		   899,   4168,   -482,   4170,   -481,   4172,   -480,   4174,
+		  -479,   4176,   -478,   4178,   -477,  32767,   -476,   4181,
+		  -475,   4183,   -474,   4185,   4186,   -473,   4188,   4189,
+		  4190,   4191,   4192,   4193,   4194,   4195,   4196,   4197,
+		  4198,    913,   4199,   4200,   4201,   4202,    916,    917,
+		 32767,    918,   4203,   4204,  -4028,    921,   4206,  32767,
+		  4207,   4208,   4209,   4210,   4211,   4212,   4213,   4214,
+		  4215,   4216,   4217,   4218,   4219,      0,      0,   4222,
+		  4223,   4224,   4225,   4226,    922,   4228,   4229,    923,
+		   924,    925,    926,   4234,   4235,   4236,    927,   2337,
+		  4239,   4240,   4241,   4242,   4243,   4244,   5564,   4246,
+		  4247,   4248,   4249,   4250,   4251,   4252,   4253,   4254,
+		  4255,   4256,   4257,   4258,   4259,   4260,   4261,   4262,
+		  4263,   4264,   4265,   4266,   4267,   4268,   4269,   4270,
+		  4271,   4272,   4273,   4274,   4275,   4276,   4277,   4278,
+		  4279,   4280,   4281,   4282,   4283,   4284,   4285,   4286,
+		  4287,   4288,  -3329,  -3329,  -3329,   4289,   4290,   2431,
+		  2432,  -2771,  -2771,  -2727,  -2727,  -2727,  -2727,  -2727,
+		 -2771,  -2771,  -2771,  -2771,   4558,  -2771,  -2771,  -2771,
+		 -2771,  -2771,  -2771,  -2771,  -2771,  -2771,  -2771,  -2771,
+		 -2771,   2971,   2972,   2973,   2974,   2975,   2976,   2977,
+		  2978,   2979,   2980,   2981,   2982,   2983,   2984,   2985,
+		  2986,  -4631,  -4631,  -2771,  -2771,   2433,   2434,   2391,
+		  2392,   2393,   2394,   2395,   2440,   2441,   2442,   2443,
+		 -4885,   2445,   2446,   2447,   2448,   2449,   2450,   2451,
+		  2452,   2453,   2454,   2455,   2456,  -3285,  -3285,  -3285,
+		 -3285,  -3285,  -3285,  -3285,  -3285,  -3285,  -3285,  -3285,
+		 -3285,  -3285,  -3285,  -3285,  -3285,   4333,   4334,   2475,
+		  4378,   4379,   4380,  -2686,  -2686,  -2686,  -2686,  -2686,
+		 -2730,  -2730,  -2730,  -2730,   4599,  -2730,  -2730,  -2730,
+		 -2730,   4395,   4396,   4397,   4398,   4399,   4400,   4401,
+		  4402,   4403,   4404,   4405,   4406,   4407,   4408,   4409,
+		  4410,   4411,   4412,   4413,   4414,   4415,   4416,   4417,
+		  4418,   4419,   4420,   4421,   4422,   4423,   4424,   4425,
+		  4426,   4427,   4428,   4429,   4430,   4431,   4432,   4433,
+		  4434,   4435,   4436,   4437,   4438,   4439,   4440,   4441,
+		  4442,    816,    816,    816,  -5903,    816,    816,  -5862,
+		   816,    816,    816,    816,    816,  -3983,   6604,   4457,
+		  4458,   4459,   4460,   4461,   4462,   4463,   4464,   4465,
+		  4466,   4467,   4468,    816,    816,   2101,   8190,   7176,
+		   816,    816,   4476,  -1576,  -1576,   4479,  -1576,  -1576,
+		 -1576,  -1576,    430,  -1576,  -1739,   4487,   4488,    817,
+		  4490,   4491,   2961,   2962,   2963,   2964,   2965,   2966,
+		  2967,   2968,   2969,   2970,   2971,   2972,   2973,   2974,
+		  2975,  -4642,  -4642,  -2782,  -2782,  -2782,  -2782,  -2782,
+		  3482,  -2782,  -2782,  -2782,  -2782,  -2782,  -2782,  -2782,
+		 -2782,   4523,  -2783,  -6172,  -6172,   2572,   2573,  -6217,
+		 -6217,  -6172,  -6172,  -6172,  -6172,   2580,   2581,  -6217,
+		 -6217,  -6172,  -6172,  -6172,  -6128,  -6128,  -6174,  -6174,
+		 -6174,  -6174,  -6174,  -6174,  -6174,   2548,   2549,   2550,
+		  2551,   -756,   -800,   2554,   2555,   2556,   2557,  15766,
+		 12465,  12466,  32767,   4553,   4554,   4555,   4556,   4557,
+		  4558,   4559,   2561,  -6182,  -6182,   2609,   2610,   2566,
+		  2567,   2568,   2569,  -6182,  -6182,   2617,   2618,   2574,
+		  2575,   2576,   2533,   2534,   2581,   2582,   2583,   2584,
+		  2585,   2586,   2587,  -6134,  -6134,  -6134,  -6134,  -2826,
+		 -2781,  -6134,  -6134,  -6134,  -6134, -19342, -16040, -16040,
+		-12738, -12738,  -9436,  -9436,  -6134,  -6134,  -6134,  -6134,
+		 -6134,  32767,   2610,  -6180,  -6180,  -6135,  -6135,  -6135,
+		 -6135,   2617,   2618,  -6180,  -6180,  -6135,  -6135,  -6135,
+		 -6135,  -6135,  -6135,  -6135,  -6135,  -6135,  -6135,  -6135,
+		 -6135,   2587,   2588,   2589,   2590,   -717,   -761,   2593,
+		  2594,   2595,   2596,  15805,  12504,  12505,   9204,   9205,
+		  5904,   5905,   2604,   2605,   2606,   2607,   2608,  -6135,
+		 -6135,   2656,   2657,   2613,   2614,   2615,   2616,  -6135,
+		 -6135,   2664,   2665,   2621,   2622,   2623,   2624,   2625,
+		  2626,   2627,   2628,   2629,   2630,   2631,   2632,  -6089,
+		 -6089,  -6089,  -6089,  -2781,  -2736,  -6089,  -6089,  -6089,
+		 -6089, -19297, -15995, -15995, -12693, -12693,  -9391,  -9391,
+		 -6089,  -6089,  -6089,  -6089,  -6089,   2655,   2656,  -6134,
+		 -6134,  -6089,  -6089,  -6089,  -6089,   2663,   2664,  -6134,
+		 -6134,  -6089,  -3421,  -3420,  -3419,  -3418,   -251,  -3416,
+		 -3415,  -6134,  -3413,  -6134, -13251,  -6134, -13251,  -6134,
+		 -2835,  -2835,  -2835,   7768,   1679,  -5437,  -2833,  -6134,
+		 -2832,   -620,      0,   9251,   5950,   5951,   2650,   2651,
+		  2652,   2653,   2654,  -6089,  -6089,   2702,   2703,   2659,
+		  2660,   2661,   2662,  -6089,  -6089,   2710,   2711,   2667,
+		     0,      0,      0,      0,  -3166,      0,      0,   2720,
+		     0,   2722,   9840,   2724,   9842,   2726,   -572,   -571,
+		  -570, -11172,  -5082,   2035,   -568,   2734,   -567,  -2778,
+		  2737,   -566,   -565,   -564,   -563,   -562,   -561,   -560,
+		    67,   -558,   -557,   2748,   -556,   2750,   -555,   2752,
+		  2753,   -554,  -6089,  -6089,  -6089,   2758,   2759,  -6089,
+		 -6089,      0,      0,      0,   2765,   2766,   2767,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,      0,      0,      0,   6293,   6294,      0,      0,
+		     0,      0,      0,      0,      0,      0,      0,      0,
+		     0,
+	};
+
+	const unsigned char *k = (const unsigned char *) key;
+	size_t		keylen = 4;
+	uint32		a = 0;
+	uint32		b = 1;
+
+	while (keylen--)
+	{
+		unsigned char c = *k++;
+
+		a = a * 257 + c;
+		b = b * 8191 + c;
+	}
+	return h[a % 13209] + h[b % 13209];
+}
+
+/* Hash lookup information for decomposition */
+static const pg_unicode_decompinfo UnicodeDecompInfo = {
+	UnicodeDecompMain,
+	DecompMain_hash_func,
+	6604
+};
diff --git a/src/tools/pgindent/exclude_file_patterns b/src/tools/pgindent/exclude_file_patterns
index 86bdd9d6dc..f7e771a7e6 100644
--- a/src/tools/pgindent/exclude_file_patterns
+++ b/src/tools/pgindent/exclude_file_patterns
@@ -18,9 +18,10 @@ src/backend/utils/fmgrprotos\.h$
 # they match pgindent style, they'd look worse not better, so exclude them.
 kwlist_d\.h$
 #
-# This is generated by the scripts from src/common/unicode/.  It uses
+# These are generated by the scripts from src/common/unicode/.  They use
 # hash functions generated by PerfectHash.pm whose format looks worse with
 # pgindent.
+src/include/common/unicode_norm_table\.h$
 src/include/common/unicode_normprops_table\.h$
 #
 # Exclude ecpg test files to avoid breaking the ecpg regression tests
-- 
2.22.0

