Regenerated cbits/WCsubst.c based on Unicode 6.0.0
authorBas van Dijk <v.dijk.bas@gmail.com>
Mon, 7 Feb 2011 19:31:49 +0000 (19:31 +0000)
committerBas van Dijk <v.dijk.bas@gmail.com>
Mon, 7 Feb 2011 19:31:49 +0000 (19:31 +0000)
cbits/README.Unicode
cbits/WCsubst.c

index 70f55e3..363aa4d 100644 (file)
@@ -5,5 +5,4 @@ WCsubst.c is generated with:
 
 where UnicodeData.txt came from
 
-    http://www.unicode.org/Public/5.1.0/ucd/UnicodeData.txt
-
+    http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt
index 2d46a71..0f6fcdf 100644 (file)
@@ -1,6 +1,6 @@
 /*-------------------------------------------------------------------------
 This is an automatically generated file: do not edit
-Generated by ubconfc at Fri Jun 13 20:47:01 BST 2008
+Generated by ubconfc at Mon Feb  7 20:26:56 CET 2011
 -------------------------------------------------------------------------*/
 
 #include "WCsubst.h"
@@ -67,8 +67,8 @@ struct _charblock_
 #define GENCAT_NL 16777216
 #define GENCAT_PF 131072
 #define GENCAT_LT 524288
-#define GENCAT_LU 512
 #define GENCAT_NO 65536
+#define GENCAT_LU 512
 #define GENCAT_PI 16384
 #define GENCAT_SC 8
 #define GENCAT_PO 4
@@ -89,169 +89,175 @@ struct _charblock_
 #define GENCAT_LL 4096
 #define GENCAT_LM 1048576
 #define MAX_UNI_CHAR 1114109
-#define NUM_BLOCKS 2562
-#define NUM_CONVBLOCKS 1202
+#define NUM_BLOCKS 2783
+#define NUM_CONVBLOCKS 1230
 #define NUM_SPACEBLOCKS 8
 #define NUM_LAT1BLOCKS 63
-#define NUM_RULES 161
-static const struct _convrule_ rule155={GENCAT_LL, NUMCAT_LL, 1, -7264, 0, -7264};
+#define NUM_RULES 167
+static const struct _convrule_ rule160={GENCAT_LL, NUMCAT_LL, 1, -7264, 0, -7264};
 static const struct _convrule_ rule36={GENCAT_LU, NUMCAT_LU, 1, 0, 211, 0};
 static const struct _convrule_ rule25={GENCAT_LU, NUMCAT_LU, 1, 0, -121, 0};
 static const struct _convrule_ rule18={GENCAT_LL, NUMCAT_LL, 1, 743, 0, 743};
-static const struct _convrule_ rule105={GENCAT_LU, NUMCAT_LU, 1, 0, 80, 0};
+static const struct _convrule_ rule108={GENCAT_LU, NUMCAT_LU, 1, 0, 80, 0};
 static const struct _convrule_ rule50={GENCAT_LL, NUMCAT_LL, 1, -79, 0, -79};
-static const struct _convrule_ rule103={GENCAT_LL, NUMCAT_LL, 1, -96, 0, -96};
-static const struct _convrule_ rule76={GENCAT_LL, NUMCAT_LL, 1, -69, 0, -69};
-static const struct _convrule_ rule123={GENCAT_LL, NUMCAT_LL, 1, 128, 0, 128};
-static const struct _convrule_ rule116={GENCAT_LL, NUMCAT_LL, 1, -59, 0, -59};
-static const struct _convrule_ rule99={GENCAT_LL, NUMCAT_LL, 1, -86, 0, -86};
+static const struct _convrule_ rule106={GENCAT_LL, NUMCAT_LL, 1, -96, 0, -96};
+static const struct _convrule_ rule79={GENCAT_LL, NUMCAT_LL, 1, -69, 0, -69};
+static const struct _convrule_ rule126={GENCAT_LL, NUMCAT_LL, 1, 128, 0, 128};
+static const struct _convrule_ rule119={GENCAT_LL, NUMCAT_LL, 1, -59, 0, -59};
+static const struct _convrule_ rule102={GENCAT_LL, NUMCAT_LL, 1, -86, 0, -86};
 static const struct _convrule_ rule38={GENCAT_LL, NUMCAT_LL, 1, 163, 0, 163};
-static const struct _convrule_ rule110={GENCAT_LL, NUMCAT_LL, 1, -48, 0, -48};
-static const struct _convrule_ rule130={GENCAT_LL, NUMCAT_LL, 1, -7205, 0, -7205};
-static const struct _convrule_ rule125={GENCAT_LL, NUMCAT_LL, 1, 126, 0, 126};
-static const struct _convrule_ rule94={GENCAT_LL, NUMCAT_LL, 1, -57, 0, -57};
-static const struct _convrule_ rule156={GENCAT_LU, NUMCAT_LU, 1, 0, -35332, 0};
-static const struct _convrule_ rule133={GENCAT_LU, NUMCAT_LU, 1, 0, -112, 0};
-static const struct _convrule_ rule96={GENCAT_LL, NUMCAT_LL, 1, -47, 0, -47};
-static const struct _convrule_ rule87={GENCAT_LL, NUMCAT_LL, 1, -38, 0, -38};
+static const struct _convrule_ rule113={GENCAT_LL, NUMCAT_LL, 1, -48, 0, -48};
+static const struct _convrule_ rule133={GENCAT_LL, NUMCAT_LL, 1, -7205, 0, -7205};
+static const struct _convrule_ rule128={GENCAT_LL, NUMCAT_LL, 1, 126, 0, 126};
+static const struct _convrule_ rule97={GENCAT_LL, NUMCAT_LL, 1, -57, 0, -57};
+static const struct _convrule_ rule161={GENCAT_LU, NUMCAT_LU, 1, 0, -35332, 0};
+static const struct _convrule_ rule136={GENCAT_LU, NUMCAT_LU, 1, 0, -112, 0};
+static const struct _convrule_ rule99={GENCAT_LL, NUMCAT_LL, 1, -47, 0, -47};
+static const struct _convrule_ rule90={GENCAT_LL, NUMCAT_LL, 1, -38, 0, -38};
 static const struct _convrule_ rule32={GENCAT_LU, NUMCAT_LU, 1, 0, 202, 0};
-static const struct _convrule_ rule142={GENCAT_LL, NUMCAT_LL, 1, -28, 0, -28};
-static const struct _convrule_ rule90={GENCAT_LL, NUMCAT_LL, 1, -64, 0, -64};
-static const struct _convrule_ rule88={GENCAT_LL, NUMCAT_LL, 1, -37, 0, -37};
-static const struct _convrule_ rule59={GENCAT_LU, NUMCAT_LU, 1, 0, 71, 0};
-static const struct _convrule_ rule97={GENCAT_LL, NUMCAT_LL, 1, -54, 0, -54};
-static const struct _convrule_ rule91={GENCAT_LL, NUMCAT_LL, 1, -63, 0, -63};
+static const struct _convrule_ rule145={GENCAT_LL, NUMCAT_LL, 1, -28, 0, -28};
+static const struct _convrule_ rule93={GENCAT_LL, NUMCAT_LL, 1, -64, 0, -64};
+static const struct _convrule_ rule91={GENCAT_LL, NUMCAT_LL, 1, -37, 0, -37};
+static const struct _convrule_ rule60={GENCAT_LU, NUMCAT_LU, 1, 0, 71, 0};
+static const struct _convrule_ rule100={GENCAT_LL, NUMCAT_LL, 1, -54, 0, -54};
+static const struct _convrule_ rule94={GENCAT_LL, NUMCAT_LL, 1, -63, 0, -63};
 static const struct _convrule_ rule35={GENCAT_LL, NUMCAT_LL, 1, 97, 0, 97};
-static const struct _convrule_ rule146={GENCAT_SO, NUMCAT_SO, 1, -26, 0, -26};
-static const struct _convrule_ rule100={GENCAT_LL, NUMCAT_LL, 1, -80, 0, -80};
-static const struct _convrule_ rule93={GENCAT_LL, NUMCAT_LL, 1, -62, 0, -62};
-static const struct _convrule_ rule78={GENCAT_LL, NUMCAT_LL, 1, -71, 0, -71};
+static const struct _convrule_ rule149={GENCAT_SO, NUMCAT_SO, 1, -26, 0, -26};
+static const struct _convrule_ rule103={GENCAT_LL, NUMCAT_LL, 1, -80, 0, -80};
+static const struct _convrule_ rule96={GENCAT_LL, NUMCAT_LL, 1, -62, 0, -62};
+static const struct _convrule_ rule81={GENCAT_LL, NUMCAT_LL, 1, -71, 0, -71};
 static const struct _convrule_ rule9={GENCAT_LU, NUMCAT_LU, 1, 0, 32, 0};
-static const struct _convrule_ rule144={GENCAT_NL, NUMCAT_NL, 1, -16, 0, -16};
-static const struct _convrule_ rule140={GENCAT_LU, NUMCAT_LU, 1, 0, -8262, 0};
-static const struct _convrule_ rule124={GENCAT_LL, NUMCAT_LL, 1, 112, 0, 112};
-static const struct _convrule_ rule121={GENCAT_LL, NUMCAT_LL, 1, 86, 0, 86};
+static const struct _convrule_ rule147={GENCAT_NL, NUMCAT_NL, 1, -16, 0, -16};
+static const struct _convrule_ rule143={GENCAT_LU, NUMCAT_LU, 1, 0, -8262, 0};
+static const struct _convrule_ rule127={GENCAT_LL, NUMCAT_LL, 1, 112, 0, 112};
+static const struct _convrule_ rule124={GENCAT_LL, NUMCAT_LL, 1, 86, 0, 86};
 static const struct _convrule_ rule40={GENCAT_LL, NUMCAT_LL, 1, 130, 0, 130};
 static const struct _convrule_ rule20={GENCAT_LL, NUMCAT_LL, 1, 121, 0, 121};
-static const struct _convrule_ rule108={GENCAT_LL, NUMCAT_LL, 1, -15, 0, -15};
+static const struct _convrule_ rule158={GENCAT_LU, NUMCAT_LU, 1, 0, -10782, 0};
+static const struct _convrule_ rule111={GENCAT_LL, NUMCAT_LL, 1, -15, 0, -15};
 static const struct _convrule_ rule12={GENCAT_LL, NUMCAT_LL, 1, -32, 0, -32};
-static const struct _convrule_ rule82={GENCAT_MN, NUMCAT_MN, 1, 84, 0, 84};
-static const struct _convrule_ rule160={GENCAT_LL, NUMCAT_LL, 1, -40, 0, -40};
-static const struct _convrule_ rule122={GENCAT_LL, NUMCAT_LL, 1, 100, 0, 100};
-static const struct _convrule_ rule120={GENCAT_LL, NUMCAT_LL, 1, 74, 0, 74};
-static const struct _convrule_ rule89={GENCAT_LL, NUMCAT_LL, 1, -31, 0, -31};
+static const struct _convrule_ rule85={GENCAT_MN, NUMCAT_MN, 1, 84, 0, 84};
+static const struct _convrule_ rule166={GENCAT_LL, NUMCAT_LL, 1, -40, 0, -40};
+static const struct _convrule_ rule125={GENCAT_LL, NUMCAT_LL, 1, 100, 0, 100};
+static const struct _convrule_ rule123={GENCAT_LL, NUMCAT_LL, 1, 74, 0, 74};
+static const struct _convrule_ rule92={GENCAT_LL, NUMCAT_LL, 1, -31, 0, -31};
 static const struct _convrule_ rule56={GENCAT_LU, NUMCAT_LU, 1, 0, 10792, 0};
 static const struct _convrule_ rule46={GENCAT_LL, NUMCAT_LL, 1, 56, 0, 56};
 static const struct _convrule_ rule33={GENCAT_LU, NUMCAT_LU, 1, 0, 203, 0};
-static const struct _convrule_ rule147={GENCAT_LU, NUMCAT_LU, 1, 0, -10743, 0};
+static const struct _convrule_ rule150={GENCAT_LU, NUMCAT_LU, 1, 0, -10743, 0};
 static const struct _convrule_ rule39={GENCAT_LU, NUMCAT_LU, 1, 0, 213, 0};
-static const struct _convrule_ rule154={GENCAT_LU, NUMCAT_LU, 1, 0, -10783, 0};
+static const struct _convrule_ rule57={GENCAT_LL, NUMCAT_LL, 1, 10815, 0, 10815};
+static const struct _convrule_ rule157={GENCAT_LU, NUMCAT_LU, 1, 0, -10783, 0};
 static const struct _convrule_ rule55={GENCAT_LU, NUMCAT_LU, 1, 0, -163, 0};
-static const struct _convrule_ rule148={GENCAT_LU, NUMCAT_LU, 1, 0, -3814, 0};
-static const struct _convrule_ rule139={GENCAT_LU, NUMCAT_LU, 1, 0, -8383, 0};
-static const struct _convrule_ rule98={GENCAT_LL, NUMCAT_LL, 1, -8, 0, -8};
-static const struct _convrule_ rule86={GENCAT_LU, NUMCAT_LU, 1, 0, 63, 0};
+static const struct _convrule_ rule151={GENCAT_LU, NUMCAT_LU, 1, 0, -3814, 0};
+static const struct _convrule_ rule142={GENCAT_LU, NUMCAT_LU, 1, 0, -8383, 0};
+static const struct _convrule_ rule101={GENCAT_LL, NUMCAT_LL, 1, -8, 0, -8};
+static const struct _convrule_ rule89={GENCAT_LU, NUMCAT_LU, 1, 0, 63, 0};
 static const struct _convrule_ rule41={GENCAT_LU, NUMCAT_LU, 1, 0, 214, 0};
-static const struct _convrule_ rule115={GENCAT_LL, NUMCAT_LL, 1, 3814, 0, 3814};
+static const struct _convrule_ rule118={GENCAT_LL, NUMCAT_LL, 1, 3814, 0, 3814};
 static const struct _convrule_ rule26={GENCAT_LL, NUMCAT_LL, 1, -300, 0, -300};
-static const struct _convrule_ rule112={GENCAT_LU, NUMCAT_LU, 1, 0, 7264, 0};
+static const struct _convrule_ rule159={GENCAT_LU, NUMCAT_LU, 1, 0, -10815, 0};
+static const struct _convrule_ rule115={GENCAT_LU, NUMCAT_LU, 1, 0, 7264, 0};
 static const struct _convrule_ rule22={GENCAT_LL, NUMCAT_LL, 1, -1, 0, -1};
-static const struct _convrule_ rule117={GENCAT_LU, NUMCAT_LU, 1, 0, -7615, 0};
+static const struct _convrule_ rule120={GENCAT_LU, NUMCAT_LU, 1, 0, -7615, 0};
 static const struct _convrule_ rule49={GENCAT_LL, NUMCAT_LL, 1, -2, 0, -1};
-static const struct _convrule_ rule128={GENCAT_LU, NUMCAT_LU, 1, 0, -74, 0};
-static const struct _convrule_ rule85={GENCAT_LU, NUMCAT_LU, 1, 0, 64, 0};
+static const struct _convrule_ rule131={GENCAT_LU, NUMCAT_LU, 1, 0, -74, 0};
+static const struct _convrule_ rule88={GENCAT_LU, NUMCAT_LU, 1, 0, 64, 0};
 static const struct _convrule_ rule30={GENCAT_LU, NUMCAT_LU, 1, 0, 205, 0};
-static const struct _convrule_ rule114={GENCAT_LL, NUMCAT_LL, 1, 35332, 0, 35332};
-static const struct _convrule_ rule107={GENCAT_LU, NUMCAT_LU, 1, 0, 15, 0};
-static const struct _convrule_ rule127={GENCAT_LL, NUMCAT_LL, 1, 9, 0, 9};
-static const struct _convrule_ rule118={GENCAT_LL, NUMCAT_LL, 1, 8, 0, 8};
-static const struct _convrule_ rule92={GENCAT_LU, NUMCAT_LU, 1, 0, 8, 0};
+static const struct _convrule_ rule117={GENCAT_LL, NUMCAT_LL, 1, 35332, 0, 35332};
+static const struct _convrule_ rule110={GENCAT_LU, NUMCAT_LU, 1, 0, 15, 0};
+static const struct _convrule_ rule130={GENCAT_LL, NUMCAT_LL, 1, 9, 0, 9};
+static const struct _convrule_ rule121={GENCAT_LL, NUMCAT_LL, 1, 8, 0, 8};
+static const struct _convrule_ rule95={GENCAT_LU, NUMCAT_LU, 1, 0, 8, 0};
 static const struct _convrule_ rule54={GENCAT_LU, NUMCAT_LU, 1, 0, 10795, 0};
 static const struct _convrule_ rule29={GENCAT_LU, NUMCAT_LU, 1, 0, 206, 0};
-static const struct _convrule_ rule135={GENCAT_LU, NUMCAT_LU, 1, 0, -126, 0};
-static const struct _convrule_ rule101={GENCAT_LL, NUMCAT_LL, 1, 7, 0, 7};
-static const struct _convrule_ rule57={GENCAT_LU, NUMCAT_LU, 1, 0, -195, 0};
-static const struct _convrule_ rule143={GENCAT_NL, NUMCAT_NL, 1, 0, 16, 0};
-static const struct _convrule_ rule145={GENCAT_SO, NUMCAT_SO, 1, 0, 26, 0};
-static const struct _convrule_ rule104={GENCAT_LU, NUMCAT_LU, 1, 0, -7, 0};
+static const struct _convrule_ rule138={GENCAT_LU, NUMCAT_LU, 1, 0, -126, 0};
+static const struct _convrule_ rule104={GENCAT_LL, NUMCAT_LL, 1, 7, 0, 7};
+static const struct _convrule_ rule58={GENCAT_LU, NUMCAT_LU, 1, 0, -195, 0};
+static const struct _convrule_ rule146={GENCAT_NL, NUMCAT_NL, 1, 0, 16, 0};
+static const struct _convrule_ rule148={GENCAT_SO, NUMCAT_SO, 1, 0, 26, 0};
+static const struct _convrule_ rule70={GENCAT_LL, NUMCAT_LL, 1, 42280, 0, 42280};
+static const struct _convrule_ rule107={GENCAT_LU, NUMCAT_LU, 1, 0, -7, 0};
 static const struct _convrule_ rule52={GENCAT_LU, NUMCAT_LU, 1, 0, -56, 0};
-static const struct _convrule_ rule150={GENCAT_LL, NUMCAT_LL, 1, -10795, 0, -10795};
-static const struct _convrule_ rule149={GENCAT_LU, NUMCAT_LU, 1, 0, -10727, 0};
-static const struct _convrule_ rule138={GENCAT_LU, NUMCAT_LU, 1, 0, -7517, 0};
+static const struct _convrule_ rule153={GENCAT_LL, NUMCAT_LL, 1, -10795, 0, -10795};
+static const struct _convrule_ rule152={GENCAT_LU, NUMCAT_LU, 1, 0, -10727, 0};
+static const struct _convrule_ rule141={GENCAT_LU, NUMCAT_LU, 1, 0, -7517, 0};
 static const struct _convrule_ rule34={GENCAT_LU, NUMCAT_LU, 1, 0, 207, 0};
-static const struct _convrule_ rule158={GENCAT_CO, NUMCAT_CO, 0, 0, 0, 0};
-static const struct _convrule_ rule81={GENCAT_MN, NUMCAT_MN, 0, 0, 0, 0};
+static const struct _convrule_ rule164={GENCAT_CO, NUMCAT_CO, 0, 0, 0, 0};
+static const struct _convrule_ rule84={GENCAT_MN, NUMCAT_MN, 0, 0, 0, 0};
 static const struct _convrule_ rule16={GENCAT_CF, NUMCAT_CF, 0, 0, 0, 0};
 static const struct _convrule_ rule45={GENCAT_LO, NUMCAT_LO, 0, 0, 0, 0};
 static const struct _convrule_ rule13={GENCAT_SO, NUMCAT_SO, 0, 0, 0, 0};
+static const struct _convrule_ rule17={GENCAT_NO, NUMCAT_NO, 0, 0, 0, 0};
 static const struct _convrule_ rule8={GENCAT_ND, NUMCAT_ND, 0, 0, 0, 0};
 static const struct _convrule_ rule14={GENCAT_LL, NUMCAT_LL, 0, 0, 0, 0};
-static const struct _convrule_ rule95={GENCAT_LU, NUMCAT_LU, 0, 0, 0, 0};
+static const struct _convrule_ rule98={GENCAT_LU, NUMCAT_LU, 0, 0, 0, 0};
 static const struct _convrule_ rule6={GENCAT_SM, NUMCAT_SM, 0, 0, 0, 0};
-static const struct _convrule_ rule17={GENCAT_NO, NUMCAT_NO, 0, 0, 0, 0};
-static const struct _convrule_ rule111={GENCAT_MC, NUMCAT_MC, 0, 0, 0, 0};
+static const struct _convrule_ rule114={GENCAT_MC, NUMCAT_MC, 0, 0, 0, 0};
 static const struct _convrule_ rule2={GENCAT_PO, NUMCAT_PO, 0, 0, 0, 0};
-static const struct _convrule_ rule113={GENCAT_NL, NUMCAT_NL, 0, 0, 0, 0};
+static const struct _convrule_ rule116={GENCAT_NL, NUMCAT_NL, 0, 0, 0, 0};
 static const struct _convrule_ rule3={GENCAT_SC, NUMCAT_SC, 0, 0, 0, 0};
 static const struct _convrule_ rule10={GENCAT_SK, NUMCAT_SK, 0, 0, 0, 0};
-static const struct _convrule_ rule80={GENCAT_LM, NUMCAT_LM, 0, 0, 0, 0};
+static const struct _convrule_ rule83={GENCAT_LM, NUMCAT_LM, 0, 0, 0, 0};
 static const struct _convrule_ rule5={GENCAT_PE, NUMCAT_PE, 0, 0, 0, 0};
 static const struct _convrule_ rule4={GENCAT_PS, NUMCAT_PS, 0, 0, 0, 0};
 static const struct _convrule_ rule11={GENCAT_PC, NUMCAT_PC, 0, 0, 0, 0};
 static const struct _convrule_ rule7={GENCAT_PD, NUMCAT_PD, 0, 0, 0, 0};
-static const struct _convrule_ rule157={GENCAT_CS, NUMCAT_CS, 0, 0, 0, 0};
-static const struct _convrule_ rule106={GENCAT_ME, NUMCAT_ME, 0, 0, 0, 0};
+static const struct _convrule_ rule163={GENCAT_CS, NUMCAT_CS, 0, 0, 0, 0};
+static const struct _convrule_ rule109={GENCAT_ME, NUMCAT_ME, 0, 0, 0, 0};
 static const struct _convrule_ rule1={GENCAT_ZS, NUMCAT_ZS, 0, 0, 0, 0};
 static const struct _convrule_ rule19={GENCAT_PF, NUMCAT_PF, 0, 0, 0, 0};
 static const struct _convrule_ rule15={GENCAT_PI, NUMCAT_PI, 0, 0, 0, 0};
-static const struct _convrule_ rule137={GENCAT_ZP, NUMCAT_ZP, 0, 0, 0, 0};
-static const struct _convrule_ rule136={GENCAT_ZL, NUMCAT_ZL, 0, 0, 0, 0};
-static const struct _convrule_ rule131={GENCAT_LU, NUMCAT_LU, 1, 0, -86, 0};
+static const struct _convrule_ rule140={GENCAT_ZP, NUMCAT_ZP, 0, 0, 0, 0};
+static const struct _convrule_ rule139={GENCAT_ZL, NUMCAT_ZL, 0, 0, 0, 0};
+static const struct _convrule_ rule134={GENCAT_LU, NUMCAT_LU, 1, 0, -86, 0};
 static const struct _convrule_ rule43={GENCAT_LU, NUMCAT_LU, 1, 0, 217, 0};
 static const struct _convrule_ rule0={GENCAT_CC, NUMCAT_CC, 0, 0, 0, 0};
-static const struct _convrule_ rule151={GENCAT_LL, NUMCAT_LL, 1, -10792, 0, -10792};
-static const struct _convrule_ rule71={GENCAT_LL, NUMCAT_LL, 1, 10749, 0, 10749};
-static const struct _convrule_ rule84={GENCAT_LU, NUMCAT_LU, 1, 0, 37, 0};
-static const struct _convrule_ rule60={GENCAT_LL, NUMCAT_LL, 1, 10783, 0, 10783};
-static const struct _convrule_ rule119={GENCAT_LU, NUMCAT_LU, 1, 0, -8, 0};
-static const struct _convrule_ rule126={GENCAT_LT, NUMCAT_LT, 1, 0, -8, 0};
-static const struct _convrule_ rule79={GENCAT_LL, NUMCAT_LL, 1, -219, 0, -219};
-static const struct _convrule_ rule74={GENCAT_LL, NUMCAT_LL, 1, 10727, 0, 10727};
-static const struct _convrule_ rule75={GENCAT_LL, NUMCAT_LL, 1, -218, 0, -218};
-static const struct _convrule_ rule68={GENCAT_LL, NUMCAT_LL, 1, -209, 0, -209};
-static const struct _convrule_ rule61={GENCAT_LL, NUMCAT_LL, 1, 10780, 0, 10780};
+static const struct _convrule_ rule154={GENCAT_LL, NUMCAT_LL, 1, -10792, 0, -10792};
+static const struct _convrule_ rule74={GENCAT_LL, NUMCAT_LL, 1, 10749, 0, 10749};
+static const struct _convrule_ rule87={GENCAT_LU, NUMCAT_LU, 1, 0, 37, 0};
+static const struct _convrule_ rule61={GENCAT_LL, NUMCAT_LL, 1, 10783, 0, 10783};
+static const struct _convrule_ rule122={GENCAT_LU, NUMCAT_LU, 1, 0, -8, 0};
+static const struct _convrule_ rule129={GENCAT_LT, NUMCAT_LT, 1, 0, -8, 0};
+static const struct _convrule_ rule63={GENCAT_LL, NUMCAT_LL, 1, 10782, 0, 10782};
+static const struct _convrule_ rule82={GENCAT_LL, NUMCAT_LL, 1, -219, 0, -219};
+static const struct _convrule_ rule77={GENCAT_LL, NUMCAT_LL, 1, 10727, 0, 10727};
+static const struct _convrule_ rule78={GENCAT_LL, NUMCAT_LL, 1, -218, 0, -218};
+static const struct _convrule_ rule71={GENCAT_LL, NUMCAT_LL, 1, -209, 0, -209};
+static const struct _convrule_ rule62={GENCAT_LL, NUMCAT_LL, 1, 10780, 0, 10780};
 static const struct _convrule_ rule48={GENCAT_LT, NUMCAT_LT, 1, -1, 1, 0};
 static const struct _convrule_ rule21={GENCAT_LU, NUMCAT_LU, 1, 0, 1, 0};
-static const struct _convrule_ rule134={GENCAT_LU, NUMCAT_LU, 1, 0, -128, 0};
-static const struct _convrule_ rule77={GENCAT_LL, NUMCAT_LL, 1, -217, 0, -217};
-static const struct _convrule_ rule70={GENCAT_LL, NUMCAT_LL, 1, 10743, 0, 10743};
+static const struct _convrule_ rule137={GENCAT_LU, NUMCAT_LU, 1, 0, -128, 0};
+static const struct _convrule_ rule80={GENCAT_LL, NUMCAT_LL, 1, -217, 0, -217};
+static const struct _convrule_ rule73={GENCAT_LL, NUMCAT_LL, 1, 10743, 0, 10743};
 static const struct _convrule_ rule42={GENCAT_LU, NUMCAT_LU, 1, 0, 218, 0};
-static const struct _convrule_ rule67={GENCAT_LL, NUMCAT_LL, 1, -207, 0, -207};
+static const struct _convrule_ rule69={GENCAT_LL, NUMCAT_LL, 1, -207, 0, -207};
 static const struct _convrule_ rule51={GENCAT_LU, NUMCAT_LU, 1, 0, -97, 0};
-static const struct _convrule_ rule141={GENCAT_LU, NUMCAT_LU, 1, 0, 28, 0};
-static const struct _convrule_ rule63={GENCAT_LL, NUMCAT_LL, 1, -206, 0, -206};
-static const struct _convrule_ rule83={GENCAT_LU, NUMCAT_LU, 1, 0, 38, 0};
-static const struct _convrule_ rule73={GENCAT_LL, NUMCAT_LL, 1, -214, 0, -214};
-static const struct _convrule_ rule64={GENCAT_LL, NUMCAT_LL, 1, -205, 0, -205};
+static const struct _convrule_ rule144={GENCAT_LU, NUMCAT_LU, 1, 0, 28, 0};
+static const struct _convrule_ rule65={GENCAT_LL, NUMCAT_LL, 1, -206, 0, -206};
+static const struct _convrule_ rule86={GENCAT_LU, NUMCAT_LU, 1, 0, 38, 0};
+static const struct _convrule_ rule76={GENCAT_LL, NUMCAT_LL, 1, -214, 0, -214};
+static const struct _convrule_ rule66={GENCAT_LL, NUMCAT_LL, 1, -205, 0, -205};
 static const struct _convrule_ rule24={GENCAT_LL, NUMCAT_LL, 1, -232, 0, -232};
-static const struct _convrule_ rule109={GENCAT_LU, NUMCAT_LU, 1, 0, 48, 0};
-static const struct _convrule_ rule129={GENCAT_LT, NUMCAT_LT, 1, 0, -9, 0};
-static const struct _convrule_ rule72={GENCAT_LL, NUMCAT_LL, 1, -213, 0, -213};
-static const struct _convrule_ rule66={GENCAT_LL, NUMCAT_LL, 1, -203, 0, -203};
-static const struct _convrule_ rule132={GENCAT_LU, NUMCAT_LU, 1, 0, -100, 0};
-static const struct _convrule_ rule69={GENCAT_LL, NUMCAT_LL, 1, -211, 0, -211};
-static const struct _convrule_ rule65={GENCAT_LL, NUMCAT_LL, 1, -202, 0, -202};
+static const struct _convrule_ rule112={GENCAT_LU, NUMCAT_LU, 1, 0, 48, 0};
+static const struct _convrule_ rule132={GENCAT_LT, NUMCAT_LT, 1, 0, -9, 0};
+static const struct _convrule_ rule75={GENCAT_LL, NUMCAT_LL, 1, -213, 0, -213};
+static const struct _convrule_ rule68={GENCAT_LL, NUMCAT_LL, 1, -203, 0, -203};
+static const struct _convrule_ rule135={GENCAT_LU, NUMCAT_LU, 1, 0, -100, 0};
+static const struct _convrule_ rule72={GENCAT_LL, NUMCAT_LL, 1, -211, 0, -211};
+static const struct _convrule_ rule67={GENCAT_LL, NUMCAT_LL, 1, -202, 0, -202};
 static const struct _convrule_ rule47={GENCAT_LU, NUMCAT_LU, 1, 0, 2, 1};
 static const struct _convrule_ rule37={GENCAT_LU, NUMCAT_LU, 1, 0, 209, 0};
-static const struct _convrule_ rule153={GENCAT_LU, NUMCAT_LU, 1, 0, -10749, 0};
-static const struct _convrule_ rule62={GENCAT_LL, NUMCAT_LL, 1, -210, 0, -210};
+static const struct _convrule_ rule156={GENCAT_LU, NUMCAT_LU, 1, 0, -10749, 0};
+static const struct _convrule_ rule64={GENCAT_LL, NUMCAT_LL, 1, -210, 0, -210};
 static const struct _convrule_ rule44={GENCAT_LU, NUMCAT_LU, 1, 0, 219, 0};
 static const struct _convrule_ rule28={GENCAT_LU, NUMCAT_LU, 1, 0, 210, 0};
 static const struct _convrule_ rule53={GENCAT_LU, NUMCAT_LU, 1, 0, -130, 0};
-static const struct _convrule_ rule159={GENCAT_LU, NUMCAT_LU, 1, 0, 40, 0};
-static const struct _convrule_ rule152={GENCAT_LU, NUMCAT_LU, 1, 0, -10780, 0};
-static const struct _convrule_ rule102={GENCAT_LU, NUMCAT_LU, 1, 0, -60, 0};
-static const struct _convrule_ rule58={GENCAT_LU, NUMCAT_LU, 1, 0, 69, 0};
+static const struct _convrule_ rule165={GENCAT_LU, NUMCAT_LU, 1, 0, 40, 0};
+static const struct _convrule_ rule162={GENCAT_LU, NUMCAT_LU, 1, 0, -42280, 0};
+static const struct _convrule_ rule155={GENCAT_LU, NUMCAT_LU, 1, 0, -10780, 0};
+static const struct _convrule_ rule105={GENCAT_LU, NUMCAT_LU, 1, 0, -60, 0};
+static const struct _convrule_ rule59={GENCAT_LU, NUMCAT_LU, 1, 0, 69, 0};
 static const struct _convrule_ rule31={GENCAT_LU, NUMCAT_LU, 1, 0, 79, 0};
 static const struct _convrule_ rule27={GENCAT_LL, NUMCAT_LL, 1, 195, 0, 195};
 static const struct _convrule_ rule23={GENCAT_LU, NUMCAT_LU, 1, 0, -199, 0};
@@ -626,12 +632,12 @@ static const struct _charblock_ allchars[]={
        {572, 1, &rule22},
        {573, 1, &rule55},
        {574, 1, &rule56},
-       {575, 2, &rule14},
+       {575, 2, &rule57},
        {577, 1, &rule21},
        {578, 1, &rule22},
-       {579, 1, &rule57},
-       {580, 1, &rule58},
-       {581, 1, &rule59},
+       {579, 1, &rule58},
+       {580, 1, &rule59},
+       {581, 1, &rule60},
        {582, 1, &rule21},
        {583, 1, &rule22},
        {584, 1, &rule21},
@@ -642,97 +648,99 @@ static const struct _charblock_ allchars[]={
        {589, 1, &rule22},
        {590, 1, &rule21},
        {591, 1, &rule22},
-       {592, 1, &rule60},
-       {593, 1, &rule61},
-       {594, 1, &rule14},
-       {595, 1, &rule62},
-       {596, 1, &rule63},
+       {592, 1, &rule61},
+       {593, 1, &rule62},
+       {594, 1, &rule63},
+       {595, 1, &rule64},
+       {596, 1, &rule65},
        {597, 1, &rule14},
-       {598, 2, &rule64},
+       {598, 2, &rule66},
        {600, 1, &rule14},
-       {601, 1, &rule65},
+       {601, 1, &rule67},
        {602, 1, &rule14},
-       {603, 1, &rule66},
+       {603, 1, &rule68},
        {604, 4, &rule14},
-       {608, 1, &rule64},
+       {608, 1, &rule66},
        {609, 2, &rule14},
-       {611, 1, &rule67},
-       {612, 4, &rule14},
-       {616, 1, &rule68},
-       {617, 1, &rule69},
+       {611, 1, &rule69},
+       {612, 1, &rule14},
+       {613, 1, &rule70},
+       {614, 2, &rule14},
+       {616, 1, &rule71},
+       {617, 1, &rule72},
        {618, 1, &rule14},
-       {619, 1, &rule70},
+       {619, 1, &rule73},
        {620, 3, &rule14},
-       {623, 1, &rule69},
+       {623, 1, &rule72},
        {624, 1, &rule14},
-       {625, 1, &rule71},
-       {626, 1, &rule72},
+       {625, 1, &rule74},
+       {626, 1, &rule75},
        {627, 2, &rule14},
-       {629, 1, &rule73},
+       {629, 1, &rule76},
        {630, 7, &rule14},
-       {637, 1, &rule74},
+       {637, 1, &rule77},
        {638, 2, &rule14},
-       {640, 1, &rule75},
+       {640, 1, &rule78},
        {641, 2, &rule14},
-       {643, 1, &rule75},
+       {643, 1, &rule78},
        {644, 4, &rule14},
-       {648, 1, &rule75},
-       {649, 1, &rule76},
-       {650, 2, &rule77},
-       {652, 1, &rule78},
+       {648, 1, &rule78},
+       {649, 1, &rule79},
+       {650, 2, &rule80},
+       {652, 1, &rule81},
        {653, 5, &rule14},
-       {658, 1, &rule79},
+       {658, 1, &rule82},
        {659, 1, &rule14},
        {660, 1, &rule45},
        {661, 27, &rule14},
-       {688, 18, &rule80},
+       {688, 18, &rule83},
        {706, 4, &rule10},
-       {710, 12, &rule80},
+       {710, 12, &rule83},
        {722, 14, &rule10},
-       {736, 5, &rule80},
+       {736, 5, &rule83},
        {741, 7, &rule10},
-       {748, 1, &rule80},
+       {748, 1, &rule83},
        {749, 1, &rule10},
-       {750, 1, &rule80},
+       {750, 1, &rule83},
        {751, 17, &rule10},
-       {768, 69, &rule81},
-       {837, 1, &rule82},
-       {838, 42, &rule81},
+       {768, 69, &rule84},
+       {837, 1, &rule85},
+       {838, 42, &rule84},
        {880, 1, &rule21},
        {881, 1, &rule22},
        {882, 1, &rule21},
        {883, 1, &rule22},
-       {884, 1, &rule80},
+       {884, 1, &rule83},
        {885, 1, &rule10},
        {886, 1, &rule21},
        {887, 1, &rule22},
-       {890, 1, &rule80},
+       {890, 1, &rule83},
        {891, 3, &rule40},
        {894, 1, &rule2},
        {900, 2, &rule10},
-       {902, 1, &rule83},
+       {902, 1, &rule86},
        {903, 1, &rule2},
-       {904, 3, &rule84},
-       {908, 1, &rule85},
-       {910, 2, &rule86},
+       {904, 3, &rule87},
+       {908, 1, &rule88},
+       {910, 2, &rule89},
        {912, 1, &rule14},
        {913, 17, &rule9},
        {931, 9, &rule9},
-       {940, 1, &rule87},
-       {941, 3, &rule88},
+       {940, 1, &rule90},
+       {941, 3, &rule91},
        {944, 1, &rule14},
        {945, 17, &rule12},
-       {962, 1, &rule89},
+       {962, 1, &rule92},
        {963, 9, &rule12},
-       {972, 1, &rule90},
-       {973, 2, &rule91},
-       {975, 1, &rule92},
-       {976, 1, &rule93},
-       {977, 1, &rule94},
-       {978, 3, &rule95},
-       {981, 1, &rule96},
-       {982, 1, &rule97},
-       {983, 1, &rule98},
+       {972, 1, &rule93},
+       {973, 2, &rule94},
+       {975, 1, &rule95},
+       {976, 1, &rule96},
+       {977, 1, &rule97},
+       {978, 3, &rule98},
+       {981, 1, &rule99},
+       {982, 1, &rule100},
+       {983, 1, &rule101},
        {984, 1, &rule21},
        {985, 1, &rule22},
        {986, 1, &rule21},
@@ -757,24 +765,24 @@ static const struct _charblock_ allchars[]={
        {1005, 1, &rule22},
        {1006, 1, &rule21},
        {1007, 1, &rule22},
-       {1008, 1, &rule99},
-       {1009, 1, &rule100},
-       {1010, 1, &rule101},
+       {1008, 1, &rule102},
+       {1009, 1, &rule103},
+       {1010, 1, &rule104},
        {1011, 1, &rule14},
-       {1012, 1, &rule102},
-       {1013, 1, &rule103},
+       {1012, 1, &rule105},
+       {1013, 1, &rule106},
        {1014, 1, &rule6},
        {1015, 1, &rule21},
        {1016, 1, &rule22},
-       {1017, 1, &rule104},
+       {1017, 1, &rule107},
        {1018, 1, &rule21},
        {1019, 1, &rule22},
        {1020, 1, &rule14},
        {1021, 3, &rule53},
-       {1024, 16, &rule105},
+       {1024, 16, &rule108},
        {1040, 32, &rule9},
        {1072, 32, &rule12},
-       {1104, 16, &rule100},
+       {1104, 16, &rule103},
        {1120, 1, &rule21},
        {1121, 1, &rule22},
        {1122, 1, &rule21},
@@ -810,8 +818,8 @@ static const struct _charblock_ allchars[]={
        {1152, 1, &rule21},
        {1153, 1, &rule22},
        {1154, 1, &rule13},
-       {1155, 5, &rule81},
-       {1160, 2, &rule106},
+       {1155, 5, &rule84},
+       {1160, 2, &rule109},
        {1162, 1, &rule21},
        {1163, 1, &rule22},
        {1164, 1, &rule21},
@@ -866,7 +874,7 @@ static const struct _charblock_ allchars[]={
        {1213, 1, &rule22},
        {1214, 1, &rule21},
        {1215, 1, &rule22},
-       {1216, 1, &rule107},
+       {1216, 1, &rule110},
        {1217, 1, &rule21},
        {1218, 1, &rule22},
        {1219, 1, &rule21},
@@ -881,7 +889,7 @@ static const struct _charblock_ allchars[]={
        {1228, 1, &rule22},
        {1229, 1, &rule21},
        {1230, 1, &rule22},
-       {1231, 1, &rule108},
+       {1231, 1, &rule111},
        {1232, 1, &rule21},
        {1233, 1, &rule22},
        {1234, 1, &rule21},
@@ -966,22 +974,26 @@ static const struct _charblock_ allchars[]={
        {1313, 1, &rule22},
        {1314, 1, &rule21},
        {1315, 1, &rule22},
-       {1329, 38, &rule109},
-       {1369, 1, &rule80},
+       {1316, 1, &rule21},
+       {1317, 1, &rule22},
+       {1318, 1, &rule21},
+       {1319, 1, &rule22},
+       {1329, 38, &rule112},
+       {1369, 1, &rule83},
        {1370, 6, &rule2},
-       {1377, 38, &rule110},
+       {1377, 38, &rule113},
        {1415, 1, &rule14},
        {1417, 1, &rule2},
        {1418, 1, &rule7},
-       {1425, 45, &rule81},
+       {1425, 45, &rule84},
        {1470, 1, &rule7},
-       {1471, 1, &rule81},
+       {1471, 1, &rule84},
        {1472, 1, &rule2},
-       {1473, 2, &rule81},
+       {1473, 2, &rule84},
        {1475, 1, &rule2},
-       {1476, 2, &rule81},
+       {1476, 2, &rule84},
        {1478, 1, &rule2},
-       {1479, 1, &rule81},
+       {1479, 1, &rule84},
        {1488, 27, &rule45},
        {1520, 3, &rule45},
        {1523, 2, &rule2},
@@ -991,28 +1003,28 @@ static const struct _charblock_ allchars[]={
        {1547, 1, &rule3},
        {1548, 2, &rule2},
        {1550, 2, &rule13},
-       {1552, 11, &rule81},
+       {1552, 11, &rule84},
        {1563, 1, &rule2},
        {1566, 2, &rule2},
-       {1569, 31, &rule45},
-       {1600, 1, &rule80},
+       {1568, 32, &rule45},
+       {1600, 1, &rule83},
        {1601, 10, &rule45},
-       {1611, 20, &rule81},
+       {1611, 21, &rule84},
        {1632, 10, &rule8},
        {1642, 4, &rule2},
        {1646, 2, &rule45},
-       {1648, 1, &rule81},
+       {1648, 1, &rule84},
        {1649, 99, &rule45},
        {1748, 1, &rule2},
        {1749, 1, &rule45},
-       {1750, 7, &rule81},
+       {1750, 7, &rule84},
        {1757, 1, &rule16},
-       {1758, 1, &rule106},
-       {1759, 6, &rule81},
-       {1765, 2, &rule80},
-       {1767, 2, &rule81},
+       {1758, 1, &rule13},
+       {1759, 6, &rule84},
+       {1765, 2, &rule83},
+       {1767, 2, &rule84},
        {1769, 1, &rule13},
-       {1770, 4, &rule81},
+       {1770, 4, &rule84},
        {1774, 2, &rule45},
        {1776, 10, &rule8},
        {1786, 3, &rule45},
@@ -1021,65 +1033,81 @@ static const struct _charblock_ allchars[]={
        {1792, 14, &rule2},
        {1807, 1, &rule16},
        {1808, 1, &rule45},
-       {1809, 1, &rule81},
+       {1809, 1, &rule84},
        {1810, 30, &rule45},
-       {1840, 27, &rule81},
+       {1840, 27, &rule84},
        {1869, 89, &rule45},
-       {1958, 11, &rule81},
+       {1958, 11, &rule84},
        {1969, 1, &rule45},
        {1984, 10, &rule8},
        {1994, 33, &rule45},
-       {2027, 9, &rule81},
-       {2036, 2, &rule80},
+       {2027, 9, &rule84},
+       {2036, 2, &rule83},
        {2038, 1, &rule13},
        {2039, 3, &rule2},
-       {2042, 1, &rule80},
-       {2305, 2, &rule81},
-       {2307, 1, &rule111},
+       {2042, 1, &rule83},
+       {2048, 22, &rule45},
+       {2070, 4, &rule84},
+       {2074, 1, &rule83},
+       {2075, 9, &rule84},
+       {2084, 1, &rule83},
+       {2085, 3, &rule84},
+       {2088, 1, &rule83},
+       {2089, 5, &rule84},
+       {2096, 15, &rule2},
+       {2112, 25, &rule45},
+       {2137, 3, &rule84},
+       {2142, 1, &rule2},
+       {2304, 3, &rule84},
+       {2307, 1, &rule114},
        {2308, 54, &rule45},
-       {2364, 1, &rule81},
+       {2362, 1, &rule84},
+       {2363, 1, &rule114},
+       {2364, 1, &rule84},
        {2365, 1, &rule45},
-       {2366, 3, &rule111},
-       {2369, 8, &rule81},
-       {2377, 4, &rule111},
-       {2381, 1, &rule81},
+       {2366, 3, &rule114},
+       {2369, 8, &rule84},
+       {2377, 4, &rule114},
+       {2381, 1, &rule84},
+       {2382, 2, &rule114},
        {2384, 1, &rule45},
-       {2385, 4, &rule81},
+       {2385, 7, &rule84},
        {2392, 10, &rule45},
-       {2402, 2, &rule81},
+       {2402, 2, &rule84},
        {2404, 2, &rule2},
        {2406, 10, &rule8},
        {2416, 1, &rule2},
-       {2417, 1, &rule80},
-       {2418, 1, &rule45},
-       {2427, 5, &rule45},
-       {2433, 1, &rule81},
-       {2434, 2, &rule111},
+       {2417, 1, &rule83},
+       {2418, 6, &rule45},
+       {2425, 7, &rule45},
+       {2433, 1, &rule84},
+       {2434, 2, &rule114},
        {2437, 8, &rule45},
        {2447, 2, &rule45},
        {2451, 22, &rule45},
        {2474, 7, &rule45},
        {2482, 1, &rule45},
        {2486, 4, &rule45},
-       {2492, 1, &rule81},
+       {2492, 1, &rule84},
        {2493, 1, &rule45},
-       {2494, 3, &rule111},
-       {2497, 4, &rule81},
-       {2503, 2, &rule111},
-       {2507, 2, &rule111},
-       {2509, 1, &rule81},
+       {2494, 3, &rule114},
+       {2497, 4, &rule84},
+       {2503, 2, &rule114},
+       {2507, 2, &rule114},
+       {2509, 1, &rule84},
        {2510, 1, &rule45},
-       {2519, 1, &rule111},
+       {2519, 1, &rule114},
        {2524, 2, &rule45},
        {2527, 3, &rule45},
-       {2530, 2, &rule81},
+       {2530, 2, &rule84},
        {2534, 10, &rule8},
        {2544, 2, &rule45},
        {2546, 2, &rule3},
        {2548, 6, &rule17},
        {2554, 1, &rule13},
-       {2561, 2, &rule81},
-       {2563, 1, &rule111},
+       {2555, 1, &rule3},
+       {2561, 2, &rule84},
+       {2563, 1, &rule114},
        {2565, 6, &rule45},
        {2575, 2, &rule45},
        {2579, 22, &rule45},
@@ -1087,65 +1115,66 @@ static const struct _charblock_ allchars[]={
        {2610, 2, &rule45},
        {2613, 2, &rule45},
        {2616, 2, &rule45},
-       {2620, 1, &rule81},
-       {2622, 3, &rule111},
-       {2625, 2, &rule81},
-       {2631, 2, &rule81},
-       {2635, 3, &rule81},
-       {2641, 1, &rule81},
+       {2620, 1, &rule84},
+       {2622, 3, &rule114},
+       {2625, 2, &rule84},
+       {2631, 2, &rule84},
+       {2635, 3, &rule84},
+       {2641, 1, &rule84},
        {2649, 4, &rule45},
        {2654, 1, &rule45},
        {2662, 10, &rule8},
-       {2672, 2, &rule81},
+       {2672, 2, &rule84},
        {2674, 3, &rule45},
-       {2677, 1, &rule81},
-       {2689, 2, &rule81},
-       {2691, 1, &rule111},
+       {2677, 1, &rule84},
+       {2689, 2, &rule84},
+       {2691, 1, &rule114},
        {2693, 9, &rule45},
        {2703, 3, &rule45},
        {2707, 22, &rule45},
        {2730, 7, &rule45},
        {2738, 2, &rule45},
        {2741, 5, &rule45},
-       {2748, 1, &rule81},
+       {2748, 1, &rule84},
        {2749, 1, &rule45},
-       {2750, 3, &rule111},
-       {2753, 5, &rule81},
-       {2759, 2, &rule81},
-       {2761, 1, &rule111},
-       {2763, 2, &rule111},
-       {2765, 1, &rule81},
+       {2750, 3, &rule114},
+       {2753, 5, &rule84},
+       {2759, 2, &rule84},
+       {2761, 1, &rule114},
+       {2763, 2, &rule114},
+       {2765, 1, &rule84},
        {2768, 1, &rule45},
        {2784, 2, &rule45},
-       {2786, 2, &rule81},
+       {2786, 2, &rule84},
        {2790, 10, &rule8},
        {2801, 1, &rule3},
-       {2817, 1, &rule81},
-       {2818, 2, &rule111},
+       {2817, 1, &rule84},
+       {2818, 2, &rule114},
        {2821, 8, &rule45},
        {2831, 2, &rule45},
        {2835, 22, &rule45},
        {2858, 7, &rule45},
        {2866, 2, &rule45},
        {2869, 5, &rule45},
-       {2876, 1, &rule81},
+       {2876, 1, &rule84},
        {2877, 1, &rule45},
-       {2878, 1, &rule111},
-       {2879, 1, &rule81},
-       {2880, 1, &rule111},
-       {2881, 4, &rule81},
-       {2887, 2, &rule111},
-       {2891, 2, &rule111},
-       {2893, 1, &rule81},
-       {2902, 1, &rule81},
-       {2903, 1, &rule111},
+       {2878, 1, &rule114},
+       {2879, 1, &rule84},
+       {2880, 1, &rule114},
+       {2881, 4, &rule84},
+       {2887, 2, &rule114},
+       {2891, 2, &rule114},
+       {2893, 1, &rule84},
+       {2902, 1, &rule84},
+       {2903, 1, &rule114},
        {2908, 2, &rule45},
        {2911, 3, &rule45},
-       {2914, 2, &rule81},
+       {2914, 2, &rule84},
        {2918, 10, &rule8},
        {2928, 1, &rule13},
        {2929, 1, &rule45},
-       {2946, 1, &rule81},
+       {2930, 6, &rule17},
+       {2946, 1, &rule84},
        {2947, 1, &rule45},
        {2949, 6, &rule45},
        {2958, 3, &rule45},
@@ -1156,97 +1185,97 @@ static const struct _charblock_ allchars[]={
        {2979, 2, &rule45},
        {2984, 3, &rule45},
        {2990, 12, &rule45},
-       {3006, 2, &rule111},
-       {3008, 1, &rule81},
-       {3009, 2, &rule111},
-       {3014, 3, &rule111},
-       {3018, 3, &rule111},
-       {3021, 1, &rule81},
+       {3006, 2, &rule114},
+       {3008, 1, &rule84},
+       {3009, 2, &rule114},
+       {3014, 3, &rule114},
+       {3018, 3, &rule114},
+       {3021, 1, &rule84},
        {3024, 1, &rule45},
-       {3031, 1, &rule111},
+       {3031, 1, &rule114},
        {3046, 10, &rule8},
        {3056, 3, &rule17},
        {3059, 6, &rule13},
        {3065, 1, &rule3},
        {3066, 1, &rule13},
-       {3073, 3, &rule111},
+       {3073, 3, &rule114},
        {3077, 8, &rule45},
        {3086, 3, &rule45},
        {3090, 23, &rule45},
        {3114, 10, &rule45},
        {3125, 5, &rule45},
        {3133, 1, &rule45},
-       {3134, 3, &rule81},
-       {3137, 4, &rule111},
-       {3142, 3, &rule81},
-       {3146, 4, &rule81},
-       {3157, 2, &rule81},
+       {3134, 3, &rule84},
+       {3137, 4, &rule114},
+       {3142, 3, &rule84},
+       {3146, 4, &rule84},
+       {3157, 2, &rule84},
        {3160, 2, &rule45},
        {3168, 2, &rule45},
-       {3170, 2, &rule81},
+       {3170, 2, &rule84},
        {3174, 10, &rule8},
        {3192, 7, &rule17},
        {3199, 1, &rule13},
-       {3202, 2, &rule111},
+       {3202, 2, &rule114},
        {3205, 8, &rule45},
        {3214, 3, &rule45},
        {3218, 23, &rule45},
        {3242, 10, &rule45},
        {3253, 5, &rule45},
-       {3260, 1, &rule81},
+       {3260, 1, &rule84},
        {3261, 1, &rule45},
-       {3262, 1, &rule111},
-       {3263, 1, &rule81},
-       {3264, 5, &rule111},
-       {3270, 1, &rule81},
-       {3271, 2, &rule111},
-       {3274, 2, &rule111},
-       {3276, 2, &rule81},
-       {3285, 2, &rule111},
+       {3262, 1, &rule114},
+       {3263, 1, &rule84},
+       {3264, 5, &rule114},
+       {3270, 1, &rule84},
+       {3271, 2, &rule114},
+       {3274, 2, &rule114},
+       {3276, 2, &rule84},
+       {3285, 2, &rule114},
        {3294, 1, &rule45},
        {3296, 2, &rule45},
-       {3298, 2, &rule81},
+       {3298, 2, &rule84},
        {3302, 10, &rule8},
-       {3313, 2, &rule13},
-       {3330, 2, &rule111},
+       {3313, 2, &rule45},
+       {3330, 2, &rule114},
        {3333, 8, &rule45},
        {3342, 3, &rule45},
-       {3346, 23, &rule45},
-       {3370, 16, &rule45},
+       {3346, 41, &rule45},
        {3389, 1, &rule45},
-       {3390, 3, &rule111},
-       {3393, 4, &rule81},
-       {3398, 3, &rule111},
-       {3402, 3, &rule111},
-       {3405, 1, &rule81},
-       {3415, 1, &rule111},
+       {3390, 3, &rule114},
+       {3393, 4, &rule84},
+       {3398, 3, &rule114},
+       {3402, 3, &rule114},
+       {3405, 1, &rule84},
+       {3406, 1, &rule45},
+       {3415, 1, &rule114},
        {3424, 2, &rule45},
-       {3426, 2, &rule81},
+       {3426, 2, &rule84},
        {3430, 10, &rule8},
        {3440, 6, &rule17},
        {3449, 1, &rule13},
        {3450, 6, &rule45},
-       {3458, 2, &rule111},
+       {3458, 2, &rule114},
        {3461, 18, &rule45},
        {3482, 24, &rule45},
        {3507, 9, &rule45},
        {3517, 1, &rule45},
        {3520, 7, &rule45},
-       {3530, 1, &rule81},
-       {3535, 3, &rule111},
-       {3538, 3, &rule81},
-       {3542, 1, &rule81},
-       {3544, 8, &rule111},
-       {3570, 2, &rule111},
+       {3530, 1, &rule84},
+       {3535, 3, &rule114},
+       {3538, 3, &rule84},
+       {3542, 1, &rule84},
+       {3544, 8, &rule114},
+       {3570, 2, &rule114},
        {3572, 1, &rule2},
        {3585, 48, &rule45},
-       {3633, 1, &rule81},
+       {3633, 1, &rule84},
        {3634, 2, &rule45},
-       {3636, 7, &rule81},
+       {3636, 7, &rule84},
        {3647, 1, &rule3},
        {3648, 6, &rule45},
-       {3654, 1, &rule80},
-       {3655, 8, &rule81},
+       {3654, 1, &rule83},
+       {3655, 8, &rule84},
        {3663, 1, &rule2},
        {3664, 10, &rule8},
        {3674, 2, &rule2},
@@ -1262,91 +1291,92 @@ static const struct _charblock_ allchars[]={
        {3751, 1, &rule45},
        {3754, 2, &rule45},
        {3757, 4, &rule45},
-       {3761, 1, &rule81},
+       {3761, 1, &rule84},
        {3762, 2, &rule45},
-       {3764, 6, &rule81},
-       {3771, 2, &rule81},
+       {3764, 6, &rule84},
+       {3771, 2, &rule84},
        {3773, 1, &rule45},
        {3776, 5, &rule45},
-       {3782, 1, &rule80},
-       {3784, 6, &rule81},
+       {3782, 1, &rule83},
+       {3784, 6, &rule84},
        {3792, 10, &rule8},
        {3804, 2, &rule45},
        {3840, 1, &rule45},
        {3841, 3, &rule13},
        {3844, 15, &rule2},
        {3859, 5, &rule13},
-       {3864, 2, &rule81},
+       {3864, 2, &rule84},
        {3866, 6, &rule13},
        {3872, 10, &rule8},
        {3882, 10, &rule17},
        {3892, 1, &rule13},
-       {3893, 1, &rule81},
+       {3893, 1, &rule84},
        {3894, 1, &rule13},
-       {3895, 1, &rule81},
+       {3895, 1, &rule84},
        {3896, 1, &rule13},
-       {3897, 1, &rule81},
+       {3897, 1, &rule84},
        {3898, 1, &rule4},
        {3899, 1, &rule5},
        {3900, 1, &rule4},
        {3901, 1, &rule5},
-       {3902, 2, &rule111},
+       {3902, 2, &rule114},
        {3904, 8, &rule45},
        {3913, 36, &rule45},
-       {3953, 14, &rule81},
-       {3967, 1, &rule111},
-       {3968, 5, &rule81},
+       {3953, 14, &rule84},
+       {3967, 1, &rule114},
+       {3968, 5, &rule84},
        {3973, 1, &rule2},
-       {3974, 2, &rule81},
-       {3976, 4, &rule45},
-       {3984, 8, &rule81},
-       {3993, 36, &rule81},
+       {3974, 2, &rule84},
+       {3976, 5, &rule45},
+       {3981, 11, &rule84},
+       {3993, 36, &rule84},
        {4030, 8, &rule13},
-       {4038, 1, &rule81},
+       {4038, 1, &rule84},
        {4039, 6, &rule13},
        {4046, 2, &rule13},
        {4048, 5, &rule2},
+       {4053, 4, &rule13},
+       {4057, 2, &rule2},
        {4096, 43, &rule45},
-       {4139, 2, &rule111},
-       {4141, 4, &rule81},
-       {4145, 1, &rule111},
-       {4146, 6, &rule81},
-       {4152, 1, &rule111},
-       {4153, 2, &rule81},
-       {4155, 2, &rule111},
-       {4157, 2, &rule81},
+       {4139, 2, &rule114},
+       {4141, 4, &rule84},
+       {4145, 1, &rule114},
+       {4146, 6, &rule84},
+       {4152, 1, &rule114},
+       {4153, 2, &rule84},
+       {4155, 2, &rule114},
+       {4157, 2, &rule84},
        {4159, 1, &rule45},
        {4160, 10, &rule8},
        {4170, 6, &rule2},
        {4176, 6, &rule45},
-       {4182, 2, &rule111},
-       {4184, 2, &rule81},
+       {4182, 2, &rule114},
+       {4184, 2, &rule84},
        {4186, 4, &rule45},
-       {4190, 3, &rule81},
+       {4190, 3, &rule84},
        {4193, 1, &rule45},
-       {4194, 3, &rule111},
+       {4194, 3, &rule114},
        {4197, 2, &rule45},
-       {4199, 7, &rule111},
+       {4199, 7, &rule114},
        {4206, 3, &rule45},
-       {4209, 4, &rule81},
+       {4209, 4, &rule84},
        {4213, 13, &rule45},
-       {4226, 1, &rule81},
-       {4227, 2, &rule111},
-       {4229, 2, &rule81},
-       {4231, 6, &rule111},
-       {4237, 1, &rule81},
+       {4226, 1, &rule84},
+       {4227, 2, &rule114},
+       {4229, 2, &rule84},
+       {4231, 6, &rule114},
+       {4237, 1, &rule84},
        {4238, 1, &rule45},
-       {4239, 1, &rule111},
+       {4239, 1, &rule114},
        {4240, 10, &rule8},
+       {4250, 3, &rule114},
+       {4253, 1, &rule84},
        {4254, 2, &rule13},
-       {4256, 38, &rule112},
+       {4256, 38, &rule115},
        {4304, 43, &rule45},
        {4347, 1, &rule2},
-       {4348, 1, &rule80},
-       {4352, 90, &rule45},
-       {4447, 68, &rule45},
-       {4520, 82, &rule45},
-       {4608, 73, &rule45},
+       {4348, 1, &rule83},
+       {4352, 329, &rule45},
        {4682, 4, &rule45},
        {4688, 7, &rule45},
        {4696, 1, &rule45},
@@ -1362,137 +1392,176 @@ static const struct _charblock_ allchars[]={
        {4824, 57, &rule45},
        {4882, 4, &rule45},
        {4888, 67, &rule45},
-       {4959, 1, &rule81},
+       {4957, 3, &rule84},
        {4960, 1, &rule13},
        {4961, 8, &rule2},
        {4969, 20, &rule17},
        {4992, 16, &rule45},
        {5008, 10, &rule13},
        {5024, 85, &rule45},
+       {5120, 1, &rule7},
        {5121, 620, &rule45},
        {5741, 2, &rule2},
-       {5743, 8, &rule45},
+       {5743, 17, &rule45},
        {5760, 1, &rule1},
        {5761, 26, &rule45},
        {5787, 1, &rule4},
        {5788, 1, &rule5},
        {5792, 75, &rule45},
        {5867, 3, &rule2},
-       {5870, 3, &rule113},
+       {5870, 3, &rule116},
        {5888, 13, &rule45},
        {5902, 4, &rule45},
-       {5906, 3, &rule81},
+       {5906, 3, &rule84},
        {5920, 18, &rule45},
-       {5938, 3, &rule81},
+       {5938, 3, &rule84},
        {5941, 2, &rule2},
        {5952, 18, &rule45},
-       {5970, 2, &rule81},
+       {5970, 2, &rule84},
        {5984, 13, &rule45},
        {5998, 3, &rule45},
-       {6002, 2, &rule81},
+       {6002, 2, &rule84},
        {6016, 52, &rule45},
        {6068, 2, &rule16},
-       {6070, 1, &rule111},
-       {6071, 7, &rule81},
-       {6078, 8, &rule111},
-       {6086, 1, &rule81},
-       {6087, 2, &rule111},
-       {6089, 11, &rule81},
+       {6070, 1, &rule114},
+       {6071, 7, &rule84},
+       {6078, 8, &rule114},
+       {6086, 1, &rule84},
+       {6087, 2, &rule114},
+       {6089, 11, &rule84},
        {6100, 3, &rule2},
-       {6103, 1, &rule80},
+       {6103, 1, &rule83},
        {6104, 3, &rule2},
        {6107, 1, &rule3},
        {6108, 1, &rule45},
-       {6109, 1, &rule81},
+       {6109, 1, &rule84},
        {6112, 10, &rule8},
        {6128, 10, &rule17},
        {6144, 6, &rule2},
        {6150, 1, &rule7},
        {6151, 4, &rule2},
-       {6155, 3, &rule81},
+       {6155, 3, &rule84},
        {6158, 1, &rule1},
        {6160, 10, &rule8},
        {6176, 35, &rule45},
-       {6211, 1, &rule80},
+       {6211, 1, &rule83},
        {6212, 52, &rule45},
        {6272, 41, &rule45},
-       {6313, 1, &rule81},
+       {6313, 1, &rule84},
        {6314, 1, &rule45},
+       {6320, 70, &rule45},
        {6400, 29, &rule45},
-       {6432, 3, &rule81},
-       {6435, 4, &rule111},
-       {6439, 2, &rule81},
-       {6441, 3, &rule111},
-       {6448, 2, &rule111},
-       {6450, 1, &rule81},
-       {6451, 6, &rule111},
-       {6457, 3, &rule81},
+       {6432, 3, &rule84},
+       {6435, 4, &rule114},
+       {6439, 2, &rule84},
+       {6441, 3, &rule114},
+       {6448, 2, &rule114},
+       {6450, 1, &rule84},
+       {6451, 6, &rule114},
+       {6457, 3, &rule84},
        {6464, 1, &rule13},
        {6468, 2, &rule2},
        {6470, 10, &rule8},
        {6480, 30, &rule45},
        {6512, 5, &rule45},
-       {6528, 42, &rule45},
-       {6576, 17, &rule111},
+       {6528, 44, &rule45},
+       {6576, 17, &rule114},
        {6593, 7, &rule45},
-       {6600, 2, &rule111},
+       {6600, 2, &rule114},
        {6608, 10, &rule8},
-       {6622, 2, &rule2},
-       {6624, 32, &rule13},
+       {6618, 1, &rule17},
+       {6622, 34, &rule13},
        {6656, 23, &rule45},
-       {6679, 2, &rule81},
-       {6681, 3, &rule111},
+       {6679, 2, &rule84},
+       {6681, 3, &rule114},
        {6686, 2, &rule2},
-       {6912, 4, &rule81},
-       {6916, 1, &rule111},
+       {6688, 53, &rule45},
+       {6741, 1, &rule114},
+       {6742, 1, &rule84},
+       {6743, 1, &rule114},
+       {6744, 7, &rule84},
+       {6752, 1, &rule84},
+       {6753, 1, &rule114},
+       {6754, 1, &rule84},
+       {6755, 2, &rule114},
+       {6757, 8, &rule84},
+       {6765, 6, &rule114},
+       {6771, 10, &rule84},
+       {6783, 1, &rule84},
+       {6784, 10, &rule8},
+       {6800, 10, &rule8},
+       {6816, 7, &rule2},
+       {6823, 1, &rule83},
+       {6824, 6, &rule2},
+       {6912, 4, &rule84},
+       {6916, 1, &rule114},
        {6917, 47, &rule45},
-       {6964, 1, &rule81},
-       {6965, 1, &rule111},
-       {6966, 5, &rule81},
-       {6971, 1, &rule111},
-       {6972, 1, &rule81},
-       {6973, 5, &rule111},
-       {6978, 1, &rule81},
-       {6979, 2, &rule111},
+       {6964, 1, &rule84},
+       {6965, 1, &rule114},
+       {6966, 5, &rule84},
+       {6971, 1, &rule114},
+       {6972, 1, &rule84},
+       {6973, 5, &rule114},
+       {6978, 1, &rule84},
+       {6979, 2, &rule114},
        {6981, 7, &rule45},
        {6992, 10, &rule8},
        {7002, 7, &rule2},
        {7009, 10, &rule13},
-       {7019, 9, &rule81},
+       {7019, 9, &rule84},
        {7028, 9, &rule13},
-       {7040, 2, &rule81},
-       {7042, 1, &rule111},
+       {7040, 2, &rule84},
+       {7042, 1, &rule114},
        {7043, 30, &rule45},
-       {7073, 1, &rule111},
-       {7074, 4, &rule81},
-       {7078, 2, &rule111},
-       {7080, 2, &rule81},
-       {7082, 1, &rule111},
+       {7073, 1, &rule114},
+       {7074, 4, &rule84},
+       {7078, 2, &rule114},
+       {7080, 2, &rule84},
+       {7082, 1, &rule114},
        {7086, 2, &rule45},
        {7088, 10, &rule8},
+       {7104, 38, &rule45},
+       {7142, 1, &rule84},
+       {7143, 1, &rule114},
+       {7144, 2, &rule84},
+       {7146, 3, &rule114},
+       {7149, 1, &rule84},
+       {7150, 1, &rule114},
+       {7151, 3, &rule84},
+       {7154, 2, &rule114},
+       {7164, 4, &rule2},
        {7168, 36, &rule45},
-       {7204, 8, &rule111},
-       {7212, 8, &rule81},
-       {7220, 2, &rule111},
-       {7222, 2, &rule81},
+       {7204, 8, &rule114},
+       {7212, 8, &rule84},
+       {7220, 2, &rule114},
+       {7222, 2, &rule84},
        {7227, 5, &rule2},
        {7232, 10, &rule8},
        {7245, 3, &rule45},
        {7248, 10, &rule8},
        {7258, 30, &rule45},
-       {7288, 6, &rule80},
+       {7288, 6, &rule83},
        {7294, 2, &rule2},
+       {7376, 3, &rule84},
+       {7379, 1, &rule2},
+       {7380, 13, &rule84},
+       {7393, 1, &rule114},
+       {7394, 7, &rule84},
+       {7401, 4, &rule45},
+       {7405, 1, &rule84},
+       {7406, 4, &rule45},
+       {7410, 1, &rule114},
        {7424, 44, &rule14},
-       {7468, 54, &rule80},
+       {7468, 54, &rule83},
        {7522, 22, &rule14},
-       {7544, 1, &rule80},
-       {7545, 1, &rule114},
+       {7544, 1, &rule83},
+       {7545, 1, &rule117},
        {7546, 3, &rule14},
-       {7549, 1, &rule115},
+       {7549, 1, &rule118},
        {7550, 29, &rule14},
-       {7579, 37, &rule80},
-       {7616, 39, &rule81},
-       {7678, 2, &rule81},
+       {7579, 37, &rule83},
+       {7616, 39, &rule84},
+       {7676, 4, &rule84},
        {7680, 1, &rule21},
        {7681, 1, &rule22},
        {7682, 1, &rule21},
@@ -1644,9 +1713,9 @@ static const struct _charblock_ allchars[]={
        {7828, 1, &rule21},
        {7829, 1, &rule22},
        {7830, 5, &rule14},
-       {7835, 1, &rule116},
+       {7835, 1, &rule119},
        {7836, 2, &rule14},
-       {7838, 1, &rule117},
+       {7838, 1, &rule120},
        {7839, 1, &rule14},
        {7840, 1, &rule21},
        {7841, 1, &rule22},
@@ -1744,81 +1813,81 @@ static const struct _charblock_ allchars[]={
        {7933, 1, &rule22},
        {7934, 1, &rule21},
        {7935, 1, &rule22},
-       {7936, 8, &rule118},
-       {7944, 8, &rule119},
-       {7952, 6, &rule118},
-       {7960, 6, &rule119},
-       {7968, 8, &rule118},
-       {7976, 8, &rule119},
-       {7984, 8, &rule118},
-       {7992, 8, &rule119},
-       {8000, 6, &rule118},
-       {8008, 6, &rule119},
+       {7936, 8, &rule121},
+       {7944, 8, &rule122},
+       {7952, 6, &rule121},
+       {7960, 6, &rule122},
+       {7968, 8, &rule121},
+       {7976, 8, &rule122},
+       {7984, 8, &rule121},
+       {7992, 8, &rule122},
+       {8000, 6, &rule121},
+       {8008, 6, &rule122},
        {8016, 1, &rule14},
-       {8017, 1, &rule118},
+       {8017, 1, &rule121},
        {8018, 1, &rule14},
-       {8019, 1, &rule118},
+       {8019, 1, &rule121},
        {8020, 1, &rule14},
-       {8021, 1, &rule118},
+       {8021, 1, &rule121},
        {8022, 1, &rule14},
-       {8023, 1, &rule118},
-       {8025, 1, &rule119},
-       {8027, 1, &rule119},
-       {8029, 1, &rule119},
-       {8031, 1, &rule119},
-       {8032, 8, &rule118},
-       {8040, 8, &rule119},
-       {8048, 2, &rule120},
-       {8050, 4, &rule121},
-       {8054, 2, &rule122},
-       {8056, 2, &rule123},
-       {8058, 2, &rule124},
-       {8060, 2, &rule125},
-       {8064, 8, &rule118},
-       {8072, 8, &rule126},
-       {8080, 8, &rule118},
-       {8088, 8, &rule126},
-       {8096, 8, &rule118},
-       {8104, 8, &rule126},
-       {8112, 2, &rule118},
+       {8023, 1, &rule121},
+       {8025, 1, &rule122},
+       {8027, 1, &rule122},
+       {8029, 1, &rule122},
+       {8031, 1, &rule122},
+       {8032, 8, &rule121},
+       {8040, 8, &rule122},
+       {8048, 2, &rule123},
+       {8050, 4, &rule124},
+       {8054, 2, &rule125},
+       {8056, 2, &rule126},
+       {8058, 2, &rule127},
+       {8060, 2, &rule128},
+       {8064, 8, &rule121},
+       {8072, 8, &rule129},
+       {8080, 8, &rule121},
+       {8088, 8, &rule129},
+       {8096, 8, &rule121},
+       {8104, 8, &rule129},
+       {8112, 2, &rule121},
        {8114, 1, &rule14},
-       {8115, 1, &rule127},
+       {8115, 1, &rule130},
        {8116, 1, &rule14},
        {8118, 2, &rule14},
-       {8120, 2, &rule119},
-       {8122, 2, &rule128},
-       {8124, 1, &rule129},
+       {8120, 2, &rule122},
+       {8122, 2, &rule131},
+       {8124, 1, &rule132},
        {8125, 1, &rule10},
-       {8126, 1, &rule130},
+       {8126, 1, &rule133},
        {8127, 3, &rule10},
        {8130, 1, &rule14},
-       {8131, 1, &rule127},
+       {8131, 1, &rule130},
        {8132, 1, &rule14},
        {8134, 2, &rule14},
-       {8136, 4, &rule131},
-       {8140, 1, &rule129},
+       {8136, 4, &rule134},
+       {8140, 1, &rule132},
        {8141, 3, &rule10},
-       {8144, 2, &rule118},
+       {8144, 2, &rule121},
        {8146, 2, &rule14},
        {8150, 2, &rule14},
-       {8152, 2, &rule119},
-       {8154, 2, &rule132},
+       {8152, 2, &rule122},
+       {8154, 2, &rule135},
        {8157, 3, &rule10},
-       {8160, 2, &rule118},
+       {8160, 2, &rule121},
        {8162, 3, &rule14},
-       {8165, 1, &rule101},
+       {8165, 1, &rule104},
        {8166, 2, &rule14},
-       {8168, 2, &rule119},
-       {8170, 2, &rule133},
-       {8172, 1, &rule104},
+       {8168, 2, &rule122},
+       {8170, 2, &rule136},
+       {8172, 1, &rule107},
        {8173, 3, &rule10},
        {8178, 1, &rule14},
-       {8179, 1, &rule127},
+       {8179, 1, &rule130},
        {8180, 1, &rule14},
        {8182, 2, &rule14},
-       {8184, 2, &rule134},
-       {8186, 2, &rule135},
-       {8188, 1, &rule129},
+       {8184, 2, &rule137},
+       {8186, 2, &rule138},
+       {8188, 1, &rule132},
        {8189, 2, &rule10},
        {8192, 11, &rule1},
        {8203, 5, &rule16},
@@ -1832,8 +1901,8 @@ static const struct _charblock_ allchars[]={
        {8222, 1, &rule4},
        {8223, 1, &rule15},
        {8224, 8, &rule2},
-       {8232, 1, &rule136},
-       {8233, 1, &rule137},
+       {8232, 1, &rule139},
+       {8233, 1, &rule140},
        {8234, 5, &rule16},
        {8239, 1, &rule1},
        {8240, 9, &rule2},
@@ -1854,73 +1923,75 @@ static const struct _charblock_ allchars[]={
        {8288, 5, &rule16},
        {8298, 6, &rule16},
        {8304, 1, &rule17},
-       {8305, 1, &rule14},
+       {8305, 1, &rule83},
        {8308, 6, &rule17},
        {8314, 3, &rule6},
        {8317, 1, &rule4},
        {8318, 1, &rule5},
-       {8319, 1, &rule14},
+       {8319, 1, &rule83},
        {8320, 10, &rule17},
        {8330, 3, &rule6},
        {8333, 1, &rule4},
        {8334, 1, &rule5},
-       {8336, 5, &rule80},
-       {8352, 22, &rule3},
-       {8400, 13, &rule81},
-       {8413, 4, &rule106},
-       {8417, 1, &rule81},
-       {8418, 3, &rule106},
-       {8421, 12, &rule81},
+       {8336, 13, &rule83},
+       {8352, 26, &rule3},
+       {8400, 13, &rule84},
+       {8413, 4, &rule109},
+       {8417, 1, &rule84},
+       {8418, 3, &rule109},
+       {8421, 12, &rule84},
        {8448, 2, &rule13},
-       {8450, 1, &rule95},
+       {8450, 1, &rule98},
        {8451, 4, &rule13},
-       {8455, 1, &rule95},
+       {8455, 1, &rule98},
        {8456, 2, &rule13},
        {8458, 1, &rule14},
-       {8459, 3, &rule95},
+       {8459, 3, &rule98},
        {8462, 2, &rule14},
-       {8464, 3, &rule95},
+       {8464, 3, &rule98},
        {8467, 1, &rule14},
        {8468, 1, &rule13},
-       {8469, 1, &rule95},
-       {8470, 3, &rule13},
-       {8473, 5, &rule95},
+       {8469, 1, &rule98},
+       {8470, 2, &rule13},
+       {8472, 1, &rule6},
+       {8473, 5, &rule98},
        {8478, 6, &rule13},
-       {8484, 1, &rule95},
+       {8484, 1, &rule98},
        {8485, 1, &rule13},
-       {8486, 1, &rule138},
+       {8486, 1, &rule141},
        {8487, 1, &rule13},
-       {8488, 1, &rule95},
+       {8488, 1, &rule98},
        {8489, 1, &rule13},
-       {8490, 1, &rule139},
-       {8491, 1, &rule140},
-       {8492, 2, &rule95},
+       {8490, 1, &rule142},
+       {8491, 1, &rule143},
+       {8492, 2, &rule98},
        {8494, 1, &rule13},
        {8495, 1, &rule14},
-       {8496, 2, &rule95},
-       {8498, 1, &rule141},
-       {8499, 1, &rule95},
+       {8496, 2, &rule98},
+       {8498, 1, &rule144},
+       {8499, 1, &rule98},
        {8500, 1, &rule14},
        {8501, 4, &rule45},
        {8505, 1, &rule14},
        {8506, 2, &rule13},
        {8508, 2, &rule14},
-       {8510, 2, &rule95},
+       {8510, 2, &rule98},
        {8512, 5, &rule6},
-       {8517, 1, &rule95},
+       {8517, 1, &rule98},
        {8518, 4, &rule14},
        {8522, 1, &rule13},
        {8523, 1, &rule6},
        {8524, 2, &rule13},
-       {8526, 1, &rule142},
+       {8526, 1, &rule145},
        {8527, 1, &rule13},
-       {8531, 13, &rule17},
-       {8544, 16, &rule143},
-       {8560, 16, &rule144},
-       {8576, 3, &rule113},
+       {8528, 16, &rule17},
+       {8544, 16, &rule146},
+       {8560, 16, &rule147},
+       {8576, 3, &rule116},
        {8579, 1, &rule21},
        {8580, 1, &rule22},
-       {8581, 4, &rule113},
+       {8581, 4, &rule116},
+       {8585, 1, &rule17},
        {8592, 5, &rule6},
        {8597, 5, &rule13},
        {8602, 2, &rule6},
@@ -1953,13 +2024,13 @@ static const struct _charblock_ allchars[]={
        {9115, 25, &rule6},
        {9140, 40, &rule13},
        {9180, 6, &rule6},
-       {9186, 6, &rule13},
+       {9186, 18, &rule13},
        {9216, 39, &rule13},
        {9280, 11, &rule13},
        {9312, 60, &rule17},
        {9372, 26, &rule13},
-       {9398, 26, &rule145},
-       {9424, 26, &rule146},
+       {9398, 26, &rule148},
+       {9424, 26, &rule149},
        {9450, 22, &rule17},
        {9472, 183, &rule13},
        {9655, 1, &rule6},
@@ -1969,18 +2040,8 @@ static const struct _charblock_ allchars[]={
        {9720, 8, &rule6},
        {9728, 111, &rule13},
        {9839, 1, &rule6},
-       {9840, 46, &rule13},
-       {9888, 29, &rule13},
-       {9920, 4, &rule13},
-       {9985, 4, &rule13},
-       {9990, 4, &rule13},
-       {9996, 28, &rule13},
-       {10025, 35, &rule13},
-       {10061, 1, &rule13},
-       {10063, 4, &rule13},
-       {10070, 1, &rule13},
-       {10072, 7, &rule13},
-       {10081, 7, &rule13},
+       {9840, 144, &rule13},
+       {9985, 103, &rule13},
        {10088, 1, &rule4},
        {10089, 1, &rule5},
        {10090, 1, &rule4},
@@ -1996,15 +2057,13 @@ static const struct _charblock_ allchars[]={
        {10100, 1, &rule4},
        {10101, 1, &rule5},
        {10102, 30, &rule17},
-       {10132, 1, &rule13},
-       {10136, 24, &rule13},
-       {10161, 14, &rule13},
+       {10132, 44, &rule13},
        {10176, 5, &rule6},
        {10181, 1, &rule4},
        {10182, 1, &rule5},
        {10183, 4, &rule6},
        {10188, 1, &rule6},
-       {10192, 22, &rule6},
+       {10190, 24, &rule6},
        {10214, 1, &rule4},
        {10215, 1, &rule5},
        {10216, 1, &rule4},
@@ -2053,25 +2112,26 @@ static const struct _charblock_ allchars[]={
        {11056, 21, &rule6},
        {11077, 2, &rule13},
        {11079, 6, &rule6},
-       {11088, 5, &rule13},
-       {11264, 47, &rule109},
-       {11312, 47, &rule110},
+       {11088, 10, &rule13},
+       {11264, 47, &rule112},
+       {11312, 47, &rule113},
        {11360, 1, &rule21},
        {11361, 1, &rule22},
-       {11362, 1, &rule147},
-       {11363, 1, &rule148},
-       {11364, 1, &rule149},
-       {11365, 1, &rule150},
-       {11366, 1, &rule151},
+       {11362, 1, &rule150},
+       {11363, 1, &rule151},
+       {11364, 1, &rule152},
+       {11365, 1, &rule153},
+       {11366, 1, &rule154},
        {11367, 1, &rule21},
        {11368, 1, &rule22},
        {11369, 1, &rule21},
        {11370, 1, &rule22},
        {11371, 1, &rule21},
        {11372, 1, &rule22},
-       {11373, 1, &rule152},
-       {11374, 1, &rule153},
-       {11375, 1, &rule154},
+       {11373, 1, &rule155},
+       {11374, 1, &rule156},
+       {11375, 1, &rule157},
+       {11376, 1, &rule158},
        {11377, 1, &rule14},
        {11378, 1, &rule21},
        {11379, 1, &rule22},
@@ -2079,7 +2139,8 @@ static const struct _charblock_ allchars[]={
        {11381, 1, &rule21},
        {11382, 1, &rule22},
        {11383, 6, &rule14},
-       {11389, 1, &rule80},
+       {11389, 1, &rule83},
+       {11390, 2, &rule159},
        {11392, 1, &rule21},
        {11393, 1, &rule22},
        {11394, 1, &rule21},
@@ -2182,12 +2243,19 @@ static const struct _charblock_ allchars[]={
        {11491, 1, &rule22},
        {11492, 1, &rule14},
        {11493, 6, &rule13},
+       {11499, 1, &rule21},
+       {11500, 1, &rule22},
+       {11501, 1, &rule21},
+       {11502, 1, &rule22},
+       {11503, 3, &rule84},
        {11513, 4, &rule2},
        {11517, 1, &rule17},
        {11518, 2, &rule2},
-       {11520, 38, &rule155},
+       {11520, 38, &rule160},
        {11568, 54, &rule45},
-       {11631, 1, &rule80},
+       {11631, 1, &rule83},
+       {11632, 1, &rule2},
+       {11647, 1, &rule84},
        {11648, 23, &rule45},
        {11680, 7, &rule45},
        {11688, 7, &rule45},
@@ -2197,7 +2265,7 @@ static const struct _charblock_ allchars[]={
        {11720, 7, &rule45},
        {11728, 7, &rule45},
        {11736, 7, &rule45},
-       {11744, 32, &rule81},
+       {11744, 32, &rule84},
        {11776, 2, &rule2},
        {11778, 1, &rule15},
        {11779, 1, &rule19},
@@ -2228,8 +2296,8 @@ static const struct _charblock_ allchars[]={
        {11816, 1, &rule4},
        {11817, 1, &rule5},
        {11818, 5, &rule2},
-       {11823, 1, &rule80},
-       {11824, 1, &rule2},
+       {11823, 1, &rule83},
+       {11824, 2, &rule2},
        {11904, 26, &rule13},
        {11931, 89, &rule13},
        {12032, 214, &rule13},
@@ -2237,9 +2305,9 @@ static const struct _charblock_ allchars[]={
        {12288, 1, &rule1},
        {12289, 3, &rule2},
        {12292, 1, &rule13},
-       {12293, 1, &rule80},
+       {12293, 1, &rule83},
        {12294, 1, &rule45},
-       {12295, 1, &rule113},
+       {12295, 1, &rule116},
        {12296, 1, &rule4},
        {12297, 1, &rule5},
        {12298, 1, &rule4},
@@ -2263,38 +2331,37 @@ static const struct _charblock_ allchars[]={
        {12317, 1, &rule4},
        {12318, 2, &rule5},
        {12320, 1, &rule13},
-       {12321, 9, &rule113},
-       {12330, 6, &rule81},
+       {12321, 9, &rule116},
+       {12330, 6, &rule84},
        {12336, 1, &rule7},
-       {12337, 5, &rule80},
+       {12337, 5, &rule83},
        {12342, 2, &rule13},
-       {12344, 3, &rule113},
-       {12347, 1, &rule80},
+       {12344, 3, &rule116},
+       {12347, 1, &rule83},
        {12348, 1, &rule45},
        {12349, 1, &rule2},
        {12350, 2, &rule13},
        {12353, 86, &rule45},
-       {12441, 2, &rule81},
+       {12441, 2, &rule84},
        {12443, 2, &rule10},
-       {12445, 2, &rule80},
+       {12445, 2, &rule83},
        {12447, 1, &rule45},
        {12448, 1, &rule7},
        {12449, 90, &rule45},
        {12539, 1, &rule2},
-       {12540, 3, &rule80},
+       {12540, 3, &rule83},
        {12543, 1, &rule45},
        {12549, 41, &rule45},
        {12593, 94, &rule45},
        {12688, 2, &rule13},
        {12690, 4, &rule17},
        {12694, 10, &rule13},
-       {12704, 24, &rule45},
+       {12704, 27, &rule45},
        {12736, 36, &rule13},
        {12784, 16, &rule45},
        {12800, 31, &rule13},
        {12832, 10, &rule17},
-       {12842, 26, &rule13},
-       {12880, 1, &rule13},
+       {12842, 39, &rule13},
        {12881, 15, &rule17},
        {12896, 32, &rule13},
        {12928, 10, &rule17},
@@ -2304,13 +2371,16 @@ static const struct _charblock_ allchars[]={
        {13056, 256, &rule13},
        {13312, 6582, &rule45},
        {19904, 64, &rule13},
-       {19968, 20932, &rule45},
+       {19968, 20940, &rule45},
        {40960, 21, &rule45},
-       {40981, 1, &rule80},
+       {40981, 1, &rule83},
        {40982, 1143, &rule45},
        {42128, 55, &rule13},
+       {42192, 40, &rule45},
+       {42232, 6, &rule83},
+       {42238, 2, &rule2},
        {42240, 268, &rule45},
-       {42508, 1, &rule80},
+       {42508, 1, &rule83},
        {42509, 3, &rule2},
        {42512, 16, &rule45},
        {42528, 10, &rule8},
@@ -2347,6 +2417,8 @@ static const struct _charblock_ allchars[]={
        {42589, 1, &rule22},
        {42590, 1, &rule21},
        {42591, 1, &rule22},
+       {42592, 1, &rule21},
+       {42593, 1, &rule22},
        {42594, 1, &rule21},
        {42595, 1, &rule22},
        {42596, 1, &rule21},
@@ -2360,12 +2432,12 @@ static const struct _charblock_ allchars[]={
        {42604, 1, &rule21},
        {42605, 1, &rule22},
        {42606, 1, &rule45},
-       {42607, 1, &rule81},
-       {42608, 3, &rule106},
+       {42607, 1, &rule84},
+       {42608, 3, &rule109},
        {42611, 1, &rule2},
-       {42620, 2, &rule81},
+       {42620, 2, &rule84},
        {42622, 1, &rule2},
-       {42623, 1, &rule80},
+       {42623, 1, &rule83},
        {42624, 1, &rule21},
        {42625, 1, &rule22},
        {42626, 1, &rule21},
@@ -2390,8 +2462,12 @@ static const struct _charblock_ allchars[]={
        {42645, 1, &rule22},
        {42646, 1, &rule21},
        {42647, 1, &rule22},
+       {42656, 70, &rule45},
+       {42726, 10, &rule116},
+       {42736, 2, &rule84},
+       {42738, 6, &rule2},
        {42752, 23, &rule10},
-       {42775, 9, &rule80},
+       {42775, 9, &rule83},
        {42784, 2, &rule10},
        {42786, 1, &rule21},
        {42787, 1, &rule22},
@@ -2470,13 +2546,13 @@ static const struct _charblock_ allchars[]={
        {42861, 1, &rule22},
        {42862, 1, &rule21},
        {42863, 1, &rule22},
-       {42864, 1, &rule80},
+       {42864, 1, &rule83},
        {42865, 8, &rule14},
        {42873, 1, &rule21},
        {42874, 1, &rule22},
        {42875, 1, &rule21},
        {42876, 1, &rule22},
-       {42877, 1, &rule156},
+       {42877, 1, &rule161},
        {42878, 1, &rule21},
        {42879, 1, &rule22},
        {42880, 1, &rule21},
@@ -2487,62 +2563,136 @@ static const struct _charblock_ allchars[]={
        {42885, 1, &rule22},
        {42886, 1, &rule21},
        {42887, 1, &rule22},
-       {42888, 1, &rule80},
+       {42888, 1, &rule83},
        {42889, 2, &rule10},
        {42891, 1, &rule21},
        {42892, 1, &rule22},
+       {42893, 1, &rule162},
+       {42894, 1, &rule14},
+       {42896, 1, &rule21},
+       {42897, 1, &rule22},
+       {42912, 1, &rule21},
+       {42913, 1, &rule22},
+       {42914, 1, &rule21},
+       {42915, 1, &rule22},
+       {42916, 1, &rule21},
+       {42917, 1, &rule22},
+       {42918, 1, &rule21},
+       {42919, 1, &rule22},
+       {42920, 1, &rule21},
+       {42921, 1, &rule22},
+       {43002, 1, &rule14},
        {43003, 7, &rule45},
-       {43010, 1, &rule81},
+       {43010, 1, &rule84},
        {43011, 3, &rule45},
-       {43014, 1, &rule81},
+       {43014, 1, &rule84},
        {43015, 4, &rule45},
-       {43019, 1, &rule81},
+       {43019, 1, &rule84},
        {43020, 23, &rule45},
-       {43043, 2, &rule111},
-       {43045, 2, &rule81},
-       {43047, 1, &rule111},
+       {43043, 2, &rule114},
+       {43045, 2, &rule84},
+       {43047, 1, &rule114},
        {43048, 4, &rule13},
+       {43056, 6, &rule17},
+       {43062, 2, &rule13},
+       {43064, 1, &rule3},
+       {43065, 1, &rule13},
        {43072, 52, &rule45},
        {43124, 4, &rule2},
-       {43136, 2, &rule111},
+       {43136, 2, &rule114},
        {43138, 50, &rule45},
-       {43188, 16, &rule111},
-       {43204, 1, &rule81},
+       {43188, 16, &rule114},
+       {43204, 1, &rule84},
        {43214, 2, &rule2},
        {43216, 10, &rule8},
+       {43232, 18, &rule84},
+       {43250, 6, &rule45},
+       {43256, 3, &rule2},
+       {43259, 1, &rule45},
        {43264, 10, &rule8},
        {43274, 28, &rule45},
-       {43302, 8, &rule81},
+       {43302, 8, &rule84},
        {43310, 2, &rule2},
        {43312, 23, &rule45},
-       {43335, 11, &rule81},
-       {43346, 2, &rule111},
+       {43335, 11, &rule84},
+       {43346, 2, &rule114},
        {43359, 1, &rule2},
+       {43360, 29, &rule45},
+       {43392, 3, &rule84},
+       {43395, 1, &rule114},
+       {43396, 47, &rule45},
+       {43443, 1, &rule84},
+       {43444, 2, &rule114},
+       {43446, 4, &rule84},
+       {43450, 2, &rule114},
+       {43452, 1, &rule84},
+       {43453, 4, &rule114},
+       {43457, 13, &rule2},
+       {43471, 1, &rule83},
+       {43472, 10, &rule8},
+       {43486, 2, &rule2},
        {43520, 41, &rule45},
-       {43561, 6, &rule81},
-       {43567, 2, &rule111},
-       {43569, 2, &rule81},
-       {43571, 2, &rule111},
-       {43573, 2, &rule81},
+       {43561, 6, &rule84},
+       {43567, 2, &rule114},
+       {43569, 2, &rule84},
+       {43571, 2, &rule114},
+       {43573, 2, &rule84},
        {43584, 3, &rule45},
-       {43587, 1, &rule81},
+       {43587, 1, &rule84},
        {43588, 8, &rule45},
-       {43596, 1, &rule81},
-       {43597, 1, &rule111},
+       {43596, 1, &rule84},
+       {43597, 1, &rule114},
        {43600, 10, &rule8},
        {43612, 4, &rule2},
+       {43616, 16, &rule45},
+       {43632, 1, &rule83},
+       {43633, 6, &rule45},
+       {43639, 3, &rule13},
+       {43642, 1, &rule45},
+       {43643, 1, &rule114},
+       {43648, 48, &rule45},
+       {43696, 1, &rule84},
+       {43697, 1, &rule45},
+       {43698, 3, &rule84},
+       {43701, 2, &rule45},
+       {43703, 2, &rule84},
+       {43705, 5, &rule45},
+       {43710, 2, &rule84},
+       {43712, 1, &rule45},
+       {43713, 1, &rule84},
+       {43714, 1, &rule45},
+       {43739, 2, &rule45},
+       {43741, 1, &rule83},
+       {43742, 2, &rule2},
+       {43777, 6, &rule45},
+       {43785, 6, &rule45},
+       {43793, 6, &rule45},
+       {43808, 7, &rule45},
+       {43816, 7, &rule45},
+       {43968, 35, &rule45},
+       {44003, 2, &rule114},
+       {44005, 1, &rule84},
+       {44006, 2, &rule114},
+       {44008, 1, &rule84},
+       {44009, 2, &rule114},
+       {44011, 1, &rule2},
+       {44012, 1, &rule114},
+       {44013, 1, &rule84},
+       {44016, 10, &rule8},
        {44032, 11172, &rule45},
-       {55296, 896, &rule157},
-       {56192, 128, &rule157},
-       {56320, 1024, &rule157},
-       {57344, 6400, &rule158},
+       {55216, 23, &rule45},
+       {55243, 49, &rule45},
+       {55296, 896, &rule163},
+       {56192, 128, &rule163},
+       {56320, 1024, &rule163},
+       {57344, 6400, &rule164},
        {63744, 302, &rule45},
-       {64048, 59, &rule45},
+       {64048, 62, &rule45},
        {64112, 106, &rule45},
        {64256, 7, &rule14},
        {64275, 5, &rule14},
        {64285, 1, &rule45},
-       {64286, 1, &rule81},
+       {64286, 1, &rule84},
        {64287, 10, &rule45},
        {64297, 1, &rule6},
        {64298, 13, &rule45},
@@ -2551,6 +2701,7 @@ static const struct _charblock_ allchars[]={
        {64320, 2, &rule45},
        {64323, 2, &rule45},
        {64326, 108, &rule45},
+       {64434, 16, &rule10},
        {64467, 363, &rule45},
        {64830, 1, &rule4},
        {64831, 1, &rule5},
@@ -2559,12 +2710,12 @@ static const struct _charblock_ allchars[]={
        {65008, 12, &rule45},
        {65020, 1, &rule3},
        {65021, 1, &rule13},
-       {65024, 16, &rule81},
+       {65024, 16, &rule84},
        {65040, 7, &rule2},
        {65047, 1, &rule4},
        {65048, 1, &rule5},
        {65049, 1, &rule2},
-       {65056, 7, &rule81},
+       {65056, 7, &rule84},
        {65072, 1, &rule2},
        {65073, 2, &rule7},
        {65075, 2, &rule11},
@@ -2641,9 +2792,9 @@ static const struct _charblock_ allchars[]={
        {65379, 1, &rule5},
        {65380, 2, &rule2},
        {65382, 10, &rule45},
-       {65392, 1, &rule80},
+       {65392, 1, &rule83},
        {65393, 45, &rule45},
-       {65438, 2, &rule80},
+       {65438, 2, &rule83},
        {65440, 31, &rule45},
        {65474, 6, &rule45},
        {65482, 6, &rule45},
@@ -2670,29 +2821,29 @@ static const struct _charblock_ allchars[]={
        {65794, 1, &rule13},
        {65799, 45, &rule17},
        {65847, 9, &rule13},
-       {65856, 53, &rule113},
+       {65856, 53, &rule116},
        {65909, 4, &rule17},
        {65913, 17, &rule13},
        {65930, 1, &rule17},
        {65936, 12, &rule13},
        {66000, 45, &rule13},
-       {66045, 1, &rule81},
+       {66045, 1, &rule84},
        {66176, 29, &rule45},
        {66208, 49, &rule45},
        {66304, 31, &rule45},
        {66336, 4, &rule17},
        {66352, 17, &rule45},
-       {66369, 1, &rule113},
+       {66369, 1, &rule116},
        {66370, 8, &rule45},
-       {66378, 1, &rule113},
+       {66378, 1, &rule116},
        {66432, 30, &rule45},
        {66463, 1, &rule2},
        {66464, 36, &rule45},
        {66504, 8, &rule45},
        {66512, 1, &rule2},
-       {66513, 5, &rule113},
-       {66560, 40, &rule159},
-       {66600, 40, &rule160},
+       {66513, 5, &rule116},
+       {66560, 40, &rule165},
+       {66600, 40, &rule166},
        {66640, 78, &rule45},
        {66720, 10, &rule8},
        {67584, 6, &rule45},
@@ -2700,124 +2851,200 @@ static const struct _charblock_ allchars[]={
        {67594, 44, &rule45},
        {67639, 2, &rule45},
        {67644, 1, &rule45},
-       {67647, 1, &rule45},
+       {67647, 23, &rule45},
+       {67671, 1, &rule2},
+       {67672, 8, &rule17},
        {67840, 22, &rule45},
-       {67862, 4, &rule17},
+       {67862, 6, &rule17},
        {67871, 1, &rule2},
        {67872, 26, &rule45},
        {67903, 1, &rule2},
        {68096, 1, &rule45},
-       {68097, 3, &rule81},
-       {68101, 2, &rule81},
-       {68108, 4, &rule81},
+       {68097, 3, &rule84},
+       {68101, 2, &rule84},
+       {68108, 4, &rule84},
        {68112, 4, &rule45},
        {68117, 3, &rule45},
        {68121, 27, &rule45},
-       {68152, 3, &rule81},
-       {68159, 1, &rule81},
+       {68152, 3, &rule84},
+       {68159, 1, &rule84},
        {68160, 8, &rule17},
        {68176, 9, &rule2},
+       {68192, 29, &rule45},
+       {68221, 2, &rule17},
+       {68223, 1, &rule2},
+       {68352, 54, &rule45},
+       {68409, 7, &rule2},
+       {68416, 22, &rule45},
+       {68440, 8, &rule17},
+       {68448, 19, &rule45},
+       {68472, 8, &rule17},
+       {68608, 73, &rule45},
+       {69216, 31, &rule17},
+       {69632, 1, &rule114},
+       {69633, 1, &rule84},
+       {69634, 1, &rule114},
+       {69635, 53, &rule45},
+       {69688, 15, &rule84},
+       {69703, 7, &rule2},
+       {69714, 20, &rule17},
+       {69734, 10, &rule8},
+       {69760, 2, &rule84},
+       {69762, 1, &rule114},
+       {69763, 45, &rule45},
+       {69808, 3, &rule114},
+       {69811, 4, &rule84},
+       {69815, 2, &rule114},
+       {69817, 2, &rule84},
+       {69819, 2, &rule2},
+       {69821, 1, &rule16},
+       {69822, 4, &rule2},
        {73728, 879, &rule45},
-       {74752, 99, &rule113},
+       {74752, 99, &rule116},
        {74864, 4, &rule2},
+       {77824, 1071, &rule45},
+       {92160, 569, &rule45},
+       {110592, 2, &rule45},
        {118784, 246, &rule13},
        {119040, 39, &rule13},
        {119081, 60, &rule13},
-       {119141, 2, &rule111},
-       {119143, 3, &rule81},
+       {119141, 2, &rule114},
+       {119143, 3, &rule84},
        {119146, 3, &rule13},
-       {119149, 6, &rule111},
+       {119149, 6, &rule114},
        {119155, 8, &rule16},
-       {119163, 8, &rule81},
+       {119163, 8, &rule84},
        {119171, 2, &rule13},
-       {119173, 7, &rule81},
+       {119173, 7, &rule84},
        {119180, 30, &rule13},
-       {119210, 4, &rule81},
+       {119210, 4, &rule84},
        {119214, 48, &rule13},
        {119296, 66, &rule13},
-       {119362, 3, &rule81},
+       {119362, 3, &rule84},
        {119365, 1, &rule13},
        {119552, 87, &rule13},
        {119648, 18, &rule17},
-       {119808, 26, &rule95},
+       {119808, 26, &rule98},
        {119834, 26, &rule14},
-       {119860, 26, &rule95},
+       {119860, 26, &rule98},
        {119886, 7, &rule14},
        {119894, 18, &rule14},
-       {119912, 26, &rule95},
+       {119912, 26, &rule98},
        {119938, 26, &rule14},
-       {119964, 1, &rule95},
-       {119966, 2, &rule95},
-       {119970, 1, &rule95},
-       {119973, 2, &rule95},
-       {119977, 4, &rule95},
-       {119982, 8, &rule95},
+       {119964, 1, &rule98},
+       {119966, 2, &rule98},
+       {119970, 1, &rule98},
+       {119973, 2, &rule98},
+       {119977, 4, &rule98},
+       {119982, 8, &rule98},
        {119990, 4, &rule14},
        {119995, 1, &rule14},
        {119997, 7, &rule14},
        {120005, 11, &rule14},
-       {120016, 26, &rule95},
+       {120016, 26, &rule98},
        {120042, 26, &rule14},
-       {120068, 2, &rule95},
-       {120071, 4, &rule95},
-       {120077, 8, &rule95},
-       {120086, 7, &rule95},
+       {120068, 2, &rule98},
+       {120071, 4, &rule98},
+       {120077, 8, &rule98},
+       {120086, 7, &rule98},
        {120094, 26, &rule14},
-       {120120, 2, &rule95},
-       {120123, 4, &rule95},
-       {120128, 5, &rule95},
-       {120134, 1, &rule95},
-       {120138, 7, &rule95},
+       {120120, 2, &rule98},
+       {120123, 4, &rule98},
+       {120128, 5, &rule98},
+       {120134, 1, &rule98},
+       {120138, 7, &rule98},
        {120146, 26, &rule14},
-       {120172, 26, &rule95},
+       {120172, 26, &rule98},
        {120198, 26, &rule14},
-       {120224, 26, &rule95},
+       {120224, 26, &rule98},
        {120250, 26, &rule14},
-       {120276, 26, &rule95},
+       {120276, 26, &rule98},
        {120302, 26, &rule14},
-       {120328, 26, &rule95},
+       {120328, 26, &rule98},
        {120354, 26, &rule14},
-       {120380, 26, &rule95},
+       {120380, 26, &rule98},
        {120406, 26, &rule14},
-       {120432, 26, &rule95},
+       {120432, 26, &rule98},
        {120458, 28, &rule14},
-       {120488, 25, &rule95},
+       {120488, 25, &rule98},
        {120513, 1, &rule6},
        {120514, 25, &rule14},
        {120539, 1, &rule6},
        {120540, 6, &rule14},
-       {120546, 25, &rule95},
+       {120546, 25, &rule98},
        {120571, 1, &rule6},
        {120572, 25, &rule14},
        {120597, 1, &rule6},
        {120598, 6, &rule14},
-       {120604, 25, &rule95},
+       {120604, 25, &rule98},
        {120629, 1, &rule6},
        {120630, 25, &rule14},
        {120655, 1, &rule6},
        {120656, 6, &rule14},
-       {120662, 25, &rule95},
+       {120662, 25, &rule98},
        {120687, 1, &rule6},
        {120688, 25, &rule14},
        {120713, 1, &rule6},
        {120714, 6, &rule14},
-       {120720, 25, &rule95},
+       {120720, 25, &rule98},
        {120745, 1, &rule6},
        {120746, 25, &rule14},
        {120771, 1, &rule6},
        {120772, 6, &rule14},
-       {120778, 1, &rule95},
+       {120778, 1, &rule98},
        {120779, 1, &rule14},
        {120782, 50, &rule8},
        {126976, 44, &rule13},
        {127024, 100, &rule13},
+       {127136, 15, &rule13},
+       {127153, 14, &rule13},
+       {127169, 15, &rule13},
+       {127185, 15, &rule13},
+       {127232, 11, &rule17},
+       {127248, 31, &rule13},
+       {127280, 58, &rule13},
+       {127344, 43, &rule13},
+       {127462, 29, &rule13},
+       {127504, 43, &rule13},
+       {127552, 9, &rule13},
+       {127568, 2, &rule13},
+       {127744, 33, &rule13},
+       {127792, 6, &rule13},
+       {127799, 70, &rule13},
+       {127872, 20, &rule13},
+       {127904, 37, &rule13},
+       {127942, 5, &rule13},
+       {127968, 17, &rule13},
+       {128000, 63, &rule13},
+       {128064, 1, &rule13},
+       {128066, 182, &rule13},
+       {128249, 4, &rule13},
+       {128256, 62, &rule13},
+       {128336, 24, &rule13},
+       {128507, 5, &rule13},
+       {128513, 16, &rule13},
+       {128530, 3, &rule13},
+       {128534, 1, &rule13},
+       {128536, 1, &rule13},
+       {128538, 1, &rule13},
+       {128540, 3, &rule13},
+       {128544, 6, &rule13},
+       {128552, 4, &rule13},
+       {128557, 1, &rule13},
+       {128560, 4, &rule13},
+       {128565, 12, &rule13},
+       {128581, 11, &rule13},
+       {128640, 70, &rule13},
+       {128768, 116, &rule13},
        {131072, 42711, &rule45},
+       {173824, 4149, &rule45},
+       {177984, 222, &rule45},
        {194560, 542, &rule45},
        {917505, 1, &rule16},
        {917536, 96, &rule16},
-       {917760, 240, &rule81},
-       {983040, 65534, &rule158},
-       {1048576, 65534, &rule158}
+       {917760, 240, &rule84},
+       {983040, 65534, &rule164},
+       {1048576, 65534, &rule164}
 };
 static const struct _charblock_ convchars[]={
        {65, 26, &rule9},
@@ -3124,11 +3351,12 @@ static const struct _charblock_ convchars[]={
        {572, 1, &rule22},
        {573, 1, &rule55},
        {574, 1, &rule56},
+       {575, 2, &rule57},
        {577, 1, &rule21},
        {578, 1, &rule22},
-       {579, 1, &rule57},
-       {580, 1, &rule58},
-       {581, 1, &rule59},
+       {579, 1, &rule58},
+       {580, 1, &rule59},
+       {581, 1, &rule60},
        {582, 1, &rule21},
        {583, 1, &rule22},
        {584, 1, &rule21},
@@ -3139,31 +3367,33 @@ static const struct _charblock_ convchars[]={
        {589, 1, &rule22},
        {590, 1, &rule21},
        {591, 1, &rule22},
-       {592, 1, &rule60},
-       {593, 1, &rule61},
-       {595, 1, &rule62},
-       {596, 1, &rule63},
-       {598, 2, &rule64},
-       {601, 1, &rule65},
-       {603, 1, &rule66},
-       {608, 1, &rule64},
-       {611, 1, &rule67},
-       {616, 1, &rule68},
-       {617, 1, &rule69},
-       {619, 1, &rule70},
-       {623, 1, &rule69},
-       {625, 1, &rule71},
-       {626, 1, &rule72},
-       {629, 1, &rule73},
-       {637, 1, &rule74},
-       {640, 1, &rule75},
-       {643, 1, &rule75},
-       {648, 1, &rule75},
-       {649, 1, &rule76},
-       {650, 2, &rule77},
-       {652, 1, &rule78},
-       {658, 1, &rule79},
-       {837, 1, &rule82},
+       {592, 1, &rule61},
+       {593, 1, &rule62},
+       {594, 1, &rule63},
+       {595, 1, &rule64},
+       {596, 1, &rule65},
+       {598, 2, &rule66},
+       {601, 1, &rule67},
+       {603, 1, &rule68},
+       {608, 1, &rule66},
+       {611, 1, &rule69},
+       {613, 1, &rule70},
+       {616, 1, &rule71},
+       {617, 1, &rule72},
+       {619, 1, &rule73},
+       {623, 1, &rule72},
+       {625, 1, &rule74},
+       {626, 1, &rule75},
+       {629, 1, &rule76},
+       {637, 1, &rule77},
+       {640, 1, &rule78},
+       {643, 1, &rule78},
+       {648, 1, &rule78},
+       {649, 1, &rule79},
+       {650, 2, &rule80},
+       {652, 1, &rule81},
+       {658, 1, &rule82},
+       {837, 1, &rule85},
        {880, 1, &rule21},
        {881, 1, &rule22},
        {882, 1, &rule21},
@@ -3171,25 +3401,25 @@ static const struct _charblock_ convchars[]={
        {886, 1, &rule21},
        {887, 1, &rule22},
        {891, 3, &rule40},
-       {902, 1, &rule83},
-       {904, 3, &rule84},
-       {908, 1, &rule85},
-       {910, 2, &rule86},
+       {902, 1, &rule86},
+       {904, 3, &rule87},
+       {908, 1, &rule88},
+       {910, 2, &rule89},
        {913, 17, &rule9},
        {931, 9, &rule9},
-       {940, 1, &rule87},
-       {941, 3, &rule88},
+       {940, 1, &rule90},
+       {941, 3, &rule91},
        {945, 17, &rule12},
-       {962, 1, &rule89},
+       {962, 1, &rule92},
        {963, 9, &rule12},
-       {972, 1, &rule90},
-       {973, 2, &rule91},
-       {975, 1, &rule92},
-       {976, 1, &rule93},
-       {977, 1, &rule94},
-       {981, 1, &rule96},
-       {982, 1, &rule97},
-       {983, 1, &rule98},
+       {972, 1, &rule93},
+       {973, 2, &rule94},
+       {975, 1, &rule95},
+       {976, 1, &rule96},
+       {977, 1, &rule97},
+       {981, 1, &rule99},
+       {982, 1, &rule100},
+       {983, 1, &rule101},
        {984, 1, &rule21},
        {985, 1, &rule22},
        {986, 1, &rule21},
@@ -3214,21 +3444,21 @@ static const struct _charblock_ convchars[]={
        {1005, 1, &rule22},
        {1006, 1, &rule21},
        {1007, 1, &rule22},
-       {1008, 1, &rule99},
-       {1009, 1, &rule100},
-       {1010, 1, &rule101},
-       {1012, 1, &rule102},
-       {1013, 1, &rule103},
+       {1008, 1, &rule102},
+       {1009, 1, &rule103},
+       {1010, 1, &rule104},
+       {1012, 1, &rule105},
+       {1013, 1, &rule106},
        {1015, 1, &rule21},
        {1016, 1, &rule22},
-       {1017, 1, &rule104},
+       {1017, 1, &rule107},
        {1018, 1, &rule21},
        {1019, 1, &rule22},
        {1021, 3, &rule53},
-       {1024, 16, &rule105},
+       {1024, 16, &rule108},
        {1040, 32, &rule9},
        {1072, 32, &rule12},
-       {1104, 16, &rule100},
+       {1104, 16, &rule103},
        {1120, 1, &rule21},
        {1121, 1, &rule22},
        {1122, 1, &rule21},
@@ -3317,7 +3547,7 @@ static const struct _charblock_ convchars[]={
        {1213, 1, &rule22},
        {1214, 1, &rule21},
        {1215, 1, &rule22},
-       {1216, 1, &rule107},
+       {1216, 1, &rule110},
        {1217, 1, &rule21},
        {1218, 1, &rule22},
        {1219, 1, &rule21},
@@ -3332,7 +3562,7 @@ static const struct _charblock_ convchars[]={
        {1228, 1, &rule22},
        {1229, 1, &rule21},
        {1230, 1, &rule22},
-       {1231, 1, &rule108},
+       {1231, 1, &rule111},
        {1232, 1, &rule21},
        {1233, 1, &rule22},
        {1234, 1, &rule21},
@@ -3417,11 +3647,15 @@ static const struct _charblock_ convchars[]={
        {1313, 1, &rule22},
        {1314, 1, &rule21},
        {1315, 1, &rule22},
-       {1329, 38, &rule109},
-       {1377, 38, &rule110},
-       {4256, 38, &rule112},
-       {7545, 1, &rule114},
-       {7549, 1, &rule115},
+       {1316, 1, &rule21},
+       {1317, 1, &rule22},
+       {1318, 1, &rule21},
+       {1319, 1, &rule22},
+       {1329, 38, &rule112},
+       {1377, 38, &rule113},
+       {4256, 38, &rule115},
+       {7545, 1, &rule117},
+       {7549, 1, &rule118},
        {7680, 1, &rule21},
        {7681, 1, &rule22},
        {7682, 1, &rule21},
@@ -3572,8 +3806,8 @@ static const struct _charblock_ convchars[]={
        {7827, 1, &rule22},
        {7828, 1, &rule21},
        {7829, 1, &rule22},
-       {7835, 1, &rule116},
-       {7838, 1, &rule117},
+       {7835, 1, &rule119},
+       {7838, 1, &rule120},
        {7840, 1, &rule21},
        {7841, 1, &rule22},
        {7842, 1, &rule21},
@@ -3670,92 +3904,94 @@ static const struct _charblock_ convchars[]={
        {7933, 1, &rule22},
        {7934, 1, &rule21},
        {7935, 1, &rule22},
-       {7936, 8, &rule118},
-       {7944, 8, &rule119},
-       {7952, 6, &rule118},
-       {7960, 6, &rule119},
-       {7968, 8, &rule118},
-       {7976, 8, &rule119},
-       {7984, 8, &rule118},
-       {7992, 8, &rule119},
-       {8000, 6, &rule118},
-       {8008, 6, &rule119},
-       {8017, 1, &rule118},
-       {8019, 1, &rule118},
-       {8021, 1, &rule118},
-       {8023, 1, &rule118},
-       {8025, 1, &rule119},
-       {8027, 1, &rule119},
-       {8029, 1, &rule119},
-       {8031, 1, &rule119},
-       {8032, 8, &rule118},
-       {8040, 8, &rule119},
-       {8048, 2, &rule120},
-       {8050, 4, &rule121},
-       {8054, 2, &rule122},
-       {8056, 2, &rule123},
-       {8058, 2, &rule124},
-       {8060, 2, &rule125},
-       {8064, 8, &rule118},
-       {8072, 8, &rule126},
-       {8080, 8, &rule118},
-       {8088, 8, &rule126},
-       {8096, 8, &rule118},
-       {8104, 8, &rule126},
-       {8112, 2, &rule118},
-       {8115, 1, &rule127},
-       {8120, 2, &rule119},
-       {8122, 2, &rule128},
-       {8124, 1, &rule129},
-       {8126, 1, &rule130},
-       {8131, 1, &rule127},
-       {8136, 4, &rule131},
-       {8140, 1, &rule129},
-       {8144, 2, &rule118},
-       {8152, 2, &rule119},
-       {8154, 2, &rule132},
-       {8160, 2, &rule118},
-       {8165, 1, &rule101},
-       {8168, 2, &rule119},
-       {8170, 2, &rule133},
-       {8172, 1, &rule104},
-       {8179, 1, &rule127},
-       {8184, 2, &rule134},
-       {8186, 2, &rule135},
-       {8188, 1, &rule129},
-       {8486, 1, &rule138},
-       {8490, 1, &rule139},
-       {8491, 1, &rule140},
-       {8498, 1, &rule141},
-       {8526, 1, &rule142},
-       {8544, 16, &rule143},
-       {8560, 16, &rule144},
+       {7936, 8, &rule121},
+       {7944, 8, &rule122},
+       {7952, 6, &rule121},
+       {7960, 6, &rule122},
+       {7968, 8, &rule121},
+       {7976, 8, &rule122},
+       {7984, 8, &rule121},
+       {7992, 8, &rule122},
+       {8000, 6, &rule121},
+       {8008, 6, &rule122},
+       {8017, 1, &rule121},
+       {8019, 1, &rule121},
+       {8021, 1, &rule121},
+       {8023, 1, &rule121},
+       {8025, 1, &rule122},
+       {8027, 1, &rule122},
+       {8029, 1, &rule122},
+       {8031, 1, &rule122},
+       {8032, 8, &rule121},
+       {8040, 8, &rule122},
+       {8048, 2, &rule123},
+       {8050, 4, &rule124},
+       {8054, 2, &rule125},
+       {8056, 2, &rule126},
+       {8058, 2, &rule127},
+       {8060, 2, &rule128},
+       {8064, 8, &rule121},
+       {8072, 8, &rule129},
+       {8080, 8, &rule121},
+       {8088, 8, &rule129},
+       {8096, 8, &rule121},
+       {8104, 8, &rule129},
+       {8112, 2, &rule121},
+       {8115, 1, &rule130},
+       {8120, 2, &rule122},
+       {8122, 2, &rule131},
+       {8124, 1, &rule132},
+       {8126, 1, &rule133},
+       {8131, 1, &rule130},
+       {8136, 4, &rule134},
+       {8140, 1, &rule132},
+       {8144, 2, &rule121},
+       {8152, 2, &rule122},
+       {8154, 2, &rule135},
+       {8160, 2, &rule121},
+       {8165, 1, &rule104},
+       {8168, 2, &rule122},
+       {8170, 2, &rule136},
+       {8172, 1, &rule107},
+       {8179, 1, &rule130},
+       {8184, 2, &rule137},
+       {8186, 2, &rule138},
+       {8188, 1, &rule132},
+       {8486, 1, &rule141},
+       {8490, 1, &rule142},
+       {8491, 1, &rule143},
+       {8498, 1, &rule144},
+       {8526, 1, &rule145},
+       {8544, 16, &rule146},
+       {8560, 16, &rule147},
        {8579, 1, &rule21},
        {8580, 1, &rule22},
-       {9398, 26, &rule145},
-       {9424, 26, &rule146},
-       {11264, 47, &rule109},
-       {11312, 47, &rule110},
+       {9398, 26, &rule148},
+       {9424, 26, &rule149},
+       {11264, 47, &rule112},
+       {11312, 47, &rule113},
        {11360, 1, &rule21},
        {11361, 1, &rule22},
-       {11362, 1, &rule147},
-       {11363, 1, &rule148},
-       {11364, 1, &rule149},
-       {11365, 1, &rule150},
-       {11366, 1, &rule151},
+       {11362, 1, &rule150},
+       {11363, 1, &rule151},
+       {11364, 1, &rule152},
+       {11365, 1, &rule153},
+       {11366, 1, &rule154},
        {11367, 1, &rule21},
        {11368, 1, &rule22},
        {11369, 1, &rule21},
        {11370, 1, &rule22},
        {11371, 1, &rule21},
        {11372, 1, &rule22},
-       {11373, 1, &rule152},
-       {11374, 1, &rule153},
-       {11375, 1, &rule154},
+       {11373, 1, &rule155},
+       {11374, 1, &rule156},
+       {11375, 1, &rule157},
+       {11376, 1, &rule158},
        {11378, 1, &rule21},
        {11379, 1, &rule22},
        {11381, 1, &rule21},
        {11382, 1, &rule22},
+       {11390, 2, &rule159},
        {11392, 1, &rule21},
        {11393, 1, &rule22},
        {11394, 1, &rule21},
@@ -3856,7 +4092,11 @@ static const struct _charblock_ convchars[]={
        {11489, 1, &rule22},
        {11490, 1, &rule21},
        {11491, 1, &rule22},
-       {11520, 38, &rule155},
+       {11499, 1, &rule21},
+       {11500, 1, &rule22},
+       {11501, 1, &rule21},
+       {11502, 1, &rule22},
+       {11520, 38, &rule160},
        {42560, 1, &rule21},
        {42561, 1, &rule22},
        {42562, 1, &rule21},
@@ -3889,6 +4129,8 @@ static const struct _charblock_ convchars[]={
        {42589, 1, &rule22},
        {42590, 1, &rule21},
        {42591, 1, &rule22},
+       {42592, 1, &rule21},
+       {42593, 1, &rule22},
        {42594, 1, &rule21},
        {42595, 1, &rule22},
        {42596, 1, &rule21},
@@ -4005,7 +4247,7 @@ static const struct _charblock_ convchars[]={
        {42874, 1, &rule22},
        {42875, 1, &rule21},
        {42876, 1, &rule22},
-       {42877, 1, &rule156},
+       {42877, 1, &rule161},
        {42878, 1, &rule21},
        {42879, 1, &rule22},
        {42880, 1, &rule21},
@@ -4018,10 +4260,23 @@ static const struct _charblock_ convchars[]={
        {42887, 1, &rule22},
        {42891, 1, &rule21},
        {42892, 1, &rule22},
+       {42893, 1, &rule162},
+       {42896, 1, &rule21},
+       {42897, 1, &rule22},
+       {42912, 1, &rule21},
+       {42913, 1, &rule22},
+       {42914, 1, &rule21},
+       {42915, 1, &rule22},
+       {42916, 1, &rule21},
+       {42917, 1, &rule22},
+       {42918, 1, &rule21},
+       {42919, 1, &rule22},
+       {42920, 1, &rule21},
+       {42921, 1, &rule22},
        {65313, 26, &rule9},
        {65345, 26, &rule12},
-       {66560, 40, &rule159},
-       {66600, 40, &rule160}
+       {66560, 40, &rule165},
+       {66600, 40, &rule166}
 };
 static const struct _charblock_ spacechars[]={
        {32, 1, &rule1},