Merged revisions 55328-55341 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk

........
  r55329 | brett.cannon | 2007-05-14 16:36:56 -0700 (Mon, 14 May 2007) | 3 lines

  Implement the removal of tuple parameter unpacking (PEP 3113).
  Thanks, Tony Lownds for the patch.
........
  r55331 | neal.norwitz | 2007-05-14 16:40:30 -0700 (Mon, 14 May 2007) | 1 line

  Update to use Python 3.0
........
  r55332 | brett.cannon | 2007-05-14 16:47:18 -0700 (Mon, 14 May 2007) | 2 lines

  Mention PEP 3113.  And thanks to Tony Lownds for the PEP 3113 patch.
........
  r55333 | neal.norwitz | 2007-05-14 16:57:06 -0700 (Mon, 14 May 2007) | 1 line

  Fix exception printing (no more exceptions module)
........
  r55334 | neal.norwitz | 2007-05-14 17:11:10 -0700 (Mon, 14 May 2007) | 1 line

  Remove popen* functions from os
........
  r55335 | neal.norwitz | 2007-05-14 18:03:38 -0700 (Mon, 14 May 2007) | 1 line

  Get rid of most of popen.  There are still some uses I need to cleanup.
........
  r55336 | neal.norwitz | 2007-05-14 21:11:34 -0700 (Mon, 14 May 2007) | 1 line

  Remove a few more remnants of the compiler package
........
  r55337 | neal.norwitz | 2007-05-14 22:28:27 -0700 (Mon, 14 May 2007) | 1 line

  Get test_[cx]pickle working on 64-bit platforms (avoid overflow int/long)
........
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index 3644945..84bf73a 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -2,7 +2,7 @@
 
 
 /*
-   __version__ 54835.
+   __version__ 55270.
 
    This module must be committed separately after each AST grammar change;
    The __version__ number is set to the revision number of the commit
@@ -367,15 +367,10 @@
 };
 static PyTypeObject *arg_type;
 static PyObject* ast2obj_arg(void*);
-static PyTypeObject *SimpleArg_type;
-static char *SimpleArg_fields[]={
+static char *arg_fields[]={
         "arg",
         "annotation",
 };
-static PyTypeObject *NestedArgs_type;
-static char *NestedArgs_fields[]={
-        "args",
-};
 static PyTypeObject *keyword_type;
 static PyObject* ast2obj_keyword(void*);
 static char *keyword_fields[]={
@@ -752,14 +747,8 @@
         if (!excepthandler_type) return 0;
         arguments_type = make_type("arguments", AST_type, arguments_fields, 8);
         if (!arguments_type) return 0;
-        arg_type = make_type("arg", AST_type, NULL, 0);
+        arg_type = make_type("arg", AST_type, arg_fields, 2);
         if (!arg_type) return 0;
-        if (!add_attributes(arg_type, NULL, 0)) return 0;
-        SimpleArg_type = make_type("SimpleArg", arg_type, SimpleArg_fields, 2);
-        if (!SimpleArg_type) return 0;
-        NestedArgs_type = make_type("NestedArgs", arg_type, NestedArgs_fields,
-                                    1);
-        if (!NestedArgs_type) return 0;
         keyword_type = make_type("keyword", AST_type, keyword_fields, 2);
         if (!keyword_type) return 0;
         alias_type = make_type("alias", AST_type, alias_fields, 2);
@@ -1865,32 +1854,19 @@
 }
 
 arg_ty
-SimpleArg(identifier arg, expr_ty annotation, PyArena *arena)
+arg(identifier arg, expr_ty annotation, PyArena *arena)
 {
         arg_ty p;
         if (!arg) {
                 PyErr_SetString(PyExc_ValueError,
-                                "field arg is required for SimpleArg");
+                                "field arg is required for arg");
                 return NULL;
         }
         p = (arg_ty)PyArena_Malloc(arena, sizeof(*p));
         if (!p)
                 return NULL;
-        p->kind = SimpleArg_kind;
-        p->v.SimpleArg.arg = arg;
-        p->v.SimpleArg.annotation = annotation;
-        return p;
-}
-
-arg_ty
-NestedArgs(asdl_seq * args, PyArena *arena)
-{
-        arg_ty p;
-        p = (arg_ty)PyArena_Malloc(arena, sizeof(*p));
-        if (!p)
-                return NULL;
-        p->kind = NestedArgs_kind;
-        p->v.NestedArgs.args = args;
+        p->arg = arg;
+        p->annotation = annotation;
         return p;
 }
 
@@ -3048,31 +3024,18 @@
                 return Py_None;
         }
 
-        switch (o->kind) {
-        case SimpleArg_kind:
-                result = PyType_GenericNew(SimpleArg_type, NULL, NULL);
-                if (!result) goto failed;
-                value = ast2obj_identifier(o->v.SimpleArg.arg);
-                if (!value) goto failed;
-                if (PyObject_SetAttrString(result, "arg", value) == -1)
-                        goto failed;
-                Py_DECREF(value);
-                value = ast2obj_expr(o->v.SimpleArg.annotation);
-                if (!value) goto failed;
-                if (PyObject_SetAttrString(result, "annotation", value) == -1)
-                        goto failed;
-                Py_DECREF(value);
-                break;
-        case NestedArgs_kind:
-                result = PyType_GenericNew(NestedArgs_type, NULL, NULL);
-                if (!result) goto failed;
-                value = ast2obj_list(o->v.NestedArgs.args, ast2obj_arg);
-                if (!value) goto failed;
-                if (PyObject_SetAttrString(result, "args", value) == -1)
-                        goto failed;
-                Py_DECREF(value);
-                break;
-        }
+        result = PyType_GenericNew(arg_type, NULL, NULL);
+        if (!result) return NULL;
+        value = ast2obj_identifier(o->arg);
+        if (!value) goto failed;
+        if (PyObject_SetAttrString(result, "arg", value) == -1)
+                goto failed;
+        Py_DECREF(value);
+        value = ast2obj_expr(o->annotation);
+        if (!value) goto failed;
+        if (PyObject_SetAttrString(result, "annotation", value) == -1)
+                goto failed;
+        Py_DECREF(value);
         return result;
 failed:
         Py_XDECREF(value);
@@ -3150,7 +3113,7 @@
         if (PyDict_SetItemString(d, "AST", (PyObject*)AST_type) < 0) return;
         if (PyModule_AddIntConstant(m, "PyCF_ONLY_AST", PyCF_ONLY_AST) < 0)
                 return;
-        if (PyModule_AddStringConstant(m, "__version__", "54835") < 0)
+        if (PyModule_AddStringConstant(m, "__version__", "55270") < 0)
                 return;
         if (PyDict_SetItemString(d, "mod", (PyObject*)mod_type) < 0) return;
         if (PyDict_SetItemString(d, "Module", (PyObject*)Module_type) < 0)
@@ -3295,10 +3258,6 @@
         if (PyDict_SetItemString(d, "arguments", (PyObject*)arguments_type) <
             0) return;
         if (PyDict_SetItemString(d, "arg", (PyObject*)arg_type) < 0) return;
-        if (PyDict_SetItemString(d, "SimpleArg", (PyObject*)SimpleArg_type) <
-            0) return;
-        if (PyDict_SetItemString(d, "NestedArgs", (PyObject*)NestedArgs_type) <
-            0) return;
         if (PyDict_SetItemString(d, "keyword", (PyObject*)keyword_type) < 0)
             return;
         if (PyDict_SetItemString(d, "alias", (PyObject*)alias_type) < 0) return;
diff --git a/Python/ast.c b/Python/ast.c
index 82eaeff..aff3403 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -566,13 +566,13 @@
 }
 
 static arg_ty
-compiler_simple_arg(struct compiling *c, const node *n)
+compiler_arg(struct compiling *c, const node *n)
 {
     identifier name;
     expr_ty annotation = NULL;
     node *ch;
 
-    assert(TYPE(n) == tname || TYPE(n) == vname);
+    assert(TYPE(n) == tfpdef || TYPE(n) == vfpdef);
     ch = CHILD(n, 0);
     if (!strcmp(STR(ch), "None")) {
         ast_error(ch, "assignment to None");
@@ -588,51 +588,12 @@
             return NULL;
     }
 
-    return SimpleArg(name, annotation, c->c_arena);
-}
-
-static arg_ty
-compiler_complex_args(struct compiling *c, const node *n)
-{
-    int i, len = (NCH(n) + 1) / 2;
-    arg_ty arg;
-    asdl_seq *args = asdl_seq_new(len, c->c_arena);
-    if (!args)
-        return NULL;
-
-    assert(TYPE(n) == tfplist || TYPE(n) == vfplist);
-    for (i = 0; i < len; i++) {
-        const node *child = CHILD(n, 2*i);
-        /* def foo(((x), y)): -- x is not nested complex, special case. */
-        while (NCH(child) == 3 && NCH(CHILD(child, 1)) == 1)
-            child = CHILD(CHILD(child, 1), 0);
-
-        /* child either holds a tname or '(', a tfplist, ')' */
-        switch (TYPE(CHILD(child, 0))) {
-        case tname:
-        case vname:
-            arg = compiler_simple_arg(c, CHILD(child, 0));
-            break;
-        case LPAR:
-            arg = compiler_complex_args(c, CHILD(child, 1));
-            break;
-        default:
-            PyErr_Format(PyExc_SystemError,
-                             "unexpected node in args: %d @ %d",
-                             TYPE(CHILD(child, 0)), i);
-            arg = NULL;
-        }
-        if (!arg)
-            return NULL;
-        asdl_seq_SET(args, i, arg);
-    }
-
-    return NestedArgs(args, c->c_arena);
+    return arg(name, annotation, c->c_arena);
 }
 
 /* returns -1 if failed to handle keyword only arguments
    returns new position to keep processing if successful
-               (',' tname ['=' test])*
+               (',' tfpdef ['=' test])*
                      ^^^
    start pointing here
  */
@@ -650,8 +611,8 @@
     while (i < NCH(n)) {
         ch = CHILD(n, i);
         switch (TYPE(ch)) {
-            case vname:
-            case tname:
+            case vfpdef:
+            case tfpdef:
                 if (i + 1 < NCH(n) && TYPE(CHILD(n, i + 1)) == EQUAL) {
                     expression = ast_for_expr(c, CHILD(n, i + 2));
                     if (!expression) {
@@ -680,7 +641,7 @@
                     ast_error(ch, "assignment to None");
                     goto error;
                 }
-                arg = SimpleArg(NEW_IDENTIFIER(ch), annotation, c->c_arena);
+                arg = arg(NEW_IDENTIFIER(ch), annotation, c->c_arena);
                 if (!arg) {
                     ast_error(ch, "expecting name");
                     goto error;
@@ -710,13 +671,15 @@
 
        parameters: '(' [typedargslist] ')'
        typedargslist: ((tfpdef ['=' test] ',')*
-           ('*' [tname] (',' tname ['=' test])* [',' '**' tname]
-           | '**' tname)
+           ('*' [tfpdef] (',' tfpdef ['=' test])* [',' '**' tfpdef] 
+           | '**' tfpdef)
            | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
+       tfpdef: NAME [':' test]
        varargslist: ((vfpdef ['=' test] ',')*
-           ('*' [vname] (',' vname ['=' test])*  [',' '**' vname]
-           | '**' vname)
+           ('*' [vfpdef] (',' vfpdef ['=' test])*  [',' '**' vfpdef] 
+           | '**' vfpdef)
            | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
+       vfpdef: NAME
     */
     int i, j, k, nposargs = 0, nkwonlyargs = 0;
     int nposdefaults = 0, found_default = 0;
@@ -738,17 +701,13 @@
     for (i = 0; i < NCH(n); i++) {
         ch = CHILD(n, i);
         if (TYPE(ch) == STAR) {
-            if (TYPE(CHILD(n, i+1)) == tname
-                || TYPE(CHILD(n, i+1)) == vname) {
-            /* skip NAME of vararg */
-            /* so that following can count only keyword only args */
-                i += 2;
-            }
-            else {
-                i++;
-            }
+            /* skip star and possible argument */
+            i++;
+            i += (TYPE(CHILD(n, i)) == tfpdef
+                  || TYPE(CHILD(n, i)) == vfpdef);
             break; 
         }
+        if (TYPE(ch) == DOUBLESTAR) break;
         if (TYPE(ch) == vfpdef || TYPE(ch) == tfpdef) nposargs++;
         if (TYPE(ch) == EQUAL) nposdefaults++;
     }
@@ -757,9 +716,8 @@
     for ( ; i < NCH(n); ++i) {
         ch = CHILD(n, i);
         if (TYPE(ch) == DOUBLESTAR) break;
-        if (TYPE(ch) == tname || TYPE(ch) == vname) nkwonlyargs++;
+        if (TYPE(ch) == tfpdef || TYPE(ch) == vfpdef) nkwonlyargs++;
     }
-
     posargs = (nposargs ? asdl_seq_new(nposargs, c->c_arena) : NULL);
     if (!posargs && nposargs)
         goto error;
@@ -784,12 +742,8 @@
         return NULL;
     }
 
-    /* tname: NAME [':' test]
-       tfpdef: tname | '(' tfplist ')'
-       tfplist: tfpdef (',' tfpdef)* [',']
-       vname: NAME
-       vfpdef: NAME | '(' vfplist ')'
-       vfplist: vfpdef (',' vfpdef)* [',']
+    /* tfpdef: NAME [':' test]
+       vfpdef: NAME
     */
     i = 0;
     j = 0;  /* index for defaults */
@@ -816,14 +770,7 @@
                              "non-default argument follows default argument");
                     goto error;
                 }
-                /* def foo((x)): is not complex, special case. */
-                while (NCH(ch) == 3 && NCH(CHILD(ch, 1)) == 1)
-                    ch = CHILD(CHILD(ch, 1), 0);
-
-                if (NCH(ch) != 1)
-                    arg = compiler_complex_args(c, CHILD(ch, 1));
-                else
-                    arg = compiler_simple_arg(c, CHILD(ch, 0));
+                arg = compiler_arg(c, ch);
                 if (!arg)
                     goto error;
                 asdl_seq_SET(posargs, k++, arg);
@@ -835,7 +782,7 @@
                     ast_error(CHILD(n, i), "no name for vararg");
                     goto error;
                 }
-                ch = CHILD(n, i+1);  /* tname or COMMA */
+                ch = CHILD(n, i+1);  /* tfpdef or COMMA */
                 if (TYPE(ch) == COMMA) {
                     int res = 0;
                     i += 2; /* now follows keyword only arguments */
@@ -851,12 +798,12 @@
                 else {
                     vararg = NEW_IDENTIFIER(CHILD(ch, 0));
                     if (NCH(ch) > 1) {
-                            /* there is an annotation on the vararg */
-                            varargannotation = ast_for_expr(c, CHILD(ch, 2));
+                        /* there is an annotation on the vararg */
+                        varargannotation = ast_for_expr(c, CHILD(ch, 2));
                     }
                     i += 3;
-                    if (i < NCH(n) && (TYPE(CHILD(n, i)) == tname
-                                    || TYPE(CHILD(n, i)) == vname)) {
+                    if (i < NCH(n) && (TYPE(CHILD(n, i)) == tfpdef
+                                    || TYPE(CHILD(n, i)) == vfpdef)) {
                         int res = 0;
                         res = handle_keywordonly_args(c, n, i,
                                                       kwonlyargs, kwdefaults);
@@ -866,8 +813,8 @@
                 }
                 break;
             case DOUBLESTAR:
-                ch = CHILD(n, i+1);  /* tname */
-                assert(TYPE(ch) == tname || TYPE(ch) == vname);
+                ch = CHILD(n, i+1);  /* tfpdef */
+                assert(TYPE(ch) == tfpdef || TYPE(ch) == vfpdef);
                 if (!strcmp(STR(CHILD(ch, 0)), "None")) {
                         ast_error(CHILD(ch, 0), "assignment to None");
                         goto error;
diff --git a/Python/compile.c b/Python/compile.c
index 1ddec2c..fb8fb52 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1283,54 +1283,6 @@
 }
 
 static int
-compiler_unpack_nested(struct compiler *c, asdl_seq *args) {
-	int i, len;
-	len = asdl_seq_LEN(args);
-	ADDOP_I(c, UNPACK_SEQUENCE, len);
-	for (i = 0; i < len; i++) {
-		arg_ty elt = (arg_ty)asdl_seq_GET(args, i);
-		switch (elt->kind) {
-		case SimpleArg_kind:
-			if (!compiler_nameop(c, elt->v.SimpleArg.arg, Store))
-				return 0;
-			break;
-		case NestedArgs_kind:
-			if (!compiler_unpack_nested(c, elt->v.NestedArgs.args))
-				return 0;
-			break;
-		default:
-			return 0;
-		}
-    }
-    return 1;
-}
-
-static int
-compiler_arguments(struct compiler *c, arguments_ty args)
-{
-	int i;
-	int n = asdl_seq_LEN(args->args);
-
-	for (i = 0; i < n; i++) {
-		arg_ty arg = (arg_ty)asdl_seq_GET(args->args, i);
-		if (arg->kind == NestedArgs_kind) {
-			PyObject *id = PyString_FromFormat(".%d", i);
-			if (id == NULL) {
-				return 0;
-			}
-			if (!compiler_nameop(c, id, Load)) {
-				Py_DECREF(id);
-				return 0;
-			}
-			Py_DECREF(id);
-			if (!compiler_unpack_nested(c, arg->v.NestedArgs.args))
-				return 0;
-		}
-	}
-	return 1;
-}
-
-static int
 compiler_visit_kwonlydefaults(struct compiler *c, asdl_seq *kwonlyargs,
 	                      asdl_seq *kw_defaults)
 {
@@ -1339,7 +1291,7 @@
 		arg_ty arg = asdl_seq_GET(kwonlyargs, i);
 		expr_ty default_ = asdl_seq_GET(kw_defaults, i);
 		if (default_) {
-			ADDOP_O(c, LOAD_CONST, arg->v.SimpleArg.arg, consts);
+			ADDOP_O(c, LOAD_CONST, arg->arg, consts);
 			if (!compiler_visit_expr(c, default_)) {
 			    return -1;
 			}
@@ -1368,17 +1320,11 @@
 	int i, error;
 	for (i = 0; i < asdl_seq_LEN(args); i++) {
 		arg_ty arg = (arg_ty)asdl_seq_GET(args, i);
-		if (arg->kind == NestedArgs_kind)
-			error = compiler_visit_argannotations(
-			           c,
-			           arg->v.NestedArgs.args,
-			           names);
-		else
-			error = compiler_visit_argannotation(
-			           c,
-			           arg->v.SimpleArg.arg,
-			           arg->v.SimpleArg.annotation,
-			           names);
+		error = compiler_visit_argannotation(
+				c,
+			        arg->arg,
+			        arg->annotation,
+			        names);
 		if (error)
 			return error;
 	}
@@ -1498,9 +1444,6 @@
 	    return 0;
 	}
 
-	/* unpack nested arguments */
-	compiler_arguments(c, args);
-
 	c->u->u_argcount = asdl_seq_LEN(args->args);
 	c->u->u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs);
 	n = asdl_seq_LEN(s->v.FunctionDef.body);
@@ -1690,9 +1633,6 @@
 	if (!compiler_enter_scope(c, name, (void *)e, e->lineno))
 		return 0;
 
-	/* unpack nested arguments */
-	compiler_arguments(c, args);
-	
 	c->u->u_argcount = asdl_seq_LEN(args->args);
 	c->u->u_kwonlyargcount = asdl_seq_LEN(args->kwonlyargs);
 	VISIT_IN_SCOPE(c, expr, e->v.Lambda.body);
diff --git a/Python/graminit.c b/Python/graminit.c
index bb62d0c..d2f22d3 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -148,7 +148,7 @@
 static arc arcs_7_0[3] = {
 	{26, 1},
 	{29, 2},
-	{31, 3},
+	{30, 3},
 };
 static arc arcs_7_1[3] = {
 	{27, 4},
@@ -156,12 +156,12 @@
 	{0, 1},
 };
 static arc arcs_7_2[3] = {
-	{30, 6},
+	{26, 6},
 	{28, 7},
 	{0, 2},
 };
 static arc arcs_7_3[1] = {
-	{30, 8},
+	{26, 8},
 };
 static arc arcs_7_4[1] = {
 	{22, 9},
@@ -169,7 +169,7 @@
 static arc arcs_7_5[4] = {
 	{26, 1},
 	{29, 2},
-	{31, 3},
+	{30, 3},
 	{0, 5},
 };
 static arc arcs_7_6[2] = {
@@ -177,8 +177,8 @@
 	{0, 6},
 };
 static arc arcs_7_7[2] = {
-	{30, 10},
-	{31, 3},
+	{26, 10},
+	{30, 3},
 };
 static arc arcs_7_8[1] = {
 	{0, 8},
@@ -228,230 +228,164 @@
 	{1, arcs_8_2},
 	{1, arcs_8_3},
 };
-static arc arcs_9_0[2] = {
-	{30, 1},
-	{13, 2},
-};
-static arc arcs_9_1[1] = {
-	{0, 1},
-};
-static arc arcs_9_2[1] = {
-	{32, 3},
-};
-static arc arcs_9_3[1] = {
-	{15, 1},
-};
-static state states_9[4] = {
-	{2, arcs_9_0},
-	{1, arcs_9_1},
-	{1, arcs_9_2},
-	{1, arcs_9_3},
-};
-static arc arcs_10_0[1] = {
-	{26, 1},
-};
-static arc arcs_10_1[2] = {
-	{28, 2},
-	{0, 1},
-};
-static arc arcs_10_2[2] = {
-	{26, 1},
-	{0, 2},
-};
-static state states_10[3] = {
-	{1, arcs_10_0},
-	{2, arcs_10_1},
-	{2, arcs_10_2},
-};
-static arc arcs_11_0[3] = {
-	{34, 1},
+static arc arcs_9_0[3] = {
+	{32, 1},
 	{29, 2},
-	{31, 3},
+	{30, 3},
 };
-static arc arcs_11_1[3] = {
+static arc arcs_9_1[3] = {
 	{27, 4},
 	{28, 5},
 	{0, 1},
 };
-static arc arcs_11_2[3] = {
-	{35, 6},
+static arc arcs_9_2[3] = {
+	{32, 6},
 	{28, 7},
 	{0, 2},
 };
-static arc arcs_11_3[1] = {
-	{35, 8},
+static arc arcs_9_3[1] = {
+	{32, 8},
 };
-static arc arcs_11_4[1] = {
+static arc arcs_9_4[1] = {
 	{22, 9},
 };
-static arc arcs_11_5[4] = {
-	{34, 1},
+static arc arcs_9_5[4] = {
+	{32, 1},
 	{29, 2},
-	{31, 3},
+	{30, 3},
 	{0, 5},
 };
-static arc arcs_11_6[2] = {
+static arc arcs_9_6[2] = {
 	{28, 7},
 	{0, 6},
 };
-static arc arcs_11_7[2] = {
-	{35, 10},
-	{31, 3},
+static arc arcs_9_7[2] = {
+	{32, 10},
+	{30, 3},
 };
-static arc arcs_11_8[1] = {
+static arc arcs_9_8[1] = {
 	{0, 8},
 };
-static arc arcs_11_9[2] = {
+static arc arcs_9_9[2] = {
 	{28, 5},
 	{0, 9},
 };
-static arc arcs_11_10[3] = {
+static arc arcs_9_10[3] = {
 	{28, 7},
 	{27, 11},
 	{0, 10},
 };
-static arc arcs_11_11[1] = {
+static arc arcs_9_11[1] = {
 	{22, 6},
 };
-static state states_11[12] = {
-	{3, arcs_11_0},
-	{3, arcs_11_1},
-	{3, arcs_11_2},
-	{1, arcs_11_3},
-	{1, arcs_11_4},
-	{4, arcs_11_5},
-	{2, arcs_11_6},
-	{2, arcs_11_7},
-	{1, arcs_11_8},
-	{2, arcs_11_9},
-	{3, arcs_11_10},
-	{1, arcs_11_11},
+static state states_9[12] = {
+	{3, arcs_9_0},
+	{3, arcs_9_1},
+	{3, arcs_9_2},
+	{1, arcs_9_3},
+	{1, arcs_9_4},
+	{4, arcs_9_5},
+	{2, arcs_9_6},
+	{2, arcs_9_7},
+	{1, arcs_9_8},
+	{2, arcs_9_9},
+	{3, arcs_9_10},
+	{1, arcs_9_11},
 };
-static arc arcs_12_0[1] = {
+static arc arcs_10_0[1] = {
 	{19, 1},
 };
-static arc arcs_12_1[1] = {
+static arc arcs_10_1[1] = {
 	{0, 1},
 };
-static state states_12[2] = {
-	{1, arcs_12_0},
-	{1, arcs_12_1},
+static state states_10[2] = {
+	{1, arcs_10_0},
+	{1, arcs_10_1},
 };
-static arc arcs_13_0[2] = {
-	{35, 1},
-	{13, 2},
-};
-static arc arcs_13_1[1] = {
-	{0, 1},
-};
-static arc arcs_13_2[1] = {
-	{36, 3},
-};
-static arc arcs_13_3[1] = {
-	{15, 1},
-};
-static state states_13[4] = {
-	{2, arcs_13_0},
-	{1, arcs_13_1},
-	{1, arcs_13_2},
-	{1, arcs_13_3},
-};
-static arc arcs_14_0[1] = {
-	{34, 1},
-};
-static arc arcs_14_1[2] = {
-	{28, 2},
-	{0, 1},
-};
-static arc arcs_14_2[2] = {
-	{34, 1},
-	{0, 2},
-};
-static state states_14[3] = {
-	{1, arcs_14_0},
-	{2, arcs_14_1},
-	{2, arcs_14_2},
-};
-static arc arcs_15_0[2] = {
+static arc arcs_11_0[2] = {
 	{3, 1},
 	{4, 1},
 };
-static arc arcs_15_1[1] = {
+static arc arcs_11_1[1] = {
 	{0, 1},
 };
-static state states_15[2] = {
-	{2, arcs_15_0},
-	{1, arcs_15_1},
+static state states_11[2] = {
+	{2, arcs_11_0},
+	{1, arcs_11_1},
 };
-static arc arcs_16_0[1] = {
-	{37, 1},
+static arc arcs_12_0[1] = {
+	{33, 1},
 };
-static arc arcs_16_1[2] = {
-	{38, 2},
+static arc arcs_12_1[2] = {
+	{34, 2},
 	{2, 3},
 };
-static arc arcs_16_2[2] = {
-	{37, 1},
+static arc arcs_12_2[2] = {
+	{33, 1},
 	{2, 3},
 };
-static arc arcs_16_3[1] = {
+static arc arcs_12_3[1] = {
 	{0, 3},
 };
-static state states_16[4] = {
-	{1, arcs_16_0},
-	{2, arcs_16_1},
-	{2, arcs_16_2},
-	{1, arcs_16_3},
+static state states_12[4] = {
+	{1, arcs_12_0},
+	{2, arcs_12_1},
+	{2, arcs_12_2},
+	{1, arcs_12_3},
 };
-static arc arcs_17_0[8] = {
+static arc arcs_13_0[8] = {
+	{35, 1},
+	{36, 1},
+	{37, 1},
+	{38, 1},
 	{39, 1},
 	{40, 1},
 	{41, 1},
 	{42, 1},
-	{43, 1},
-	{44, 1},
-	{45, 1},
-	{46, 1},
 };
-static arc arcs_17_1[1] = {
+static arc arcs_13_1[1] = {
 	{0, 1},
 };
-static state states_17[2] = {
-	{8, arcs_17_0},
-	{1, arcs_17_1},
+static state states_13[2] = {
+	{8, arcs_13_0},
+	{1, arcs_13_1},
 };
-static arc arcs_18_0[1] = {
+static arc arcs_14_0[1] = {
 	{9, 1},
 };
-static arc arcs_18_1[3] = {
-	{47, 2},
+static arc arcs_14_1[3] = {
+	{43, 2},
 	{27, 3},
 	{0, 1},
 };
-static arc arcs_18_2[2] = {
-	{48, 4},
+static arc arcs_14_2[2] = {
+	{44, 4},
 	{9, 4},
 };
-static arc arcs_18_3[2] = {
-	{48, 5},
+static arc arcs_14_3[2] = {
+	{44, 5},
 	{9, 5},
 };
-static arc arcs_18_4[1] = {
+static arc arcs_14_4[1] = {
 	{0, 4},
 };
-static arc arcs_18_5[2] = {
+static arc arcs_14_5[2] = {
 	{27, 3},
 	{0, 5},
 };
-static state states_18[6] = {
-	{1, arcs_18_0},
-	{3, arcs_18_1},
-	{2, arcs_18_2},
-	{2, arcs_18_3},
-	{1, arcs_18_4},
-	{2, arcs_18_5},
+static state states_14[6] = {
+	{1, arcs_14_0},
+	{3, arcs_14_1},
+	{2, arcs_14_2},
+	{2, arcs_14_3},
+	{1, arcs_14_4},
+	{2, arcs_14_5},
 };
-static arc arcs_19_0[12] = {
+static arc arcs_15_0[12] = {
+	{45, 1},
+	{46, 1},
+	{47, 1},
+	{48, 1},
 	{49, 1},
 	{50, 1},
 	{51, 1},
@@ -460,572 +394,654 @@
 	{54, 1},
 	{55, 1},
 	{56, 1},
+};
+static arc arcs_15_1[1] = {
+	{0, 1},
+};
+static state states_15[2] = {
+	{12, arcs_15_0},
+	{1, arcs_15_1},
+};
+static arc arcs_16_0[1] = {
 	{57, 1},
-	{58, 1},
+};
+static arc arcs_16_1[1] = {
+	{58, 2},
+};
+static arc arcs_16_2[1] = {
+	{0, 2},
+};
+static state states_16[3] = {
+	{1, arcs_16_0},
+	{1, arcs_16_1},
+	{1, arcs_16_2},
+};
+static arc arcs_17_0[1] = {
 	{59, 1},
+};
+static arc arcs_17_1[1] = {
+	{0, 1},
+};
+static state states_17[2] = {
+	{1, arcs_17_0},
+	{1, arcs_17_1},
+};
+static arc arcs_18_0[5] = {
 	{60, 1},
+	{61, 1},
+	{62, 1},
+	{63, 1},
+	{64, 1},
+};
+static arc arcs_18_1[1] = {
+	{0, 1},
+};
+static state states_18[2] = {
+	{5, arcs_18_0},
+	{1, arcs_18_1},
+};
+static arc arcs_19_0[1] = {
+	{65, 1},
 };
 static arc arcs_19_1[1] = {
 	{0, 1},
 };
 static state states_19[2] = {
-	{12, arcs_19_0},
+	{1, arcs_19_0},
 	{1, arcs_19_1},
 };
 static arc arcs_20_0[1] = {
-	{61, 1},
+	{66, 1},
 };
 static arc arcs_20_1[1] = {
-	{62, 2},
-};
-static arc arcs_20_2[1] = {
-	{0, 2},
-};
-static state states_20[3] = {
-	{1, arcs_20_0},
-	{1, arcs_20_1},
-	{1, arcs_20_2},
-};
-static arc arcs_21_0[1] = {
-	{63, 1},
-};
-static arc arcs_21_1[1] = {
 	{0, 1},
 };
-static state states_21[2] = {
-	{1, arcs_21_0},
-	{1, arcs_21_1},
+static state states_20[2] = {
+	{1, arcs_20_0},
+	{1, arcs_20_1},
 };
-static arc arcs_22_0[5] = {
-	{64, 1},
-	{65, 1},
-	{66, 1},
+static arc arcs_21_0[1] = {
 	{67, 1},
-	{68, 1},
+};
+static arc arcs_21_1[2] = {
+	{9, 2},
+	{0, 1},
+};
+static arc arcs_21_2[1] = {
+	{0, 2},
+};
+static state states_21[3] = {
+	{1, arcs_21_0},
+	{2, arcs_21_1},
+	{1, arcs_21_2},
+};
+static arc arcs_22_0[1] = {
+	{44, 1},
 };
 static arc arcs_22_1[1] = {
 	{0, 1},
 };
 static state states_22[2] = {
-	{5, arcs_22_0},
+	{1, arcs_22_0},
 	{1, arcs_22_1},
 };
 static arc arcs_23_0[1] = {
-	{69, 1},
+	{68, 1},
 };
-static arc arcs_23_1[1] = {
+static arc arcs_23_1[2] = {
+	{22, 2},
 	{0, 1},
 };
-static state states_23[2] = {
-	{1, arcs_23_0},
-	{1, arcs_23_1},
+static arc arcs_23_2[2] = {
+	{28, 3},
+	{0, 2},
 };
-static arc arcs_24_0[1] = {
+static arc arcs_23_3[1] = {
+	{22, 4},
+};
+static arc arcs_23_4[2] = {
+	{28, 5},
+	{0, 4},
+};
+static arc arcs_23_5[1] = {
+	{22, 6},
+};
+static arc arcs_23_6[1] = {
+	{0, 6},
+};
+static state states_23[7] = {
+	{1, arcs_23_0},
+	{2, arcs_23_1},
+	{2, arcs_23_2},
+	{1, arcs_23_3},
+	{2, arcs_23_4},
+	{1, arcs_23_5},
+	{1, arcs_23_6},
+};
+static arc arcs_24_0[2] = {
+	{69, 1},
 	{70, 1},
 };
 static arc arcs_24_1[1] = {
 	{0, 1},
 };
 static state states_24[2] = {
-	{1, arcs_24_0},
+	{2, arcs_24_0},
 	{1, arcs_24_1},
 };
 static arc arcs_25_0[1] = {
 	{71, 1},
 };
-static arc arcs_25_1[2] = {
-	{9, 2},
-	{0, 1},
+static arc arcs_25_1[1] = {
+	{72, 2},
 };
 static arc arcs_25_2[1] = {
 	{0, 2},
 };
 static state states_25[3] = {
 	{1, arcs_25_0},
-	{2, arcs_25_1},
+	{1, arcs_25_1},
 	{1, arcs_25_2},
 };
 static arc arcs_26_0[1] = {
-	{48, 1},
+	{73, 1},
 };
-static arc arcs_26_1[1] = {
-	{0, 1},
+static arc arcs_26_1[3] = {
+	{74, 2},
+	{75, 2},
+	{12, 3},
 };
-static state states_26[2] = {
+static arc arcs_26_2[4] = {
+	{74, 2},
+	{75, 2},
+	{12, 3},
+	{71, 4},
+};
+static arc arcs_26_3[1] = {
+	{71, 4},
+};
+static arc arcs_26_4[3] = {
+	{29, 5},
+	{13, 6},
+	{76, 5},
+};
+static arc arcs_26_5[1] = {
+	{0, 5},
+};
+static arc arcs_26_6[1] = {
+	{76, 7},
+};
+static arc arcs_26_7[1] = {
+	{15, 5},
+};
+static state states_26[8] = {
 	{1, arcs_26_0},
-	{1, arcs_26_1},
+	{3, arcs_26_1},
+	{4, arcs_26_2},
+	{1, arcs_26_3},
+	{3, arcs_26_4},
+	{1, arcs_26_5},
+	{1, arcs_26_6},
+	{1, arcs_26_7},
 };
 static arc arcs_27_0[1] = {
-	{72, 1},
+	{19, 1},
 };
 static arc arcs_27_1[2] = {
-	{22, 2},
+	{78, 2},
 	{0, 1},
 };
-static arc arcs_27_2[2] = {
-	{28, 3},
-	{0, 2},
+static arc arcs_27_2[1] = {
+	{19, 3},
 };
 static arc arcs_27_3[1] = {
-	{22, 4},
+	{0, 3},
 };
-static arc arcs_27_4[2] = {
-	{28, 5},
-	{0, 4},
-};
-static arc arcs_27_5[1] = {
-	{22, 6},
-};
-static arc arcs_27_6[1] = {
-	{0, 6},
-};
-static state states_27[7] = {
+static state states_27[4] = {
 	{1, arcs_27_0},
 	{2, arcs_27_1},
-	{2, arcs_27_2},
+	{1, arcs_27_2},
 	{1, arcs_27_3},
-	{2, arcs_27_4},
-	{1, arcs_27_5},
-	{1, arcs_27_6},
 };
-static arc arcs_28_0[2] = {
-	{73, 1},
-	{74, 1},
+static arc arcs_28_0[1] = {
+	{12, 1},
 };
-static arc arcs_28_1[1] = {
+static arc arcs_28_1[2] = {
+	{78, 2},
 	{0, 1},
 };
-static state states_28[2] = {
-	{2, arcs_28_0},
-	{1, arcs_28_1},
+static arc arcs_28_2[1] = {
+	{19, 3},
+};
+static arc arcs_28_3[1] = {
+	{0, 3},
+};
+static state states_28[4] = {
+	{1, arcs_28_0},
+	{2, arcs_28_1},
+	{1, arcs_28_2},
+	{1, arcs_28_3},
 };
 static arc arcs_29_0[1] = {
-	{75, 1},
+	{77, 1},
 };
-static arc arcs_29_1[1] = {
-	{76, 2},
+static arc arcs_29_1[2] = {
+	{28, 2},
+	{0, 1},
 };
-static arc arcs_29_2[1] = {
+static arc arcs_29_2[2] = {
+	{77, 1},
 	{0, 2},
 };
 static state states_29[3] = {
 	{1, arcs_29_0},
-	{1, arcs_29_1},
-	{1, arcs_29_2},
+	{2, arcs_29_1},
+	{2, arcs_29_2},
 };
 static arc arcs_30_0[1] = {
-	{77, 1},
+	{79, 1},
 };
-static arc arcs_30_1[3] = {
-	{78, 2},
-	{79, 2},
-	{12, 3},
+static arc arcs_30_1[2] = {
+	{28, 0},
+	{0, 1},
 };
-static arc arcs_30_2[4] = {
-	{78, 2},
-	{79, 2},
-	{12, 3},
-	{75, 4},
-};
-static arc arcs_30_3[1] = {
-	{75, 4},
-};
-static arc arcs_30_4[3] = {
-	{29, 5},
-	{13, 6},
-	{80, 5},
-};
-static arc arcs_30_5[1] = {
-	{0, 5},
-};
-static arc arcs_30_6[1] = {
-	{80, 7},
-};
-static arc arcs_30_7[1] = {
-	{15, 5},
-};
-static state states_30[8] = {
+static state states_30[2] = {
 	{1, arcs_30_0},
-	{3, arcs_30_1},
-	{4, arcs_30_2},
-	{1, arcs_30_3},
-	{3, arcs_30_4},
-	{1, arcs_30_5},
-	{1, arcs_30_6},
-	{1, arcs_30_7},
+	{2, arcs_30_1},
 };
 static arc arcs_31_0[1] = {
 	{19, 1},
 };
 static arc arcs_31_1[2] = {
-	{82, 2},
+	{74, 0},
 	{0, 1},
 };
-static arc arcs_31_2[1] = {
-	{19, 3},
-};
-static arc arcs_31_3[1] = {
-	{0, 3},
-};
-static state states_31[4] = {
+static state states_31[2] = {
 	{1, arcs_31_0},
 	{2, arcs_31_1},
-	{1, arcs_31_2},
-	{1, arcs_31_3},
 };
 static arc arcs_32_0[1] = {
-	{12, 1},
+	{80, 1},
 };
-static arc arcs_32_1[2] = {
-	{82, 2},
-	{0, 1},
+static arc arcs_32_1[1] = {
+	{19, 2},
 };
-static arc arcs_32_2[1] = {
-	{19, 3},
+static arc arcs_32_2[2] = {
+	{28, 1},
+	{0, 2},
 };
-static arc arcs_32_3[1] = {
-	{0, 3},
-};
-static state states_32[4] = {
+static state states_32[3] = {
 	{1, arcs_32_0},
-	{2, arcs_32_1},
-	{1, arcs_32_2},
-	{1, arcs_32_3},
+	{1, arcs_32_1},
+	{2, arcs_32_2},
 };
 static arc arcs_33_0[1] = {
 	{81, 1},
 };
-static arc arcs_33_1[2] = {
-	{28, 2},
-	{0, 1},
+static arc arcs_33_1[1] = {
+	{19, 2},
 };
 static arc arcs_33_2[2] = {
-	{81, 1},
+	{28, 1},
 	{0, 2},
 };
 static state states_33[3] = {
 	{1, arcs_33_0},
-	{2, arcs_33_1},
+	{1, arcs_33_1},
 	{2, arcs_33_2},
 };
 static arc arcs_34_0[1] = {
-	{83, 1},
+	{82, 1},
 };
-static arc arcs_34_1[2] = {
-	{28, 0},
-	{0, 1},
-};
-static state states_34[2] = {
-	{1, arcs_34_0},
-	{2, arcs_34_1},
-};
-static arc arcs_35_0[1] = {
-	{19, 1},
-};
-static arc arcs_35_1[2] = {
-	{78, 0},
-	{0, 1},
-};
-static state states_35[2] = {
-	{1, arcs_35_0},
-	{2, arcs_35_1},
-};
-static arc arcs_36_0[1] = {
-	{84, 1},
-};
-static arc arcs_36_1[1] = {
-	{19, 2},
-};
-static arc arcs_36_2[2] = {
-	{28, 1},
-	{0, 2},
-};
-static state states_36[3] = {
-	{1, arcs_36_0},
-	{1, arcs_36_1},
-	{2, arcs_36_2},
-};
-static arc arcs_37_0[1] = {
-	{85, 1},
-};
-static arc arcs_37_1[1] = {
-	{19, 2},
-};
-static arc arcs_37_2[2] = {
-	{28, 1},
-	{0, 2},
-};
-static state states_37[3] = {
-	{1, arcs_37_0},
-	{1, arcs_37_1},
-	{2, arcs_37_2},
-};
-static arc arcs_38_0[1] = {
-	{86, 1},
-};
-static arc arcs_38_1[1] = {
+static arc arcs_34_1[1] = {
 	{22, 2},
 };
-static arc arcs_38_2[2] = {
+static arc arcs_34_2[2] = {
 	{28, 3},
 	{0, 2},
 };
-static arc arcs_38_3[1] = {
+static arc arcs_34_3[1] = {
 	{22, 4},
 };
-static arc arcs_38_4[1] = {
+static arc arcs_34_4[1] = {
 	{0, 4},
 };
-static state states_38[5] = {
-	{1, arcs_38_0},
-	{1, arcs_38_1},
-	{2, arcs_38_2},
-	{1, arcs_38_3},
-	{1, arcs_38_4},
+static state states_34[5] = {
+	{1, arcs_34_0},
+	{1, arcs_34_1},
+	{2, arcs_34_2},
+	{1, arcs_34_3},
+	{1, arcs_34_4},
 };
-static arc arcs_39_0[7] = {
+static arc arcs_35_0[7] = {
+	{83, 1},
+	{84, 1},
+	{85, 1},
+	{86, 1},
 	{87, 1},
-	{88, 1},
-	{89, 1},
-	{90, 1},
-	{91, 1},
 	{17, 1},
-	{92, 1},
+	{88, 1},
 };
-static arc arcs_39_1[1] = {
+static arc arcs_35_1[1] = {
 	{0, 1},
 };
-static state states_39[2] = {
-	{7, arcs_39_0},
+static state states_35[2] = {
+	{7, arcs_35_0},
+	{1, arcs_35_1},
+};
+static arc arcs_36_0[1] = {
+	{89, 1},
+};
+static arc arcs_36_1[1] = {
+	{22, 2},
+};
+static arc arcs_36_2[1] = {
+	{23, 3},
+};
+static arc arcs_36_3[1] = {
+	{24, 4},
+};
+static arc arcs_36_4[3] = {
+	{90, 1},
+	{91, 5},
+	{0, 4},
+};
+static arc arcs_36_5[1] = {
+	{23, 6},
+};
+static arc arcs_36_6[1] = {
+	{24, 7},
+};
+static arc arcs_36_7[1] = {
+	{0, 7},
+};
+static state states_36[8] = {
+	{1, arcs_36_0},
+	{1, arcs_36_1},
+	{1, arcs_36_2},
+	{1, arcs_36_3},
+	{3, arcs_36_4},
+	{1, arcs_36_5},
+	{1, arcs_36_6},
+	{1, arcs_36_7},
+};
+static arc arcs_37_0[1] = {
+	{92, 1},
+};
+static arc arcs_37_1[1] = {
+	{22, 2},
+};
+static arc arcs_37_2[1] = {
+	{23, 3},
+};
+static arc arcs_37_3[1] = {
+	{24, 4},
+};
+static arc arcs_37_4[2] = {
+	{91, 5},
+	{0, 4},
+};
+static arc arcs_37_5[1] = {
+	{23, 6},
+};
+static arc arcs_37_6[1] = {
+	{24, 7},
+};
+static arc arcs_37_7[1] = {
+	{0, 7},
+};
+static state states_37[8] = {
+	{1, arcs_37_0},
+	{1, arcs_37_1},
+	{1, arcs_37_2},
+	{1, arcs_37_3},
+	{2, arcs_37_4},
+	{1, arcs_37_5},
+	{1, arcs_37_6},
+	{1, arcs_37_7},
+};
+static arc arcs_38_0[1] = {
+	{93, 1},
+};
+static arc arcs_38_1[1] = {
+	{58, 2},
+};
+static arc arcs_38_2[1] = {
+	{94, 3},
+};
+static arc arcs_38_3[1] = {
+	{9, 4},
+};
+static arc arcs_38_4[1] = {
+	{23, 5},
+};
+static arc arcs_38_5[1] = {
+	{24, 6},
+};
+static arc arcs_38_6[2] = {
+	{91, 7},
+	{0, 6},
+};
+static arc arcs_38_7[1] = {
+	{23, 8},
+};
+static arc arcs_38_8[1] = {
+	{24, 9},
+};
+static arc arcs_38_9[1] = {
+	{0, 9},
+};
+static state states_38[10] = {
+	{1, arcs_38_0},
+	{1, arcs_38_1},
+	{1, arcs_38_2},
+	{1, arcs_38_3},
+	{1, arcs_38_4},
+	{1, arcs_38_5},
+	{2, arcs_38_6},
+	{1, arcs_38_7},
+	{1, arcs_38_8},
+	{1, arcs_38_9},
+};
+static arc arcs_39_0[1] = {
+	{95, 1},
+};
+static arc arcs_39_1[1] = {
+	{23, 2},
+};
+static arc arcs_39_2[1] = {
+	{24, 3},
+};
+static arc arcs_39_3[2] = {
+	{96, 4},
+	{97, 5},
+};
+static arc arcs_39_4[1] = {
+	{23, 6},
+};
+static arc arcs_39_5[1] = {
+	{23, 7},
+};
+static arc arcs_39_6[1] = {
+	{24, 8},
+};
+static arc arcs_39_7[1] = {
+	{24, 9},
+};
+static arc arcs_39_8[4] = {
+	{96, 4},
+	{91, 10},
+	{97, 5},
+	{0, 8},
+};
+static arc arcs_39_9[1] = {
+	{0, 9},
+};
+static arc arcs_39_10[1] = {
+	{23, 11},
+};
+static arc arcs_39_11[1] = {
+	{24, 12},
+};
+static arc arcs_39_12[2] = {
+	{97, 5},
+	{0, 12},
+};
+static state states_39[13] = {
+	{1, arcs_39_0},
 	{1, arcs_39_1},
+	{1, arcs_39_2},
+	{2, arcs_39_3},
+	{1, arcs_39_4},
+	{1, arcs_39_5},
+	{1, arcs_39_6},
+	{1, arcs_39_7},
+	{4, arcs_39_8},
+	{1, arcs_39_9},
+	{1, arcs_39_10},
+	{1, arcs_39_11},
+	{2, arcs_39_12},
 };
 static arc arcs_40_0[1] = {
-	{93, 1},
+	{98, 1},
 };
 static arc arcs_40_1[1] = {
 	{22, 2},
 };
-static arc arcs_40_2[1] = {
-	{23, 3},
+static arc arcs_40_2[2] = {
+	{99, 3},
+	{23, 4},
 };
 static arc arcs_40_3[1] = {
-	{24, 4},
+	{23, 4},
 };
-static arc arcs_40_4[3] = {
-	{94, 1},
-	{95, 5},
-	{0, 4},
+static arc arcs_40_4[1] = {
+	{24, 5},
 };
 static arc arcs_40_5[1] = {
-	{23, 6},
+	{0, 5},
 };
-static arc arcs_40_6[1] = {
-	{24, 7},
-};
-static arc arcs_40_7[1] = {
-	{0, 7},
-};
-static state states_40[8] = {
+static state states_40[6] = {
 	{1, arcs_40_0},
 	{1, arcs_40_1},
-	{1, arcs_40_2},
+	{2, arcs_40_2},
 	{1, arcs_40_3},
-	{3, arcs_40_4},
+	{1, arcs_40_4},
 	{1, arcs_40_5},
-	{1, arcs_40_6},
-	{1, arcs_40_7},
 };
 static arc arcs_41_0[1] = {
-	{96, 1},
+	{78, 1},
 };
 static arc arcs_41_1[1] = {
-	{22, 2},
+	{100, 2},
 };
 static arc arcs_41_2[1] = {
-	{23, 3},
+	{0, 2},
 };
-static arc arcs_41_3[1] = {
-	{24, 4},
-};
-static arc arcs_41_4[2] = {
-	{95, 5},
-	{0, 4},
-};
-static arc arcs_41_5[1] = {
-	{23, 6},
-};
-static arc arcs_41_6[1] = {
-	{24, 7},
-};
-static arc arcs_41_7[1] = {
-	{0, 7},
-};
-static state states_41[8] = {
+static state states_41[3] = {
 	{1, arcs_41_0},
 	{1, arcs_41_1},
 	{1, arcs_41_2},
-	{1, arcs_41_3},
-	{2, arcs_41_4},
-	{1, arcs_41_5},
-	{1, arcs_41_6},
-	{1, arcs_41_7},
 };
 static arc arcs_42_0[1] = {
-	{97, 1},
+	{101, 1},
 };
-static arc arcs_42_1[1] = {
-	{62, 2},
+static arc arcs_42_1[2] = {
+	{22, 2},
+	{0, 1},
 };
-static arc arcs_42_2[1] = {
-	{98, 3},
+static arc arcs_42_2[2] = {
+	{78, 3},
+	{0, 2},
 };
 static arc arcs_42_3[1] = {
-	{9, 4},
+	{19, 4},
 };
 static arc arcs_42_4[1] = {
-	{23, 5},
+	{0, 4},
 };
-static arc arcs_42_5[1] = {
-	{24, 6},
-};
-static arc arcs_42_6[2] = {
-	{95, 7},
-	{0, 6},
-};
-static arc arcs_42_7[1] = {
-	{23, 8},
-};
-static arc arcs_42_8[1] = {
-	{24, 9},
-};
-static arc arcs_42_9[1] = {
-	{0, 9},
-};
-static state states_42[10] = {
+static state states_42[5] = {
 	{1, arcs_42_0},
-	{1, arcs_42_1},
-	{1, arcs_42_2},
+	{2, arcs_42_1},
+	{2, arcs_42_2},
 	{1, arcs_42_3},
 	{1, arcs_42_4},
-	{1, arcs_42_5},
-	{2, arcs_42_6},
-	{1, arcs_42_7},
-	{1, arcs_42_8},
-	{1, arcs_42_9},
 };
-static arc arcs_43_0[1] = {
-	{99, 1},
+static arc arcs_43_0[2] = {
+	{3, 1},
+	{2, 2},
 };
 static arc arcs_43_1[1] = {
-	{23, 2},
+	{0, 1},
 };
 static arc arcs_43_2[1] = {
-	{24, 3},
+	{102, 3},
 };
-static arc arcs_43_3[2] = {
-	{100, 4},
-	{101, 5},
+static arc arcs_43_3[1] = {
+	{6, 4},
 };
-static arc arcs_43_4[1] = {
-	{23, 6},
+static arc arcs_43_4[2] = {
+	{6, 4},
+	{103, 1},
 };
-static arc arcs_43_5[1] = {
-	{23, 7},
-};
-static arc arcs_43_6[1] = {
-	{24, 8},
-};
-static arc arcs_43_7[1] = {
-	{24, 9},
-};
-static arc arcs_43_8[4] = {
-	{100, 4},
-	{95, 10},
-	{101, 5},
-	{0, 8},
-};
-static arc arcs_43_9[1] = {
-	{0, 9},
-};
-static arc arcs_43_10[1] = {
-	{23, 11},
-};
-static arc arcs_43_11[1] = {
-	{24, 12},
-};
-static arc arcs_43_12[2] = {
-	{101, 5},
-	{0, 12},
-};
-static state states_43[13] = {
-	{1, arcs_43_0},
+static state states_43[5] = {
+	{2, arcs_43_0},
 	{1, arcs_43_1},
 	{1, arcs_43_2},
-	{2, arcs_43_3},
-	{1, arcs_43_4},
-	{1, arcs_43_5},
-	{1, arcs_43_6},
-	{1, arcs_43_7},
-	{4, arcs_43_8},
-	{1, arcs_43_9},
-	{1, arcs_43_10},
-	{1, arcs_43_11},
-	{2, arcs_43_12},
+	{1, arcs_43_3},
+	{2, arcs_43_4},
 };
-static arc arcs_44_0[1] = {
-	{102, 1},
+static arc arcs_44_0[2] = {
+	{104, 1},
+	{105, 2},
 };
-static arc arcs_44_1[1] = {
-	{22, 2},
+static arc arcs_44_1[2] = {
+	{89, 3},
+	{0, 1},
 };
-static arc arcs_44_2[2] = {
-	{103, 3},
-	{23, 4},
+static arc arcs_44_2[1] = {
+	{0, 2},
 };
 static arc arcs_44_3[1] = {
-	{23, 4},
+	{104, 4},
 };
 static arc arcs_44_4[1] = {
-	{24, 5},
+	{91, 5},
 };
 static arc arcs_44_5[1] = {
-	{0, 5},
+	{22, 2},
 };
 static state states_44[6] = {
-	{1, arcs_44_0},
-	{1, arcs_44_1},
-	{2, arcs_44_2},
+	{2, arcs_44_0},
+	{2, arcs_44_1},
+	{1, arcs_44_2},
 	{1, arcs_44_3},
 	{1, arcs_44_4},
 	{1, arcs_44_5},
 };
-static arc arcs_45_0[1] = {
-	{82, 1},
+static arc arcs_45_0[2] = {
+	{104, 1},
+	{107, 1},
 };
 static arc arcs_45_1[1] = {
-	{104, 2},
-};
-static arc arcs_45_2[1] = {
-	{0, 2},
-};
-static state states_45[3] = {
-	{1, arcs_45_0},
-	{1, arcs_45_1},
-	{1, arcs_45_2},
-};
-static arc arcs_46_0[1] = {
-	{105, 1},
-};
-static arc arcs_46_1[2] = {
-	{22, 2},
 	{0, 1},
 };
-static arc arcs_46_2[2] = {
-	{82, 3},
-	{0, 2},
+static state states_45[2] = {
+	{2, arcs_45_0},
+	{1, arcs_45_1},
+};
+static arc arcs_46_0[1] = {
+	{108, 1},
+};
+static arc arcs_46_1[2] = {
+	{31, 2},
+	{23, 3},
+};
+static arc arcs_46_2[1] = {
+	{23, 3},
 };
 static arc arcs_46_3[1] = {
-	{19, 4},
+	{22, 4},
 };
 static arc arcs_46_4[1] = {
 	{0, 4},
@@ -1033,434 +1049,422 @@
 static state states_46[5] = {
 	{1, arcs_46_0},
 	{2, arcs_46_1},
-	{2, arcs_46_2},
+	{1, arcs_46_2},
 	{1, arcs_46_3},
 	{1, arcs_46_4},
 };
-static arc arcs_47_0[2] = {
-	{3, 1},
-	{2, 2},
+static arc arcs_47_0[1] = {
+	{108, 1},
 };
-static arc arcs_47_1[1] = {
-	{0, 1},
+static arc arcs_47_1[2] = {
+	{31, 2},
+	{23, 3},
 };
 static arc arcs_47_2[1] = {
-	{106, 3},
+	{23, 3},
 };
 static arc arcs_47_3[1] = {
-	{6, 4},
+	{106, 4},
 };
-static arc arcs_47_4[2] = {
-	{6, 4},
-	{107, 1},
+static arc arcs_47_4[1] = {
+	{0, 4},
 };
 static state states_47[5] = {
-	{2, arcs_47_0},
-	{1, arcs_47_1},
+	{1, arcs_47_0},
+	{2, arcs_47_1},
 	{1, arcs_47_2},
 	{1, arcs_47_3},
-	{2, arcs_47_4},
+	{1, arcs_47_4},
 };
-static arc arcs_48_0[2] = {
-	{108, 1},
-	{109, 2},
+static arc arcs_48_0[1] = {
+	{109, 1},
 };
 static arc arcs_48_1[2] = {
-	{93, 3},
+	{110, 0},
 	{0, 1},
 };
-static arc arcs_48_2[1] = {
-	{0, 2},
-};
-static arc arcs_48_3[1] = {
-	{108, 4},
-};
-static arc arcs_48_4[1] = {
-	{95, 5},
-};
-static arc arcs_48_5[1] = {
-	{22, 2},
-};
-static state states_48[6] = {
-	{2, arcs_48_0},
+static state states_48[2] = {
+	{1, arcs_48_0},
 	{2, arcs_48_1},
-	{1, arcs_48_2},
-	{1, arcs_48_3},
-	{1, arcs_48_4},
-	{1, arcs_48_5},
 };
-static arc arcs_49_0[2] = {
-	{108, 1},
+static arc arcs_49_0[1] = {
 	{111, 1},
 };
-static arc arcs_49_1[1] = {
+static arc arcs_49_1[2] = {
+	{112, 0},
 	{0, 1},
 };
 static state states_49[2] = {
-	{2, arcs_49_0},
-	{1, arcs_49_1},
+	{1, arcs_49_0},
+	{2, arcs_49_1},
 };
-static arc arcs_50_0[1] = {
-	{112, 1},
+static arc arcs_50_0[2] = {
+	{113, 1},
+	{114, 2},
 };
-static arc arcs_50_1[2] = {
-	{33, 2},
-	{23, 3},
+static arc arcs_50_1[1] = {
+	{111, 2},
 };
 static arc arcs_50_2[1] = {
-	{23, 3},
+	{0, 2},
 };
-static arc arcs_50_3[1] = {
-	{22, 4},
-};
-static arc arcs_50_4[1] = {
-	{0, 4},
-};
-static state states_50[5] = {
-	{1, arcs_50_0},
-	{2, arcs_50_1},
+static state states_50[3] = {
+	{2, arcs_50_0},
+	{1, arcs_50_1},
 	{1, arcs_50_2},
-	{1, arcs_50_3},
-	{1, arcs_50_4},
 };
 static arc arcs_51_0[1] = {
-	{112, 1},
-};
-static arc arcs_51_1[2] = {
-	{33, 2},
-	{23, 3},
-};
-static arc arcs_51_2[1] = {
-	{23, 3},
-};
-static arc arcs_51_3[1] = {
-	{110, 4},
-};
-static arc arcs_51_4[1] = {
-	{0, 4},
-};
-static state states_51[5] = {
-	{1, arcs_51_0},
-	{2, arcs_51_1},
-	{1, arcs_51_2},
-	{1, arcs_51_3},
-	{1, arcs_51_4},
-};
-static arc arcs_52_0[1] = {
-	{113, 1},
-};
-static arc arcs_52_1[2] = {
-	{114, 0},
-	{0, 1},
-};
-static state states_52[2] = {
-	{1, arcs_52_0},
-	{2, arcs_52_1},
-};
-static arc arcs_53_0[1] = {
 	{115, 1},
 };
-static arc arcs_53_1[2] = {
+static arc arcs_51_1[2] = {
 	{116, 0},
 	{0, 1},
 };
-static state states_53[2] = {
-	{1, arcs_53_0},
-	{2, arcs_53_1},
+static state states_51[2] = {
+	{1, arcs_51_0},
+	{2, arcs_51_1},
 };
-static arc arcs_54_0[2] = {
+static arc arcs_52_0[9] = {
 	{117, 1},
-	{118, 2},
+	{118, 1},
+	{119, 1},
+	{120, 1},
+	{121, 1},
+	{122, 1},
+	{94, 1},
+	{113, 2},
+	{123, 3},
 };
-static arc arcs_54_1[1] = {
-	{115, 2},
+static arc arcs_52_1[1] = {
+	{0, 1},
 };
-static arc arcs_54_2[1] = {
+static arc arcs_52_2[1] = {
+	{94, 1},
+};
+static arc arcs_52_3[2] = {
+	{113, 1},
+	{0, 3},
+};
+static state states_52[4] = {
+	{9, arcs_52_0},
+	{1, arcs_52_1},
+	{1, arcs_52_2},
+	{2, arcs_52_3},
+};
+static arc arcs_53_0[2] = {
+	{29, 1},
+	{100, 2},
+};
+static arc arcs_53_1[1] = {
+	{100, 2},
+};
+static arc arcs_53_2[1] = {
 	{0, 2},
 };
-static state states_54[3] = {
-	{2, arcs_54_0},
-	{1, arcs_54_1},
-	{1, arcs_54_2},
+static state states_53[3] = {
+	{2, arcs_53_0},
+	{1, arcs_53_1},
+	{1, arcs_53_2},
+};
+static arc arcs_54_0[1] = {
+	{124, 1},
+};
+static arc arcs_54_1[2] = {
+	{125, 0},
+	{0, 1},
+};
+static state states_54[2] = {
+	{1, arcs_54_0},
+	{2, arcs_54_1},
 };
 static arc arcs_55_0[1] = {
-	{119, 1},
+	{126, 1},
 };
 static arc arcs_55_1[2] = {
-	{120, 0},
+	{127, 0},
 	{0, 1},
 };
 static state states_55[2] = {
 	{1, arcs_55_0},
 	{2, arcs_55_1},
 };
-static arc arcs_56_0[9] = {
-	{121, 1},
-	{122, 1},
-	{123, 1},
-	{124, 1},
-	{125, 1},
-	{126, 1},
-	{98, 1},
-	{117, 2},
-	{127, 3},
-};
-static arc arcs_56_1[1] = {
-	{0, 1},
-};
-static arc arcs_56_2[1] = {
-	{98, 1},
-};
-static arc arcs_56_3[2] = {
-	{117, 1},
-	{0, 3},
-};
-static state states_56[4] = {
-	{9, arcs_56_0},
-	{1, arcs_56_1},
-	{1, arcs_56_2},
-	{2, arcs_56_3},
-};
-static arc arcs_57_0[2] = {
-	{29, 1},
-	{104, 2},
-};
-static arc arcs_57_1[1] = {
-	{104, 2},
-};
-static arc arcs_57_2[1] = {
-	{0, 2},
-};
-static state states_57[3] = {
-	{2, arcs_57_0},
-	{1, arcs_57_1},
-	{1, arcs_57_2},
-};
-static arc arcs_58_0[1] = {
+static arc arcs_56_0[1] = {
 	{128, 1},
 };
-static arc arcs_58_1[2] = {
+static arc arcs_56_1[2] = {
 	{129, 0},
 	{0, 1},
 };
+static state states_56[2] = {
+	{1, arcs_56_0},
+	{2, arcs_56_1},
+};
+static arc arcs_57_0[1] = {
+	{130, 1},
+};
+static arc arcs_57_1[3] = {
+	{131, 0},
+	{132, 0},
+	{0, 1},
+};
+static state states_57[2] = {
+	{1, arcs_57_0},
+	{3, arcs_57_1},
+};
+static arc arcs_58_0[1] = {
+	{133, 1},
+};
+static arc arcs_58_1[3] = {
+	{134, 0},
+	{135, 0},
+	{0, 1},
+};
 static state states_58[2] = {
 	{1, arcs_58_0},
-	{2, arcs_58_1},
+	{3, arcs_58_1},
 };
 static arc arcs_59_0[1] = {
-	{130, 1},
+	{136, 1},
 };
-static arc arcs_59_1[2] = {
-	{131, 0},
-	{0, 1},
-};
-static state states_59[2] = {
-	{1, arcs_59_0},
-	{2, arcs_59_1},
-};
-static arc arcs_60_0[1] = {
-	{132, 1},
-};
-static arc arcs_60_1[2] = {
-	{133, 0},
-	{0, 1},
-};
-static state states_60[2] = {
-	{1, arcs_60_0},
-	{2, arcs_60_1},
-};
-static arc arcs_61_0[1] = {
-	{134, 1},
-};
-static arc arcs_61_1[3] = {
-	{135, 0},
-	{136, 0},
-	{0, 1},
-};
-static state states_61[2] = {
-	{1, arcs_61_0},
-	{3, arcs_61_1},
-};
-static arc arcs_62_0[1] = {
-	{137, 1},
-};
-static arc arcs_62_1[3] = {
+static arc arcs_59_1[5] = {
+	{29, 0},
+	{137, 0},
 	{138, 0},
 	{139, 0},
 	{0, 1},
 };
-static state states_62[2] = {
-	{1, arcs_62_0},
-	{3, arcs_62_1},
+static state states_59[2] = {
+	{1, arcs_59_0},
+	{5, arcs_59_1},
 };
-static arc arcs_63_0[1] = {
+static arc arcs_60_0[4] = {
+	{134, 1},
+	{135, 1},
 	{140, 1},
+	{141, 2},
 };
-static arc arcs_63_1[5] = {
-	{29, 0},
-	{141, 0},
-	{142, 0},
-	{143, 0},
-	{0, 1},
+static arc arcs_60_1[1] = {
+	{136, 2},
 };
-static state states_63[2] = {
-	{1, arcs_63_0},
-	{5, arcs_63_1},
-};
-static arc arcs_64_0[4] = {
-	{138, 1},
-	{139, 1},
-	{144, 1},
-	{145, 2},
-};
-static arc arcs_64_1[1] = {
-	{140, 2},
-};
-static arc arcs_64_2[1] = {
+static arc arcs_60_2[1] = {
 	{0, 2},
 };
-static state states_64[3] = {
-	{4, arcs_64_0},
-	{1, arcs_64_1},
-	{1, arcs_64_2},
+static state states_60[3] = {
+	{4, arcs_60_0},
+	{1, arcs_60_1},
+	{1, arcs_60_2},
 };
-static arc arcs_65_0[1] = {
-	{146, 1},
+static arc arcs_61_0[1] = {
+	{142, 1},
 };
-static arc arcs_65_1[3] = {
-	{147, 1},
-	{31, 2},
+static arc arcs_61_1[3] = {
+	{143, 1},
+	{30, 2},
 	{0, 1},
 };
-static arc arcs_65_2[1] = {
-	{140, 3},
+static arc arcs_61_2[1] = {
+	{136, 3},
 };
-static arc arcs_65_3[1] = {
+static arc arcs_61_3[1] = {
 	{0, 3},
 };
-static state states_65[4] = {
-	{1, arcs_65_0},
-	{3, arcs_65_1},
-	{1, arcs_65_2},
-	{1, arcs_65_3},
+static state states_61[4] = {
+	{1, arcs_61_0},
+	{3, arcs_61_1},
+	{1, arcs_61_2},
+	{1, arcs_61_3},
 };
-static arc arcs_66_0[7] = {
+static arc arcs_62_0[7] = {
 	{13, 1},
-	{149, 2},
-	{151, 3},
+	{145, 2},
+	{147, 3},
 	{19, 4},
-	{154, 4},
-	{155, 5},
-	{79, 4},
+	{150, 4},
+	{151, 5},
+	{75, 4},
 };
-static arc arcs_66_1[3] = {
-	{48, 6},
-	{148, 6},
+static arc arcs_62_1[3] = {
+	{44, 6},
+	{144, 6},
 	{15, 4},
 };
-static arc arcs_66_2[2] = {
-	{148, 7},
-	{150, 4},
+static arc arcs_62_2[2] = {
+	{144, 7},
+	{146, 4},
+};
+static arc arcs_62_3[2] = {
+	{148, 8},
+	{149, 4},
+};
+static arc arcs_62_4[1] = {
+	{0, 4},
+};
+static arc arcs_62_5[2] = {
+	{151, 5},
+	{0, 5},
+};
+static arc arcs_62_6[1] = {
+	{15, 4},
+};
+static arc arcs_62_7[1] = {
+	{146, 4},
+};
+static arc arcs_62_8[1] = {
+	{149, 4},
+};
+static state states_62[9] = {
+	{7, arcs_62_0},
+	{3, arcs_62_1},
+	{2, arcs_62_2},
+	{2, arcs_62_3},
+	{1, arcs_62_4},
+	{2, arcs_62_5},
+	{1, arcs_62_6},
+	{1, arcs_62_7},
+	{1, arcs_62_8},
+};
+static arc arcs_63_0[1] = {
+	{22, 1},
+};
+static arc arcs_63_1[3] = {
+	{152, 2},
+	{28, 3},
+	{0, 1},
+};
+static arc arcs_63_2[1] = {
+	{0, 2},
+};
+static arc arcs_63_3[2] = {
+	{22, 4},
+	{0, 3},
+};
+static arc arcs_63_4[2] = {
+	{28, 3},
+	{0, 4},
+};
+static state states_63[5] = {
+	{1, arcs_63_0},
+	{3, arcs_63_1},
+	{1, arcs_63_2},
+	{2, arcs_63_3},
+	{2, arcs_63_4},
+};
+static arc arcs_64_0[3] = {
+	{13, 1},
+	{145, 2},
+	{74, 3},
+};
+static arc arcs_64_1[2] = {
+	{14, 4},
+	{15, 5},
+};
+static arc arcs_64_2[1] = {
+	{153, 6},
+};
+static arc arcs_64_3[1] = {
+	{19, 5},
+};
+static arc arcs_64_4[1] = {
+	{15, 5},
+};
+static arc arcs_64_5[1] = {
+	{0, 5},
+};
+static arc arcs_64_6[1] = {
+	{146, 5},
+};
+static state states_64[7] = {
+	{3, arcs_64_0},
+	{2, arcs_64_1},
+	{1, arcs_64_2},
+	{1, arcs_64_3},
+	{1, arcs_64_4},
+	{1, arcs_64_5},
+	{1, arcs_64_6},
+};
+static arc arcs_65_0[1] = {
+	{154, 1},
+};
+static arc arcs_65_1[2] = {
+	{28, 2},
+	{0, 1},
+};
+static arc arcs_65_2[2] = {
+	{154, 1},
+	{0, 2},
+};
+static state states_65[3] = {
+	{1, arcs_65_0},
+	{2, arcs_65_1},
+	{2, arcs_65_2},
+};
+static arc arcs_66_0[2] = {
+	{22, 1},
+	{23, 2},
+};
+static arc arcs_66_1[2] = {
+	{23, 2},
+	{0, 1},
+};
+static arc arcs_66_2[3] = {
+	{22, 3},
+	{155, 4},
+	{0, 2},
 };
 static arc arcs_66_3[2] = {
-	{152, 8},
-	{153, 4},
+	{155, 4},
+	{0, 3},
 };
 static arc arcs_66_4[1] = {
 	{0, 4},
 };
-static arc arcs_66_5[2] = {
-	{155, 5},
-	{0, 5},
-};
-static arc arcs_66_6[1] = {
-	{15, 4},
-};
-static arc arcs_66_7[1] = {
-	{150, 4},
-};
-static arc arcs_66_8[1] = {
-	{153, 4},
-};
-static state states_66[9] = {
-	{7, arcs_66_0},
-	{3, arcs_66_1},
-	{2, arcs_66_2},
+static state states_66[5] = {
+	{2, arcs_66_0},
+	{2, arcs_66_1},
+	{3, arcs_66_2},
 	{2, arcs_66_3},
 	{1, arcs_66_4},
-	{2, arcs_66_5},
-	{1, arcs_66_6},
-	{1, arcs_66_7},
-	{1, arcs_66_8},
 };
 static arc arcs_67_0[1] = {
-	{22, 1},
+	{23, 1},
 };
-static arc arcs_67_1[3] = {
-	{156, 2},
-	{28, 3},
+static arc arcs_67_1[2] = {
+	{22, 2},
 	{0, 1},
 };
 static arc arcs_67_2[1] = {
 	{0, 2},
 };
-static arc arcs_67_3[2] = {
-	{22, 4},
-	{0, 3},
-};
-static arc arcs_67_4[2] = {
-	{28, 3},
-	{0, 4},
-};
-static state states_67[5] = {
+static state states_67[3] = {
 	{1, arcs_67_0},
-	{3, arcs_67_1},
+	{2, arcs_67_1},
 	{1, arcs_67_2},
-	{2, arcs_67_3},
-	{2, arcs_67_4},
 };
-static arc arcs_68_0[3] = {
-	{13, 1},
-	{149, 2},
-	{78, 3},
+static arc arcs_68_0[1] = {
+	{115, 1},
 };
 static arc arcs_68_1[2] = {
-	{14, 4},
-	{15, 5},
+	{28, 2},
+	{0, 1},
 };
-static arc arcs_68_2[1] = {
-	{157, 6},
+static arc arcs_68_2[2] = {
+	{115, 1},
+	{0, 2},
 };
-static arc arcs_68_3[1] = {
-	{19, 5},
-};
-static arc arcs_68_4[1] = {
-	{15, 5},
-};
-static arc arcs_68_5[1] = {
-	{0, 5},
-};
-static arc arcs_68_6[1] = {
-	{150, 5},
-};
-static state states_68[7] = {
-	{3, arcs_68_0},
+static state states_68[3] = {
+	{1, arcs_68_0},
 	{2, arcs_68_1},
-	{1, arcs_68_2},
-	{1, arcs_68_3},
-	{1, arcs_68_4},
-	{1, arcs_68_5},
-	{1, arcs_68_6},
+	{2, arcs_68_2},
 };
 static arc arcs_69_0[1] = {
-	{158, 1},
+	{22, 1},
 };
 static arc arcs_69_1[2] = {
 	{28, 2},
 	{0, 1},
 };
 static arc arcs_69_2[2] = {
-	{158, 1},
+	{22, 1},
 	{0, 2},
 };
 static state states_69[3] = {
@@ -1468,322 +1472,248 @@
 	{2, arcs_69_1},
 	{2, arcs_69_2},
 };
-static arc arcs_70_0[2] = {
+static arc arcs_70_0[1] = {
 	{22, 1},
-	{23, 2},
 };
-static arc arcs_70_1[2] = {
+static arc arcs_70_1[4] = {
 	{23, 2},
+	{152, 3},
+	{28, 4},
 	{0, 1},
 };
-static arc arcs_70_2[3] = {
-	{22, 3},
-	{159, 4},
-	{0, 2},
+static arc arcs_70_2[1] = {
+	{22, 5},
 };
-static arc arcs_70_3[2] = {
-	{159, 4},
+static arc arcs_70_3[1] = {
 	{0, 3},
 };
-static arc arcs_70_4[1] = {
+static arc arcs_70_4[2] = {
+	{22, 6},
 	{0, 4},
 };
-static state states_70[5] = {
-	{2, arcs_70_0},
-	{2, arcs_70_1},
-	{3, arcs_70_2},
-	{2, arcs_70_3},
-	{1, arcs_70_4},
+static arc arcs_70_5[2] = {
+	{28, 7},
+	{0, 5},
+};
+static arc arcs_70_6[2] = {
+	{28, 4},
+	{0, 6},
+};
+static arc arcs_70_7[2] = {
+	{22, 8},
+	{0, 7},
+};
+static arc arcs_70_8[1] = {
+	{23, 2},
+};
+static state states_70[9] = {
+	{1, arcs_70_0},
+	{4, arcs_70_1},
+	{1, arcs_70_2},
+	{1, arcs_70_3},
+	{2, arcs_70_4},
+	{2, arcs_70_5},
+	{2, arcs_70_6},
+	{2, arcs_70_7},
+	{1, arcs_70_8},
 };
 static arc arcs_71_0[1] = {
-	{23, 1},
+	{156, 1},
 };
-static arc arcs_71_1[2] = {
-	{22, 2},
-	{0, 1},
+static arc arcs_71_1[1] = {
+	{19, 2},
 };
-static arc arcs_71_2[1] = {
-	{0, 2},
+static arc arcs_71_2[2] = {
+	{13, 3},
+	{23, 4},
 };
-static state states_71[3] = {
+static arc arcs_71_3[2] = {
+	{14, 5},
+	{15, 6},
+};
+static arc arcs_71_4[1] = {
+	{24, 7},
+};
+static arc arcs_71_5[1] = {
+	{15, 6},
+};
+static arc arcs_71_6[1] = {
+	{23, 4},
+};
+static arc arcs_71_7[1] = {
+	{0, 7},
+};
+static state states_71[8] = {
 	{1, arcs_71_0},
-	{2, arcs_71_1},
-	{1, arcs_71_2},
+	{1, arcs_71_1},
+	{2, arcs_71_2},
+	{2, arcs_71_3},
+	{1, arcs_71_4},
+	{1, arcs_71_5},
+	{1, arcs_71_6},
+	{1, arcs_71_7},
 };
-static arc arcs_72_0[1] = {
-	{119, 1},
+static arc arcs_72_0[3] = {
+	{157, 1},
+	{29, 2},
+	{30, 3},
 };
 static arc arcs_72_1[2] = {
-	{28, 2},
+	{28, 4},
 	{0, 1},
 };
-static arc arcs_72_2[2] = {
-	{119, 1},
-	{0, 2},
+static arc arcs_72_2[1] = {
+	{22, 5},
 };
-static state states_72[3] = {
-	{1, arcs_72_0},
+static arc arcs_72_3[1] = {
+	{22, 6},
+};
+static arc arcs_72_4[4] = {
+	{157, 1},
+	{29, 2},
+	{30, 3},
+	{0, 4},
+};
+static arc arcs_72_5[2] = {
+	{28, 7},
+	{0, 5},
+};
+static arc arcs_72_6[1] = {
+	{0, 6},
+};
+static arc arcs_72_7[1] = {
+	{30, 3},
+};
+static state states_72[8] = {
+	{3, arcs_72_0},
 	{2, arcs_72_1},
-	{2, arcs_72_2},
+	{1, arcs_72_2},
+	{1, arcs_72_3},
+	{4, arcs_72_4},
+	{2, arcs_72_5},
+	{1, arcs_72_6},
+	{1, arcs_72_7},
 };
 static arc arcs_73_0[1] = {
 	{22, 1},
 };
-static arc arcs_73_1[2] = {
-	{28, 2},
+static arc arcs_73_1[3] = {
+	{152, 2},
+	{27, 3},
 	{0, 1},
 };
-static arc arcs_73_2[2] = {
-	{22, 1},
+static arc arcs_73_2[1] = {
 	{0, 2},
 };
-static state states_73[3] = {
+static arc arcs_73_3[1] = {
+	{22, 2},
+};
+static state states_73[4] = {
 	{1, arcs_73_0},
-	{2, arcs_73_1},
-	{2, arcs_73_2},
+	{3, arcs_73_1},
+	{1, arcs_73_2},
+	{1, arcs_73_3},
 };
-static arc arcs_74_0[1] = {
-	{22, 1},
+static arc arcs_74_0[2] = {
+	{152, 1},
+	{159, 1},
 };
-static arc arcs_74_1[4] = {
-	{23, 2},
-	{156, 3},
-	{28, 4},
+static arc arcs_74_1[1] = {
 	{0, 1},
 };
-static arc arcs_74_2[1] = {
-	{22, 5},
-};
-static arc arcs_74_3[1] = {
-	{0, 3},
-};
-static arc arcs_74_4[2] = {
-	{22, 6},
-	{0, 4},
-};
-static arc arcs_74_5[2] = {
-	{28, 7},
-	{0, 5},
-};
-static arc arcs_74_6[2] = {
-	{28, 4},
-	{0, 6},
-};
-static arc arcs_74_7[2] = {
-	{22, 8},
-	{0, 7},
-};
-static arc arcs_74_8[1] = {
-	{23, 2},
-};
-static state states_74[9] = {
-	{1, arcs_74_0},
-	{4, arcs_74_1},
-	{1, arcs_74_2},
-	{1, arcs_74_3},
-	{2, arcs_74_4},
-	{2, arcs_74_5},
-	{2, arcs_74_6},
-	{2, arcs_74_7},
-	{1, arcs_74_8},
+static state states_74[2] = {
+	{2, arcs_74_0},
+	{1, arcs_74_1},
 };
 static arc arcs_75_0[1] = {
-	{160, 1},
+	{93, 1},
 };
 static arc arcs_75_1[1] = {
-	{19, 2},
+	{58, 2},
 };
-static arc arcs_75_2[2] = {
-	{13, 3},
-	{23, 4},
+static arc arcs_75_2[1] = {
+	{94, 3},
 };
-static arc arcs_75_3[2] = {
-	{14, 5},
-	{15, 6},
+static arc arcs_75_3[1] = {
+	{104, 4},
 };
-static arc arcs_75_4[1] = {
-	{24, 7},
-};
-static arc arcs_75_5[1] = {
-	{15, 6},
-};
-static arc arcs_75_6[1] = {
-	{23, 4},
-};
-static arc arcs_75_7[1] = {
-	{0, 7},
-};
-static state states_75[8] = {
-	{1, arcs_75_0},
-	{1, arcs_75_1},
-	{2, arcs_75_2},
-	{2, arcs_75_3},
-	{1, arcs_75_4},
-	{1, arcs_75_5},
-	{1, arcs_75_6},
-	{1, arcs_75_7},
-};
-static arc arcs_76_0[3] = {
-	{161, 1},
-	{29, 2},
-	{31, 3},
-};
-static arc arcs_76_1[2] = {
-	{28, 4},
-	{0, 1},
-};
-static arc arcs_76_2[1] = {
-	{22, 5},
-};
-static arc arcs_76_3[1] = {
-	{22, 6},
-};
-static arc arcs_76_4[4] = {
-	{161, 1},
-	{29, 2},
-	{31, 3},
+static arc arcs_75_4[2] = {
+	{158, 5},
 	{0, 4},
 };
-static arc arcs_76_5[2] = {
-	{28, 7},
+static arc arcs_75_5[1] = {
 	{0, 5},
 };
-static arc arcs_76_6[1] = {
-	{0, 6},
+static state states_75[6] = {
+	{1, arcs_75_0},
+	{1, arcs_75_1},
+	{1, arcs_75_2},
+	{1, arcs_75_3},
+	{2, arcs_75_4},
+	{1, arcs_75_5},
 };
-static arc arcs_76_7[1] = {
-	{31, 3},
+static arc arcs_76_0[1] = {
+	{89, 1},
 };
-static state states_76[8] = {
-	{3, arcs_76_0},
-	{2, arcs_76_1},
-	{1, arcs_76_2},
+static arc arcs_76_1[1] = {
+	{106, 2},
+};
+static arc arcs_76_2[2] = {
+	{158, 3},
+	{0, 2},
+};
+static arc arcs_76_3[1] = {
+	{0, 3},
+};
+static state states_76[4] = {
+	{1, arcs_76_0},
+	{1, arcs_76_1},
+	{2, arcs_76_2},
 	{1, arcs_76_3},
-	{4, arcs_76_4},
-	{2, arcs_76_5},
-	{1, arcs_76_6},
-	{1, arcs_76_7},
 };
 static arc arcs_77_0[1] = {
 	{22, 1},
 };
-static arc arcs_77_1[3] = {
-	{156, 2},
-	{27, 3},
+static arc arcs_77_1[2] = {
+	{28, 0},
 	{0, 1},
 };
-static arc arcs_77_2[1] = {
-	{0, 2},
-};
-static arc arcs_77_3[1] = {
-	{22, 2},
-};
-static state states_77[4] = {
+static state states_77[2] = {
 	{1, arcs_77_0},
-	{3, arcs_77_1},
-	{1, arcs_77_2},
-	{1, arcs_77_3},
+	{2, arcs_77_1},
 };
-static arc arcs_78_0[2] = {
-	{156, 1},
-	{163, 1},
+static arc arcs_78_0[1] = {
+	{19, 1},
 };
 static arc arcs_78_1[1] = {
 	{0, 1},
 };
 static state states_78[2] = {
-	{2, arcs_78_0},
+	{1, arcs_78_0},
 	{1, arcs_78_1},
 };
 static arc arcs_79_0[1] = {
-	{97, 1},
+	{162, 1},
 };
-static arc arcs_79_1[1] = {
-	{62, 2},
-};
-static arc arcs_79_2[1] = {
-	{98, 3},
-};
-static arc arcs_79_3[1] = {
-	{108, 4},
-};
-static arc arcs_79_4[2] = {
-	{162, 5},
-	{0, 4},
-};
-static arc arcs_79_5[1] = {
-	{0, 5},
-};
-static state states_79[6] = {
-	{1, arcs_79_0},
-	{1, arcs_79_1},
-	{1, arcs_79_2},
-	{1, arcs_79_3},
-	{2, arcs_79_4},
-	{1, arcs_79_5},
-};
-static arc arcs_80_0[1] = {
-	{93, 1},
-};
-static arc arcs_80_1[1] = {
-	{110, 2},
-};
-static arc arcs_80_2[2] = {
-	{162, 3},
-	{0, 2},
-};
-static arc arcs_80_3[1] = {
-	{0, 3},
-};
-static state states_80[4] = {
-	{1, arcs_80_0},
-	{1, arcs_80_1},
-	{2, arcs_80_2},
-	{1, arcs_80_3},
-};
-static arc arcs_81_0[1] = {
-	{22, 1},
-};
-static arc arcs_81_1[2] = {
-	{28, 0},
-	{0, 1},
-};
-static state states_81[2] = {
-	{1, arcs_81_0},
-	{2, arcs_81_1},
-};
-static arc arcs_82_0[1] = {
-	{19, 1},
-};
-static arc arcs_82_1[1] = {
-	{0, 1},
-};
-static state states_82[2] = {
-	{1, arcs_82_0},
-	{1, arcs_82_1},
-};
-static arc arcs_83_0[1] = {
-	{166, 1},
-};
-static arc arcs_83_1[2] = {
+static arc arcs_79_1[2] = {
 	{9, 2},
 	{0, 1},
 };
-static arc arcs_83_2[1] = {
+static arc arcs_79_2[1] = {
 	{0, 2},
 };
-static state states_83[3] = {
-	{1, arcs_83_0},
-	{2, arcs_83_1},
-	{1, arcs_83_2},
+static state states_79[3] = {
+	{1, arcs_79_0},
+	{2, arcs_79_1},
+	{1, arcs_79_2},
 };
-static dfa dfas[84] = {
+static dfa dfas[80] = {
 	{256, "single_input", 0, 3, states_0,
-	 "\004\050\014\040\000\000\000\240\340\251\160\040\113\000\041\000\000\014\241\014\101"},
+	 "\004\050\014\040\000\000\000\012\236\012\007\262\004\020\002\000\300\020\312\020\004"},
 	{257, "file_input", 0, 2, states_1,
-	 "\204\050\014\040\000\000\000\240\340\251\160\040\113\000\041\000\000\014\241\014\101"},
+	 "\204\050\014\040\000\000\000\012\236\012\007\262\004\020\002\000\300\020\312\020\004"},
 	{258, "eval_input", 0, 3, states_2,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
 	{259, "decorator", 0, 7, states_3,
 	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{260, "decorators", 0, 2, states_4,
@@ -1793,176 +1723,168 @@
 	{262, "parameters", 0, 4, states_6,
 	 "\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{263, "typedargslist", 0, 12, states_7,
-	 "\000\040\010\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{264, "tname", 0, 4, states_8,
+	 "\000\000\010\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{264, "tfpdef", 0, 4, states_8,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{265, "tfpdef", 0, 4, states_9,
-	 "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{266, "tfplist", 0, 3, states_10,
-	 "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{267, "varargslist", 0, 12, states_11,
-	 "\000\040\010\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{268, "vname", 0, 2, states_12,
+	{265, "varargslist", 0, 12, states_9,
+	 "\000\000\010\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{266, "vfpdef", 0, 2, states_10,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{269, "vfpdef", 0, 4, states_13,
-	 "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{270, "vfplist", 0, 3, states_14,
-	 "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{271, "stmt", 0, 2, states_15,
-	 "\000\050\014\040\000\000\000\240\340\251\160\040\113\000\041\000\000\014\241\014\101"},
-	{272, "simple_stmt", 0, 4, states_16,
-	 "\000\040\010\040\000\000\000\240\340\251\160\000\000\000\041\000\000\014\241\014\100"},
-	{273, "small_stmt", 0, 2, states_17,
-	 "\000\040\010\040\000\000\000\240\340\251\160\000\000\000\041\000\000\014\241\014\100"},
-	{274, "expr_stmt", 0, 6, states_18,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{275, "augassign", 0, 2, states_19,
-	 "\000\000\000\000\000\000\376\037\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{276, "del_stmt", 0, 3, states_20,
-	 "\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{277, "pass_stmt", 0, 2, states_21,
-	 "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{278, "flow_stmt", 0, 2, states_22,
-	 "\000\000\000\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000\100"},
-	{279, "break_stmt", 0, 2, states_23,
-	 "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{280, "continue_stmt", 0, 2, states_24,
-	 "\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{281, "return_stmt", 0, 3, states_25,
+	{267, "stmt", 0, 2, states_11,
+	 "\000\050\014\040\000\000\000\012\236\012\007\262\004\020\002\000\300\020\312\020\004"},
+	{268, "simple_stmt", 0, 4, states_12,
+	 "\000\040\010\040\000\000\000\012\236\012\007\000\000\020\002\000\300\020\312\000\004"},
+	{269, "small_stmt", 0, 2, states_13,
+	 "\000\040\010\040\000\000\000\012\236\012\007\000\000\020\002\000\300\020\312\000\004"},
+	{270, "expr_stmt", 0, 6, states_14,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{271, "augassign", 0, 2, states_15,
+	 "\000\000\000\000\000\340\377\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{272, "del_stmt", 0, 3, states_16,
+	 "\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{273, "pass_stmt", 0, 2, states_17,
+	 "\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{274, "flow_stmt", 0, 2, states_18,
+	 "\000\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\000\004"},
+	{275, "break_stmt", 0, 2, states_19,
+	 "\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{276, "continue_stmt", 0, 2, states_20,
+	 "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{277, "return_stmt", 0, 3, states_21,
+	 "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{278, "yield_stmt", 0, 2, states_22,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
+	{279, "raise_stmt", 0, 7, states_23,
+	 "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{280, "import_stmt", 0, 2, states_24,
+	 "\000\000\000\000\000\000\000\000\200\002\000\000\000\000\000\000\000\000\000\000\000"},
+	{281, "import_name", 0, 3, states_25,
 	 "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{282, "yield_stmt", 0, 2, states_26,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100"},
-	{283, "raise_stmt", 0, 7, states_27,
-	 "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000"},
-	{284, "import_stmt", 0, 2, states_28,
-	 "\000\000\000\000\000\000\000\000\000\050\000\000\000\000\000\000\000\000\000\000\000"},
-	{285, "import_name", 0, 3, states_29,
-	 "\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000"},
-	{286, "import_from", 0, 8, states_30,
-	 "\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
-	{287, "import_as_name", 0, 4, states_31,
+	{282, "import_from", 0, 8, states_26,
+	 "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000"},
+	{283, "import_as_name", 0, 4, states_27,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{288, "dotted_as_name", 0, 4, states_32,
+	{284, "dotted_as_name", 0, 4, states_28,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{289, "import_as_names", 0, 3, states_33,
+	{285, "import_as_names", 0, 3, states_29,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{290, "dotted_as_names", 0, 2, states_34,
+	{286, "dotted_as_names", 0, 2, states_30,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{291, "dotted_name", 0, 2, states_35,
+	{287, "dotted_name", 0, 2, states_31,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{292, "global_stmt", 0, 3, states_36,
-	 "\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
-	{293, "nonlocal_stmt", 0, 3, states_37,
-	 "\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
-	{294, "assert_stmt", 0, 5, states_38,
-	 "\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
-	{295, "compound_stmt", 0, 2, states_39,
-	 "\000\010\004\000\000\000\000\000\000\000\000\040\113\000\000\000\000\000\000\000\001"},
-	{296, "if_stmt", 0, 8, states_40,
-	 "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
-	{297, "while_stmt", 0, 8, states_41,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
-	{298, "for_stmt", 0, 10, states_42,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000"},
-	{299, "try_stmt", 0, 13, states_43,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"},
-	{300, "with_stmt", 0, 6, states_44,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
-	{301, "with_var", 0, 3, states_45,
+	{288, "global_stmt", 0, 3, states_32,
+	 "\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"},
+	{289, "nonlocal_stmt", 0, 3, states_33,
+	 "\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"},
+	{290, "assert_stmt", 0, 5, states_34,
 	 "\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000"},
-	{302, "except_clause", 0, 5, states_46,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000"},
-	{303, "suite", 0, 5, states_47,
-	 "\004\040\010\040\000\000\000\240\340\251\160\000\000\000\041\000\000\014\241\014\100"},
-	{304, "test", 0, 6, states_48,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{305, "test_nocond", 0, 2, states_49,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{306, "lambdef", 0, 5, states_50,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000"},
-	{307, "lambdef_nocond", 0, 5, states_51,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000"},
-	{308, "or_test", 0, 2, states_52,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\040\000\000\014\241\014\000"},
-	{309, "and_test", 0, 2, states_53,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\040\000\000\014\241\014\000"},
-	{310, "not_test", 0, 3, states_54,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\040\000\000\014\241\014\000"},
-	{311, "comparison", 0, 2, states_55,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{312, "comp_op", 0, 4, states_56,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\040\376\000\000\000\000\000"},
-	{313, "star_expr", 0, 3, states_57,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{314, "expr", 0, 2, states_58,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{315, "xor_expr", 0, 2, states_59,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{316, "and_expr", 0, 2, states_60,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{317, "shift_expr", 0, 2, states_61,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{318, "arith_expr", 0, 2, states_62,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{319, "term", 0, 2, states_63,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{320, "factor", 0, 3, states_64,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{321, "power", 0, 4, states_65,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\240\014\000"},
-	{322, "atom", 0, 9, states_66,
-	 "\000\040\010\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\240\014\000"},
-	{323, "testlist_comp", 0, 5, states_67,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{324, "trailer", 0, 7, states_68,
-	 "\000\040\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\040\000\000"},
-	{325, "subscriptlist", 0, 3, states_69,
-	 "\000\040\210\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{326, "subscript", 0, 5, states_70,
-	 "\000\040\210\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{327, "sliceop", 0, 3, states_71,
-	 "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{328, "exprlist", 0, 3, states_72,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\000\000\000\014\241\014\000"},
-	{329, "testlist", 0, 3, states_73,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{330, "dictorsetmaker", 0, 9, states_74,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{331, "classdef", 0, 8, states_75,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
-	{332, "arglist", 0, 8, states_76,
-	 "\000\040\010\240\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{333, "argument", 0, 4, states_77,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{334, "comp_iter", 0, 2, states_78,
-	 "\000\000\000\000\000\000\000\000\000\000\000\040\002\000\000\000\000\000\000\000\000"},
-	{335, "comp_for", 0, 6, states_79,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000"},
-	{336, "comp_if", 0, 4, states_80,
+	{291, "compound_stmt", 0, 2, states_35,
+	 "\000\010\004\000\000\000\000\000\000\000\000\262\004\000\000\000\000\000\000\020\000"},
+	{292, "if_stmt", 0, 8, states_36,
+	 "\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
+	{293, "while_stmt", 0, 8, states_37,
+	 "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
+	{294, "for_stmt", 0, 10, states_38,
 	 "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
-	{337, "testlist1", 0, 2, states_81,
-	 "\000\040\010\040\000\000\000\000\000\200\000\000\000\000\041\000\000\014\241\014\000"},
-	{338, "encoding_decl", 0, 2, states_82,
+	{295, "try_stmt", 0, 13, states_39,
+	 "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"},
+	{296, "with_stmt", 0, 6, states_40,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000"},
+	{297, "with_var", 0, 3, states_41,
+	 "\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"},
+	{298, "except_clause", 0, 5, states_42,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
+	{299, "suite", 0, 5, states_43,
+	 "\004\040\010\040\000\000\000\012\236\012\007\000\000\020\002\000\300\020\312\000\004"},
+	{300, "test", 0, 6, states_44,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{301, "test_nocond", 0, 2, states_45,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{302, "lambdef", 0, 5, states_46,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"},
+	{303, "lambdef_nocond", 0, 5, states_47,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"},
+	{304, "or_test", 0, 2, states_48,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\002\000\300\020\312\000\000"},
+	{305, "and_test", 0, 2, states_49,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\002\000\300\020\312\000\000"},
+	{306, "not_test", 0, 3, states_50,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\002\000\300\020\312\000\000"},
+	{307, "comparison", 0, 2, states_51,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{308, "comp_op", 0, 4, states_52,
+	 "\000\000\000\000\000\000\000\000\000\000\000\100\000\000\342\017\000\000\000\000\000"},
+	{309, "star_expr", 0, 3, states_53,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{310, "expr", 0, 2, states_54,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{311, "xor_expr", 0, 2, states_55,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{312, "and_expr", 0, 2, states_56,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{313, "shift_expr", 0, 2, states_57,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{314, "arith_expr", 0, 2, states_58,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{315, "term", 0, 2, states_59,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{316, "factor", 0, 3, states_60,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{317, "power", 0, 4, states_61,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\312\000\000"},
+	{318, "atom", 0, 9, states_62,
+	 "\000\040\010\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\312\000\000"},
+	{319, "testlist_comp", 0, 5, states_63,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{320, "trailer", 0, 7, states_64,
+	 "\000\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\002\000\000"},
+	{321, "subscriptlist", 0, 3, states_65,
+	 "\000\040\210\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{322, "subscript", 0, 5, states_66,
+	 "\000\040\210\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{323, "sliceop", 0, 3, states_67,
+	 "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{324, "exprlist", 0, 3, states_68,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\000\000\000\300\020\312\000\000"},
+	{325, "testlist", 0, 3, states_69,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{326, "dictorsetmaker", 0, 9, states_70,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{327, "classdef", 0, 8, states_71,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000"},
+	{328, "arglist", 0, 8, states_72,
+	 "\000\040\010\140\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{329, "argument", 0, 4, states_73,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{330, "comp_iter", 0, 2, states_74,
+	 "\000\000\000\000\000\000\000\000\000\000\000\042\000\000\000\000\000\000\000\000\000"},
+	{331, "comp_for", 0, 6, states_75,
+	 "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
+	{332, "comp_if", 0, 4, states_76,
+	 "\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
+	{333, "testlist1", 0, 2, states_77,
+	 "\000\040\010\040\000\000\000\000\000\010\000\000\000\020\002\000\300\020\312\000\000"},
+	{334, "encoding_decl", 0, 2, states_78,
 	 "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{339, "yield_expr", 0, 3, states_83,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100"},
+	{335, "yield_expr", 0, 3, states_79,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
 };
-static label labels[167] = {
+static label labels[163] = {
 	{0, "EMPTY"},
 	{256, 0},
 	{4, 0},
-	{272, 0},
-	{295, 0},
+	{268, 0},
+	{291, 0},
 	{257, 0},
-	{271, 0},
+	{267, 0},
 	{0, 0},
 	{258, 0},
-	{329, 0},
+	{325, 0},
 	{259, 0},
 	{50, 0},
-	{291, 0},
+	{287, 0},
 	{7, 0},
-	{332, 0},
+	{328, 0},
 	{8, 0},
 	{260, 0},
 	{261, 0},
@@ -1970,33 +1892,29 @@
 	{1, 0},
 	{262, 0},
 	{51, 0},
-	{304, 0},
+	{300, 0},
 	{11, 0},
-	{303, 0},
+	{299, 0},
 	{263, 0},
-	{265, 0},
+	{264, 0},
 	{22, 0},
 	{12, 0},
 	{16, 0},
-	{264, 0},
 	{36, 0},
+	{265, 0},
 	{266, 0},
-	{267, 0},
 	{269, 0},
-	{268, 0},
-	{270, 0},
-	{273, 0},
 	{13, 0},
+	{270, 0},
+	{272, 0},
+	{273, 0},
 	{274, 0},
-	{276, 0},
-	{277, 0},
-	{278, 0},
-	{284, 0},
-	{292, 0},
-	{293, 0},
-	{294, 0},
-	{275, 0},
-	{339, 0},
+	{280, 0},
+	{288, 0},
+	{289, 0},
+	{290, 0},
+	{271, 0},
+	{335, 0},
 	{37, 0},
 	{38, 0},
 	{39, 0},
@@ -2010,37 +1928,37 @@
 	{47, 0},
 	{49, 0},
 	{1, "del"},
-	{328, 0},
+	{324, 0},
 	{1, "pass"},
+	{275, 0},
+	{276, 0},
+	{277, 0},
 	{279, 0},
-	{280, 0},
-	{281, 0},
-	{283, 0},
-	{282, 0},
+	{278, 0},
 	{1, "break"},
 	{1, "continue"},
 	{1, "return"},
 	{1, "raise"},
-	{285, 0},
-	{286, 0},
+	{281, 0},
+	{282, 0},
 	{1, "import"},
-	{290, 0},
+	{286, 0},
 	{1, "from"},
 	{23, 0},
 	{52, 0},
-	{289, 0},
-	{287, 0},
+	{285, 0},
+	{283, 0},
 	{1, "as"},
-	{288, 0},
+	{284, 0},
 	{1, "global"},
 	{1, "nonlocal"},
 	{1, "assert"},
+	{292, 0},
+	{293, 0},
+	{294, 0},
+	{295, 0},
 	{296, 0},
-	{297, 0},
-	{298, 0},
-	{299, 0},
-	{300, 0},
-	{331, 0},
+	{327, 0},
 	{1, "if"},
 	{1, "elif"},
 	{1, "else"},
@@ -2048,27 +1966,27 @@
 	{1, "for"},
 	{1, "in"},
 	{1, "try"},
-	{302, 0},
+	{298, 0},
 	{1, "finally"},
 	{1, "with"},
-	{301, 0},
-	{314, 0},
+	{297, 0},
+	{310, 0},
 	{1, "except"},
 	{5, 0},
 	{6, 0},
-	{308, 0},
-	{306, 0},
-	{305, 0},
-	{307, 0},
+	{304, 0},
+	{302, 0},
+	{301, 0},
+	{303, 0},
 	{1, "lambda"},
-	{309, 0},
+	{305, 0},
 	{1, "or"},
-	{310, 0},
+	{306, 0},
 	{1, "and"},
 	{1, "not"},
-	{311, 0},
-	{313, 0},
-	{312, 0},
+	{307, 0},
+	{309, 0},
+	{308, 0},
 	{20, 0},
 	{21, 0},
 	{28, 0},
@@ -2076,49 +1994,49 @@
 	{30, 0},
 	{29, 0},
 	{1, "is"},
-	{315, 0},
+	{311, 0},
 	{18, 0},
-	{316, 0},
+	{312, 0},
 	{33, 0},
-	{317, 0},
+	{313, 0},
 	{19, 0},
-	{318, 0},
+	{314, 0},
 	{34, 0},
 	{35, 0},
-	{319, 0},
+	{315, 0},
 	{14, 0},
 	{15, 0},
-	{320, 0},
+	{316, 0},
 	{17, 0},
 	{24, 0},
 	{48, 0},
 	{32, 0},
-	{321, 0},
-	{322, 0},
-	{324, 0},
-	{323, 0},
+	{317, 0},
+	{318, 0},
+	{320, 0},
+	{319, 0},
 	{9, 0},
 	{10, 0},
 	{26, 0},
-	{330, 0},
+	{326, 0},
 	{27, 0},
 	{2, 0},
 	{3, 0},
-	{335, 0},
-	{325, 0},
-	{326, 0},
-	{327, 0},
+	{331, 0},
+	{321, 0},
+	{322, 0},
+	{323, 0},
 	{1, "class"},
+	{329, 0},
+	{330, 0},
+	{332, 0},
 	{333, 0},
 	{334, 0},
-	{336, 0},
-	{337, 0},
-	{338, 0},
 	{1, "yield"},
 };
 grammar _PyParser_Grammar = {
-	84,
+	80,
 	dfas,
-	{167, labels},
+	{163, labels},
 	256
 };
diff --git a/Python/symtable.c b/Python/symtable.c
index 1e03069..89c7914 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -180,10 +180,8 @@
 static int symtable_visit_comprehension(struct symtable *st, comprehension_ty);
 static int symtable_visit_keyword(struct symtable *st, keyword_ty);
 static int symtable_visit_slice(struct symtable *st, slice_ty);
-static int symtable_visit_params(struct symtable *st, asdl_seq *args, int top,
-                                 int annotations);
-static int symtable_visit_params_nested(struct symtable *st, asdl_seq *args,
-                                        int annotations);
+static int symtable_visit_params(struct symtable *st, asdl_seq *args);
+static int symtable_visit_argannotations(struct symtable *st, asdl_seq *args);
 static int symtable_implicit_arg(struct symtable *st, int pos);
 static int symtable_visit_annotations(struct symtable *st, stmt_ty s);
 
@@ -1328,79 +1326,51 @@
 }
 
 static int 
-symtable_visit_params(struct symtable *st, asdl_seq *args, int toplevel,
-                      int annotations)
+symtable_visit_params(struct symtable *st, asdl_seq *args)
 {
 	int i;
 
 	if (!args)
 		return -1;
 	
-        /* go through all the toplevel arguments first */
 	for (i = 0; i < asdl_seq_LEN(args); i++) {
 		arg_ty arg = (arg_ty)asdl_seq_GET(args, i);
-		if (arg->kind == SimpleArg_kind) {
-			if (!annotations) {
-				if (!symtable_add_def(st,
-				                      arg->v.SimpleArg.arg,
-				                      DEF_PARAM))
-					return 0;
-			}
-			else if (arg->v.SimpleArg.annotation)
-				VISIT(st, expr, arg->v.SimpleArg.annotation);
-		}
-		else if (arg->kind == NestedArgs_kind) {
-			if (toplevel && !annotations) {
-				if (!symtable_implicit_arg(st, i))
-					return 0;
-			}
-		}
-		else {
-		        PyErr_SetString(PyExc_SyntaxError,
-					"invalid expression in parameter list");
-		        PyErr_SyntaxLocation(st->st_filename,
-				             st->st_cur->ste_lineno);
-			return 0;
-		}
-	}
-
-	if (!toplevel) {
-		if (!symtable_visit_params_nested(st, args, annotations))
+		if (!symtable_add_def(st, arg->arg, DEF_PARAM))
 			return 0;
 	}
 
 	return 1;
 }
 
-static int
-symtable_visit_params_nested(struct symtable *st, asdl_seq *args,
-                             int annotations)
+static int 
+symtable_visit_argannotations(struct symtable *st, asdl_seq *args)
 {
 	int i;
+
+	if (!args)
+		return -1;
+	
 	for (i = 0; i < asdl_seq_LEN(args); i++) {
 		arg_ty arg = (arg_ty)asdl_seq_GET(args, i);
-		if (arg->kind == NestedArgs_kind &&
-		    !symtable_visit_params(st, arg->v.NestedArgs.args, 0,
-		                           annotations))
-			return 0;
+		if (arg->annotation)
+			VISIT(st, expr, arg->annotation);
 	}
 
 	return 1;
 }
 
-
 static int
 symtable_visit_annotations(struct symtable *st, stmt_ty s)
 {
 	arguments_ty a = s->v.FunctionDef.args;
 	
-	if (a->args && !symtable_visit_params(st, a->args, 1, 1))
+	if (a->args && !symtable_visit_argannotations(st, a->args))
 		return 0;
 	if (a->varargannotation)
 		VISIT(st, expr, a->varargannotation);
 	if (a->kwargannotation)
 		VISIT(st, expr, a->kwargannotation);
-	if (a->kwonlyargs && !symtable_visit_params(st, a->kwonlyargs, 1, 1))
+	if (a->kwonlyargs && !symtable_visit_argannotations(st, a->kwonlyargs))
 		return 0;
 	if (s->v.FunctionDef.returns)
 		VISIT(st, expr, s->v.FunctionDef.returns);
@@ -1413,9 +1383,9 @@
 	/* skip default arguments inside function block
 	   XXX should ast be different?
 	*/
-	if (a->args && !symtable_visit_params(st, a->args, 1, 0))
+	if (a->args && !symtable_visit_params(st, a->args))
 		return 0;
-	if (a->kwonlyargs && !symtable_visit_params(st, a->kwonlyargs, 1, 0))
+	if (a->kwonlyargs && !symtable_visit_params(st, a->kwonlyargs))
 		return 0;
 	if (a->vararg) {
 		if (!symtable_add_def(st, a->vararg, DEF_PARAM))
@@ -1427,8 +1397,6 @@
 			return 0;
 		st->st_cur->ste_varkeywords = 1;
 	}
-	if (a->args && !symtable_visit_params_nested(st, a->args, 0))
-		return 0;
 	return 1;
 }