[Scummvm-git-logs] scummvm master -> e9ca67354361b7ef2586a3ae97b2940c218504f4

sev- sev at scummvm.org
Fri May 22 22:25:03 UTC 2020


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
bbdf057678 DIRECTOR: Optimized 'fast' flag processing
18b13d1e39 DIRECTOR: LINGO: Another case of empty line processing in preprocessor
f0ae1ff82c DIRECTOR: LINGO: Added code patches for Jman-win
e9ca673543 DIRECTOR: LINGO: Dropped 'loop' as a separate keyword, use 'go loop'


Commit: bbdf05767829de5552a84747336366e4a0151aaa
    https://github.com/scummvm/scummvm/commit/bbdf05767829de5552a84747336366e4a0151aaa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-22T19:05:19+02:00

Commit Message:
DIRECTOR: Optimized 'fast' flag processing

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 09018bb95e..f178710cdb 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1718,7 +1718,7 @@ void Score::startLoop() {
 }
 
 void Score::update() {
-	if (g_system->getMillis() < _nextFrameTime) {
+	if (g_system->getMillis() < _nextFrameTime && !debugChannelSet(-1, kDebugFast)) {
 		renderZoomBox(true);
 
 		if (!_vm->_newMovieStarted)
@@ -1802,9 +1802,6 @@ void Score::update() {
 			// Delay
 			_nextFrameTime = g_system->getMillis() + (256 - tempo) * 1000;
 
-			if (debugChannelSet(-1, kDebugFast))
-				_nextFrameTime = g_system->getMillis();
-
 			return;
 		} else if (tempo <= 60) {
 			// FPS
@@ -1833,9 +1830,6 @@ void Score::update() {
 	if (debugChannelSet(-1, kDebugSlow))
 		_nextFrameTime += 1000;
 
-	if (debugChannelSet(-1, kDebugFast))
-		_nextFrameTime = g_system->getMillis();
-
 	if (debugChannelSet(-1, kDebugFewFramesOnly))
 		_framesRan++;
 }


Commit: 18b13d1e396afcde514904e7ac60c64ddfcfd75a
    https://github.com/scummvm/scummvm/commit/18b13d1e396afcde514904e7ac60c64ddfcfd75a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-22T19:55:48+02:00

Commit Message:
DIRECTOR: LINGO: Another case of empty line processing in preprocessor

Changed paths:
    engines/director/lingo/lingo-preprocessor.cpp


diff --git a/engines/director/lingo/lingo-preprocessor.cpp b/engines/director/lingo/lingo-preprocessor.cpp
index d195ce964e..e207a2dabc 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -249,6 +249,10 @@ Common::String Lingo::codePreprocessor(const char *s, ScriptType type, uint16 id
 				elseif = true;
 			} else if (tok.empty()) {
 				debugC(2, kDebugLingoParse, "lonely-else");
+
+				if (*s)	// copy newline symbol
+					res += *s++;
+
 				continue;
 			}
 


Commit: f0ae1ff82c4f5f25b678ac15d6f14045dffe9405
    https://github.com/scummvm/scummvm/commit/f0ae1ff82c4f5f25b678ac15d6f14045dffe9405
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-22T19:57:59+02:00

Commit Message:
DIRECTOR: LINGO: Added code patches for Jman-win

Changed paths:
    engines/director/lingo/lingo-patcher.cpp


diff --git a/engines/director/lingo/lingo-patcher.cpp b/engines/director/lingo/lingo-patcher.cpp
index ea42c92958..e755bef087 100644
--- a/engines/director/lingo/lingo-patcher.cpp
+++ b/engines/director/lingo/lingo-patcher.cpp
@@ -63,6 +63,11 @@ struct ScriptPatch {
 	{"warlock", kPlatformWindows, "STAMBUL/DRUNK", kMovieScript, 5,
 			5, "end if", ""},
 
+
+	// Unbalanced 'end if' at the end of the script
+	{"jman", kPlatformWindows, "mmm/TSA RR 06", kFrameScript, 26,
+			17, "end if", ""},
+
 	{nullptr, kPlatformUnknown, nullptr, kNoneScript, 0, 0, nullptr, nullptr}
 };
 


Commit: e9ca67354361b7ef2586a3ae97b2940c218504f4
    https://github.com/scummvm/scummvm/commit/e9ca67354361b7ef2586a3ae97b2940c218504f4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-23T00:24:22+02:00

Commit Message:
DIRECTOR: LINGO: Dropped 'loop' as a separate keyword, use 'go loop'

Changed paths:
    engines/director/lingo/lingo-gr.cpp
    engines/director/lingo/lingo-gr.h
    engines/director/lingo/lingo-gr.y
    engines/director/lingo/lingo-lex.cpp
    engines/director/lingo/lingo-lex.l


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 0fbea2e73f..da8e7d7cb9 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -205,10 +205,10 @@ extern int yydebug;
     tEXIT = 293,                   /* tEXIT  */
     tGLOBAL = 294,                 /* tGLOBAL  */
     tGO = 295,                     /* tGO  */
-    tIF = 296,                     /* tIF  */
-    tIN = 297,                     /* tIN  */
-    tINTO = 298,                   /* tINTO  */
-    tLOOP = 299,                   /* tLOOP  */
+    tGOLOOP = 296,                 /* tGOLOOP  */
+    tIF = 297,                     /* tIF  */
+    tIN = 298,                     /* tIN  */
+    tINTO = 299,                   /* tINTO  */
     tMACRO = 300,                  /* tMACRO  */
     tMOVIE = 301,                  /* tMOVIE  */
     tNEXT = 302,                   /* tNEXT  */
@@ -340,10 +340,10 @@ enum yysymbol_kind_t
   YYSYMBOL_tEXIT = 38,                     /* tEXIT  */
   YYSYMBOL_tGLOBAL = 39,                   /* tGLOBAL  */
   YYSYMBOL_tGO = 40,                       /* tGO  */
-  YYSYMBOL_tIF = 41,                       /* tIF  */
-  YYSYMBOL_tIN = 42,                       /* tIN  */
-  YYSYMBOL_tINTO = 43,                     /* tINTO  */
-  YYSYMBOL_tLOOP = 44,                     /* tLOOP  */
+  YYSYMBOL_tGOLOOP = 41,                   /* tGOLOOP  */
+  YYSYMBOL_tIF = 42,                       /* tIF  */
+  YYSYMBOL_tIN = 43,                       /* tIN  */
+  YYSYMBOL_tINTO = 44,                     /* tINTO  */
   YYSYMBOL_tMACRO = 45,                    /* tMACRO  */
   YYSYMBOL_tMOVIE = 46,                    /* tMOVIE  */
   YYSYMBOL_tNEXT = 47,                     /* tNEXT  */
@@ -764,7 +764,7 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  128
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2356
+#define YYLAST   2389
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  104
@@ -870,8 +870,8 @@ yysymbol_name (yysymbol_kind_t yysymbol)
   "THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "BLTIN", "FBLTIN",
   "RBLTIN", "THEFBLTIN", "ID", "STRING", "HANDLER", "SYMBOL", "ENDCLAUSE",
   "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD", "THEOBJECTREF", "tDOWN",
-  "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tIF", "tIN", "tINTO",
-  "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
+  "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
+  "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
   "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE",
   "tFACTORY", "tOPEN", "tPLAY", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ",
   "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
@@ -912,7 +912,7 @@ static const yytype_int16 yytoknum[] =
 };
 #endif
 
-#define YYPACT_NINF (-278)
+#define YYPACT_NINF (-279)
 
 #define yypact_value_is_default(Yyn) \
   ((Yyn) == YYPACT_NINF)
@@ -926,44 +926,44 @@ static const yytype_int16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     776,   -86,  -278,  -278,    69,  -278,   598,   314,    69,   -29,
-     499,  -278,  -278,  -278,  -278,  -278,  -278,   -30,  -278,  1623,
-    -278,  -278,   -10,  1779,    43,   136,    47,    61,  1861,  1660,
-    -278,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  -278,  -278,
-    1861,  1861,  1861,   409,    50,    -8,  -278,  -278,  -278,  -278,
-    1861,   -27,  1861,  1459,  -278,  2248,  -278,  -278,  -278,  -278,
-    -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,    -7,  1779,
-    1742,  2248,    14,  1742,    14,  -278,    69,  1742,  2248,    20,
-     687,  -278,  -278,    95,  -278,  1861,  -278,    76,  -278,   401,
-    -278,    97,  -278,    98,   168,    99,  -278,    11,    69,    69,
-      15,    72,    74,  -278,  2145,   401,  -278,   103,  -278,  1853,
-    1901,  1934,  1967,  2215,  2132,   105,   107,  -278,  -278,  2178,
-      48,    54,  -278,  2248,    56,    59,    64,  -278,  -278,   776,
-    2248,  -278,  -278,  2248,  -278,  -278,  1861,  2248,  -278,  -278,
+     776,   -82,  -279,  -279,    72,  -279,   598,   314,    72,   -27,
+     499,  -279,  -279,  -279,  -279,  -279,  -279,    -9,  -279,  1623,
+    -279,  -279,  -279,    -2,  1779,    46,    43,    33,    37,  1861,
+    1660,  -279,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  -279,
+    -279,  1861,  1861,  1861,   409,    74,   -17,  -279,  -279,  -279,
+    -279,  1861,   -24,  1861,  1459,  -279,  2281,  -279,  -279,  -279,
+    -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,   -16,
+    1779,  1742,  2281,   -10,  1742,   -10,  -279,    72,  1742,  2281,
+      -3,   687,  -279,  -279,    86,  1861,  -279,    54,  -279,  1853,
+    -279,   103,  -279,   105,   381,   107,  -279,   -15,    72,    72,
+      -8,    97,   100,  -279,  2178,  1853,  -279,   128,  -279,  1901,
+    1934,  1967,  2000,  2248,  2165,   129,   131,  -279,  -279,  2211,
+      55,    56,  -279,  2281,    59,    62,    64,  -279,  -279,   776,
+    2281,  -279,  -279,  2281,  -279,  -279,  1861,  2281,  -279,  -279,
     1861,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  1861,
-    1861,  1861,  1861,  1861,  1861,  1861,  1861,   135,  1742,   168,
-    2178,     2,  1861,     8,  -278,    10,  1861,    14,   135,  -278,
-      65,  2248,  1861,  -278,  -278,    69,   -17,  1861,  1861,  -278,
-    1861,  1861,    27,   125,  1861,  1861,  1861,  -278,  1861,  -278,
-    -278,    77,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  1861,
-    1861,  1861,  -278,  -278,  -278,    83,  -278,  -278,    69,    69,
-    -278,  1861,    -9,  -278,  -278,  1861,  1861,   123,  -278,  2248,
-      24,    24,    24,    24,  2261,  2261,  -278,   -37,    24,    24,
-      24,    24,   -37,   -46,   -46,  -278,  -278,  -278,   -55,  -278,
-    2248,  -278,  -278,  2248,   -25,   158,  2248,  -278,   142,  -278,
-    -278,  2248,  2248,  2248,    24,  1861,  1861,   170,  2248,    24,
-    2248,  2248,   171,  2248,  2000,  2248,  2033,  2248,  2066,  2248,
-    2099,  2248,  2248,  1541,  -278,   172,  -278,  -278,  2248,    48,
-      54,  -278,  1203,  2248,  2248,  -278,   146,  -278,   174,  -278,
-    -278,   135,  1861,  2248,    24,    69,  -278,  1861,  1861,  1861,
-    1861,  -278,  1288,  -278,  -278,  -278,   114,  -278,    -3,  1117,
-    1541,  -278,  -278,  -278,   -12,  2248,   148,  2248,  2248,  2248,
-    2248,  -278,   115,  -278,  1203,   150,  1861,  -278,  -278,   862,
-     947,  -278,  1861,  -278,   119,  1861,  2248,    75,   -20,   181,
-    -278,  2248,  -278,  2248,  -278,  -278,  -278,  -278,  1861,   122,
-    -278,  -278,  -278,   112,  1032,  -278,  1203,  -278,  2248,  -278,
-    1541,   187,  1203,   129,  1373,   164,  -278,  -278,   131,  -278,
-     133,  -278,   134,  -278,  -278,  1117,  -278,  -278
+    1861,  1861,  1861,  1861,  1861,  1861,  1861,   139,  1742,   381,
+    2211,    11,  1861,    23,  -279,    25,  1861,   -10,   139,  -279,
+      68,  2281,  1861,  -279,  -279,    72,    30,  1861,  1861,  -279,
+    1861,  1861,     1,   121,  1861,  1861,  1861,  -279,  1861,  -279,
+    -279,    76,  1861,  1861,  1861,  1861,  1861,  1861,  1861,  1861,
+    1861,  1861,  -279,  -279,  -279,    77,  -279,  -279,    72,    72,
+    -279,  1861,    -7,  -279,  -279,  1861,  1861,   130,  -279,  2281,
+      22,    22,    22,    22,  2294,  2294,  -279,    26,    22,    22,
+      22,    22,    26,   -61,   -61,  -279,  -279,  -279,   -57,  -279,
+    2281,  -279,  -279,  2281,   -30,   158,  2281,  -279,   141,  -279,
+    -279,  2281,  2281,  2281,    22,  1861,  1861,   170,  2281,    22,
+    2281,  2281,   171,  2281,  2033,  2281,  2066,  2281,  2099,  2281,
+    2132,  2281,  2281,  1541,  -279,   172,  -279,  -279,  2281,    55,
+      56,  -279,  1203,  2281,  2281,  -279,   146,  -279,   174,  -279,
+    -279,   139,  1861,  2281,    22,    72,  -279,  1861,  1861,  1861,
+    1861,  -279,  1288,  -279,  -279,  -279,   115,  -279,   -29,  1117,
+    1541,  -279,  -279,  -279,   -12,  2281,   149,  2281,  2281,  2281,
+    2281,  -279,   116,  -279,  1203,   152,  1861,  -279,  -279,   862,
+     947,  -279,  1861,  -279,   120,  1861,  2281,    90,   -28,   182,
+    -279,  2281,  -279,  2281,  -279,  -279,  -279,  -279,  1861,   125,
+    -279,  -279,  -279,   113,  1032,  -279,  1203,  -279,  2281,  -279,
+    1541,   190,  1203,   132,  1373,   164,  -279,  -279,   133,  -279,
+     135,  -279,   136,  -279,  -279,  1117,  -279,  -279
 };
 
   /* YYDEFACTSTATE-NUM -- Default reduction number in state STATE-NUM.
@@ -973,13 +973,13 @@ static const yytype_uint8 yydefact[] =
 {
        0,     0,    55,    60,     0,    56,     0,     0,     0,     0,
        0,    58,    57,   138,   144,    71,    72,   110,   111,     0,
-      47,   140,     0,     0,     0,     0,     0,     0,     0,     0,
-     115,     0,     0,     0,     0,     0,     0,     0,   113,   148,
-       0,     0,     0,     0,     0,     2,    73,    27,     6,    28,
-       0,     0,     0,     0,    64,    21,   105,    65,    22,   107,
-     108,     5,    49,    20,    62,    63,    59,    70,    59,     0,
-       0,   159,   118,     0,    67,   104,     0,     0,   161,   157,
-       0,    49,   109,     0,   127,     0,   128,     0,   129,   130,
+     127,    47,   140,     0,     0,     0,     0,     0,     0,     0,
+       0,   115,     0,     0,     0,     0,     0,     0,     0,   113,
+     148,     0,     0,     0,     0,     0,     2,    73,    27,     6,
+      28,     0,     0,     0,     0,    64,    21,   105,    65,    22,
+     107,   108,     5,    49,    20,    62,    63,    59,    70,    59,
+       0,     0,   159,   118,     0,    67,   104,     0,     0,   161,
+     157,     0,    49,   109,     0,     0,   128,     0,   129,   130,
      132,     0,    33,     0,   106,     0,    45,     0,     0,     0,
        0,     0,     0,   143,   120,   135,   137,     0,    87,     0,
        0,     0,     0,     0,     0,     0,     0,    92,    93,     0,
@@ -1014,22 +1014,22 @@ static const yytype_uint8 yydefact[] =
   /* YYPGOTONTERM-NUM.  */
 static const yytype_int16 yypgoto[] =
 {
-    -278,    92,  -278,  -278,  -267,  -278,     3,    19,  -278,  -278,
-    -278,  -278,  -278,  -278,   176,  -278,   -79,   -56,  1233,  -278,
-       6,    -6,  -278,    49,   177,  -278,  -278,  -278,  -278,  -278,
-    -278,  -278,   -21,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
-    -278,  -163,  -278,  -277,   184,    33,  -278,  -278,  -278,  -278,
-    -278,    12
+    -279,    89,  -279,  -279,  -266,  -279,     3,    20,  -279,  -279,
+    -279,  -279,  -279,  -279,   175,  -279,   -80,   -56,   -73,  -279,
+       6,    -6,  -279,    48,   176,  -279,  -279,  -279,  -279,  -279,
+    -279,  -279,   -18,  -279,  -279,  -279,  -279,  -279,  -279,  -279,
+    -279,  -163,  -279,  -278,   177,    10,  -279,  -279,  -279,  -279,
+    -279,    13
 };
 
   /* YYDEFGOTONTERM-NUM.  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    44,    45,    46,    47,   134,   305,   273,    49,   337,
-     347,   135,    50,    51,    52,   348,   157,   214,   282,    53,
-      54,    55,    56,    57,    58,    83,   115,   107,   170,   205,
-     191,    59,    90,    60,    80,    61,    91,   247,    81,    62,
-     116,   238,   353,   311,    63,   165,    79,    64,   124,   125,
+      -1,    45,    46,    47,    48,   134,   305,   273,    50,   337,
+     347,   135,    51,    52,    53,   348,   157,   214,   282,    54,
+      55,    56,    57,    58,    59,    84,   115,   107,   170,   205,
+     191,    60,    90,    61,    81,    62,    91,   247,    82,    63,
+     116,   238,   353,   311,    64,   165,    80,    65,   124,   125,
      126,   127
 };
 
@@ -1038,301 +1038,304 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      71,    71,   168,    48,    78,   244,   301,     8,   106,   249,
-      67,    65,   313,    89,    75,   131,   350,    94,   279,    76,
-     280,    82,   104,   105,   146,   108,   109,   110,   111,   112,
-     113,   114,   325,   146,   117,   118,   119,   123,   132,    72,
-      74,    92,   287,   328,   130,   288,   133,   137,   155,   156,
-     128,   326,   215,   216,   340,   153,   154,   155,   156,    32,
-      33,    34,    35,   159,   160,   180,   351,   160,   173,   184,
-       1,   160,   289,   102,    71,   288,   181,   217,   218,   171,
-     185,   255,   164,     2,   189,   331,     3,   103,   288,   129,
-       5,   158,   256,   366,   146,    66,    11,   147,    12,    95,
-      96,   239,   162,   161,   182,   183,   163,   241,   162,   242,
-     162,   345,   346,   167,   162,   152,   153,   154,   155,   156,
-     166,   169,   172,   174,   175,   179,   186,   187,   314,   190,
-     219,   204,    48,   206,   220,   221,   222,   223,   224,   225,
+      72,    72,   168,    49,    79,   244,   325,   301,   350,   146,
+      68,   313,   106,    89,    76,    66,    73,    75,    94,   131,
+     279,    77,   280,   104,   105,   326,   108,   109,   110,   111,
+     112,   113,   114,   155,   156,   117,   118,   119,   123,   180,
+     287,   132,    83,   288,   328,   130,   184,   133,   137,    92,
+     181,   215,   216,   340,     8,   255,   249,   185,   351,   102,
+      97,    98,    99,   103,   159,   160,   256,   289,   160,   100,
+     288,   173,   160,     1,   128,    72,   101,   217,   218,   171,
+     129,   161,   158,   164,   163,   331,     2,   189,   288,     3,
+     162,   167,   146,     5,   366,   147,   146,   166,    67,    11,
+     172,    12,    95,    96,   182,   183,    33,    34,    35,    36,
+     239,   162,   169,   152,   153,   154,   155,   156,   153,   154,
+     155,   156,   241,   162,   242,   162,   345,   346,   314,   174,
+     219,   175,    49,   179,   220,   221,   222,   223,   224,   225,
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   208,    71,    97,    98,    99,   240,   209,   210,   211,
-     243,   237,   100,   286,   212,   245,   246,    42,   291,   101,
-      43,   251,   252,   257,   253,   254,   285,   262,   258,   259,
-     260,   248,   261,   275,   290,   292,   263,   264,   265,   266,
+     236,   186,    72,   187,   190,   204,   240,   206,   208,   209,
+     243,   210,   211,   286,   212,   237,   246,   291,   245,   257,
+      43,   251,   252,    44,   253,   254,   262,   275,   258,   259,
+     260,   248,   261,   285,   290,   292,   263,   264,   265,   266,
      267,   268,   269,   270,   271,   272,   295,   296,   303,   310,
-     312,   323,   332,   333,   335,   278,   342,   352,   359,   283,
-     284,   176,   361,   367,   276,   277,   369,   371,   373,   374,
-     376,   213,   274,     0,   281,   250,   306,   307,   308,   136,
-     138,   140,   141,   142,   143,   144,   145,   139,   146,   177,
-     178,   147,   148,   149,     0,   321,   322,     0,     0,   293,
-     294,     0,     0,   327,     0,     0,     0,   150,   151,   152,
-     153,   154,   155,   156,     0,     0,   357,     0,   334,     0,
-       0,   360,   338,     0,     0,     0,     0,     0,     0,     0,
-     344,   349,     0,     0,     0,     0,   315,   355,     0,     0,
-       0,   317,   318,   319,   320,     0,     0,     0,     0,     0,
+     312,   302,   323,   332,   333,   278,   335,   342,   352,   283,
+     284,   359,   309,   361,   276,   277,   367,   371,   213,   369,
+     373,   374,   376,   274,   250,   281,   306,   307,   308,   136,
+     138,   139,     0,     0,   324,     0,     0,     0,   329,     0,
+     330,     0,     0,     0,     0,   321,   322,     0,     0,   293,
+     294,     0,     0,   327,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   357,     0,   354,   334,     0,
+     360,   356,   338,     0,     0,     0,     0,     0,     0,     0,
+     344,   349,   362,     0,   364,     0,   315,   355,     0,     0,
+       0,   317,   318,   319,   320,     0,     0,     0,   375,     0,
      363,   316,   365,     0,     0,     0,   368,     0,   370,     0,
      372,     0,     0,     0,  -158,     1,     0,     0,     0,   377,
      336,     0,     0,     0,     0,     0,   341,     0,     2,   343,
        0,     3,     4,     0,     0,     5,  -158,     7,     8,     9,
-      68,    11,   358,    12,  -158,  -158,     0,    15,    16,  -158,
-    -158,  -158,  -158,  -158,  -158,  -158,     0,  -158,     0,     0,
-    -158,  -158,  -158,     0,    69,  -158,    25,  -158,  -158,  -158,
+      69,    11,   358,    12,  -158,  -158,     0,    15,    16,  -158,
+    -158,  -158,  -158,  -158,  -158,  -158,  -158,     0,  -158,     0,
+    -158,  -158,  -158,     0,    70,  -158,    26,  -158,  -158,  -158,
     -158,     0,     0,     0,  -158,  -158,  -158,  -158,  -158,  -158,
-    -158,  -158,  -158,    31,  -158,  -158,  -158,  -158,  -158,  -158,
-      32,    33,    34,    35,    36,  -158,  -158,  -158,  -158,     0,
-    -158,  -158,  -158,  -158,  -158,  -158,    40,    41,  -158,  -158,
-       1,  -158,    73,  -158,  -158,    43,  -158,     0,     0,     0,
-       0,     0,     0,     2,     0,     0,     3,     4,     0,     0,
-       5,     0,     7,     8,     9,    68,   120,     0,   121,     0,
-       0,     0,    15,    16,     0,     0,     0,    85,     0,    87,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
-       0,    25,     0,     0,   140,   141,   142,   143,   144,   145,
-       0,   146,     0,     0,   147,   148,   149,     0,    31,     0,
-       0,     0,     0,     0,     0,    32,    33,    34,    35,    36,
-     150,   151,   152,   153,   154,   155,   156,     0,     0,   -59,
-       1,    40,    41,     0,     0,     0,     0,    42,     0,     0,
-      43,  -164,   122,     2,     0,     0,     3,     4,     0,     0,
-       5,   -59,     7,     8,     9,    68,    11,     0,    12,   -59,
+    -158,  -158,  -158,    32,  -158,  -158,  -158,  -158,  -158,  -158,
+      33,    34,    35,    36,    37,  -158,  -158,  -158,  -158,     0,
+    -158,  -158,  -158,  -158,  -158,  -158,    41,    42,  -158,  -158,
+       1,  -158,    74,  -158,  -158,    44,  -158,     0,     0,     0,
+       0,     0,     0,     2,     0,   176,     3,     4,     0,     0,
+       5,     0,     7,     8,     9,    69,   120,     0,   121,     0,
+       0,     0,    15,    16,   140,   141,   142,   143,   144,   145,
+       0,   146,   177,   178,   147,   148,   149,     0,     0,    70,
+       0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
+     150,   151,   152,   153,   154,   155,   156,     0,    32,     0,
+       0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   -59,
+       1,    41,    42,     0,     0,     0,     0,    43,     0,     0,
+      44,  -164,   122,     2,     0,     0,     3,     4,     0,     0,
+       5,   -59,     7,     8,     9,    69,    11,     0,    12,   -59,
      -59,     0,    15,    16,     0,   -59,   -59,   -59,   -59,   -59,
-     -59,     0,     0,     0,     0,     0,   -59,     0,     0,    69,
-     -59,    25,     0,     0,   -59,     0,     0,     0,     0,   -59,
-     -59,   -59,   -59,   -59,   -59,   -59,   -59,   -59,    31,   -59,
-       0,     0,   -59,   -59,   -59,    32,    33,    34,    35,    36,
+     -59,   -59,     0,     0,     0,     0,   -59,     0,     0,    70,
+     -59,    26,     0,     0,   -59,     0,     0,     0,     0,   -59,
+     -59,   -59,   -59,   -59,   -59,   -59,   -59,   -59,    32,   -59,
+       0,     0,   -59,   -59,   -59,    33,    34,    35,    36,    37,
        0,     0,   -59,   -59,     0,   -59,   -59,   -59,   -59,   -59,
-     -59,    40,    41,   -59,   -59,     0,   -59,    77,  -158,     1,
-      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     -59,    41,    42,   -59,   -59,     0,   -59,    78,  -158,     1,
+      44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     2,     0,     0,     3,     4,     0,     0,     5,
-    -158,     7,     8,     9,    68,    11,     0,    12,  -158,  -158,
+    -158,     7,     8,     9,    69,    11,     0,    12,  -158,  -158,
        0,    15,    16,     0,  -158,  -158,  -158,  -158,  -158,  -158,
-       0,     0,     0,     0,     0,  -158,     0,     0,    69,  -158,
-      25,     0,     0,  -158,     0,     0,     0,     0,  -158,  -158,
-    -158,     0,     0,     0,     0,     0,     0,    31,     0,     0,
-       0,     0,     0,     0,    32,    33,    34,    35,    36,     0,
+    -158,     0,     0,     0,     0,  -158,     0,     0,    70,  -158,
+      26,     0,     0,  -158,     0,     0,     0,     0,  -158,  -158,
+    -158,     0,     0,     0,     0,     0,     0,    32,     0,     0,
+       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
        0,  -158,  -158,     0,  -158,  -158,  -158,  -158,     1,     0,
-      40,    41,     0,     0,     0,  -158,    70,     0,  -158,    43,
+      41,    42,     0,     0,     0,  -158,    71,     0,  -158,    44,
        0,     2,     0,     0,     3,     4,     0,     0,     5,  -158,
-       7,     8,     9,    68,    11,     0,    12,  -158,  -158,     0,
-      15,    16,     0,  -158,  -158,  -158,  -158,  -158,  -158,     0,
-       0,     0,     0,     0,  -158,     0,     0,    69,  -158,    25,
+       7,     8,     9,    69,    11,     0,    12,  -158,  -158,     0,
+      15,    16,     0,  -158,  -158,  -158,  -158,  -158,  -158,  -158,
+       0,     0,     0,     0,  -158,     0,     0,    70,  -158,    26,
        0,     0,  -158,     0,     0,     0,     0,  -158,  -158,  -158,
-       0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
-       0,     0,     0,    32,    33,    34,    35,    36,     0,     0,
-    -158,  -158,     0,  -158,  -158,  -158,    -4,     1,     0,    40,
-      41,     0,     0,     0,  -158,    42,     0,  -158,    43,     0,
+       0,     0,     0,     0,     0,     0,    32,     0,     0,     0,
+       0,     0,     0,    33,    34,    35,    36,    37,     0,     0,
+    -158,  -158,     0,  -158,  -158,  -158,    -4,     1,     0,    41,
+      42,     0,     0,     0,  -158,    43,     0,  -158,    44,     0,
        2,     0,     0,     3,     4,     0,     0,     5,     6,     7,
        8,     9,    10,    11,     0,    12,     0,    13,    14,    15,
-      16,     0,     0,     0,    17,    18,    19,    20,     0,     0,
-       0,    21,     0,    22,     0,     0,    23,    24,    25,     0,
-       0,    26,     0,     0,     0,    27,    28,    29,    30,     0,
-       0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
-       0,     0,    32,    33,    34,    35,    36,     0,     0,    37,
-      38,    39,  -147,     1,     0,     0,     0,     0,    40,    41,
-       0,     0,     0,    -4,    42,     0,     2,    43,     0,     3,
+      16,     0,     0,     0,    17,    18,    19,    20,    21,     0,
+       0,    22,     0,    23,     0,     0,    24,    25,    26,     0,
+       0,    27,     0,     0,     0,    28,    29,    30,    31,     0,
+       0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
+       0,     0,    33,    34,    35,    36,    37,     0,     0,    38,
+      39,    40,  -147,     1,     0,     0,     0,     0,    41,    42,
+       0,     0,     0,    -4,    43,     0,     2,    44,     0,     3,
        4,     0,     0,     5,     6,     7,     8,     9,    10,    11,
        0,    12,   339,    13,     0,    15,    16,     0,     0,     0,
-      17,    18,    19,    20,     0,     0,     0,     0,     0,    22,
-       0,     0,    23,    24,    25,     0,     0,    26,     0,     0,
-       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
-       0,    31,     0,     0,     0,     0,     0,     0,    32,    33,
-      34,    35,    36,     0,     0,    37,    38,  -145,     1,     0,
-       0,     0,     0,     0,    40,    41,     0,     0,     0,   304,
-      42,     2,     0,    43,     3,     4,     0,     0,     5,     6,
+      17,    18,    19,    20,    21,     0,     0,     0,     0,    23,
+       0,     0,    24,    25,    26,     0,     0,    27,     0,     0,
+       0,     0,    29,    30,    31,     0,     0,     0,     0,     0,
+       0,    32,     0,     0,     0,     0,     0,     0,    33,    34,
+      35,    36,    37,     0,     0,    38,    39,  -145,     1,     0,
+       0,     0,     0,     0,    41,    42,     0,     0,     0,   304,
+      43,     2,     0,    44,     3,     4,     0,     0,     5,     6,
        7,     8,     9,    10,    11,     0,    12,     0,    13,     0,
-      15,    16,     0,     0,     0,    17,    18,    19,    20,     0,
-       0,     0,     0,     0,    22,     0,     0,    23,    24,    25,
-       0,     0,    26,     0,     0,     0,     0,    28,    29,    30,
-       0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
-       0,     0,     0,    32,    33,    34,    35,    36,     0,     0,
-      37,    38,  -142,     1,     0,     0,     0,     0,     0,    40,
-      41,     0,     0,     0,   304,    42,     2,     0,    43,     3,
+      15,    16,     0,     0,     0,    17,    18,    19,    20,    21,
+       0,     0,     0,     0,    23,     0,     0,    24,    25,    26,
+       0,     0,    27,     0,     0,     0,     0,    29,    30,    31,
+       0,     0,     0,     0,     0,     0,    32,     0,     0,     0,
+       0,     0,     0,    33,    34,    35,    36,    37,     0,     0,
+      38,    39,  -142,     1,     0,     0,     0,     0,     0,    41,
+      42,     0,     0,     0,   304,    43,     2,     0,    44,     3,
        4,     0,     0,     5,     6,     7,     8,     9,    10,    11,
        0,    12,     0,    13,     0,    15,    16,     0,     0,     0,
-      17,    18,    19,    20,     0,     0,     0,     0,     0,    22,
-       0,     0,    23,    24,    25,     0,     0,    26,     0,     0,
-       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
-       0,    31,     0,     0,     0,     0,     0,     0,    32,    33,
-      34,    35,    36,     0,     0,    37,    38,     0,     1,     0,
-       0,     0,     0,     0,    40,    41,     0,     0,     0,   304,
-      42,     2,     0,    43,     3,     4,     0,     0,     5,     6,
+      17,    18,    19,    20,    21,     0,     0,     0,     0,    23,
+       0,     0,    24,    25,    26,     0,     0,    27,     0,     0,
+       0,     0,    29,    30,    31,     0,     0,     0,     0,     0,
+       0,    32,     0,     0,     0,     0,     0,     0,    33,    34,
+      35,    36,    37,     0,     0,    38,    39,     0,     1,     0,
+       0,     0,     0,     0,    41,    42,     0,     0,     0,   304,
+      43,     2,     0,    44,     3,     4,     0,     0,     5,     6,
        7,     8,     9,    10,    11,     0,    12,     0,    13,     0,
-      15,    16,     0,   -50,   -50,    17,    18,    19,    20,     0,
-       0,     0,     0,     0,    22,     0,     0,    23,    24,    25,
-       0,     0,    26,     0,     0,     0,     0,    28,    29,    30,
-       0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
-       0,     0,     0,    32,    33,    34,    35,    36,     0,     0,
-      37,    38,     0,   -50,     1,     0,     0,     0,     0,    40,
-      41,     0,     0,     0,   304,    42,     0,     2,    43,     0,
+      15,    16,     0,   -50,   -50,    17,    18,    19,    20,    21,
+       0,     0,     0,     0,    23,     0,     0,    24,    25,    26,
+       0,     0,    27,     0,     0,     0,     0,    29,    30,    31,
+       0,     0,     0,     0,     0,     0,    32,     0,     0,     0,
+       0,     0,     0,    33,    34,    35,    36,    37,     0,     0,
+      38,    39,     0,   -50,     1,     0,     0,     0,     0,    41,
+      42,     0,     0,     0,   304,    43,     0,     2,    44,     0,
        3,     4,     0,     0,     5,     6,     7,     8,     9,    10,
       11,     0,    12,     0,    13,     0,    15,    16,     0,     0,
-       0,    17,    18,    19,    20,     0,     0,     0,     0,     0,
-      22,     0,     0,    23,    24,    25,     0,     0,    26,     0,
-       0,     0,     0,    28,    29,    30,     0,     0,     0,     0,
-       0,     0,    31,     0,     0,     0,     0,     0,     0,    32,
-      33,    34,    35,    36,     0,     0,    37,    38,     0,     1,
-     -50,     0,     0,     0,     0,    40,    41,     0,     0,     0,
-     304,    42,     2,     0,    43,     3,     4,     0,     0,     5,
+       0,    17,    18,    19,    20,    21,     0,     0,     0,     0,
+      23,     0,     0,    24,    25,    26,     0,     0,    27,     0,
+       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
+       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,    38,    39,     0,     1,
+     -50,     0,     0,     0,     0,    41,    42,     0,     0,     0,
+     304,    43,     2,     0,    44,     3,     4,     0,     0,     5,
        6,     7,     8,     9,    10,    11,     0,    12,     0,    13,
        0,    15,    16,     0,     0,     0,    17,    18,    19,    20,
-       0,     0,     0,     0,     0,    22,     0,     0,    23,    24,
-      25,     0,     0,    26,     0,     0,     0,     0,    28,    29,
-      30,     0,     0,     0,     0,     0,     0,    31,     0,     0,
-       0,     0,     0,     0,    32,    33,    34,    35,    36,     0,
-       0,    37,    38,     0,     1,     0,   -50,     0,     0,     0,
-      40,    41,     0,     0,     0,   304,    42,     2,     0,    43,
+      21,     0,     0,     0,     0,    23,     0,     0,    24,    25,
+      26,     0,     0,    27,     0,     0,     0,     0,    29,    30,
+      31,     0,     0,     0,     0,     0,     0,    32,     0,     0,
+       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
+       0,    38,    39,     0,     1,     0,   -50,     0,     0,     0,
+      41,    42,     0,     0,     0,   304,    43,     2,     0,    44,
        3,     4,     0,     0,     5,     6,     7,     8,     9,    10,
       11,     0,    12,     0,    13,     0,    15,    16,     0,     0,
-       0,    17,    18,    19,    20,     0,     0,     0,     0,     0,
-      22,     0,     0,    23,    24,    25,     0,     0,    26,     0,
-       0,     0,     0,    28,    29,    30,     0,     0,     0,     0,
-       0,     0,    31,     0,     0,     0,     0,     0,     0,    32,
-      33,    34,    35,    36,     0,     0,    37,    38,     0,   -50,
-       1,     0,     0,     0,     0,    40,    41,     0,     0,     0,
-     304,    42,     0,     2,    43,     0,     3,     4,     0,     0,
+       0,    17,    18,    19,    20,    21,     0,     0,     0,     0,
+      23,     0,     0,    24,    25,    26,     0,     0,    27,     0,
+       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
+       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,    38,    39,     0,   -50,
+       1,     0,     0,     0,     0,    41,    42,     0,     0,     0,
+     304,    43,     0,     2,    44,     0,     3,     4,     0,     0,
        5,     6,     7,     8,     9,    10,    11,     0,    12,     0,
       13,     0,    15,    16,     0,     0,     0,    17,    18,    19,
-      20,     0,     0,     0,     0,     0,     0,   302,     0,    23,
-       0,    25,     0,     0,     0,     0,     0,     0,   309,    28,
-      29,    30,     0,     0,     0,     0,     0,     0,    31,     0,
-       0,     0,     0,     0,     0,    32,    33,    34,    35,    36,
-     324,     0,     1,    38,   329,     0,   330,     0,     0,     0,
-       0,    40,    41,     0,     0,     2,     0,    42,     3,     4,
-      43,     0,     5,     6,     7,     8,     9,    10,    11,     0,
-      12,     0,    13,   354,    15,    16,     0,   356,     0,    17,
-      18,    19,     0,     0,     0,     0,     0,     0,   362,     0,
-     364,    23,     0,    25,     0,     0,     0,     0,     0,     0,
-       0,    28,    29,    30,   375,     0,     0,     0,     0,     0,
-      31,     0,     0,     0,     0,     0,     0,    32,    33,    34,
-      35,    36,     0,     0,     1,    38,     0,     0,     0,     0,
-       0,     0,     0,    40,    41,     0,     0,     2,     0,    42,
-       3,     4,    43,     0,     5,     0,     7,     8,     9,    68,
+      20,    21,     0,     0,     0,     0,     0,     0,     0,    24,
+       0,    26,     0,     0,     0,     0,     0,     0,     0,    29,
+      30,    31,     0,     0,     0,     0,     0,     0,    32,     0,
+       0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
+       0,     0,     1,    39,     0,     0,     0,     0,     0,     0,
+       0,    41,    42,     0,     0,     2,     0,    43,     3,     4,
+      44,     0,     5,     6,     7,     8,     9,    10,    11,     0,
+      12,     0,    13,     0,    15,    16,     0,     0,     0,    17,
+      18,    19,    20,     0,     0,     0,     0,     0,     0,     0,
+       0,    24,     0,    26,     0,     0,     0,     0,     0,     0,
+       0,    29,    30,    31,     0,     0,     0,     0,     0,     0,
+      32,     0,     0,     0,     0,     0,     0,    33,    34,    35,
+      36,    37,     0,     0,     1,    39,     0,     0,     0,     0,
+       0,     0,     0,    41,    42,     0,     0,     2,     0,    43,
+       3,     4,    44,     0,     5,     0,     7,     8,     9,    69,
       11,     0,    12,     0,     0,     0,    15,    16,     0,     0,
-       0,     1,     0,     0,     0,     0,     0,    84,     0,    85,
-      86,    87,    88,    69,     2,    25,     0,     3,     4,     0,
-       0,     5,     0,     7,     8,     9,    68,    11,     0,    12,
-       0,     0,    31,    15,    16,     0,     0,     0,     0,    32,
-      33,    34,    35,    36,     0,     0,    85,     0,    87,     0,
-      69,     0,    25,     0,     0,    40,    41,     0,     0,     0,
-       0,    42,     0,     0,    43,     0,     0,     0,     0,    31,
-       0,     0,     0,     0,     0,     0,    32,    33,    34,    35,
-      36,     0,     0,     1,     0,     0,     0,     0,     0,     0,
-       0,     0,    40,    41,     0,     0,     2,     0,    42,     3,
-       4,    43,     0,     5,     0,     7,     8,     9,    68,    11,
+       0,     1,     0,     0,     0,     0,     0,     0,     0,    85,
+      86,    87,    88,    70,     2,    26,     0,     3,     4,     0,
+       0,     5,     0,     7,     8,     9,    69,    11,     0,    12,
+       0,     0,    32,    15,    16,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,    85,     0,    87,     0,
+      70,     0,    26,     0,     0,    41,    42,     0,     0,     0,
+       0,    43,     0,     0,    44,     0,     0,     0,     0,    32,
+       0,     0,     0,     0,     0,     0,    33,    34,    35,    36,
+      37,     0,     0,     1,     0,     0,     0,     0,     0,     0,
+       0,     0,    41,    42,     0,     0,     2,     0,    43,     3,
+       4,    44,     0,     5,     0,     7,     8,     9,    69,    11,
        0,    12,     0,     0,     0,    15,    16,     0,     0,     0,
        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    69,     2,    25,     0,     3,     4,     0,    93,
-       5,     0,     7,     8,     9,    68,    11,     0,    12,     0,
-       0,    31,    15,    16,     0,     0,     0,     0,    32,    33,
-      34,    35,    36,     0,     0,     0,     0,     0,     0,    69,
-       0,    25,     0,     0,    40,    41,     0,     0,     0,     0,
-      42,  -158,  -158,    43,     0,     0,     0,     0,    31,     0,
-       0,     0,     0,     0,     0,    32,    33,    34,    35,    36,
+       0,     0,    70,     2,    26,     0,     3,     4,     0,    93,
+       5,     0,     7,     8,     9,    69,    11,     0,    12,     0,
+       0,    32,    15,    16,     0,     0,     0,     0,    33,    34,
+      35,    36,    37,     0,     0,     0,     0,     0,     0,    70,
+       0,    26,     0,     0,    41,    42,     0,     0,     0,     0,
+      43,  -158,  -158,    44,     0,     0,     0,     0,    32,     0,
+       0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
        0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
-       0,    40,    41,     0,     0,     2,     0,    42,     3,     4,
-      43,     0,     5,     0,     7,     8,     9,    68,    11,     0,
-      12,     0,     0,     0,    15,    16,     0,     0,     0,     0,
-       0,   192,     0,     0,     0,     0,     0,   193,     0,     0,
-       0,    69,     0,    25,     0,     0,   140,   141,   142,   143,
+       0,    41,    42,     0,     0,     2,     0,    43,     3,     4,
+      44,     0,     5,     0,     7,     8,     9,    69,    11,     0,
+      12,     0,     0,     0,    15,    16,     0,     0,     0,    85,
+       0,    87,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    70,     0,    26,     0,     0,   140,   141,   142,   143,
      144,   145,     0,   146,     0,     0,   147,   148,   149,     0,
-      31,     0,     0,     0,     0,     0,     0,    32,    33,    34,
-      35,    36,   150,   151,   152,   153,   154,   155,   156,   194,
-       0,     0,     0,    40,    41,   195,     0,     0,     0,    42,
-       0,     0,    43,     0,   140,   141,   142,   143,   144,   145,
+      32,     0,     0,     0,     0,     0,     0,    33,    34,    35,
+      36,    37,   150,   151,   152,   153,   154,   155,   156,   192,
+       0,     0,     0,    41,    42,   193,     0,     0,     0,    43,
+       0,     0,    44,     0,   140,   141,   142,   143,   144,   145,
        0,   146,     0,     0,   147,   148,   149,     0,     0,     0,
-       0,     0,   196,     0,     0,     0,     0,     0,   197,     0,
+       0,     0,   194,     0,     0,     0,     0,     0,   195,     0,
      150,   151,   152,   153,   154,   155,   156,   140,   141,   142,
      143,   144,   145,     0,   146,     0,     0,   147,   148,   149,
-       0,     0,     0,     0,     0,   198,     0,     0,     0,     0,
-       0,   199,     0,   150,   151,   152,   153,   154,   155,   156,
+       0,     0,     0,     0,     0,   196,     0,     0,     0,     0,
+       0,   197,     0,   150,   151,   152,   153,   154,   155,   156,
      140,   141,   142,   143,   144,   145,     0,   146,     0,     0,
-     147,   148,   149,     0,     0,     0,     0,     0,   297,     0,
-       0,     0,     0,     0,     0,     0,   150,   151,   152,   153,
+     147,   148,   149,     0,     0,     0,     0,     0,   198,     0,
+       0,     0,     0,     0,   199,     0,   150,   151,   152,   153,
      154,   155,   156,   140,   141,   142,   143,   144,   145,     0,
      146,     0,     0,   147,   148,   149,     0,     0,     0,     0,
-       0,   298,     0,     0,     0,     0,     0,     0,     0,   150,
+       0,   297,     0,     0,     0,     0,     0,     0,     0,   150,
      151,   152,   153,   154,   155,   156,   140,   141,   142,   143,
      144,   145,     0,   146,     0,     0,   147,   148,   149,     0,
-       0,     0,     0,     0,   299,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   298,     0,     0,     0,     0,     0,
        0,     0,   150,   151,   152,   153,   154,   155,   156,   140,
      141,   142,   143,   144,   145,     0,   146,     0,     0,   147,
-     148,   149,     0,     0,     0,     0,     0,   300,     0,     0,
+     148,   149,     0,     0,     0,     0,     0,   299,     0,     0,
        0,     0,     0,     0,     0,   150,   151,   152,   153,   154,
      155,   156,   140,   141,   142,   143,   144,   145,     0,   146,
        0,     0,   147,   148,   149,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   202,     0,   150,   151,
+     300,     0,     0,     0,     0,     0,     0,     0,   150,   151,
      152,   153,   154,   155,   156,   140,   141,   142,   143,   144,
-     145,   188,   146,     0,     0,   147,   148,   149,   140,   141,
-     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,     0,   203,
-       0,     0,     0,     0,   150,   151,   152,   153,   154,   155,
-     156,   140,   141,   142,   143,   144,   145,     0,   146,     0,
-       0,   147,   148,   149,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   150,   151,   152,
-     153,   154,   155,   156,     0,     0,     0,   207,   140,   141,
-     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
-     149,     0,     0,     0,     0,     0,   200,   201,     0,     0,
-       0,     0,     0,     0,   150,   151,   152,   153,   154,   155,
-     156,   140,   141,   142,   143,   144,   145,     0,   146,     0,
-       0,   147,   148,   149,   140,   141,   142,   143,     0,     0,
-       0,   146,     0,     0,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,     0,     0,     0,     0,     0,     0,
-     150,   151,   152,   153,   154,   155,   156
+     145,     0,   146,     0,     0,   147,   148,   149,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   202,
+       0,   150,   151,   152,   153,   154,   155,   156,   140,   141,
+     142,   143,   144,   145,   188,   146,     0,     0,   147,   148,
+     149,   140,   141,   142,   143,   144,   145,     0,   146,     0,
+       0,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,     0,   203,     0,     0,     0,     0,   150,   151,   152,
+     153,   154,   155,   156,   140,   141,   142,   143,   144,   145,
+       0,   146,     0,     0,   147,   148,   149,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     150,   151,   152,   153,   154,   155,   156,     0,     0,     0,
+     207,   140,   141,   142,   143,   144,   145,     0,   146,     0,
+       0,   147,   148,   149,     0,     0,     0,     0,     0,   200,
+     201,     0,     0,     0,     0,     0,     0,   150,   151,   152,
+     153,   154,   155,   156,   140,   141,   142,   143,   144,   145,
+       0,   146,     0,     0,   147,   148,   149,   140,   141,   142,
+     143,     0,     0,     0,   146,     0,     0,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,     0,     0,     0,
+       0,     0,     0,   150,   151,   152,   153,   154,   155,   156
 };
 
 static const yytype_int16 yycheck[] =
 {
-       6,     7,    81,     0,    10,   168,   273,    24,    29,    26,
-       4,    97,   289,    19,     8,    42,    36,    23,    27,    48,
-      29,    51,    28,    29,    70,    31,    32,    33,    34,    35,
-      36,    37,    35,    70,    40,    41,    42,    43,    65,     6,
-       7,    51,    97,   310,    50,   100,    52,    53,    94,    95,
-       0,    54,   131,   132,   331,    92,    93,    94,    95,    76,
-      77,    78,    79,    69,    70,    54,    86,    73,    89,    54,
-       1,    77,    97,    26,    80,   100,    65,   133,   134,    85,
-      65,    54,    76,    14,   105,    97,    17,    26,   100,    97,
-      21,    98,    65,   360,    70,    26,    27,    73,    29,    56,
-      57,    99,   100,    70,    98,    99,    73,    99,   100,    99,
-     100,    36,    37,    80,   100,    91,    92,    93,    94,    95,
-     100,    26,    46,    26,    26,    26,    54,    53,   291,    26,
+       6,     7,    82,     0,    10,   168,    35,   273,    36,    70,
+       4,   289,    30,    19,     8,    97,     6,     7,    24,    43,
+      27,    48,    29,    29,    30,    54,    32,    33,    34,    35,
+      36,    37,    38,    94,    95,    41,    42,    43,    44,    54,
+      97,    65,    51,   100,   310,    51,    54,    53,    54,    51,
+      65,   131,   132,   331,    24,    54,    26,    65,    86,    26,
+      17,    18,    19,    26,    70,    71,    65,    97,    74,    26,
+     100,    89,    78,     1,     0,    81,    33,   133,   134,    85,
+      97,    71,    98,    77,    74,    97,    14,   105,   100,    17,
+     100,    81,    70,    21,   360,    73,    70,   100,    26,    27,
+      46,    29,    56,    57,    98,    99,    76,    77,    78,    79,
+      99,   100,    26,    91,    92,    93,    94,    95,    92,    93,
+      94,    95,    99,   100,    99,   100,    36,    37,   291,    26,
      136,    26,   129,    26,   140,   141,   142,   143,   144,   145,
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   103,   158,    17,    18,    19,   162,   103,   102,   100,
-     166,    26,    26,   219,   100,   100,   172,    98,   247,    33,
-     101,   177,   178,    48,   180,   181,    53,   100,   184,   185,
-     186,   175,   188,   100,    26,    43,   192,   193,   194,   195,
+     156,    54,   158,    53,    26,    26,   162,    26,   103,   103,
+     166,   102,   100,   219,   100,    26,   172,   247,   100,    48,
+      98,   177,   178,   101,   180,   181,   100,   100,   184,   185,
+     186,   175,   188,    53,    26,    44,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,    26,    26,    26,    53,
-      26,    87,    54,    88,    54,   211,    87,    26,    86,   215,
-     216,    43,   100,    26,   208,   209,    87,    53,    87,    86,
-      86,   129,   203,    -1,   212,   176,   282,   283,   284,    53,
-      53,    63,    64,    65,    66,    67,    68,    53,    70,    71,
-      72,    73,    74,    75,    -1,   301,   302,    -1,    -1,   255,
-     256,    -1,    -1,   309,    -1,    -1,    -1,    89,    90,    91,
-      92,    93,    94,    95,    -1,    -1,   345,    -1,   324,    -1,
-      -1,   350,   328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     336,   337,    -1,    -1,    -1,    -1,   292,   343,    -1,    -1,
-      -1,   297,   298,   299,   300,    -1,    -1,    -1,    -1,    -1,
+      26,   274,    87,    54,    88,   211,    54,    87,    26,   215,
+     216,    86,   285,   100,   208,   209,    26,    53,   129,    87,
+      87,    86,    86,   203,   176,   212,   282,   283,   284,    54,
+      54,    54,    -1,    -1,   307,    -1,    -1,    -1,   311,    -1,
+     313,    -1,    -1,    -1,    -1,   301,   302,    -1,    -1,   255,
+     256,    -1,    -1,   309,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   345,    -1,   340,   324,    -1,
+     350,   344,   328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     336,   337,   355,    -1,   357,    -1,   292,   343,    -1,    -1,
+      -1,   297,   298,   299,   300,    -1,    -1,    -1,   371,    -1,
      356,   295,   358,    -1,    -1,    -1,   362,    -1,   364,    -1,
      366,    -1,    -1,    -1,     0,     1,    -1,    -1,    -1,   375,
      326,    -1,    -1,    -1,    -1,    -1,   332,    -1,    14,   335,
       -1,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
       26,    27,   348,    29,    30,    31,    -1,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    -1,    43,    -1,    -1,
+      36,    37,    38,    39,    40,    41,    42,    -1,    44,    -1,
       46,    47,    48,    -1,    50,    51,    52,    53,    54,    55,
       56,    -1,    -1,    -1,    60,    61,    62,    63,    64,    65,
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
       76,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
        1,    97,    98,    99,   100,   101,   102,    -1,    -1,    -1,
-      -1,    -1,    -1,    14,    -1,    -1,    17,    18,    -1,    -1,
+      -1,    -1,    -1,    14,    -1,    44,    17,    18,    -1,    -1,
       21,    -1,    23,    24,    25,    26,    27,    -1,    29,    -1,
-      -1,    -1,    33,    34,    -1,    -1,    -1,    46,    -1,    48,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
-      -1,    52,    -1,    -1,    63,    64,    65,    66,    67,    68,
-      -1,    70,    -1,    -1,    73,    74,    75,    -1,    69,    -1,
+      -1,    -1,    33,    34,    63,    64,    65,    66,    67,    68,
+      -1,    70,    71,    72,    73,    74,    75,    -1,    -1,    50,
+      -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      89,    90,    91,    92,    93,    94,    95,    -1,    69,    -1,
       -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-      89,    90,    91,    92,    93,    94,    95,    -1,    -1,     0,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,
        1,    92,    93,    -1,    -1,    -1,    -1,    98,    -1,    -1,
      101,   102,   103,    14,    -1,    -1,    17,    18,    -1,    -1,
       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
       31,    -1,    33,    34,    -1,    36,    37,    38,    39,    40,
-      41,    -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
+      41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
       51,    52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
       -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
@@ -1342,7 +1345,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    14,    -1,    -1,    17,    18,    -1,    -1,    21,
       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
       -1,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
-      -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
+      42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
       52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,
       62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
       -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    -1,
@@ -1350,7 +1353,7 @@ static const yytype_int16 yycheck[] =
       92,    93,    -1,    -1,    -1,    97,    98,    -1,   100,   101,
       -1,    14,    -1,    -1,    17,    18,    -1,    -1,    21,    22,
       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
-      33,    34,    -1,    36,    37,    38,    39,    40,    41,    -1,
+      33,    34,    -1,    36,    37,    38,    39,    40,    41,    42,
       -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,
       -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,    62,
       -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
@@ -1359,7 +1362,7 @@ static const yytype_int16 yycheck[] =
       93,    -1,    -1,    -1,    97,    98,    -1,   100,   101,    -1,
       14,    -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,
       24,    25,    26,    27,    -1,    29,    -1,    31,    32,    33,
-      34,    -1,    -1,    -1,    38,    39,    40,    41,    -1,    -1,
+      34,    -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,
       -1,    45,    -1,    47,    -1,    -1,    50,    51,    52,    -1,
       -1,    55,    -1,    -1,    -1,    59,    60,    61,    62,    -1,
       -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
@@ -1368,7 +1371,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    97,    98,    -1,    14,   101,    -1,    17,
       18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
       -1,    29,    30,    31,    -1,    33,    34,    -1,    -1,    -1,
-      38,    39,    40,    41,    -1,    -1,    -1,    -1,    -1,    47,
+      38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    47,
       -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
       -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
       -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
@@ -1376,7 +1379,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    97,
       98,    14,    -1,   101,    17,    18,    -1,    -1,    21,    22,
       23,    24,    25,    26,    27,    -1,    29,    -1,    31,    -1,
-      33,    34,    -1,    -1,    -1,    38,    39,    40,    41,    -1,
+      33,    34,    -1,    -1,    -1,    38,    39,    40,    41,    42,
       -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,
       -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,    62,
       -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
@@ -1385,7 +1388,7 @@ static const yytype_int16 yycheck[] =
       93,    -1,    -1,    -1,    97,    98,    14,    -1,   101,    17,
       18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
       -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,    -1,
-      38,    39,    40,    41,    -1,    -1,    -1,    -1,    -1,    47,
+      38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    47,
       -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
       -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
       -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
@@ -1393,7 +1396,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    97,
       98,    14,    -1,   101,    17,    18,    -1,    -1,    21,    22,
       23,    24,    25,    26,    27,    -1,    29,    -1,    31,    -1,
-      33,    34,    -1,    36,    37,    38,    39,    40,    41,    -1,
+      33,    34,    -1,    36,    37,    38,    39,    40,    41,    42,
       -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,
       -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,    62,
       -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
@@ -1402,7 +1405,7 @@ static const yytype_int16 yycheck[] =
       93,    -1,    -1,    -1,    97,    98,    -1,    14,   101,    -1,
       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
       27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,
-      -1,    38,    39,    40,    41,    -1,    -1,    -1,    -1,    -1,
+      -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
       47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
       -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,
       -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
@@ -1411,7 +1414,7 @@ static const yytype_int16 yycheck[] =
       97,    98,    14,    -1,   101,    17,    18,    -1,    -1,    21,
       22,    23,    24,    25,    26,    27,    -1,    29,    -1,    31,
       -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,    41,
-      -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
+      42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
       52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,
       62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
       -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    -1,
@@ -1419,7 +1422,7 @@ static const yytype_int16 yycheck[] =
       92,    93,    -1,    -1,    -1,    97,    98,    14,    -1,   101,
       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
       27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,
-      -1,    38,    39,    40,    41,    -1,    -1,    -1,    -1,    -1,
+      -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
       47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
       -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,
       -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
@@ -1428,23 +1431,23 @@ static const yytype_int16 yycheck[] =
       97,    98,    -1,    14,   101,    -1,    17,    18,    -1,    -1,
       21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
       31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,
-      41,    -1,    -1,    -1,    -1,    -1,    -1,   274,    -1,    50,
-      -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,   285,    60,
+      41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
+      -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
       61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
       -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-     307,    -1,     1,    84,   311,    -1,   313,    -1,    -1,    -1,
+      -1,    -1,     1,    84,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    92,    93,    -1,    -1,    14,    -1,    98,    17,    18,
      101,    -1,    21,    22,    23,    24,    25,    26,    27,    -1,
-      29,    -1,    31,   340,    33,    34,    -1,   344,    -1,    38,
-      39,    40,    -1,    -1,    -1,    -1,    -1,    -1,   355,    -1,
-     357,    50,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60,    61,    62,   371,    -1,    -1,    -1,    -1,    -1,
+      29,    -1,    31,    -1,    33,    34,    -1,    -1,    -1,    38,
+      39,    40,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    50,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,
       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
       79,    80,    -1,    -1,     1,    84,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    92,    93,    -1,    -1,    14,    -1,    98,
       17,    18,   101,    -1,    21,    -1,    23,    24,    25,    26,
       27,    -1,    29,    -1,    -1,    -1,    33,    34,    -1,    -1,
-      -1,     1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,
+      -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,
       47,    48,    49,    50,    14,    52,    -1,    17,    18,    -1,
       -1,    21,    -1,    23,    24,    25,    26,    27,    -1,    29,
       -1,    -1,    69,    33,    34,    -1,    -1,    -1,    -1,    76,
@@ -1467,8 +1470,8 @@ static const yytype_int16 yycheck[] =
       -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    92,    93,    -1,    -1,    14,    -1,    98,    17,    18,
      101,    -1,    21,    -1,    23,    24,    25,    26,    27,    -1,
-      29,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,    -1,
-      -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
+      29,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,    46,
+      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    50,    -1,    52,    -1,    -1,    63,    64,    65,    66,
       67,    68,    -1,    70,    -1,    -1,    73,    74,    75,    -1,
       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
@@ -1483,7 +1486,7 @@ static const yytype_int16 yycheck[] =
       -1,    54,    -1,    89,    90,    91,    92,    93,    94,    95,
       63,    64,    65,    66,    67,    68,    -1,    70,    -1,    -1,
       73,    74,    75,    -1,    -1,    -1,    -1,    -1,    48,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,    92,
+      -1,    -1,    -1,    -1,    54,    -1,    89,    90,    91,    92,
       93,    94,    95,    63,    64,    65,    66,    67,    68,    -1,
       70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
       -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,
@@ -1496,24 +1499,27 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,
       94,    95,    63,    64,    65,    66,    67,    68,    -1,    70,
       -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    89,    90,
+      48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,
       91,    92,    93,    94,    95,    63,    64,    65,    66,    67,
-      68,    56,    70,    -1,    -1,    73,    74,    75,    63,    64,
-      65,    66,    67,    68,    -1,    70,    -1,    -1,    73,    74,
-      75,    89,    90,    91,    92,    93,    94,    95,    -1,    97,
-      -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,    94,
-      95,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
-      -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,
-      92,    93,    94,    95,    -1,    -1,    -1,    99,    63,    64,
-      65,    66,    67,    68,    -1,    70,    -1,    -1,    73,    74,
-      75,    -1,    -1,    -1,    -1,    -1,    81,    82,    -1,    -1,
-      -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,    94,
-      95,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
-      -1,    73,    74,    75,    63,    64,    65,    66,    -1,    -1,
-      -1,    70,    -1,    -1,    73,    74,    75,    89,    90,    91,
-      92,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
-      89,    90,    91,    92,    93,    94,    95
+      68,    -1,    70,    -1,    -1,    73,    74,    75,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
+      -1,    89,    90,    91,    92,    93,    94,    95,    63,    64,
+      65,    66,    67,    68,    56,    70,    -1,    -1,    73,    74,
+      75,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
+      -1,    73,    74,    75,    89,    90,    91,    92,    93,    94,
+      95,    -1,    97,    -1,    -1,    -1,    -1,    89,    90,    91,
+      92,    93,    94,    95,    63,    64,    65,    66,    67,    68,
+      -1,    70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
+      99,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
+      -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
+      82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,
+      92,    93,    94,    95,    63,    64,    65,    66,    67,    68,
+      -1,    70,    -1,    -1,    73,    74,    75,    63,    64,    65,
+      66,    -1,    -1,    -1,    70,    -1,    -1,    73,    74,    75,
+      89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
+      -1,    -1,    -1,    89,    90,    91,    92,    93,    94,    95
 };
 
   /* YYSTOSSTATE-NUM -- The (internal number of the) accessing
@@ -1522,22 +1528,22 @@ static const yytype_uint8 yystos[] =
 {
        0,     1,    14,    17,    18,    21,    22,    23,    24,    25,
       26,    27,    29,    31,    32,    33,    34,    38,    39,    40,
-      41,    45,    47,    50,    51,    52,    55,    59,    60,    61,
-      62,    69,    76,    77,    78,    79,    80,    83,    84,    85,
-      92,    93,    98,   101,   105,   106,   107,   108,   110,   112,
-     116,   117,   118,   123,   124,   125,   126,   127,   128,   135,
-     137,   139,   143,   148,   151,    97,    26,   124,    26,    50,
-      98,   125,   149,    98,   149,   124,    48,    98,   125,   150,
-     138,   142,    51,   129,    44,    46,    47,    48,    49,   125,
+      41,    42,    45,    47,    50,    51,    52,    55,    59,    60,
+      61,    62,    69,    76,    77,    78,    79,    80,    83,    84,
+      85,    92,    93,    98,   101,   105,   106,   107,   108,   110,
+     112,   116,   117,   118,   123,   124,   125,   126,   127,   128,
+     135,   137,   139,   143,   148,   151,    97,    26,   124,    26,
+      50,    98,   125,   149,    98,   149,   124,    48,    98,   125,
+     150,   138,   142,    51,   129,    46,    47,    48,    49,   125,
      136,   140,    51,    20,   125,    56,    57,    17,    18,    19,
       26,    33,    26,    26,   125,   125,   136,   131,   125,   125,
      125,   125,   125,   125,   125,   130,   144,   125,   125,   125,
       27,    29,   103,   125,   152,   153,   154,   155,     0,    97,
-     125,    42,    65,   125,   109,   115,   118,   125,   128,   148,
+     125,    43,    65,   125,   109,   115,   118,   125,   128,   148,
       63,    64,    65,    66,    67,    68,    70,    73,    74,    75,
       89,    90,    91,    92,    93,    94,    95,   120,    98,   125,
      125,   149,   100,   149,   124,   149,   100,   149,   120,    26,
-     132,   125,    46,   136,    26,    26,    43,    71,    72,    26,
+     132,   125,    46,   136,    26,    26,    44,    71,    72,    26,
       54,    65,   124,   124,    54,    65,    54,    53,    56,   136,
       26,   134,    48,    54,    48,    54,    48,    54,    48,    54,
       81,    82,    54,    97,    26,   133,    26,    99,   103,   103,
@@ -1549,7 +1555,7 @@ static const yytype_uint8 yystos[] =
      125,   125,   100,   125,   125,   125,   125,   125,   125,   125,
      125,   125,   125,   111,   111,   100,   124,   124,   125,    27,
       29,   155,   122,   125,   125,    53,   121,    97,   100,    97,
-      26,   120,    43,   125,   125,    26,    26,    48,    48,    48,
+      26,   120,    44,   125,   125,    26,    26,    48,    48,    48,
       48,   108,   122,    26,    97,   110,   121,   121,   121,   122,
       53,   147,    26,   147,   145,   125,   124,   125,   125,   125,
      125,   121,   121,    87,   122,    35,    54,   121,   108,   122,
@@ -1598,7 +1604,7 @@ static const yytype_int8 yyr2[] =
        3,     3,     2,     2,     4,     4,     4,     6,     4,     6,
        4,     6,     4,     6,     2,     1,     2,     1,     1,     2,
        1,     0,     3,     0,     3,     0,     3,     4,     2,     4,
-       2,     1,     3,     1,     3,     1,     3,     2,     2,     2,
+       2,     1,     3,     1,     3,     1,     3,     1,     2,     2,
        2,     3,     2,     3,     2,     2,     3,     2,     0,     3,
        0,     0,     9,     2,     0,     7,     8,     6,     0,     3,
        0,     1,     3,     0,     1,     3,     0,     2,     0,     1,
@@ -1877,79 +1883,79 @@ yydestruct (const char *yymsg,
     case 22: /* BLTIN  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1881 "engines/director/lingo/lingo-gr.cpp"
+#line 1887 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 23: /* FBLTIN  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1887 "engines/director/lingo/lingo-gr.cpp"
+#line 1893 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 24: /* RBLTIN  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1893 "engines/director/lingo/lingo-gr.cpp"
+#line 1899 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 25: /* THEFBLTIN  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1899 "engines/director/lingo/lingo-gr.cpp"
+#line 1905 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 26: /* ID  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1905 "engines/director/lingo/lingo-gr.cpp"
+#line 1911 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 27: /* STRING  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1911 "engines/director/lingo/lingo-gr.cpp"
+#line 1917 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 28: /* HANDLER  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1917 "engines/director/lingo/lingo-gr.cpp"
+#line 1923 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 29: /* SYMBOL  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1923 "engines/director/lingo/lingo-gr.cpp"
+#line 1929 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 30: /* ENDCLAUSE  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1929 "engines/director/lingo/lingo-gr.cpp"
+#line 1935 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 31: /* tPLAYACCEL  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1935 "engines/director/lingo/lingo-gr.cpp"
+#line 1941 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 32: /* tMETHOD  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1941 "engines/director/lingo/lingo-gr.cpp"
+#line 1947 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 33: /* THEOBJECTFIELD  */
 #line 161 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).objectfield).os; }
-#line 1947 "engines/director/lingo/lingo-gr.cpp"
+#line 1953 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 143: /* on  */
 #line 160 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1953 "engines/director/lingo/lingo-gr.cpp"
+#line 1959 "engines/director/lingo/lingo-gr.cpp"
         break;
 
       default:
@@ -2235,7 +2241,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2239 "engines/director/lingo/lingo-gr.cpp"
+#line 2245 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 8:
@@ -2243,7 +2249,7 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2247 "engines/director/lingo/lingo-gr.cpp"
+#line 2253 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 9:
@@ -2259,19 +2265,19 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-4].e)[1]);
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2263 "engines/director/lingo/lingo-gr.cpp"
+#line 2269 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 10:
 #line 193 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2269 "engines/director/lingo/lingo-gr.cpp"
+#line 2275 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 11:
 #line 194 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2275 "engines/director/lingo/lingo-gr.cpp"
+#line 2281 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 12:
@@ -2282,7 +2288,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2286 "engines/director/lingo/lingo-gr.cpp"
+#line 2292 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 13:
@@ -2294,7 +2300,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2298 "engines/director/lingo/lingo-gr.cpp"
+#line 2304 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 14:
@@ -2305,7 +2311,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2309 "engines/director/lingo/lingo-gr.cpp"
+#line 2315 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 15:
@@ -2317,7 +2323,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2321 "engines/director/lingo/lingo-gr.cpp"
+#line 2327 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 16:
@@ -2328,7 +2334,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2332 "engines/director/lingo/lingo-gr.cpp"
+#line 2338 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 17:
@@ -2339,7 +2345,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2343 "engines/director/lingo/lingo-gr.cpp"
+#line 2349 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 18:
@@ -2355,7 +2361,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2359 "engines/director/lingo/lingo-gr.cpp"
+#line 2365 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 19:
@@ -2366,7 +2372,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].objectfield).oe);
 		delete (yyvsp[-2].objectfield).os;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2370 "engines/director/lingo/lingo-gr.cpp"
+#line 2376 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 29:
@@ -2377,7 +2383,7 @@ yyreduce:
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body;	/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2381 "engines/director/lingo/lingo-gr.cpp"
+#line 2387 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 30:
@@ -2394,7 +2400,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc;		/* increment */
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2398 "engines/director/lingo/lingo-gr.cpp"
+#line 2404 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 31:
@@ -2411,7 +2417,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 4] = inc;		/* increment */
 		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 5] = end; }
-#line 2415 "engines/director/lingo/lingo-gr.cpp"
+#line 2421 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 32:
@@ -2426,14 +2432,14 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 4] = 0;		/* increment */
 		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 5] = end; }
-#line 2430 "engines/director/lingo/lingo-gr.cpp"
+#line 2436 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 33:
 #line 318 "engines/director/lingo/lingo-gr.y"
                         {
 		g_lingo->code1(LC::c_nextRepeat); }
-#line 2437 "engines/director/lingo/lingo-gr.cpp"
+#line 2443 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 34:
@@ -2443,7 +2449,7 @@ yyreduce:
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		g_lingo->code1(STOP);
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2447 "engines/director/lingo/lingo-gr.cpp"
+#line 2453 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 35:
@@ -2452,7 +2458,7 @@ yyreduce:
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
 		(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2456 "engines/director/lingo/lingo-gr.cpp"
+#line 2462 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 36:
@@ -2461,7 +2467,7 @@ yyreduce:
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2465 "engines/director/lingo/lingo-gr.cpp"
+#line 2471 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 37:
@@ -2469,7 +2475,7 @@ yyreduce:
                                                         {
 		(yyval.code) = g_lingo->code1(LC::c_tellcode);
 		g_lingo->code1(STOP); }
-#line 2473 "engines/director/lingo/lingo-gr.cpp"
+#line 2479 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 38:
@@ -2484,7 +2490,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2488 "engines/director/lingo/lingo-gr.cpp"
+#line 2494 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 39:
@@ -2499,7 +2505,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2503 "engines/director/lingo/lingo-gr.cpp"
+#line 2509 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 42:
@@ -2510,7 +2516,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then;	/* thenpart */
 
 		g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2514 "engines/director/lingo/lingo-gr.cpp"
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 43:
@@ -2525,7 +2531,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2529 "engines/director/lingo/lingo-gr.cpp"
+#line 2535 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 44:
@@ -2540,13 +2546,13 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 45:
 #line 390 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 46:
@@ -2556,7 +2562,7 @@ yyreduce:
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2560 "engines/director/lingo/lingo-gr.cpp"
+#line 2566 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 47:
@@ -2566,7 +2572,7 @@ yyreduce:
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(0);  // Do not skip end
 		g_lingo->codeLabel(0); }
-#line 2570 "engines/director/lingo/lingo-gr.cpp"
+#line 2576 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 48:
@@ -2577,25 +2583,25 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_ifcode);
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(skipEnd); }
-#line 2581 "engines/director/lingo/lingo-gr.cpp"
+#line 2587 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 49:
 #line 411 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2587 "engines/director/lingo/lingo-gr.cpp"
+#line 2593 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 50:
 #line 413 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2593 "engines/director/lingo/lingo-gr.cpp"
+#line 2599 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 51:
 #line 415 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2599 "engines/director/lingo/lingo-gr.cpp"
+#line 2605 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 54:
@@ -2605,7 +2611,7 @@ yyreduce:
 		g_lingo->code1(STOP);
 		g_lingo->codeString((yyvsp[-1].s)->c_str());
 		delete (yyvsp[-1].s); }
-#line 2609 "engines/director/lingo/lingo-gr.cpp"
+#line 2615 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 55:
@@ -2613,7 +2619,7 @@ yyreduce:
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt((yyvsp[0].i)); }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 2623 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 56:
@@ -2621,7 +2627,7 @@ yyreduce:
                         {
 		(yyval.code) = g_lingo->code1(LC::c_floatpush);
 		g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 57:
@@ -2630,7 +2636,7 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2634 "engines/director/lingo/lingo-gr.cpp"
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 58:
@@ -2639,7 +2645,7 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 59:
@@ -2648,7 +2654,7 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_eval);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 60:
@@ -2661,13 +2667,13 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[0].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[0].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2665 "engines/director/lingo/lingo-gr.cpp"
+#line 2671 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 61:
 #line 451 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2671 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 63:
@@ -2682,13 +2688,13 @@ yyreduce:
 			yyerrok;
 		}
 	}
-#line 2686 "engines/director/lingo/lingo-gr.cpp"
+#line 2692 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 64:
 #line 464 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+#line 2698 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 66:
@@ -2696,7 +2702,7 @@ yyreduce:
                                  {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2700 "engines/director/lingo/lingo-gr.cpp"
+#line 2706 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 67:
@@ -2704,7 +2710,7 @@ yyreduce:
                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 68:
@@ -2712,7 +2718,7 @@ yyreduce:
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2716 "engines/director/lingo/lingo-gr.cpp"
+#line 2722 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 69:
@@ -2720,7 +2726,7 @@ yyreduce:
                                         {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
 		delete (yyvsp[-2].s); }
-#line 2724 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 70:
@@ -2731,7 +2737,7 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2735 "engines/director/lingo/lingo-gr.cpp"
+#line 2741 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 71:
@@ -2741,7 +2747,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
 		g_lingo->codeInt((yyvsp[0].objectfield).oe);
 		delete (yyvsp[0].objectfield).os; }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2751 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 72:
@@ -2752,187 +2758,187 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].objectref).field->c_str());
 		delete (yyvsp[0].objectref).obj;
 		delete (yyvsp[0].objectref).field; }
-#line 2756 "engines/director/lingo/lingo-gr.cpp"
+#line 2762 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 74:
 #line 496 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_add); }
-#line 2762 "engines/director/lingo/lingo-gr.cpp"
+#line 2768 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 75:
 #line 497 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_sub); }
-#line 2768 "engines/director/lingo/lingo-gr.cpp"
+#line 2774 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 76:
 #line 498 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mul); }
-#line 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2780 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 77:
 #line 499 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_div); }
-#line 2780 "engines/director/lingo/lingo-gr.cpp"
+#line 2786 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 78:
 #line 500 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mod); }
-#line 2786 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 79:
 #line 501 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gt); }
-#line 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2798 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 80:
 #line 502 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lt); }
-#line 2798 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 81:
 #line 503 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_eq); }
-#line 2804 "engines/director/lingo/lingo-gr.cpp"
+#line 2810 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 82:
 #line 504 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_neq); }
-#line 2810 "engines/director/lingo/lingo-gr.cpp"
+#line 2816 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 83:
 #line 505 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ge); }
-#line 2816 "engines/director/lingo/lingo-gr.cpp"
+#line 2822 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 84:
 #line 506 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_le); }
-#line 2822 "engines/director/lingo/lingo-gr.cpp"
+#line 2828 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 85:
 #line 507 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_and); }
-#line 2828 "engines/director/lingo/lingo-gr.cpp"
+#line 2834 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 86:
 #line 508 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_or); }
-#line 2834 "engines/director/lingo/lingo-gr.cpp"
+#line 2840 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 87:
 #line 509 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_not); }
-#line 2840 "engines/director/lingo/lingo-gr.cpp"
+#line 2846 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 88:
 #line 510 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ampersand); }
-#line 2846 "engines/director/lingo/lingo-gr.cpp"
+#line 2852 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 89:
 #line 511 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_concat); }
-#line 2852 "engines/director/lingo/lingo-gr.cpp"
+#line 2858 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 90:
 #line 512 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_contains); }
-#line 2858 "engines/director/lingo/lingo-gr.cpp"
+#line 2864 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 91:
 #line 513 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_starts); }
-#line 2864 "engines/director/lingo/lingo-gr.cpp"
+#line 2870 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 92:
 #line 514 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[0].code); }
-#line 2870 "engines/director/lingo/lingo-gr.cpp"
+#line 2876 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 93:
 #line 515 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2876 "engines/director/lingo/lingo-gr.cpp"
+#line 2882 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 94:
 #line 516 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_intersects); }
-#line 2882 "engines/director/lingo/lingo-gr.cpp"
+#line 2888 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 95:
 #line 517 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_within); }
-#line 2888 "engines/director/lingo/lingo-gr.cpp"
+#line 2894 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 96:
 #line 519 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_charOf); }
-#line 2894 "engines/director/lingo/lingo-gr.cpp"
+#line 2900 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 97:
 #line 520 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_charToOf); }
-#line 2900 "engines/director/lingo/lingo-gr.cpp"
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 98:
 #line 521 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_itemOf); }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2912 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 99:
 #line 522 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_itemToOf); }
-#line 2912 "engines/director/lingo/lingo-gr.cpp"
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 100:
 #line 523 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lineOf); }
-#line 2918 "engines/director/lingo/lingo-gr.cpp"
+#line 2924 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 101:
 #line 524 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_lineToOf); }
-#line 2924 "engines/director/lingo/lingo-gr.cpp"
+#line 2930 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 102:
 #line 525 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_wordOf); }
-#line 2930 "engines/director/lingo/lingo-gr.cpp"
+#line 2936 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 103:
 #line 526 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_wordToOf); }
-#line 2936 "engines/director/lingo/lingo-gr.cpp"
+#line 2942 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 104:
@@ -2940,61 +2946,61 @@ yyreduce:
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), 1);
 		delete (yyvsp[-1].s); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 106:
 #line 533 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_printtop); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 109:
 #line 536 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_exitRepeat); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 110:
 #line 537 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_procret); }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 111:
 #line 538 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 112:
 #line 538 "engines/director/lingo/lingo-gr.y"
                                                                                  { inNone(); }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 113:
 #line 539 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 114:
 #line 539 "engines/director/lingo/lingo-gr.y"
                                                                                    { inNone(); }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 115:
 #line 540 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 116:
 #line 540 "engines/director/lingo/lingo-gr.y"
                                                                                    { inNone(); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 117:
@@ -3002,7 +3008,7 @@ yyreduce:
                                         {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+#line 3012 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 118:
@@ -3010,19 +3016,19 @@ yyreduce:
                                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 3014 "engines/director/lingo/lingo-gr.cpp"
+#line 3020 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 119:
 #line 547 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_open); }
-#line 3020 "engines/director/lingo/lingo-gr.cpp"
+#line 3026 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 120:
 #line 548 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 3026 "engines/director/lingo/lingo-gr.cpp"
+#line 3032 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 121:
@@ -3032,7 +3038,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 3042 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 122:
@@ -3042,7 +3048,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 123:
@@ -3052,7 +3058,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3056 "engines/director/lingo/lingo-gr.cpp"
+#line 3062 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 124:
@@ -3062,7 +3068,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3072 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 125:
@@ -3072,7 +3078,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 126:
@@ -3082,25 +3088,25 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mArg((yyvsp[0].s));
 		delete (yyvsp[0].s); }
-#line 3086 "engines/director/lingo/lingo-gr.cpp"
+#line 3092 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 127:
 #line 590 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoloop); }
-#line 3092 "engines/director/lingo/lingo-gr.cpp"
+#line 3098 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 128:
 #line 591 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_gotonext); }
-#line 3098 "engines/director/lingo/lingo-gr.cpp"
+#line 3104 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 129:
 #line 592 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoprevious); }
-#line 3104 "engines/director/lingo/lingo-gr.cpp"
+#line 3110 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 130:
@@ -3109,7 +3115,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_goto); }
-#line 3113 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 131:
@@ -3118,7 +3124,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_goto); }
-#line 3122 "engines/director/lingo/lingo-gr.cpp"
+#line 3128 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 132:
@@ -3127,7 +3133,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_goto); }
-#line 3131 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 135:
@@ -3136,7 +3142,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_play); }
-#line 3140 "engines/director/lingo/lingo-gr.cpp"
+#line 3146 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 136:
@@ -3145,7 +3151,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_play); }
-#line 3149 "engines/director/lingo/lingo-gr.cpp"
+#line 3155 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 137:
@@ -3154,13 +3160,13 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_play); }
-#line 3158 "engines/director/lingo/lingo-gr.cpp"
+#line 3164 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 138:
 #line 621 "engines/director/lingo/lingo-gr.y"
                      { g_lingo->codeSetImmediate(true); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3170 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 139:
@@ -3169,19 +3175,19 @@ yyreduce:
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
 		delete (yyvsp[-2].s); }
-#line 3173 "engines/director/lingo/lingo-gr.cpp"
+#line 3179 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 140:
 #line 651 "engines/director/lingo/lingo-gr.y"
              { startDef(); }
-#line 3179 "engines/director/lingo/lingo-gr.cpp"
+#line 3185 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 141:
 #line 651 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->_currentFactory.clear(); }
-#line 3185 "engines/director/lingo/lingo-gr.cpp"
+#line 3191 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 142:
@@ -3191,19 +3197,19 @@ yyreduce:
 		g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-6].s); }
-#line 3195 "engines/director/lingo/lingo-gr.cpp"
+#line 3201 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 143:
 #line 657 "engines/director/lingo/lingo-gr.y"
                         { g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3201 "engines/director/lingo/lingo-gr.cpp"
+#line 3207 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 144:
 #line 658 "engines/director/lingo/lingo-gr.y"
                   { startDef(); }
-#line 3207 "engines/director/lingo/lingo-gr.cpp"
+#line 3213 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 145:
@@ -3213,7 +3219,7 @@ yyreduce:
 		g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
 		endDef();
 		delete (yyvsp[-6].s); }
-#line 3217 "engines/director/lingo/lingo-gr.cpp"
+#line 3223 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 146:
@@ -3226,7 +3232,7 @@ yyreduce:
 		checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
 		delete (yyvsp[-7].s);
 		delete (yyvsp[-1].s); }
-#line 3230 "engines/director/lingo/lingo-gr.cpp"
+#line 3236 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 147:
@@ -3236,56 +3242,56 @@ yyreduce:
 		g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-5].s); }
-#line 3240 "engines/director/lingo/lingo-gr.cpp"
+#line 3246 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 148:
 #line 678 "engines/director/lingo/lingo-gr.y"
          { startDef(); }
-#line 3246 "engines/director/lingo/lingo-gr.cpp"
+#line 3252 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 149:
 #line 678 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3253 "engines/director/lingo/lingo-gr.cpp"
+#line 3259 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 150:
 #line 681 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3259 "engines/director/lingo/lingo-gr.cpp"
+#line 3265 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 151:
 #line 682 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->codeArg((yyvsp[0].s)); mArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3265 "engines/director/lingo/lingo-gr.cpp"
+#line 3271 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 152:
 #line 683 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->codeArg((yyvsp[0].s)); mArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3271 "engines/director/lingo/lingo-gr.cpp"
+#line 3277 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 154:
 #line 686 "engines/director/lingo/lingo-gr.y"
                                                         { delete (yyvsp[0].s); }
-#line 3277 "engines/director/lingo/lingo-gr.cpp"
+#line 3283 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 155:
 #line 687 "engines/director/lingo/lingo-gr.y"
                                                 { delete (yyvsp[0].s); }
-#line 3283 "engines/director/lingo/lingo-gr.cpp"
+#line 3289 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 156:
 #line 689 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->codeArgStore(); inDef(); }
-#line 3289 "engines/director/lingo/lingo-gr.cpp"
+#line 3295 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 157:
@@ -3297,91 +3303,91 @@ yyreduce:
 		WRITE_UINT32(&numpar, (yyvsp[0].narg));
 		g_lingo->code1(numpar);
 		delete (yyvsp[-1].s); }
-#line 3301 "engines/director/lingo/lingo-gr.cpp"
+#line 3307 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 158:
 #line 699 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3307 "engines/director/lingo/lingo-gr.cpp"
+#line 3313 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 159:
 #line 700 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.narg) = 1; }
-#line 3313 "engines/director/lingo/lingo-gr.cpp"
+#line 3319 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 160:
 #line 701 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3319 "engines/director/lingo/lingo-gr.cpp"
+#line 3325 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 161:
 #line 703 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3325 "engines/director/lingo/lingo-gr.cpp"
+#line 3331 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 162:
 #line 704 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3331 "engines/director/lingo/lingo-gr.cpp"
+#line 3337 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 163:
 #line 706 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[-1].code); }
-#line 3337 "engines/director/lingo/lingo-gr.cpp"
+#line 3343 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 164:
 #line 708 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3343 "engines/director/lingo/lingo-gr.cpp"
+#line 3349 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 165:
 #line 709 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3349 "engines/director/lingo/lingo-gr.cpp"
+#line 3355 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 166:
 #line 710 "engines/director/lingo/lingo-gr.y"
                      { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3355 "engines/director/lingo/lingo-gr.cpp"
+#line 3361 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 167:
 #line 711 "engines/director/lingo/lingo-gr.y"
                          { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3361 "engines/director/lingo/lingo-gr.cpp"
+#line 3367 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 168:
 #line 713 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3367 "engines/director/lingo/lingo-gr.cpp"
+#line 3373 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 169:
 #line 714 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3373 "engines/director/lingo/lingo-gr.cpp"
+#line 3379 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 170:
 #line 716 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3379 "engines/director/lingo/lingo-gr.cpp"
+#line 3385 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 171:
 #line 717 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3385 "engines/director/lingo/lingo-gr.cpp"
+#line 3391 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 172:
@@ -3390,7 +3396,7 @@ yyreduce:
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3394 "engines/director/lingo/lingo-gr.cpp"
+#line 3400 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 173:
@@ -3399,11 +3405,11 @@ yyreduce:
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3403 "engines/director/lingo/lingo-gr.cpp"
+#line 3409 "engines/director/lingo/lingo-gr.cpp"
     break;
 
 
-#line 3407 "engines/director/lingo/lingo-gr.cpp"
+#line 3413 "engines/director/lingo/lingo-gr.cpp"
 
       default: break;
     }
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 0f41bc201c..045d306a72 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -92,10 +92,10 @@ extern int yydebug;
     tEXIT = 293,                   /* tEXIT  */
     tGLOBAL = 294,                 /* tGLOBAL  */
     tGO = 295,                     /* tGO  */
-    tIF = 296,                     /* tIF  */
-    tIN = 297,                     /* tIN  */
-    tINTO = 298,                   /* tINTO  */
-    tLOOP = 299,                   /* tLOOP  */
+    tGOLOOP = 296,                 /* tGOLOOP  */
+    tIF = 297,                     /* tIF  */
+    tIN = 298,                     /* tIN  */
+    tINTO = 299,                   /* tINTO  */
     tMACRO = 300,                  /* tMACRO  */
     tMOVIE = 301,                  /* tMOVIE  */
     tNEXT = 302,                   /* tNEXT  */
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 891b753439..81cfd237c7 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -137,7 +137,7 @@ static void mArg(Common::String *s) {
 %token<s> ENDCLAUSE tPLAYACCEL tMETHOD
 %token<objectfield> THEOBJECTFIELD
 %token<objectref> THEOBJECTREF
-%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tIF tIN tINTO tLOOP tMACRO
+%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tGOLOOP tIF tIN tINTO tMACRO
 %token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
 %token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tINSTANCE
 %token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
@@ -587,7 +587,7 @@ instancelist: ID				{
 // go previous
 // go to {frame} whichFrame {of movie whichMovie}
 // go to {frame whichFrame of} movie whichMovie
-gotofunc: tGO tLOOP				{ g_lingo->code1(LC::c_gotoloop); }
+gotofunc: tGOLOOP				{ g_lingo->code1(LC::c_gotoloop); }
 	| tGO tNEXT					{ g_lingo->code1(LC::c_gotonext); }
 	| tGO tPREVIOUS				{ g_lingo->code1(LC::c_gotoprevious); }
 	| tGO expr 					{
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 9d34a1d83c..a3d94077ec 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -373,40 +373,40 @@ struct yy_trans_info
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[299] =
+static yyconst flex_int16_t yy_accept[300] =
     {   0,
         0,    0,   71,   69,    1,   67,   67,   69,   69,   66,
        66,   65,   66,   62,   66,   63,   63,   63,   63,   63,
        63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
        63,   63,    1,   63,    1,   67,    0,   68,    2,   61,
        64,   65,   60,   58,   59,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,    9,   21,   63,
-       63,   63,   63,   63,   63,   63,   63,   31,   32,   63,
-       34,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       51,   63,   63,   63,    1,    0,   63,    2,   64,   63,
-        4,   63,   63,   63,   63,   63,   12,   63,   63,   17,
-
-       63,   63,   63,   63,   63,   63,   63,   27,   63,   63,
-       30,   63,   63,   63,   63,   40,   63,   42,   63,   63,
-       63,   63,   63,   63,   63,   63,    0,   63,   63,   63,
-        6,   63,    8,   11,    0,   14,   63,    0,    0,   63,
-       63,   20,   22,   23,   24,   63,   63,   63,   29,   33,
-       36,   63,   63,   63,   63,   63,   44,    0,   50,   55,
-       63,   53,   57,    0,   63,    3,   63,   63,    0,   12,
-       63,    0,   17,   63,   63,   25,   63,   28,    0,   63,
-       63,   63,   63,   63,   63,   49,   49,   49,   56,   63,
-        0,   63,    5,   63,    0,   12,   15,    0,    0,   63,
+       63,   63,   63,   63,   63,   63,   63,    9,   22,   63,
+       63,   63,   63,   63,   63,   63,   31,   32,   63,   34,
+       63,   63,   63,   63,   63,   63,   63,   63,   63,   51,
+       63,   63,   63,    1,    0,   63,    2,   64,   63,    4,
+       63,   63,   63,   63,   63,   12,   63,   63,   17,   63,
+
+       63,   63,   63,   63,   63,   27,   63,   63,   30,   63,
+       63,   63,   63,   40,   63,   42,   63,   63,   63,   63,
+       63,   63,   63,   63,    0,   63,   63,   63,    6,   63,
+        8,   11,    0,   14,   63,    0,    0,    0,   63,   63,
+       21,   23,   24,   63,   63,   63,   29,   33,   36,   63,
+       63,   63,   63,   63,   44,    0,   50,   55,   63,   53,
+       57,    0,   63,    3,   63,   63,    0,   12,   63,    0,
+        0,   17,   63,   63,   25,   63,   28,    0,   63,   63,
+       63,   63,   63,   63,   49,   49,   49,   56,   63,    0,
+       63,    5,   63,    0,   12,   15,    0,    0,    0,   63,
 
        63,   63,    0,   63,   63,   63,   41,   52,   43,    0,
-       49,   49,   54,    0,   63,   63,   10,    0,   63,   63,
-        0,    0,   63,   63,   63,    0,    0,    0,   49,   49,
-        0,   13,    7,   16,   18,   63,   26,    0,   63,   38,
-       39,    0,    0,    0,   49,   49,   13,   63,   26,    0,
-       37,    0,    0,    0,    0,   49,   19,   35,   48,   47,
-       48,    0,    0,    0,    0,   49,   47,    0,    0,    0,
+       49,   49,   54,    0,   63,   63,   10,    0,   18,   63,
+       63,    0,    0,   63,   63,   63,    0,    0,    0,   49,
+       49,    0,   13,    7,   16,   19,   63,   26,    0,   63,
+       38,   39,    0,    0,    0,   49,   49,   13,   63,   26,
+        0,   37,    0,    0,    0,    0,   49,   20,   35,   48,
+       47,   48,    0,    0,    0,    0,   49,   47,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       48,   47,   47,   48,    0,   46,   47,   47,    0,   47,
-        0,   47,    0,    0,    0,    0,   45,    0
+        0,   48,   47,   47,   48,    0,   46,   47,   47,    0,
+       47,    0,   47,    0,    0,    0,    0,   45,    0
 
     } ;
 
@@ -452,85 +452,85 @@ static yyconst flex_int32_t yy_meta[60] =
         5,    5,    5,    5,    5,    5,    5,    5,    5
     } ;
 
-static yyconst flex_int16_t yy_base[313] =
+static yyconst flex_int16_t yy_base[314] =
     {   0,
-        0,   58,  594,  671,   59,  671,  671,  585,    0,  671,
-      581,   55,   54,  671,  576,   49,   51,   49,   45,   55,
-        0,   56,   65,   78,   93,   91,   97,   98,   55,  116,
-      133,  134,  162,   72,   85,  671,  582,  671,    0,  671,
-      573,  127,  671,  671,  671,    0,   84,  122,  133,  148,
-      133,  134,  139,  154,  150,  147,  580,    0,  157,  159,
-      159,  162,  174,  162,  182,  159,  167,    0,    0,  182,
-        0,  188,  186,  175,  179,  178,  189,  189,  195,  202,
-        0,  213,  191,  196,  247,  219,  218,    0,  569,  219,
-        0,  212,  211,  215,  221,  225,  573,  221,  238,  252,
-
-      225,  246,  243,  242,  246,  247,  244,    0,  256,  249,
-        0,  255,  246,  252,  258,    0,  269,    0,  270,  265,
-      274,  298,  281,  286,  280,  295,  297,  284,  289,  290,
-        0,  306,    0,  571,  559,    0,  308,  297,  300,  314,
-      302,    0,    0,    0,    0,  305,  307,  311,    0,    0,
-      321,  317,  322,  329,  314,  317,    0,  349,    0,    0,
-      338,  336,    0,  329,  334,    0,  344,  343,  368,    0,
-      345,  362,  537,  346,  344,    0,  360,    0,  383,  363,
-      354,  358,  357,  373,  363,  534,  392,  376,    0,  373,
-      378,  380,    0,  386,  394,    0,    0,  392,  405,  402,
-
-      401,  532,  392,  407,  395,  398,    0,    0,    0,  432,
-      423,  431,    0,  409,  403,  411,  671,  418,  427,  430,
-      515,  437,  436,  427,  422,  451,  447,  445,  453,  470,
-      435,    0,    0,  671,    0,  443,    0,  452,  459,    0,
-        0,  456,  466,  463,  418,  490,  671,  463,    0,  477,
-        0,  478,  364,  480,  497,  500,    0,  671,  671,    0,
-      671,  312,  499,  502,  503,  291,    0,  513,  510,  270,
-      521,  531,  477,  499,  525,  528,  542,  534,  171,  155,
-      140,  505,  537,  130,  127,  119,  110,   83,   80,  555,
-      564,  566,  544,  552,   76,   72,   69,  671,  614,  616,
-
-      619,  622,  627,  632,  634,  639,  642,  647,  652,  654,
-      659,  664
+        0,   58,  595,  664,   59,  664,  664,  588,    0,  664,
+      584,   55,   54,  664,  579,   49,   51,   49,   45,   55,
+        0,   56,   65,   51,   91,   89,  106,   91,   68,  109,
+      103,  140,  162,   73,  166,  664,  583,  664,    0,  664,
+      577,   79,  664,  664,  664,    0,  105,  109,  109,  133,
+      128,  122,  142,  156,  152,  149,  584,    0,  153,  160,
+      154,  171,  158,  175,  156,  163,    0,    0,  178,    0,
+      186,  183,  173,  181,  182,  186,  204,  197,  201,    0,
+      204,  197,  200,  237,  209,  214,    0,  573,  216,    0,
+      210,  216,  217,  223,  217,  580,  222,  240,  259,  231,
+
+      239,  238,  246,  240,  246,    0,  248,  242,    0,  248,
+      239,  244,  254,    0,  266,    0,  265,  264,  271,  297,
+      275,  279,  283,  290,  293,  281,  285,  286,    0,  296,
+        0,  578,  575,    0,  303,  290,  293,  294,  311,  293,
+        0,    0,    0,  300,  302,  312,    0,    0,  334,  310,
+      321,  326,  316,  320,    0,  351,    0,    0,  337,  335,
+        0,  328,  333,    0,  343,  340,  356,    0,  341,  352,
+      341,  574,  343,  341,    0,  356,    0,  365,  364,  349,
+      358,  358,  375,  365,  546,  399,  394,    0,  379,  379,
+      378,    0,  383,  384,    0,    0,  386,  387,  412,  400,
+
+      401,  526,  392,  406,  392,  394,    0,    0,    0,  433,
+      431,  434,    0,  410,  406,  415,  664,  433,  664,  434,
+      437,  455,  440,  438,  428,  427,  452,  448,  447,  468,
+      470,  435,    0,    0,  664,    0,  442,    0,  454,  464,
+        0,    0,  458,  439,  467,  421,  495,  664,  465,    0,
+      482,    0,  483,  418,  485,  502,  503,    0,  664,  664,
+        0,  664,  263,  496,  504,  514,  191,    0,  518,  515,
+      186,  505,  540,  482,  495,  533,  539,  556,  507,  180,
+      173,  142,  495,  520,  140,  120,  110,   98,   83,   80,
+      560,  557,  563,  523,  535,   76,   72,   69,  664,  607,
+
+      609,  612,  615,  620,  625,  627,  632,  635,  640,  645,
+      647,  652,  657
     } ;
 
-static yyconst flex_int16_t yy_def[313] =
+static yyconst flex_int16_t yy_def[314] =
     {   0,
-      298,    1,  298,  298,  298,  298,  298,  299,  300,  298,
-      298,  298,  298,  298,  298,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  298,  301,  298,  298,  299,  298,  302,  298,
-      298,  298,  298,  298,  298,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  298,  298,  301,  302,  298,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  298,
-
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  298,  301,  301,  301,
-      301,  301,  301,  301,  303,  301,  301,  298,  298,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      301,  301,  301,  301,  301,  301,  301,  304,  301,  301,
-      301,  301,  301,  298,  301,  301,  301,  301,  298,  305,
-      301,  298,  298,  301,  301,  301,  301,  301,  298,  301,
-      301,  301,  301,  301,  301,  304,  304,  304,  301,  301,
-      298,  301,  301,  301,  298,  305,  301,  298,  298,  301,
-
-      301,  301,  298,  301,  301,  301,  301,  301,  301,  298,
-      304,  304,  301,  298,  301,  301,  298,  298,  301,  301,
-      306,  298,  301,  301,  301,  298,  298,  298,  304,  304,
-      298,  301,  301,  298,  301,  301,  307,  298,  301,  301,
-      301,  298,  298,  298,  304,  304,  298,  301,  307,  298,
-      301,  298,  308,  298,  309,  304,  301,  298,  298,  310,
-      298,  309,  309,  309,  309,  304,  310,  298,  309,  309,
-      309,  298,  298,  298,  309,  308,  309,  298,  298,  298,
-      309,  310,  310,  309,  298,  298,  310,  310,  311,  312,
-      298,  312,  298,  298,  298,  298,  298,    0,  298,  298,
-
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298
+      299,    1,  299,  299,  299,  299,  299,  300,  301,  299,
+      299,  299,  299,  299,  299,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  299,  302,  299,  299,  300,  299,  303,  299,
+      299,  299,  299,  299,  299,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  299,  299,  302,  303,  299,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  299,  302,
+
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  299,  302,  302,  302,  302,  302,
+      302,  302,  304,  302,  302,  299,  299,  299,  302,  302,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
+      302,  302,  302,  302,  302,  305,  302,  302,  302,  302,
+      302,  299,  302,  302,  302,  302,  299,  306,  302,  299,
+      299,  299,  302,  302,  302,  302,  302,  299,  302,  302,
+      302,  302,  302,  302,  305,  305,  305,  302,  302,  299,
+      302,  302,  302,  299,  306,  302,  299,  299,  299,  302,
+
+      302,  302,  299,  302,  302,  302,  302,  302,  302,  299,
+      305,  305,  302,  299,  302,  302,  299,  299,  299,  302,
+      302,  307,  299,  302,  302,  302,  299,  299,  299,  305,
+      305,  299,  302,  302,  299,  302,  302,  308,  299,  302,
+      302,  302,  299,  299,  299,  305,  305,  299,  302,  308,
+      299,  302,  299,  309,  299,  310,  305,  302,  299,  299,
+      311,  299,  310,  310,  310,  310,  305,  311,  299,  310,
+      310,  310,  299,  299,  299,  310,  309,  310,  299,  299,
+      299,  310,  311,  311,  310,  299,  299,  311,  311,  312,
+      313,  299,  313,  299,  299,  299,  299,  299,    0,  299,
+
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299
     } ;
 
-static yyconst flex_int16_t yy_nxt[731] =
+static yyconst flex_int16_t yy_nxt[724] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,    4,   12,
        13,   14,   15,   16,   17,   18,   19,   20,   21,   22,
@@ -539,82 +539,82 @@ static yyconst flex_int16_t yy_nxt[731] =
        19,   20,   21,   22,   21,   23,   24,   25,   26,   27,
        28,   29,   30,   31,   21,   21,   32,   21,   21,   33,
        35,   36,   36,   41,   42,   43,   44,   47,   49,   50,
-      297,   52,   75,  297,   48,   51,   34,  297,   53,   56,
-       54,  289,   57,   58,  286,   87,   35,   36,   36,   55,
-       59,   47,   49,   50,   52,   60,   75,   48,   51,   61,
-
-       34,   53,   56,   54,   62,   57,   63,   58,   66,   87,
-       64,  286,   55,   59,   90,   68,  260,   67,   60,   65,
-      286,   72,   69,   61,   70,   71,   73,   62,  289,   74,
-       63,  268,   66,   76,   64,   41,   42,   90,   91,   68,
-       67,  268,   65,   77,   72,   69,   78,   70,   71,   73,
-       79,   92,   74,   80,   82,   83,  286,   76,   94,   81,
-       84,   93,   91,   85,   36,   36,   77,   95,   96,   78,
-       97,   98,  286,   99,   79,   92,  103,   80,   82,   83,
-       86,   94,   81,   84,  104,   93,  101,  102,  105,  106,
-       95,   96,  107,  110,   97,   98,   99,  111,  108,  112,
-
-      103,  113,  120,  114,   86,  116,  117,  104,  118,  101,
-      102,  105,  115,  106,  109,  107,  110,  119,  121,  122,
-      111,  125,  108,  112,  126,  113,  120,  114,  116,  117,
-      123,  118,  127,  128,  124,  115,  129,  109,  130,  131,
-      119,  121,  134,  122,  125,  132,  133,  126,   85,   36,
-       36,  136,  137,  100,  123,  140,  127,  128,  124,  144,
-      129,  130,  131,  141,  147,   86,  134,  143,  132,  133,
-      138,  276,  142,  145,  136,  146,  137,  148,  140,  149,
-      150,  151,  139,  144,  152,  153,  154,  141,  147,   86,
-      143,  155,  272,  156,  138,  142,  145,  157,  146,  158,
-
-      162,  148,  149,  150,  151,  139,  160,  152,  153,  161,
-      154,  163,  164,  268,  165,  155,  156,  166,  167,  168,
-      157,  171,  179,  159,  162,  172,  173,  174,  178,  160,
-      175,  176,  161,  177,  180,  163,  164,  165,  181,  182,
-      166,  167,  183,  168,  184,  171,  159,  185,  172,  173,
-      158,  174,  178,  175,  176,  189,  177,  190,  180,  191,
-      192,  193,  181,  182,  194,  253,  183,  184,  197,  169,
-      185,  200,  187,  201,  188,  198,  202,  210,  204,  189,
-      205,  190,  191,  192,  179,  193,  206,  207,  194,  195,
-      208,  197,  209,  210,  200,  187,  201,  188,  213,  198,
-
-      202,  203,  204,  205,  214,  211,  199,  212,  215,  206,
-      207,  216,  217,  195,  208,  209,  218,  219,  220,  255,
-      222,  213,  223,  138,  210,  203,  224,  214,  225,  211,
-      212,  215,  210,  210,  216,  234,  217,  231,  232,  218,
-      233,  219,  220,  222,  235,  236,  223,  138,  226,  224,
-      238,  225,  229,  239,  210,  230,  240,  241,  227,  234,
-      231,  232,  228,  233,  242,  243,  244,  253,  235,  236,
-      247,  210,  226,  248,  238,  229,  250,  239,  230,  240,
-      241,  227,  251,  245,  246,  228,  252,  254,  242,  243,
-      244,  210,  257,  247,  258,  259,  248,  261,  255,  250,
-
-      268,  210,  279,  268,  268,  251,  245,  256,  246,  252,
-      254,  268,  269,  263,  268,  257,  221,  280,  258,  259,
-      270,  261,  268,  264,  271,  279,  268,  265,  266,  276,
-      287,  256,  272,  221,  273,  210,  269,  263,  199,  274,
-      275,  280,  281,  268,  270,  277,  264,  226,  271,  282,
-      265,  266,  285,  287,  283,  288,  291,  278,  273,  284,
-      135,  228,  274,  275,  267,  291,  281,  291,  277,  295,
-      296,  226,  169,  282,  135,  267,  285,  283,   89,  288,
-      278,  100,   89,  284,  228,  293,   38,   45,   40,   38,
-      294,  267,  295,  298,  296,  298,  298,  298,  298,  298,
-
-      298,  298,  267,  298,  298,  298,  298,  298,  298,  293,
-      298,  298,  298,  294,   37,   37,  298,   37,   37,   37,
-       39,   39,   46,   46,   46,   88,   88,   88,  170,  298,
-      298,  170,  170,  186,  298,  298,  186,  196,  196,  196,
-      237,  298,  298,  237,  237,  249,  249,  249,  260,  298,
-      298,  260,  260,  262,  298,  298,  262,  267,  267,  267,
-      290,  298,  298,  290,  290,  292,  298,  292,  292,  292,
-        3,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298
+      298,   52,   61,  298,   48,   51,   34,  298,   53,   56,
+       54,  290,   57,   58,  287,   74,   86,   41,   42,   55,
+       59,   47,   49,   50,   52,   60,   61,   48,   51,  287,
+
+       34,   53,   56,   54,   62,   57,   65,   58,   63,   74,
+       86,  287,   55,   59,   71,   66,  261,   64,   60,   72,
+       78,  290,   73,   79,   67,   90,   75,   91,   62,   80,
+       65,   68,   63,   69,   70,   89,   76,   71,   66,   77,
+       64,  269,   72,  269,   78,   73,   92,   79,   67,   90,
+       75,   91,   80,   93,   68,   94,   69,   70,   89,   76,
+       81,   82,   77,   84,   36,   36,   83,   35,   36,   36,
+       92,   95,   96,   97,  287,   98,   93,  102,   94,  103,
+       85,  287,  100,  101,   81,   82,  104,  277,  105,   83,
+      108,  106,  273,  109,   95,  110,   96,   97,   98,  111,
+
+      112,  102,  103,  114,   85,  100,  101,  107,  115,  113,
+      104,  105,  116,  108,  117,  106,  109,  118,  120,  110,
+      119,  121,  125,  111,  112,  122,  114,  123,  124,  126,
+      107,  115,  113,  127,  132,  116,  128,  117,   84,   36,
+       36,  118,  120,  119,  129,  121,  125,  130,  131,  122,
+      123,  124,  134,  126,  135,   85,  140,  127,  132,  128,
+       99,  139,  142,  143,  269,  141,  145,  129,  144,  146,
+      130,  131,  147,  148,  149,  134,  150,  136,  135,   85,
+      140,  151,  137,  152,  139,  142,  153,  143,  141,  138,
+      145,  144,  154,  146,  155,  147,  148,  149,  156,  150,
+
+      158,  136,  159,  160,  151,  137,  161,  152,  162,  166,
+      153,  163,  138,  164,  165,  154,  169,  155,  170,  171,
+      172,  174,  157,  158,  173,  159,  175,  160,  176,  177,
+      161,  180,  162,  166,  163,  178,  164,  165,  181,  182,
+      169,  170,  171,  172,  174,  157,  183,  179,  173,  175,
+      184,  176,  156,  177,  188,  180,  189,  167,  190,  191,
+      192,  193,  181,  182,  196,  197,  178,  198,  200,  183,
+      201,  179,  202,  184,  186,  205,  187,  194,  188,  204,
+      189,  190,  191,  203,  192,  193,  206,  196,  207,  197,
+      198,  200,  208,  201,  209,  210,  202,  186,  205,  187,
+
+      210,  194,  217,  204,  213,  214,  215,  203,  216,  206,
+      218,  207,  211,  199,  219,  220,  208,  209,  221,  254,
+      223,  224,  256,  225,  226,  212,  217,  213,  214,  215,
+      136,  216,  210,  218,  210,  210,  211,  219,  232,  220,
+      254,  233,  221,  223,  234,  224,  225,  226,  212,  227,
+      235,  236,  237,  239,  136,  240,  222,  241,  231,  228,
+      230,  232,  242,  229,  233,  243,  244,  234,  245,  210,
+      248,  210,  249,  227,  235,  236,  237,  239,  251,  240,
+      241,  231,  228,  230,  247,  242,  229,  252,  253,  243,
+      244,  255,  245,  248,  258,  249,  210,  269,  246,  259,
+
+      260,  251,  262,  256,  210,  269,  269,  280,  247,  270,
+      252,  253,  257,  281,  255,  269,  269,  258,  264,  269,
+      288,  246,  271,  259,  260,  286,  262,  222,  265,  278,
+      280,  267,  266,  270,  269,  272,  257,  281,  289,  274,
+      277,  273,  264,  288,  275,  276,  271,  210,  296,  286,
+      282,  265,  278,  297,  267,  266,  227,  269,  292,  272,
+      283,  292,  289,  274,  292,  284,  279,  275,  276,  268,
+      229,  296,  268,  285,  282,  199,  133,  297,  294,  167,
+      227,  133,   88,  295,  283,   99,   88,   38,  284,  279,
+       45,   40,   38,  229,  299,  299,  268,  285,  299,  268,
+
+      299,  299,  294,  299,  299,  299,  295,   37,   37,  299,
+       37,   37,   37,   39,   39,   46,   46,   46,   87,   87,
+       87,  168,  299,  299,  168,  168,  185,  299,  299,  185,
+      195,  195,  195,  238,  299,  299,  238,  238,  250,  250,
+      250,  261,  299,  299,  261,  261,  263,  299,  299,  263,
+      268,  268,  268,  291,  299,  299,  291,  291,  293,  299,
+      293,  293,  293,    3,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299
     } ;
 
-static yyconst flex_int16_t yy_chk[731] =
+static yyconst flex_int16_t yy_chk[724] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -623,79 +623,79 @@ static yyconst flex_int16_t yy_chk[731] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
         5,    5,    5,   12,   12,   13,   13,   16,   17,   18,
-      297,   19,   29,  296,   16,   18,    2,  295,   20,   22,
-       20,  289,   22,   23,  288,   34,   35,   35,   35,   20,
-       23,   16,   17,   18,   19,   23,   29,   16,   18,   24,
-
-        2,   20,   22,   20,   24,   22,   25,   23,   26,   34,
-       25,  287,   20,   23,   47,   27,  289,   26,   23,   25,
-      286,   28,   27,   24,   27,   27,   28,   24,  285,   28,
-       25,  284,   26,   30,   25,   42,   42,   47,   48,   27,
-       26,  281,   25,   30,   28,   27,   30,   27,   27,   28,
-       31,   49,   28,   31,   32,   32,  280,   30,   51,   31,
-       32,   50,   48,   33,   33,   33,   30,   52,   53,   30,
-       54,   55,  279,   56,   31,   49,   60,   31,   32,   32,
-       33,   51,   31,   32,   61,   50,   59,   59,   62,   63,
-       52,   53,   64,   66,   54,   55,   56,   67,   65,   70,
-
-       60,   72,   78,   73,   33,   74,   75,   61,   76,   59,
-       59,   62,   73,   63,   65,   64,   66,   77,   79,   80,
-       67,   83,   65,   70,   84,   72,   78,   73,   74,   75,
-       82,   76,   86,   87,   82,   73,   90,   65,   92,   93,
-       77,   79,   96,   80,   83,   94,   95,   84,   85,   85,
-       85,   98,   99,  100,   82,  101,   86,   87,   82,  104,
-       90,   92,   93,  102,  107,   85,   96,  103,   94,   95,
-      100,  270,  102,  105,   98,  106,   99,  109,  101,  110,
-      112,  113,  100,  104,  114,  115,  117,  102,  107,   85,
-      103,  119,  266,  120,  100,  102,  105,  121,  106,  122,
-
-      125,  109,  110,  112,  113,  100,  123,  114,  115,  124,
-      117,  126,  127,  262,  128,  119,  120,  129,  130,  132,
-      121,  137,  151,  122,  125,  138,  139,  140,  148,  123,
-      141,  146,  124,  147,  151,  126,  127,  128,  152,  153,
-      129,  130,  154,  132,  155,  137,  122,  156,  138,  139,
-      158,  140,  148,  141,  146,  161,  147,  162,  151,  164,
-      165,  167,  152,  153,  168,  253,  154,  155,  171,  169,
-      156,  174,  158,  175,  158,  172,  177,  188,  180,  161,
-      181,  162,  164,  165,  179,  167,  182,  183,  168,  169,
-      184,  171,  185,  187,  174,  158,  175,  158,  190,  172,
-
-      177,  179,  180,  181,  191,  187,  199,  188,  192,  182,
-      183,  194,  195,  169,  184,  185,  198,  200,  201,  245,
-      203,  190,  204,  199,  211,  179,  205,  191,  206,  187,
-      188,  192,  212,  210,  194,  218,  195,  214,  215,  198,
-      216,  200,  201,  203,  219,  220,  204,  199,  210,  205,
-      222,  206,  211,  223,  229,  212,  224,  225,  210,  218,
-      214,  215,  210,  216,  226,  227,  228,  243,  219,  220,
-      231,  230,  210,  236,  222,  211,  238,  223,  212,  224,
-      225,  210,  239,  229,  230,  210,  242,  244,  226,  227,
-      228,  246,  248,  231,  250,  252,  236,  254,  255,  238,
-
-      263,  256,  273,  264,  265,  239,  229,  246,  230,  242,
-      244,  269,  263,  255,  268,  248,  221,  274,  250,  252,
-      264,  254,  271,  255,  265,  273,  275,  255,  256,  276,
-      282,  246,  272,  202,  268,  186,  263,  255,  173,  268,
-      269,  274,  275,  277,  264,  271,  255,  272,  265,  276,
-      255,  256,  278,  282,  276,  283,  290,  272,  268,  277,
-      135,  272,  268,  269,  290,  291,  275,  292,  271,  293,
-      294,  272,  134,  276,   97,  292,  278,  276,   89,  283,
-      272,   57,   41,  277,  272,  291,   37,   15,   11,    8,
-      291,  290,  293,    3,  294,    0,    0,    0,    0,    0,
-
-        0,    0,  292,    0,    0,    0,    0,    0,    0,  291,
-        0,    0,    0,  291,  299,  299,    0,  299,  299,  299,
-      300,  300,  301,  301,  301,  302,  302,  302,  303,    0,
-        0,  303,  303,  304,    0,    0,  304,  305,  305,  305,
-      306,    0,    0,  306,  306,  307,  307,  307,  308,    0,
-        0,  308,  308,  309,    0,    0,  309,  310,  310,  310,
-      311,    0,    0,  311,  311,  312,    0,  312,  312,  312,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  298,  298
+      298,   19,   24,  297,   16,   18,    2,  296,   20,   22,
+       20,  290,   22,   23,  289,   29,   34,   42,   42,   20,
+       23,   16,   17,   18,   19,   23,   24,   16,   18,  288,
+
+        2,   20,   22,   20,   25,   22,   26,   23,   25,   29,
+       34,  287,   20,   23,   28,   26,  290,   25,   23,   28,
+       31,  286,   28,   31,   27,   48,   30,   49,   25,   31,
+       26,   27,   25,   27,   27,   47,   30,   28,   26,   30,
+       25,  285,   28,  282,   31,   28,   50,   31,   27,   48,
+       30,   49,   31,   51,   27,   52,   27,   27,   47,   30,
+       32,   32,   30,   33,   33,   33,   32,   35,   35,   35,
+       50,   53,   54,   55,  281,   56,   51,   60,   52,   61,
+       33,  280,   59,   59,   32,   32,   62,  271,   63,   32,
+       65,   64,  267,   66,   53,   69,   54,   55,   56,   71,
+
+       72,   60,   61,   73,   33,   59,   59,   64,   74,   72,
+       62,   63,   75,   65,   76,   64,   66,   77,   79,   69,
+       78,   81,   85,   71,   72,   81,   73,   82,   83,   86,
+       64,   74,   72,   89,   95,   75,   91,   76,   84,   84,
+       84,   77,   79,   78,   92,   81,   85,   93,   94,   81,
+       82,   83,   97,   86,   98,   84,  101,   89,   95,   91,
+       99,  100,  102,  103,  263,  101,  105,   92,  104,  107,
+       93,   94,  108,  110,  111,   97,  112,   99,   98,   84,
+      101,  113,   99,  115,  100,  102,  117,  103,  101,   99,
+      105,  104,  118,  107,  119,  108,  110,  111,  120,  112,
+
+      121,   99,  122,  123,  113,   99,  124,  115,  125,  130,
+      117,  126,   99,  127,  128,  118,  135,  119,  136,  137,
+      138,  140,  120,  121,  139,  122,  144,  123,  145,  146,
+      124,  150,  125,  130,  126,  149,  127,  128,  151,  152,
+      135,  136,  137,  138,  140,  120,  153,  149,  139,  144,
+      154,  145,  156,  146,  159,  150,  160,  167,  162,  163,
+      165,  166,  151,  152,  169,  170,  178,  171,  173,  153,
+      174,  149,  176,  154,  156,  180,  156,  167,  159,  179,
+      160,  162,  163,  178,  165,  166,  181,  169,  182,  170,
+      171,  173,  183,  174,  184,  187,  176,  156,  180,  156,
+
+      186,  167,  194,  179,  189,  190,  191,  178,  193,  181,
+      197,  182,  186,  199,  198,  200,  183,  184,  201,  254,
+      203,  204,  246,  205,  206,  187,  194,  189,  190,  191,
+      199,  193,  211,  197,  210,  212,  186,  198,  214,  200,
+      244,  215,  201,  203,  216,  204,  205,  206,  187,  210,
+      218,  220,  221,  223,  199,  224,  222,  225,  212,  210,
+      211,  214,  226,  210,  215,  227,  228,  216,  229,  230,
+      232,  231,  237,  210,  218,  220,  221,  223,  239,  224,
+      225,  212,  210,  211,  231,  226,  210,  240,  243,  227,
+      228,  245,  229,  232,  249,  237,  247,  264,  230,  251,
+
+      253,  239,  255,  256,  257,  265,  272,  274,  231,  264,
+      240,  243,  247,  275,  245,  266,  270,  249,  256,  269,
+      283,  230,  265,  251,  253,  279,  255,  202,  256,  272,
+      274,  257,  256,  264,  276,  266,  247,  275,  284,  269,
+      277,  273,  256,  283,  269,  270,  265,  185,  294,  279,
+      276,  256,  272,  295,  257,  256,  273,  278,  292,  266,
+      277,  291,  284,  269,  293,  277,  273,  269,  270,  291,
+      273,  294,  293,  278,  276,  172,  133,  295,  292,  132,
+      273,   96,   88,  292,  277,   57,   41,   37,  277,  273,
+       15,   11,    8,  273,    3,    0,  291,  278,    0,  293,
+
+        0,    0,  292,    0,    0,    0,  292,  300,  300,    0,
+      300,  300,  300,  301,  301,  302,  302,  302,  303,  303,
+      303,  304,    0,    0,  304,  304,  305,    0,    0,  305,
+      306,  306,  306,  307,    0,    0,  307,  307,  308,  308,
+      308,  309,    0,    0,  309,  309,  310,    0,    0,  310,
+      311,  311,  311,  312,    0,    0,  312,  312,  313,    0,
+      313,  313,  313,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
+      299,  299,  299
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1052,13 +1052,13 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 299 )
+				if ( yy_current_state >= 300 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_current_state != 298 );
+		while ( yy_current_state != 299 );
 		yy_cp = (yy_last_accepting_cpos);
 		yy_current_state = (yy_last_accepting_state);
 
@@ -1188,37 +1188,37 @@ YY_RULE_SETUP
 case 18:
 YY_RULE_SETUP
 #line 158 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tINSTANCE, "instance"); }
+{ count(); return tGOLOOP; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
 #line 159 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tINTERSECTS, "intersects"); }
+{ count(); return varCheck(tINSTANCE, "instance"); }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
 #line 160 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tINTO, "into"); }
+{ count(); return varCheck(tINTERSECTS, "intersects"); }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
 #line 161 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tIN, "in"); }
+{ count(); return varCheck(tINTO, "into"); }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 162 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tITEM, "item"); }
+{ count(); return varCheck(tIN, "in"); }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
 #line 163 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tLINE, "line"); }
+{ count(); return varCheck(tITEM, "item"); }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 164 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tLOOP); }
+{ count(); return varCheck(tLINE, "line"); }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
@@ -1969,7 +1969,7 @@ static int yy_get_next_buffer (void)
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 299 )
+			if ( yy_current_state >= 300 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1997,11 +1997,11 @@ static int yy_get_next_buffer (void)
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 299 )
+		if ( yy_current_state >= 300 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 298);
+	yy_is_jam = (yy_current_state == 299);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 7e1832311e..34ca40d314 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -155,13 +155,13 @@ exit		{ count(); return varCheck(tEXIT, "exit"); }
 global		{ count(); return varCheck(tGLOBAL, "global"); }
 go{spc}+(to{spc}+)?frame	{ count(); return tGO; }
 go{spc}+(to)?	{ count(); return tGO; }
+go{spc}+loop	{ count(); return tGOLOOP; }
 instance	{ count(); return varCheck(tINSTANCE, "instance"); }
 intersects	{ count(); return varCheck(tINTERSECTS, "intersects"); }
 into		{ count(); return varCheck(tINTO, "into"); }
 in			{ count(); return varCheck(tIN, "in"); }
 item		{ count(); return varCheck(tITEM, "item"); }
 line		{ count(); return varCheck(tLINE, "line"); }
-loop		{ count(); return checkImmediate(tLOOP); }
 macro		{ count(); return varCheck(tMACRO, "macro"); }
 method{spc}+{identifier}		{
 		count();




More information about the Scummvm-git-logs mailing list