diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java index 25690f169d2..e0d60a5636b 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java @@ -91,7 +91,7 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo for (int i = 0; i < unimplemented_symbols.size(); i++) { Integer id = (Integer) unimplemented_symbols.get(i); - System.out.println(" " + UPCParsersym.orderedTerminalSymbols[id.intValue()]);//$NON-NLS-1$ + System.out.println(" " + UPCParsersym.orderedTerminalSymbols[id.intValue()]);//$NON-NLS-1$ } System.out.println(); } @@ -1422,7 +1422,7 @@ public List getRuleTokens() { // // Rule 291: function_definition ::= declaration_specifiers function_declarator compound_statement // - case 291: { action.beforeConsume(); action. consumeFunctionDefinition(); break; + case 291: { action.beforeConsume(); action. consumeFunctionDefinition(true); break; } // @@ -1432,285 +1432,291 @@ public List getRuleTokens() { } // - // Rule 295: constant ::= MYTHREAD + // Rule 293: function_definition ::= function_declarator compound_statement // - case 295: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 293: { action.beforeConsume(); action. consumeFunctionDefinition(false); break; } // - // Rule 296: constant ::= THREADS + // Rule 296: constant ::= MYTHREAD // - case 296: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 296: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 297: constant ::= UPC_MAX_BLOCKSIZE + // Rule 297: constant ::= THREADS // - case 297: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 297: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 298: unary_expression ::= upc_localsizeof unary_expression + // Rule 298: constant ::= UPC_MAX_BLOCKSIZE // - case 298: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_localsizeof); break; + case 298: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 299: unary_expression ::= upc_localsizeof ( type_name ) + // Rule 299: unary_expression ::= upc_localsizeof unary_expression // - case 299: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_localsizeof); break; + case 299: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_localsizeof); break; } // - // Rule 300: unary_expression ::= upc_blocksizeof unary_expression + // Rule 300: unary_expression ::= upc_localsizeof ( type_name ) // - case 300: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_blocksizeof); break; + case 300: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_localsizeof); break; } // - // Rule 301: unary_expression ::= upc_blocksizeof ( type_name ) + // Rule 301: unary_expression ::= upc_blocksizeof unary_expression // - case 301: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_blocksizeof); break; + case 301: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_blocksizeof); break; } // - // Rule 302: unary_expression ::= upc_elemsizeof unary_expression + // Rule 302: unary_expression ::= upc_blocksizeof ( type_name ) // - case 302: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_elemsizeof); break; + case 302: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_blocksizeof); break; } // - // Rule 303: unary_expression ::= upc_elemsizeof ( type_name ) + // Rule 303: unary_expression ::= upc_elemsizeof unary_expression // - case 303: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_elemsizeof); break; + case 303: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_elemsizeof); break; } // - // Rule 307: shared_type_qualifier ::= shared + // Rule 304: unary_expression ::= upc_elemsizeof ( type_name ) // - case 307: { action.beforeConsume(); action. consumeToken(); break; + case 304: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_elemsizeof); break; } // - // Rule 308: reference_type_qualifier ::= relaxed + // Rule 308: shared_type_qualifier ::= shared // case 308: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 309: reference_type_qualifier ::= strict + // Rule 309: reference_type_qualifier ::= relaxed // case 309: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 310: layout_qualifier ::= [ constant_expression ] + // Rule 310: reference_type_qualifier ::= strict // - case 310: { action.beforeConsume(); action. consumeLayoutQualifier(true, false); break; + case 310: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 311: layout_qualifier ::= [ * ] + // Rule 311: layout_qualifier ::= [ constant_expression ] // - case 311: { action.beforeConsume(); action. consumeLayoutQualifier(false, true); break; + case 311: { action.beforeConsume(); action. consumeLayoutQualifier(true, false); break; } // - // Rule 312: layout_qualifier ::= [ ] + // Rule 312: layout_qualifier ::= [ * ] // - case 312: { action.beforeConsume(); action. consumeLayoutQualifier(false, false); break; + case 312: { action.beforeConsume(); action. consumeLayoutQualifier(false, true); break; } // - // Rule 314: synchronization_statement ::= upc_notify expression ; + // Rule 313: layout_qualifier ::= [ ] // - case 314: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 313: { action.beforeConsume(); action. consumeLayoutQualifier(false, false); break; } // - // Rule 315: synchronization_statement ::= upc_notify ; + // Rule 315: synchronization_statement ::= upc_notify expression ; // - case 315: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 315: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 316: synchronization_statement ::= upc_wait expression ; + // Rule 316: synchronization_statement ::= upc_notify ; // - case 316: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 316: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 317: synchronization_statement ::= upc_wait ; + // Rule 317: synchronization_statement ::= upc_wait expression ; // - case 317: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 317: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 318: synchronization_statement ::= upc_barrier expression ; + // Rule 318: synchronization_statement ::= upc_wait ; // - case 318: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 318: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 319: synchronization_statement ::= upc_barrier ; + // Rule 319: synchronization_statement ::= upc_barrier expression ; // - case 319: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 319: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 320: synchronization_statement ::= upc_fence ; + // Rule 320: synchronization_statement ::= upc_barrier ; // - case 320: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 320: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 321: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 321: synchronization_statement ::= upc_fence ; // - case 321: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 321: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 322: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 322: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 322: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 322: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 323: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 323: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 323: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 323: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 324: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 324: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 324: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 324: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 325: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 325: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 325: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 325: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 326: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 326: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 326: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 326: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 327: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 327: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 327: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 327: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 328: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 328: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 328: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 328: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 329: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 329: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 329: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 329: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 330: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 330: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 330: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 330: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 331: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 331: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 331: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 331: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 332: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 332: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 332: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 332: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 333: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 333: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 333: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 333: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 334: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 334: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 334: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 334: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 335: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 335: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 335: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 335: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 336: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 336: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 336: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 336: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 337: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 337: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 337: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 337: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 338: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 338: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 338: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 338: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 339: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 339: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 339: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 339: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 340: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 340: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 340: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 340: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 341: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 341: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 341: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 341: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 342: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 342: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 342: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 342: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 343: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 343: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 343: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 343: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 344: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 344: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 344: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 344: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 346: affinity ::= continue + // Rule 345: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 346: { action.beforeConsume(); action. consumeToken(); break; + case 345: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; + } + + // + // Rule 347: affinity ::= continue + // + case 347: { action.beforeConsume(); action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java index bc819c0d0d4..630547e32c6 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java @@ -65,438 +65,446 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 1,3,3,1,2,2,3,4,5,1, 4,5,1,1,3,3,3,2,1,2, 3,2,1,0,1,2,1,1,1,1, - 4,6,1,2,1,1,1,2,4,2, - 4,2,4,1,1,2,1,1,1,3, - 3,2,1,3,2,3,2,3,2,2, - 11,10,10,9,10,9,9,8,10,9, - 9,8,9,8,8,7,10,9,9,8, - 9,8,8,7,1,1,-130,0,0,0, + 4,6,2,1,2,1,1,1,2,4, + 2,4,2,4,1,1,2,1,1,1, + 3,3,2,1,3,2,3,2,3,2, + 2,11,10,10,9,10,9,9,8,10, + 9,9,8,9,8,8,7,10,9,9, + 8,9,8,8,7,1,1,-76,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-188,0,-7, + 0,0,0,0,0,0,0,0,-16,0, + -13,0,0,0,0,0,0,0,0,0, + 0,-125,0,-22,0,-136,0,0,0,0, + 0,0,0,0,0,0,0,-176,-26,-148, 0,0,0,0,0,0,0,0,0,0, - 0,-115,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-190,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-2, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-95,0,-19,0,0,-45,0, - 0,0,0,0,0,0,-202,0,0,0, + 0,0,0,0,0,-2,0,0,0,0, + 0,-57,0,0,0,0,0,0,0,-7, + 0,-160,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-21, + 0,0,-95,0,0,0,0,0,0,0, + 0,0,0,0,0,-234,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -252,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-96,0,-24,0,0,0,0,0,0, - 0,0,0,0,-301,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-293, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-35,-36,-53,0,0, - 0,0,0,0,0,0,0,0,-303,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-54, - -55,-56,0,0,0,0,0,0,0,0, - 0,0,-304,0,0,0,0,0,0,0, + -185,-126,0,0,0,0,0,0,0,0, + 0,0,0,-295,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-57,-58,-59,0,0,0,0, - 0,0,0,0,0,0,-315,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-60,-61,-62, + 0,0,0,0,0,0,0,-296,0,0, 0,0,0,0,0,0,0,0,0,0, - -318,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-4,-31, + -33,0,0,0,0,0,0,0,0,0, + 0,-312,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-63,-86,-88,0,0,0,0,0,0, - 0,0,0,0,-325,0,0,0,0,0, + 0,0,-36,-44,-51,0,0,0,0,0, + 0,0,0,0,0,-315,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-126,-127,-135,0,0, - 0,0,0,0,0,0,0,0,-330,0, + 0,0,0,0,0,0,-65,-66,-67,0, + 0,0,0,0,0,0,0,0,0,-328, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-166, - -167,-168,0,0,0,0,0,0,0,0, - 0,0,-338,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-169,-170,-171,0,0,0,0, - 0,0,0,0,0,0,-339,0,0,0, + -68,-69,-70,0,0,0,0,0,0,0, + 0,0,0,-333,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-172,-173,-174, + 0,0,0,0,-71,-72,-73,0,0,0, + 0,0,0,0,0,0,0,-341,0,0, 0,0,0,0,0,0,0,0,0,0, - -341,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-74,-75, + -80,0,0,0,0,0,0,0,0,0, + 0,-342,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-175,-176,-177,0,0,0,0,0,0, - 0,0,0,0,-342,0,0,0,0,0, + 0,0,-100,-118,-157,0,0,0,0,0, + 0,0,0,0,0,-344,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-178,-179,-180,0,0, - 0,0,0,0,0,0,0,0,-344,0, + 0,0,0,0,0,0,-158,-159,-161,0, + 0,0,0,0,0,0,0,0,0,-345, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-181, - -199,-200,0,0,0,0,0,0,0,0, - 0,0,-348,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-201,-203,-204,0,0,0,0, - 0,0,0,0,0,0,-349,0,0,0, + -162,-163,-165,0,0,0,0,0,0,0, + 0,0,0,-347,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-205,-207,-208, + 0,0,0,0,-166,-168,-183,0,0,0, + 0,0,0,0,0,0,0,-351,0,0, 0,0,0,0,0,0,0,0,0,0, - -350,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-184,-205, + -206,0,0,0,0,0,0,0,0,0, + 0,-353,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-210,-218,-228,0,0,0,0,0,0, - 0,0,0,0,-352,0,0,0,0,0, + 0,0,-207,-208,-209,0,0,0,0,0, + 0,0,0,0,0,-354,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-229,-230,-231,0,0, - 0,0,0,0,0,0,0,0,-355,0, + 0,0,0,0,0,0,-210,-211,-212,0, + 0,0,0,0,0,0,0,0,0,-356, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-232, - -237,-239,0,0,0,0,0,0,0,0, - 0,0,-356,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-248,-251,-259,0,0,0,0, - 0,0,0,0,0,0,-358,0,0,0, + -213,-214,-215,0,0,0,0,0,0,0, + 0,0,0,-359,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-277,-282,-324, + 0,0,0,0,-216,-217,-218,0,0,0, + 0,0,0,0,0,0,0,-360,0,0, 0,0,0,0,0,0,0,0,0,0, - -361,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-219,-220, + -221,0,0,0,0,0,0,0,0,0, + 0,-362,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-230,-233,-256,0,0,0,0,0, + 0,0,0,0,0,-365,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-366,0,0,0,0,0, + 0,0,0,0,0,0,-257,-258,-259,0, + 0,0,0,0,0,0,0,0,0,-370, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-367,0, + -260,-270,-277,0,0,0,0,0,0,0, + 0,0,0,-371,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-299,-321,-324,0,0,0, + 0,0,0,0,0,0,0,-372,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-368,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-373,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-369,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-375,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -371,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-376, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-372,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-377,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-373,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-379,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-375,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-380,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-376,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-381,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -377,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-383, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-379,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-384,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-380,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-386,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-382,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-389,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-385,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-390,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -386,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-391, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-387,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-392,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-388,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-393,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-389,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-394,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-390,0,0,0, + 0,0,-45,0,0,0,0,0,0,0, + 0,0,0,0,0,-396,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-12, 0,0,0,0,0,0,0,0,0,0, - -392,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-40,0,0,0,0,0, + -14,0,0,-142,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-132,0,0, + 0,0,0,0,0,0,0,0,-49,-20, + -81,0,-120,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-108,0, - 0,0,0,0,0,0,0,0,0,-102, - 0,0,0,0,0,0,0,0,0,-41, - 0,0,0,0,0,0,-90,0,0,0, + 0,0,0,0,0,0,-143,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-9,0,0,0,0, - -109,0,0,0,0,0,0,0,0,0, - 0,-103,0,0,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,0,-91,0, + -133,0,0,0,0,0,0,0,0,0, + 0,0,-78,-21,0,-121,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-10,0,0, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,-104,0,0,0,0,0,0, - 0,0,0,-43,0,0,0,0,0,0, - -92,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-37, - 0,0,0,0,-111,0,0,0,0,0, - 0,0,0,0,0,0,-49,0,0,0, - 0,0,0,0,0,-44,0,0,0,0, - 0,0,-93,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-137, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-105,0,0, - 0,0,0,0,0,-77,0,0,-142,0, - 0,0,0,0,0,-16,0,-51,0,0, - 0,0,0,0,-94,0,0,0,0,0, + 0,-156,0,-134,0,0,0,0,0,0, + 0,0,0,-83,-102,-236,-186,0,-122,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-284,0,-20,0,0,0,-82, - 0,0,0,0,0,-33,0,0,0,0, - -263,0,0,0,0,0,0,0,0,-39, - 0,0,0,-32,0,0,-245,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-138,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,0,-180,0,-32,-196, + 0,-123,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-46,0,0,0,0,0,0,0,0, - 0,-112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-246,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - 0,-113,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-213,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-131,-215,-119,0,-222, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-106,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-183,-156,0,-264,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-8,-38,0, - -280,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-191,0,-123,-22,-4,-25,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-137,0,-107,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-306,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-234,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -48,0,0,0,0,0,0,0,-140,-198, - 0,0,-50,0,0,0,0,0,0,-52, - 0,0,0,0,0,0,-307,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -310,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-327,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-328,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-332,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-333,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -335,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-354,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-360,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-363,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-364,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -384,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-144,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-193,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-194,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-195,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -260,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-117, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-270,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-271,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-273,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -274,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-291,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-293,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-295,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-31,0,0,-296,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-76,0, - -298,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-300,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-309,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-312,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-313,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-64,0,0, - -317,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-84,0,-320,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-85,0,-321,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-337,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,-346,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-74,0, - -83,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-78, - 0,0,0,-114,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-68,0, - 0,-97,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-98,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-81,0,0,-116,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-125,0, - 0,-87,0,0,0,0,0,0,-99,0, - 0,0,0,0,0,-159,0,-247,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-133,0, - 0,-249,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-134,0,0,-250,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-302, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-224,0, - -136,-165,0,-17,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-79,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-100,0,0,0,0,0, - 0,-120,-196,-157,0,0,-101,0,0,0, - 0,0,0,-143,0,0,0,0,0,0, 0,0,0,0,0,-139,0,0,0,0, + 0,0,0,0,0,-192,0,0,0,-58, + 0,0,0,0,0,0,-19,0,0,0, + 0,-34,0,0,-124,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-285,0,-182,0,-281,0, + 0,0,0,0,0,0,0,0,-140,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-145,0,0, + 0,0,-59,0,0,0,0,0,0,-173, + 0,0,0,0,-326,0,0,-227,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-141,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-61,0,0,0,0, + 0,0,-12,-46,-6,0,0,-228,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-146,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-147,0,0,0,0,0,0,0,0, + 0,-24,-8,0,-97,0,0,0,0,0, + 0,0,-11,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-104,0,0, 0,0,0,0,0,0,0,0,0,0, - -148,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-149, + 0,0,0,0,0,0,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-150,0, + 0,0,0,0,0,-37,0,0,-273,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-98,-23, + 0,-282,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-182,0,-84,0,0,0,0,0, + 0,-169,-30,0,-53,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-174,0,0,-240,0,0,0,-204,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-82,0,-304,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -307,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-116,-322,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-96,0,0,0,-262,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-54,0,0, + 0,0,0,-193,0,0,0,0,0,0, + 0,-60,0,0,0,0,0,0,-187,0, + 0,0,-43,0,-327,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-79,0,-147,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-62,0,0,0, + 0,0,0,-55,0,0,0,0,0,0, + -103,0,0,0,0,0,0,0,0,0, + -77,0,0,-330,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,-331,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-335,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-336,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-338, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-358,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-364,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-367,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-368,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-388, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-150,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-151,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-152,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-152,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-153,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-154,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-190, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-155,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-145,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-187,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-263,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -209,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-129,-197, - -132,0,-225,0,-160,-161,-162,-163,-164,0, - -216,-206,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-233,0,0,0,0,0,0, + -264,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-236,0,0,0,0,0,0,0, + 0,0,0,0,-266,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -261,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-267,0, 0,0,0,0,0,0,0,0,0,0, - -69,0,-124,0,0,-256,0,0,0,0, - 0,0,-184,0,0,-269,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-283,0,0,0,0,0,0, + 0,0,-283,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-3,0,0,-158,-15,-14,0,-221,0, - 0,-219,-185,-186,0,-211,0,0,-238,0, - -253,0,0,-265,0,0,0,0,0,0, + 0,0,0,0,0,0,-285,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-255,0,0, - 0,0,0,0,0,0,-217,0,0,0, - 0,0,-80,0,-223,0,0,-226,-235,0, - 0,0,-267,-257,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-1,0,0,0,-6,0,0,0, - 0,0,0,0,0,-189,0,0,0,0, - -30,0,0,0,0,0,0,0,0,0, - 0,-240,0,0,-241,-262,0,0,-287,0, - -288,0,0,0,0,0,0,-5,-34,0, + -287,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-242,0,0,-11,0,0, - 0,-243,-13,-254,0,0,0,0,0,0, - 0,0,-244,0,0,0,0,0,0,-27, - 0,-305,-276,0,0,0,0,-28,0,0, - -272,0,0,0,0,0,0,0,0,0, - 0,0,-29,0,0,0,-289,-278,-65,0, - 0,-67,0,-275,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-138, - 0,-75,0,0,0,0,0,0,0,0, - 0,0,0,-279,0,0,-118,0,-292,0, - 0,0,0,0,0,0,0,-122,0,0, - -18,-290,0,0,0,-316,0,0,0,0, - 0,0,-227,0,0,-23,0,0,0,0, - 0,0,0,-268,0,0,0,0,0,0, + 0,-85,0,0,-288,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -319,0,-286,-26,0,0,0,0,0,0, - 0,0,0,0,0,0,-70,0,-294,0, - 0,0,0,-323,0,-128,0,0,0,0, - 0,0,0,0,-71,0,0,0,0,0, - 0,0,0,-72,0,-326,-89,0,-297,0, - 0,0,0,0,0,0,0,0,-299,0, - 0,0,0,-212,-73,-266,0,0,0,0, - 0,0,0,0,0,-308,-311,0,0,0, - 0,0,0,-121,-314,0,0,0,0,-322, - -329,-334,-258,-141,0,0,-214,0,0,0, - -220,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-336,0,0,0,-331, - 0,-340,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-343,-345, - 0,0,0,-351,-347,-353,-357,0,-359,-362, - 0,-370,-365,-374,-378,-381,-383,-391,0,0, + 0,0,0,0,0,0,-198,0,-290,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,-292,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-306,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -309,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-310,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-87,0,0,-314,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -199,0,-317,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-200,0,-318,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -340,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-89,0,0,-349,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-248,0,-25,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-129,0,0,0,0,0,0,-130,0, + 0,0,0,0,0,0,0,-201,0,-127, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-202, + 0,-128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-203,0,-146,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-229, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -237,-238,0,-231,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-232,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-279,-249, + 0,-294,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-242,-243,0,-29,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-48,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-131,0,0, + 0,0,0,0,0,0,0,0,0,-172, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-323,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-194,0,0, + 0,0,0,0,-56,0,0,0,0,0, + -177,-149,-154,0,0,-63,0,0,0,0, + 0,-64,0,0,0,0,0,0,0,0, + 0,0,0,0,-105,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-107,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-108,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -109,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-110, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-111,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-112,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-113,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-114,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-115,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-167,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-191,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-246,0, + 0,0,0,0,0,0,0,-195,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-245,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-261,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-90,0,0,0,0,0, + 0,0,0,0,-247,-254,0,0,0,0, + -276,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-301,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-155,-164,-222,-223,-224,0,0,-253,0, + 0,0,0,0,0,0,0,-3,0,0, + 0,0,0,0,0,-50,0,0,-99,0, + 0,0,-325,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -225,0,0,0,-226,0,0,0,-269,0, + 0,0,0,0,0,0,0,0,0,0, + -298,0,-244,0,0,-278,0,-251,0,0, + -252,-1,0,-265,0,0,0,0,0,0, + -9,0,0,-188,0,0,0,0,0,0, + 0,-271,0,0,0,0,0,0,-272,0, + -18,0,0,0,0,0,0,0,0,-189, + 0,-274,0,0,0,0,0,0,-268,0, + 0,-281,0,0,0,0,0,0,0,0, + -27,0,0,0,0,0,0,0,0,0, + 0,-275,0,-10,0,0,0,0,0,0, + 0,-42,0,0,0,0,0,0,0,0, + 0,-297,0,-302,-284,0,0,0,0,0, + 0,0,0,0,0,-303,-235,0,0,0, + 0,0,0,0,0,0,0,0,-286,0, + 0,0,0,-241,-15,0,0,0,0,0, + -352,0,0,0,0,0,0,0,-289,0, + -17,0,0,-313,0,0,0,-239,0,0, + 0,-28,-291,0,0,-178,0,0,0,0, + 0,-39,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-40,0,0,0,0,0,0, + 0,-41,0,-305,0,0,0,0,-86,0, + 0,-88,0,0,0,0,0,0,0,0, + -171,0,0,0,0,0,-316,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-175,0,0,-179,0,0,0, + 0,0,0,-35,-308,0,0,-250,0,-311, + 0,0,0,0,0,0,0,-319,0,0, + 0,0,0,0,0,0,-300,-255,0,0, + 0,-5,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-332,0,0,0, + -320,0,0,0,0,-38,0,0,0,0, + 0,0,-47,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-91,0,-329, + -334,0,-280,0,0,0,0,0,-181,0, + 0,0,-92,0,0,-119,0,0,-93,0, + 0,0,-197,0,0,0,-337,0,0,-94, + 0,0,0,0,-101,0,0,0,0,0, + -339,0,0,0,0,0,0,0,0,-170, + 0,0,0,0,0,-343,0,0,0,0, + 0,0,0,0,0,0,-346,0,0,0, + 0,0,0,0,-350,-348,0,0,-355,0, + 0,-357,0,-361,-363,-366,0,0,-369,0, + 0,0,-374,0,-378,0,0,-382,0,0, + 0,-385,0,-387,0,0,0,0,-395,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -506,471 +514,479 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface BaseAction { public final static char baseAction[] = { - 84,22,1,1,40,40,21,21,41,41, + 88,22,1,1,40,40,21,21,41,41, 19,19,2,2,2,2,3,3,3,4, - 4,4,4,4,4,4,4,4,4,85, - 85,5,5,5,5,5,5,5,5,5, + 4,4,4,4,4,4,4,4,4,89, + 89,5,5,5,5,5,5,5,5,5, 5,5,6,6,7,7,7,7,8,8, 8,9,9,9,10,10,10,10,10,11, 11,11,12,12,13,13,14,14,15,15, 16,16,17,17,18,18,18,18,18,18, 18,18,18,18,18,18,25,23,20,20, - 52,26,26,26,26,26,26,26,27,27, - 27,32,24,24,86,86,71,71,28,28, + 53,26,26,26,26,26,26,26,27,27, + 27,32,24,24,90,90,75,75,28,28, 29,29,29,30,30,30,30,30,30,30, 30,30,30,30,30,30,30,31,31,31, - 31,31,87,49,49,34,34,34,34,48, - 48,48,48,48,48,68,68,68,68,68, - 88,88,88,88,89,89,89,89,90,90, - 90,90,72,72,61,61,38,38,38,38, - 38,57,57,57,57,57,57,57,57,57, - 57,57,57,75,73,73,73,73,73,73, - 76,62,62,63,63,58,58,44,91,91, - 77,77,77,64,74,74,74,74,74,78, - 78,79,79,69,69,35,35,35,39,50, - 50,45,45,45,45,46,47,47,92,92, - 80,94,94,42,42,42,42,42,42,42, - 42,42,54,54,54,54,65,65,59,59, - 59,60,60,55,55,55,93,93,51,51, - 66,66,66,56,56,56,56,56,56,56, - 53,53,53,70,70,70,70,67,95,96, - 96,81,81,84,84,97,97,82,82,82, - 82,83,83,98,98,2,2,2,5,5, - 5,5,5,5,35,35,36,36,37,37, - 99,99,99,26,33,33,33,33,33,33, - 33,30,30,30,30,30,30,30,30,30, + 31,31,91,49,49,37,37,37,37,48, + 48,48,48,48,48,61,61,61,61,61, + 77,77,77,77,78,78,78,78,79,79, + 79,79,76,76,62,62,38,38,38,38, + 38,54,54,54,54,54,54,54,54,54, + 54,54,54,71,69,69,69,69,69,69, + 80,63,63,64,64,58,58,47,92,92, + 81,81,81,65,70,70,70,70,70,82, + 82,83,83,72,72,34,34,34,39,50, + 50,42,42,42,42,43,44,44,73,73, + 84,94,94,45,45,45,45,45,45,45, + 45,45,51,51,51,51,66,66,59,59, + 59,60,60,56,56,56,93,93,52,52, + 67,67,67,57,57,57,57,57,57,57, + 55,55,55,74,74,74,74,68,95,96, + 96,85,85,88,88,97,97,86,86,86, + 86,87,87,87,98,98,2,2,2,5, + 5,5,5,5,5,34,34,35,35,36, + 36,99,99,99,26,33,33,33,33,33, + 33,33,30,30,30,30,30,30,30,30, 30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,43,43,161,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,760,4132, - 118,92,4002,106,91,93,94,95,96,1012, - 313,3989,1307,17,16,19,538,42,44,570, - 572,571,605,604,638,877,107,1,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,104,4132, - 324,92,4002,106,91,93,94,95,96,1012, - 313,3989,706,397,337,24,420,212,103,1307, - 17,16,19,538,42,39,107,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,105,306, - 654,92,4002,1114,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,337,23,655,92,4002,98,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,218,965,503,92, - 4002,114,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 714,393,291,92,4002,112,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,134,250,224,92,4002,1150, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,571,409, - 560,92,4002,126,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,418,343,775,92,4002,122,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,512,969,1008,92, - 4002,344,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 394,526,807,92,4002,336,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,809,439,769,92,4002,125, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,742,819, - 831,92,4002,124,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,905,751,652,92,4002,121,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,898,315,537,92, - 4002,120,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 561,289,340,92,4002,118,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,452,595,816,92,4002,111, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,1000,763, - 1134,92,4002,343,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,1164,1065,1010,92,4002,342,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,1011,1071,1101,92, - 4002,340,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 1135,1167,81,92,4002,335,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,154,1194,828,92,4002,334, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,990,993, - 877,92,4002,332,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,4642,4642,4642,92,4002,328,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,4642,4642,4642,92, - 4002,123,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 4642,4642,4642,92,4002,119,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,4642,4642,4642,92,4002,117, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,4642,4642, - 4642,92,4002,116,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,4642,4642,4642,92,4002,341,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,4642,4642,4642,92, - 4002,339,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 4642,4642,4642,92,4002,338,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,4642,4642,4642,92,4002,333, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,4642,4642, - 4642,92,4002,331,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,4642,4642,4642,92,4002,330,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,4642,4642,4642,92, - 4002,327,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 4642,4642,4642,92,4002,326,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,4642,4642,4642,92,4002,324, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,4642,4642, - 4642,92,4002,115,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,4642,4642,4642,92,4002,337,91,93, - 94,95,96,1012,313,241,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,108,978,4642,4642,4642,92, - 4002,329,91,93,94,95,96,1012,313,241, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,108,978, - 4642,4642,4642,92,4002,325,91,93,94,95, - 96,1012,313,241,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,108,978,4642,4642,4642,92,4002,323, - 91,93,94,95,96,1012,313,241,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,108,978,4642,4642, - 527,92,4002,322,91,93,94,95,96,1012, - 313,241,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 108,978,4642,4642,4642,92,4002,321,91,93, - 94,95,96,1012,313,1157,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,504,674,4642,4132,3317,1307, - 17,16,19,538,42,44,570,572,808,197, - 1307,17,16,19,538,42,44,570,740,4477, - 1187,17,16,19,538,302,3293,1157,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,271,674,4642,4132, - 3317,1307,17,16,19,538,42,44,570,572, - 809,197,1307,17,16,19,538,42,44,570, - 741,4477,1217,17,16,19,538,300,3516,1157, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,350,674, - 4642,4132,3317,1307,17,16,19,538,42,44, - 570,572,810,197,1307,17,16,19,538,42, - 44,742,436,4477,1247,17,16,19,538,298, - 3995,1157,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 581,674,4642,4132,3317,1307,17,16,19,538, - 42,44,570,572,842,197,4642,929,17,16, - 19,538,42,35,470,4477,1277,17,16,19, - 538,40,3996,1157,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,4642,674,4193,4132,3317,311,1307,17, - 16,19,538,42,44,774,581,197,4642,929, - 17,16,19,538,42,35,791,4477,1337,17, - 16,19,538,33,3997,1157,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,1434,674,54,4132,3317,240, - 753,142,304,305,140,144,739,4642,4642,197, - 2306,929,17,16,19,538,42,35,4339,4477, - 374,227,4360,4241,719,134,3998,1031,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,2983,674,291,4132, - 4321,241,1307,17,16,19,538,42,38,4642, - 310,3989,1307,17,16,19,538,42,44,570, - 572,571,605,604,843,280,2959,1031,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,3031,674,4642,4132, - 4344,1307,17,16,19,538,42,37,4642,4642, - 4642,3989,1307,17,16,19,538,42,44,570, - 572,571,605,844,4642,4642,3007,1125,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,270,276,392,874,4294, - 468,17,16,19,538,673,44,570,572,571, - 605,604,638,606,640,639,672,74,4256,1307, - 17,16,19,538,42,44,570,572,571,775, - 273,4642,247,304,305,247,304,305,4642,185, - 234,4146,223,224,274,62,581,4151,1125,17, - 16,19,538,673,44,570,572,571,605,604, - 638,606,640,639,672,74,270,2116,1397,38, - 4294,675,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,270, - 3410,223,224,4294,1129,1081,874,54,811,54, - 3609,273,4642,141,304,305,139,143,4642,4642, - 4642,225,272,320,4642,274,4391,133,4337,4342, - 4136,4081,198,338,275,1307,17,16,19,538, - 42,44,570,572,571,776,4199,184,276,675, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,270,246,304, - 305,4294,1307,17,16,19,538,42,44,570, - 572,571,605,604,638,606,640,639,672,73, - 28,1307,17,16,19,538,42,36,2307,374, - 764,4642,275,1307,17,16,19,538,42,34, - 1337,17,16,19,538,32,276,708,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,4642,674,685,235, - 345,708,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 4476,674,719,4642,345,708,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,4550,674,991,4303,345,708, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,4574,674, - 1025,4642,345,708,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,4576,674,1093,4642,345,708,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,4577,674,1127,4642, - 345,708,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 4579,674,1161,4642,345,708,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,4580,674,1399,4642,345,708, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,4584,674, - 1501,4642,345,708,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,4585,674,1569,4642,345,708,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,4586,674,1603,4642, - 345,708,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 4587,674,1807,4642,345,1307,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,85,4588,1001,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,319,674,4642,4642,4252,1001, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,317,674, - 4642,4642,4255,1001,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,315,674,4642,4642,4285,1001,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,130,674,4642,4642, - 4292,614,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,4259, - 1307,17,16,19,538,42,44,570,572,571, - 605,604,638,606,640,910,247,304,305,1001, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,3055,674, - 4642,4642,4379,1001,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,3079,674,4642,4642,4449,1001,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,3127,674,4642,4642, - 4479,1001,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 3151,674,4642,4642,4489,1001,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,2517,674,4642,4642,4506,1001, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,2541,674, - 4642,4642,4507,1001,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,3247,674,54,4642,4515,959,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,4495,674,617,752, - 4396,959,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 222,674,651,4642,4431,1001,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,3319,674,4642,4642,4520,1001, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,2589,674, - 4642,4642,4521,1001,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,2637,674,4642,4642,4522,1001,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,2661,674,54,4642, - 4546,959,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,88, - 4377,674,787,752,4552,959,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,88,3674,674,855,752,4569,959, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,88,18,674, - 889,4642,4570,1001,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,88,2757,674,54,4642,4583,959,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,88,4388,674,1297,578, - 4582,644,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,2499, - 396,347,4642,4524,1307,17,16,19,538,42, - 44,570,572,571,605,604,638,606,876,54, - 102,233,959,17,16,19,538,673,44,570, - 572,571,605,604,638,606,640,639,672,74, - 29,4083,225,21,1307,17,16,19,538,673, - 44,570,572,571,605,604,638,606,640,639, - 672,74,88,4642,674,275,4642,3612,1307,17, - 16,19,538,673,44,570,572,571,605,604, - 638,606,640,639,672,74,88,2433,674,754, - 4642,878,1307,17,16,19,538,42,35,1307, - 17,16,19,538,42,47,752,3999,1307,17, - 16,19,538,673,44,570,572,571,605,604, - 638,606,640,639,672,74,88,1014,674,54, - 204,4313,1307,17,16,19,538,673,44,570, - 572,571,605,604,638,606,640,639,672,74, - 88,2287,674,287,4642,4338,1307,17,16,19, - 538,673,44,570,572,571,605,604,638,606, - 640,639,672,74,88,4527,674,4642,4642,4374, - 1307,17,16,19,538,673,44,570,572,571, - 605,604,638,606,640,639,672,74,88,358, - 674,1067,374,4454,844,17,16,19,538,42, - 44,570,572,571,605,604,638,606,640,639, - 672,90,1061,17,16,19,538,673,44,570, - 572,571,605,604,638,606,640,639,672,74, - 270,264,20,225,312,1307,17,16,19,538, - 42,46,811,1129,1099,4154,2180,1307,17,16, - 19,538,42,45,1093,17,16,19,538,42, - 43,196,129,4642,2355,165,1367,17,16,19, - 538,673,44,570,572,571,605,604,638,606, - 640,639,672,74,4139,681,265,874,4531,1061, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,270,1307,17, - 16,19,538,673,44,570,572,571,605,604, - 638,606,640,639,672,74,84,264,187,4642, - 4146,223,224,4642,4642,4642,4642,4642,4642,4642, - 4642,4154,277,1307,17,16,19,538,673,44, - 570,572,571,605,604,638,606,640,639,672, - 74,83,1307,17,16,19,538,673,44,570, - 572,571,605,604,638,606,640,639,672,74, - 82,1307,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,81, - 1307,17,16,19,538,673,44,570,572,571, - 605,604,638,606,640,639,672,74,80,1307, - 17,16,19,538,673,44,570,572,571,605, - 604,638,606,640,639,672,74,79,1307,17, - 16,19,538,673,44,570,572,571,605,604, - 638,606,640,639,672,74,78,1307,17,16, - 19,538,673,44,570,572,571,605,604,638, - 606,640,639,672,74,77,1307,17,16,19, - 538,673,44,570,572,571,605,604,638,606, - 640,639,672,74,76,1307,17,16,19,538, - 673,44,570,572,571,605,604,638,606,640, - 639,672,74,75,1307,17,16,19,538,673, - 44,570,572,571,605,604,638,606,640,639, - 672,74,89,1307,17,16,19,538,42,44, - 570,572,571,605,604,638,606,640,639,672, - 90,1307,17,16,19,538,42,44,570,572, - 571,605,604,638,606,640,639,672,90,811, - 1129,753,4642,753,4642,752,752,752,752,755, - 4642,752,1129,4642,4642,214,4642,4642,133,128, - 4642,4236,227,4494,267,4496,1046,1047,1048,1080, - 22,109,226,1115,1307,17,16,19,538,673, - 44,570,572,571,605,604,638,606,640,639, - 672,74,30,1307,17,16,19,538,42,44, - 570,572,571,605,604,638,606,640,639,672, - 90,1307,17,16,19,538,673,44,570,572, - 571,605,604,638,606,640,639,672,74,4261, - 4642,570,4642,570,4642,4642,581,4642,4642,4642, - 4642,4642,4642,874,4642,201,1307,17,16,19, - 538,42,44,570,572,571,605,604,638,606, - 640,639,672,90,1307,17,16,19,538,42, - 44,570,572,571,605,604,638,606,640,639, - 672,90,500,183,186,516,142,557,183,374, - 3705,4642,1373,875,874,706,1375,706,202,874, - 211,899,211,4642,1398,4642,266,4403,2050,3499, - 707,4143,707,230,4642,4642,4312,141,304,305, - 139,143,142,304,305,140,144,264,450,237, - 4137,2379,223,537,205,206,536,573,225,4227, - 207,3664,271,276,4241,54,265,162,752,897, - 135,4198,4642,752,462,2378,4288,4293,2166,4086, - 4333,4318,4310,247,304,305,231,2358,195,263, - 136,137,138,321,268,266,4433,738,2184,264, - 3124,4642,3410,223,224,4642,142,536,3611,223, - 708,876,289,3664,4642,4132,264,4642,253,3410, - 223,224,1129,255,3149,1129,374,2408,2116,374, - 3664,374,141,304,305,139,143,4642,380,142, - 4198,318,288,232,316,2126,141,304,305,139, - 143,3410,223,224,4227,1129,536,289,1409,2126, - 4132,2116,1129,1440,814,146,236,162,4227,238, - 4642,239,2408,1129,314,285,287,420,2166,145, - 1526,131,374,752,3410,223,224,288,1538,3149, - 4268,1129,127,141,304,305,139,143,141,304, - 305,139,143,1569,515,4642,4406,900,752,248, - 3103,4434,248,4642,1129,141,304,305,139,143, - 286,287,281,141,304,305,139,143,4447,549, - 249,4132,142,3175,4132,4642,4465,4642,141,304, - 305,139,143,197,752,279,197,248,27,1129, - 4642,4474,4132,3662,2116,4642,3662,4642,248,3709, - 2154,1452,752,4642,4187,583,752,193,3199,4132, - 193,2308,4514,577,2406,4514,1483,3410,223,224, - 4132,197,536,269,62,251,4642,753,4642,4001, - 1013,3662,197,163,4642,4132,142,304,305,140, - 144,752,3662,577,1495,193,2116,4187,4642,3707, - 4514,142,304,305,140,144,193,1581,4642,1129, - 4093,4514,821,4142,752,4132,968,3609,251,3410, - 223,224,4203,1013,1081,1612,4642,4187,3223,142, - 304,305,140,144,1624,4575,752,198,4132,1129, - 292,4642,142,304,305,140,144,3705,251,1129, - 3989,199,4203,1013,822,54,822,957,3271,2356, - 142,304,305,140,144,294,1129,1129,3295,142, - 304,305,140,144,1374,1129,4132,4132,4132,264, - 1129,1129,1129,829,338,2565,2613,338,4187,3989, - 4187,338,4642,3664,3343,4642,4132,4642,4642,3367, - 2685,2709,4642,259,293,4132,1129,4642,197,251, - 752,251,752,4001,1013,4392,1013,4187,3662,246, - 304,305,246,304,305,2733,246,304,305,752, - 752,1059,194,1195,752,1129,752,752,252,752, - 752,4642,752,1129,752,752,752,752,752,2310, - 1229,1263,4178,4456,113,1331,2921,1365,1433,4642, - 1467,1535,2781,1637,4642,1671,1705,1739,1773,1841, - 4642,0,307,3614,0,148,4644,0,1,4645, - 0,1,4644,0,4651,1,0,1,979,0, - 1,4898,0,9,11,0,1,4863,0,110, - 923,0 + 30,30,30,30,30,30,46,46,161,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,786, + 4169,302,92,4143,106,91,93,94,95,96, + 916,314,569,24,450,2392,1412,17,16,19, + 677,42,44,678,711,679,985,107,1700,762, + 1,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,348,4169,104,92,4143,106,91,93,94, + 95,96,916,314,643,2244,137,2392,400,185, + 102,103,1412,17,16,19,677,42,39,107, + 223,610,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,393,293,105,92,4143,1153,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,247,305,306, + 92,4143,98,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,449,569,23,92,4143,114,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,247,305,306,92,4143, + 112,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,118, + 749,813,92,4143,1256,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,886,924,342,92,4143,126,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,1687,276,452, + 92,4143,122,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,394,528,250,92,4143,345,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,505,234,155,92,4143, + 337,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,879, + 738,199,92,4143,125,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,359,627,57,92,4143,124,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,349,417,529, + 92,4143,121,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,581,945,576,92,4143,120,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,767,952,890,92,4143, + 118,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,946, + 629,637,92,4143,111,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,570,625,454,92,4143,344,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,500,708,710, + 92,4143,343,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,837,889,626,92,4143,341,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,878,972,971,92,4143, + 336,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,1007, + 249,81,92,4143,335,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,832,1008,1038,92,4143,333,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,1039,1040,1041, + 92,4143,329,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,1105,866,1079,92,4143,123,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,1106,876,1137,92,4143, + 119,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,4721, + 4721,4721,92,4143,117,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,4721,4721,4721,92,4143,116,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,4721,4721,4721, + 92,4143,342,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,4721,4721,4721,92,4143,340,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,4721,4721,4721,92,4143, + 339,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,4721, + 4721,4721,92,4143,334,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,4721,4721,4721,92,4143,332,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,4721,4721,4721, + 92,4143,331,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,4721,4721,4721,92,4143,328,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,4721,4721,4721,92,4143, + 327,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,4721, + 4721,4721,92,4143,325,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,4721,4721,4721,92,4143,115,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,4721,4721,4721, + 92,4143,338,91,93,94,95,96,916,314, + 241,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,108, + 882,4721,4721,4721,92,4143,330,91,93,94, + 95,96,916,314,241,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,108,882,4721,4721,4721,92,4143, + 326,91,93,94,95,96,916,314,241,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,108,882,4721, + 4721,4721,92,4143,324,91,93,94,95,96, + 916,314,241,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,108,882,337,4721,4721,92,4143,323,91, + 93,94,95,96,916,314,241,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,108,882,246,305,306, + 92,4143,322,91,93,94,95,96,916,314, + 1257,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,473, + 814,525,4169,2646,1412,17,16,19,677,42, + 44,678,711,679,713,712,1053,197,1412,17, + 16,19,677,42,44,678,950,4556,4721,373, + 275,450,2485,1257,17,16,19,677,645,44, + 678,711,679,713,712,746,745,779,747,780, + 74,88,1833,814,4721,4169,2646,1412,17,16, + 19,677,42,44,678,711,679,713,1085,235, + 197,1412,17,16,19,677,42,44,678,951, + 4556,611,2190,223,218,3187,1257,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,222,814,291,4169,2646, + 1412,17,16,19,677,42,44,678,711,679, + 1017,4721,823,197,1412,17,16,19,677,42, + 44,983,4721,4556,373,373,974,450,3331,1257, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,88,4169,814, + 292,4169,2646,1412,17,16,19,677,42,44, + 678,711,1018,2392,311,237,197,1412,17,16, + 19,677,42,44,984,295,4556,1700,4095,74, + 450,3355,1257,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,4419,814,4195,4169,2646,1412,17,16,19, + 677,42,44,678,711,1019,373,4721,184,197, + 1412,17,16,19,677,42,38,288,4721,4556, + 4721,4096,74,4721,3468,1257,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,88,4422,814,236,4169,2646,1412, + 17,16,19,677,42,44,678,711,1051,2245, + 223,644,197,1412,17,16,19,677,42,37, + 288,4721,4556,4721,4721,198,4721,3490,1099,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,3021,814,4721, + 4169,4224,1412,17,16,19,677,42,44,678, + 711,1052,3562,223,644,2392,999,17,16,19, + 677,42,35,1474,288,38,4721,2997,1099,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,3069,814,4721, + 4169,4269,405,881,232,218,240,141,305,306, + 280,139,143,303,4721,2392,2505,223,224,4721, + 225,2393,133,227,4523,4281,226,3045,468,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,2126,1412,17,16, + 19,677,42,44,678,711,679,713,712,746, + 745,1086,247,305,306,4721,74,4721,234,1194, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,270,4085,521, + 314,4211,1194,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 270,2037,307,635,4211,999,17,16,19,677, + 42,35,881,1531,273,1288,17,16,19,677, + 303,2360,223,224,264,225,4721,274,4721,781, + 4721,133,405,4312,4327,1700,2549,273,4721,373, + 4721,253,4721,4721,204,312,255,142,305,306, + 274,140,144,227,4368,395,4326,731,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,88,187,814,690,20, + 346,731,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,88, + 225,814,724,4540,346,218,779,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,270,826,3728,4541,4211,1412, + 17,16,19,677,42,44,678,711,679,713, + 712,746,745,779,747,780,73,272,1319,17, + 16,19,677,301,999,17,16,19,677,42, + 35,275,1412,17,16,19,677,42,36,846, + 225,4721,4721,287,276,779,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,270,241,4570,213,4211,1412,17, + 16,19,677,42,44,678,711,679,713,712, + 746,745,779,1120,265,134,28,1412,17,16, + 19,677,42,34,1350,17,16,19,677,299, + 275,1412,17,16,19,677,42,35,4721,4721, + 4721,74,4721,276,731,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,4590,814,996,218,346,731,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,18,814,1030, + 4619,346,731,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,4721,814,1098,4622,346,731,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,4721,814,1132,4624,346, + 731,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,4721, + 814,1166,4625,346,731,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,4721,814,1404,4626,346,731,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,4721,814,1506, + 4635,346,731,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,4721,814,1574,4638,346,731,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,4721,814,1608,4642,346, + 731,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,4721, + 814,1812,4644,346,1068,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,320,814,4721,4649,4144,1068,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,318,814,4721, + 4721,4145,1068,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,316,814,4721,4721,4146,1068,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,130,814,4721,4721,4191, + 669,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,4218,1412, + 17,16,19,677,42,44,678,711,679,713, + 712,746,1087,4721,247,305,306,1068,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,88,3093,814,4721,4721, + 4315,1068,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,88, + 3117,814,4721,4721,4339,1068,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,88,3165,814,4721,4721,4359,1068, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,88,3189,814, + 4721,4721,4373,1068,17,16,19,677,645,44, + 678,711,679,713,712,746,745,779,747,780, + 74,88,2437,814,4721,4721,4414,1068,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,88,2461,814,4721,4721, + 4465,1068,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,88, + 3285,814,74,4721,4470,1030,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,88,4454,814,622,218,4364,1030, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,88,1155,814, + 656,4721,4437,1068,17,16,19,677,645,44, + 678,711,679,713,712,746,745,779,747,780, + 74,88,3357,814,4721,4721,4478,1068,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,88,2648,814,4721,4721, + 4507,1068,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,88, + 2696,814,4721,4721,4567,1068,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,88,2720,814,74,4721,4581,1030, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,88,4457,814, + 792,218,4596,1030,17,16,19,677,645,44, + 678,711,679,713,712,746,745,779,747,780, + 74,88,1187,814,860,218,4607,1030,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,88,1188,814,894,4721, + 4616,1068,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,88, + 2816,814,74,4721,4629,1030,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,88,4549,814,1302,405,4633,700, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,1929,267,4543, + 4721,4166,1412,17,16,19,677,42,47,1412, + 17,16,19,677,42,46,4721,4721,218,233, + 1030,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,29,1189, + 218,21,1412,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,1221,814,4721,773,2419,1412,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,88,22,814,4721,4721,1119, + 1412,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,88,3514, + 814,74,864,4199,1412,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,88,2339,814,4721,4721,4242,1412,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,88,225,814,948, + 218,4249,1412,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 88,263,814,1700,737,4511,914,17,16,19, + 677,42,44,678,711,679,713,712,746,745, + 779,747,780,90,265,1226,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,2035,186,205,313,4575,1412,17, + 16,19,677,42,45,4721,4721,4721,4721,2034, + 1130,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,270,1130, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,270,1162,17, + 16,19,677,42,43,1381,17,16,19,677, + 40,881,884,884,4721,165,1443,17,16,19, + 677,33,1443,17,16,19,677,32,4721,4721, + 196,321,129,4344,277,1412,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,85,1412,17,16,19,677,645, + 44,678,711,679,713,712,746,745,779,747, + 780,74,84,1412,17,16,19,677,645,44, + 678,711,679,713,712,746,745,779,747,780, + 74,83,1412,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 82,1412,17,16,19,677,645,44,678,711, + 679,713,712,746,745,779,747,780,74,81, + 1412,17,16,19,677,645,44,678,711,679, + 713,712,746,745,779,747,780,74,80,1412, + 17,16,19,677,645,44,678,711,679,713, + 712,746,745,779,747,780,74,79,1412,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,78,1412,17,16, + 19,677,645,44,678,711,679,713,712,746, + 745,779,747,780,74,77,1412,17,16,19, + 677,645,44,678,711,679,713,712,746,745, + 779,747,780,74,76,1412,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,75,1412,17,16,19,677,42, + 44,678,711,679,713,712,746,745,779,747, + 780,90,1412,17,16,19,677,645,44,678, + 711,679,713,712,746,745,779,747,780,74, + 4221,4721,4721,4721,4721,4721,4721,4721,4721,961, + 4721,4721,4721,4721,4721,4721,4721,1154,1412,17, + 16,19,677,645,44,678,711,679,713,712, + 746,745,779,747,780,74,89,1412,17,16, + 19,677,42,44,678,711,679,713,712,746, + 745,779,747,780,90,1412,17,16,19,677, + 645,44,678,711,679,713,712,746,745,779, + 747,780,74,30,917,632,4721,4721,4721,4721, + 4721,212,4721,4721,4721,577,739,4721,4721,4721, + 214,1412,17,16,19,677,42,44,678,711, + 679,713,712,746,745,779,747,780,90,1412, + 17,16,19,677,42,44,678,711,679,713, + 712,746,745,779,747,780,90,2505,223,224, + 264,264,884,884,884,884,884,4721,4721,74, + 917,4721,3609,3609,201,4721,4721,211,501,183, + 4721,128,109,319,317,315,337,2383,949,613, + 183,2362,202,1412,17,16,19,677,42,44, + 678,711,679,713,712,746,745,779,747,780, + 90,884,141,305,306,884,139,143,4721,218, + 246,305,306,141,305,306,4251,139,143,2137, + 131,968,4294,1700,127,4721,1700,4251,373,135, + 520,373,321,4294,884,4721,4351,2243,4345,4361, + 135,380,2298,4721,462,136,137,138,2243,4345, + 4361,289,218,3141,4158,4721,136,137,138,218, + 289,557,183,4158,206,266,4468,207,238,2273, + 392,239,774,554,2245,223,609,4721,2273,884, + 588,288,218,2245,223,609,2360,223,224,264, + 288,142,4169,230,1984,142,305,306,3213,140, + 144,2549,836,268,810,450,279,2359,4721,4721, + 4721,3610,947,1931,450,4302,3709,2195,285,287, + 436,195,921,4721,218,884,252,286,287,4231, + 4412,4404,4382,2435,223,609,1681,142,141,305, + 306,781,139,143,3237,269,141,305,306,884, + 139,143,4372,162,62,1493,4721,4721,4294,384, + 4372,373,4721,271,1983,146,4294,2576,3261,884, + 4721,1512,4721,145,218,231,384,27,636,2360, + 223,224,862,884,4721,2621,1705,781,3309,141, + 305,306,1588,139,143,758,2360,223,224,162, + 4169,281,3333,4464,1223,141,305,306,4169,139, + 143,4721,4721,2576,1607,2359,142,305,306,4516, + 140,144,1626,197,884,4721,141,305,306,835, + 139,143,835,3741,251,198,4302,2275,813,4721, + 4538,142,4721,2624,194,4721,4292,218,141,305, + 306,4169,139,143,4169,4721,141,305,306,4721, + 139,143,4553,384,835,4721,197,835,826,197, + 4559,4262,4721,4721,1550,884,3741,4721,765,3741, + 884,4721,4721,2360,223,224,4169,193,884,4169, + 193,781,398,4376,2672,2087,4376,62,765,3381, + 4169,197,142,163,197,4721,4721,3405,142,305, + 306,3741,140,144,3741,2359,4721,884,4721,384, + 4169,218,193,4721,384,193,1569,2415,4376,4095, + 3633,4376,4721,378,251,2359,2744,4272,813,2360, + 223,224,4615,4721,2360,223,224,1223,1645,4096, + 218,218,1984,378,251,4169,4721,4272,813,632, + 142,305,306,1664,140,144,593,4721,4721,1683, + 2359,962,1064,516,4721,4169,4721,884,199,4721, + 337,4721,142,305,306,337,140,144,2090,251, + 2359,884,2275,813,266,4488,2768,142,305,306, + 74,140,144,142,305,306,218,140,144,251, + 2792,264,4314,813,246,305,306,218,264,246, + 305,306,4169,2549,917,884,218,1200,4721,218, + 2549,211,218,259,218,218,218,2392,1234,884, + 3610,3634,949,218,113,218,541,1268,218,294, + 1336,2960,218,1370,218,1438,1472,1540,2840,218, + 4721,4721,4721,4721,1642,4721,1676,4721,4721,1710, + 4721,4721,4721,1744,4721,1778,4721,4721,4721,4721, + 1846,4721,4721,4721,4721,4721,4721,4721,4721,4721, + 4721,4721,4721,4721,4721,4721,4721,4721,2036,4721, + 0,1,4942,0,308,3636,0,148,4723,0, + 4730,1,0,1,4724,0,1,4723,0,1, + 883,0,9,11,0,1,4977,0,110,928, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -985,7 +1001,7 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,0,1,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,0,54,55,56,0,58,59, + 50,51,52,53,54,55,0,1,58,59, 60,0,1,2,64,65,66,67,68,69, 70,71,72,0,37,75,76,77,78,79, 0,1,2,3,4,5,6,7,8,9, @@ -993,167 +1009,175 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,0,57,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,0,54,55,56,0,58,59, + 50,51,52,53,54,55,0,0,58,59, 60,0,1,2,64,65,66,67,68,69, - 70,71,72,0,37,75,76,77,78,79, + 70,71,72,36,0,75,76,77,78,79, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,0,1,39, - 3,41,42,43,44,45,46,47,48,49, - 50,51,52,60,54,55,56,0,58,59, - 60,88,89,0,64,65,66,67,68,69, + 30,31,32,33,34,35,36,0,0,39, + 40,41,42,43,44,45,46,47,48,49, + 50,51,0,53,54,55,4,0,58,59, + 60,4,0,87,64,65,66,67,68,69, 70,71,72,0,37,75,76,77,78,79, - 0,1,2,3,4,5,0,0,0,0, - 2,4,12,13,14,15,16,17,18,19, + 0,1,2,3,4,5,92,14,0,0, + 38,39,12,13,14,15,16,17,36,19, 20,21,22,23,24,25,26,27,28,29, - 0,31,2,0,0,0,1,2,3,39, - 6,7,8,9,10,11,0,40,0,1, - 0,74,6,7,8,9,10,11,58,59, - 60,31,12,13,64,65,66,67,68,69, - 70,71,72,90,0,75,76,77,78,79, - 0,73,2,0,4,5,6,7,8,9, - 10,11,83,84,85,86,0,0,2,0, - 1,5,0,6,7,8,9,10,11,0, - 30,2,32,33,34,35,36,0,1,39, - 3,41,42,43,44,45,46,47,48,49, - 50,51,52,0,54,55,56,4,58,0, - 31,2,0,4,5,6,7,8,9,10, - 11,0,0,0,37,0,1,6,7,8, - 9,10,11,0,90,12,13,87,0,30, - 87,32,33,34,35,36,74,0,39,0, + 30,74,74,56,0,0,36,80,3,39, + 6,7,8,9,10,11,0,0,1,2, + 3,0,6,7,8,9,10,11,58,59, + 60,0,0,2,64,65,66,67,68,69, + 70,71,72,0,1,75,76,77,78,79, + 0,1,2,3,4,5,6,7,8,9, + 10,11,83,84,85,86,0,36,18,37, + 92,0,6,7,8,9,10,11,0,1, + 37,31,32,33,34,35,81,82,0,39, + 40,41,42,43,44,45,46,47,48,49, + 50,51,0,53,54,55,4,0,58,0, + 1,2,3,4,5,6,7,8,9,10, + 11,0,0,0,0,1,38,18,6,7, + 8,9,10,11,0,12,13,87,4,0, + 31,32,33,34,35,74,0,1,39,40, 41,42,43,44,45,46,47,48,49,50, - 51,52,37,54,55,56,63,58,0,97, - 98,99,100,101,102,103,104,105,106,0, - 31,0,1,61,62,6,7,8,9,10, - 11,0,1,2,0,4,87,0,1,2, + 51,37,53,54,55,63,0,58,97,98, + 99,100,101,102,103,104,105,106,0,0, + 73,0,3,0,6,7,8,9,10,11, + 56,0,1,2,73,4,87,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,37,0, - 92,2,0,1,5,6,7,8,9,10, - 11,0,95,96,53,0,1,15,16,4, - 0,83,84,85,86,0,0,0,2,30, - 63,32,33,34,35,36,0,12,13,37, + 0,0,2,3,0,5,6,7,8,9, + 10,11,61,62,0,0,1,56,18,4, + 0,1,2,3,0,0,2,0,0,1, + 63,31,32,33,34,35,83,84,85,86, + 40,41,42,43,44,45,46,47,48,49, + 50,51,37,53,54,55,0,37,2,0, + 36,5,6,7,8,9,10,11,0,0, + 2,56,3,5,18,0,0,1,2,3, + 0,1,83,84,85,86,0,31,32,33, + 34,35,0,1,90,3,40,41,42,43, + 44,45,46,47,48,49,50,51,0,53, + 54,55,0,37,2,88,89,5,6,7, + 8,9,10,11,0,0,0,3,0,37, + 18,0,57,2,0,0,0,2,4,14, + 12,13,0,31,32,33,34,35,12,13, + 81,82,40,41,42,43,44,45,46,47, + 48,49,50,51,38,53,54,55,0,1, + 2,3,38,5,6,7,8,9,10,11, + 12,13,14,15,16,17,52,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 1,2,3,4,5,81,82,0,73,0, + 0,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 0,1,2,3,4,5,0,0,0,1, + 4,3,12,13,14,15,16,17,0,19, + 20,21,22,23,24,25,26,27,28,29, + 30,0,63,0,0,4,0,3,61,62, + 61,62,0,0,38,37,4,4,0,1, + 2,3,4,5,36,0,56,2,52,59, + 12,13,14,15,16,17,0,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 38,38,0,52,36,6,7,8,9,10, + 11,36,0,57,2,0,1,18,56,56, + 52,0,95,96,0,0,0,73,4,4, + 31,32,33,34,35,0,1,0,36,40, 41,42,43,44,45,46,47,48,49,50, - 51,52,37,54,55,56,0,31,2,0, - 0,5,6,7,8,9,10,11,53,0, - 0,2,0,1,2,3,0,0,0,3, - 0,4,80,3,14,74,30,0,32,33, - 34,35,36,57,0,1,94,41,42,43, - 44,45,46,47,48,49,50,51,52,37, - 54,55,56,0,1,2,3,40,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,1,2,3,4,5,73, - 91,0,92,0,0,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,0,1,2,3,4,5, - 0,1,2,3,31,31,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,0,31,63,0,1,2, - 3,4,5,0,40,0,3,37,0,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,0,0,88, - 89,0,4,6,7,8,9,10,11,31, - 0,0,0,0,0,4,4,4,4,0, - 53,2,0,0,14,2,59,30,0,32, - 33,34,35,36,0,0,38,39,41,42, - 43,44,45,46,47,48,49,50,51,52, - 0,38,38,40,81,82,6,7,8,9, - 10,11,61,62,53,53,0,53,0,3, - 0,3,38,0,4,0,1,0,0,57, - 30,0,32,33,34,35,36,0,0,2, - 0,41,42,43,44,45,46,47,48,49, - 50,51,52,0,1,2,3,4,5,39, - 37,83,84,85,86,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,0,0,0,4,4,61, - 62,6,7,8,9,10,11,81,82,81, - 82,61,62,80,73,0,0,0,0,0, - 4,73,4,4,0,30,63,32,33,34, - 35,36,38,40,40,0,41,42,43,44, - 45,46,47,48,49,50,51,52,0,1, - 2,3,4,5,38,39,38,38,40,40, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,1, - 2,3,4,5,0,61,62,0,0,93, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,91,0, - 1,63,0,0,2,31,0,0,31,0, - 0,1,2,3,4,5,38,0,0,0, - 0,53,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 0,1,2,3,4,5,0,38,31,39, - 31,31,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 0,1,2,3,0,5,0,1,0,39, - 0,0,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 0,31,0,1,2,3,0,5,0,1, - 0,31,38,37,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,0,31,0,1,2,3,0,5, - 0,31,4,0,0,37,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,0,31,0,1,2,3, - 0,5,2,0,0,31,0,39,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 57,5,0,0,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 57,5,0,57,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 57,5,0,0,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, + 51,0,37,0,1,0,1,6,7,8, + 9,10,11,38,39,0,0,0,0,18, + 0,0,37,0,4,0,52,4,0,0, + 0,60,31,32,33,34,35,61,62,0, + 37,40,41,42,43,44,45,46,47,48, + 49,50,51,0,1,2,3,4,5,39, + 0,36,39,0,4,12,13,14,15,16, + 17,0,19,20,21,22,23,24,25,26, + 27,28,29,30,0,0,0,0,1,61, + 62,0,6,7,8,9,10,11,38,36, + 0,0,2,74,18,88,89,0,93,91, + 0,0,52,0,0,0,63,31,32,33, + 34,35,38,38,37,0,40,41,42,43, + 44,45,46,47,48,49,50,51,0,1, + 2,3,4,5,37,0,0,0,57,36, + 12,13,14,15,16,17,0,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 1,2,3,4,5,0,0,0,0,0, + 0,12,13,14,15,16,17,80,19,20, + 21,22,23,24,25,26,27,28,29,30, + 90,63,91,57,57,0,0,0,1,2, + 3,4,5,36,36,36,36,0,0,12, + 13,14,15,16,17,56,19,20,21,22, + 23,24,25,26,27,28,29,30,0,1, + 2,3,4,5,0,0,39,2,0,0, + 12,13,14,15,16,17,0,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 1,2,3,0,5,57,0,39,2,0, + 36,12,13,14,15,16,17,0,19,20, + 21,22,23,24,25,26,27,28,29,30, + 0,0,1,2,3,36,5,0,0,2, + 0,0,0,12,13,14,15,16,17,0, + 19,20,21,22,23,24,25,26,27,28, + 29,30,0,0,1,2,3,36,5,0, + 0,0,0,0,0,12,13,14,15,16, + 17,0,19,20,21,22,23,24,25,26, + 27,28,29,30,0,0,1,2,3,36, + 5,0,0,0,0,0,0,12,13,14, + 15,16,17,0,19,20,21,22,23,24, + 25,26,27,28,29,30,0,1,2,3, 0,5,0,0,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 0,5,0,0,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 0,5,0,0,0,0,0,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,1,2,3, - 0,5,0,0,0,1,4,4,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,0,1,0, - 0,0,6,7,8,9,10,11,0,0, - 38,37,0,40,6,7,8,9,10,11, - 0,0,0,0,0,53,30,0,32,33, - 34,35,36,0,37,0,0,0,30,0, - 32,33,34,35,36,6,7,8,9,10, - 11,0,0,0,0,0,0,6,7,8, - 9,10,11,0,0,0,0,0,0,30, - 37,32,33,34,35,36,0,0,0,0, - 0,30,0,32,33,34,35,36,6,7, - 8,9,10,11,0,0,0,0,0,0, - 6,7,8,9,10,11,0,74,0,0, - 0,0,30,80,32,33,34,35,36,0, - 0,0,0,0,30,0,32,33,34,35, - 36,6,7,8,9,10,11,0,0,0, - 0,0,0,6,7,8,9,10,11,0, - 0,0,0,0,0,30,0,32,33,34, - 35,36,0,0,0,0,0,30,0,32, - 33,34,35,36,6,7,8,9,10,11, - 0,0,0,0,0,0,6,7,8,9, - 10,11,0,0,0,0,0,0,30,0, - 32,33,34,35,36,0,0,0,0,0, - 30,0,32,33,34,35,36,6,7,8, - 9,10,11,0,0,0,0,0,0,6, + 14,15,16,17,0,19,20,21,22,23, + 24,25,26,27,28,29,30,0,1,2, + 3,0,5,0,0,0,0,0,0,12, + 13,14,15,16,17,0,19,20,21,22, + 23,24,25,26,27,28,29,30,0,1, + 2,3,0,5,0,0,0,0,0,0, + 12,13,14,15,16,17,0,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 1,2,3,0,5,0,0,0,0,0, + 0,12,13,14,15,16,17,0,19,20, + 21,22,23,24,25,26,27,28,29,30, + 0,1,2,3,0,5,0,0,0,0, + 0,0,12,13,14,15,16,17,0,19, + 20,21,22,23,24,25,26,27,28,29, + 30,0,1,2,3,0,5,0,0,0, + 0,0,0,12,13,14,15,16,17,0, + 19,20,21,22,23,24,25,26,27,28, + 29,30,0,1,2,3,0,5,0,0, + 0,0,0,0,12,13,14,15,16,17, + 0,19,20,21,22,23,24,25,26,27, + 28,29,30,0,0,0,0,0,0,6, 7,8,9,10,11,0,0,0,0,0, - 0,30,0,32,33,34,35,36,0,0, - 0,0,0,30,0,32,33,34,35,36, + 0,18,0,0,0,0,0,0,6,7, + 8,9,10,11,31,32,33,34,35,0, + 18,0,0,0,0,0,0,6,7,8, + 9,10,11,31,32,33,34,35,0,18, + 0,0,0,0,0,0,6,7,8,9, + 10,11,31,32,33,34,35,0,18,0, + 0,0,0,0,0,6,7,8,9,10, + 11,31,32,33,34,35,0,18,0,0, + 0,0,0,0,6,7,8,9,10,11, + 31,32,33,34,35,0,18,0,0,0, + 0,0,0,6,7,8,9,10,11,31, + 32,33,34,35,0,18,0,0,0,0, + 0,0,6,7,8,9,10,11,31,32, + 33,34,35,0,18,0,0,0,0,0, + 0,6,7,8,9,10,11,31,32,33, + 34,35,0,18,0,0,0,0,0,0, + 6,7,8,9,10,11,31,32,33,34, + 35,0,18,0,0,0,0,0,0,6, + 7,8,9,10,11,31,32,33,34,35, + 0,18,0,0,4,0,0,1,6,7, + 8,9,10,11,31,32,33,34,35,0, + 18,15,16,4,0,0,0,0,4,0, + 0,0,0,31,32,33,34,35,38,0, + 0,0,0,37,0,0,0,0,0,0, + 0,0,52,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,52,0,0,0,0,52,0,0,0, + 0,0,0,0,0,0,80,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 94,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1161,172 +1185,185 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TermAction { public final static char termAction[] = {0, - 4642,1875,4627,3502,1082,4618,1,1,1,1, - 1,1,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 1,3389,1,1,1,1,1,219,2160,4652, - 4650,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,4642,4739,3990, - 944,1,4269,4863,3663,3971,980,447,912,2500, - 946,2897,945,4642,3391,2825,2873,2404,2849,911, - 9,4633,4633,4633,4633,4633,4633,4633,4633,4633, - 4633,4633,4633,4633,4633,4633,4633,4633,4633,4633, - 4633,4633,4633,4633,4633,4633,4633,4633,4633,4633, - 4633,4633,4633,4633,4633,4633,4633,307,4043,4633, - 4633,4633,4633,4633,4633,4633,4633,4633,4633,4633, - 4633,4633,4633,62,4633,4633,4633,4642,4633,4633, - 4633,1,4269,4863,4633,4633,4633,4633,4633,4633, - 4633,4633,4633,4642,4612,4633,4633,4633,4633,4633, - 4642,1875,4627,3502,4653,4618,1,1,1,1, - 1,1,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 1,3389,1,1,1,1,1,258,4135,4652, + 4721,1880,4709,2611,1121,4703,1,1,1,1, + 1,1,2542,2183,2597,3752,3746,3735,1,2130, + 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, + 4736,1,1,1,1,1,399,4721,2272,4731, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1148,1,1,1,164,4739,3990, - 944,2435,2329,66,3663,3971,980,447,912,2500, - 946,2897,945,4642,3391,2825,2873,2404,2849,911, - 4642,1875,979,3502,4653,4645,4642,1,1,59, - 4630,192,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 4642,3389,4832,4642,242,4642,4269,4863,3563,4652, - 1,1,1,1,1,1,243,192,4642,2187, - 51,3632,1,1,1,1,1,1,4739,3990, - 944,2156,2108,2014,3663,3971,980,447,912,2500, - 946,2897,945,2222,67,2825,2873,2404,2849,911, - 4642,4892,1,4642,4653,1,1,1,1,1, - 1,1,2055,2003,1951,1899,4642,4642,4644,4642, - 2237,4645,42,4857,4858,4859,4950,370,4951,4642, - 1,4832,1,1,1,1,1,260,4135,4652, - 3563,1,1,1,1,1,1,1,1,1, - 1,1,1,4642,1,1,1,4647,4932,4642, - 2407,1,4642,4653,1,1,1,1,1,1, - 1,244,54,53,3391,219,3991,4857,4858,4859, - 4950,370,4951,4642,2222,2108,2014,284,70,1, - 4611,1,1,1,1,1,3915,72,4652,189, + 1,1,4729,1,1,1,4721,2198,4818,4142, + 848,1,4492,4942,3743,3974,915,452,847,2022, + 881,2936,849,1,3429,2864,2912,3742,2888,815, + 9,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,4712,224,4101,4712, + 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,4721,4721,4712,4712, + 4712,1,4492,4942,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,228,70,4712,4712,4712,4712,4712, + 4721,1880,4709,2611,4732,4703,1,1,1,1, + 1,1,2542,2183,2597,3752,3746,3735,1,2130, + 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, + 4736,1,1,1,1,1,399,4721,164,4731, 1,1,1,1,1,1,1,1,1,1, - 1,1,3391,1,1,1,4646,4932,61,3896, - 3877,3858,3839,3820,3782,3801,3763,3728,2805,245, - 3268,4642,3518,1910,1962,4857,4858,4859,4950,370, - 4951,1,4204,4636,4642,4649,283,4642,1875,4644, - 2171,4647,4645,4857,4858,4859,4950,370,4951,2491, - 2261,2503,2510,2128,2076,2212,439,4937,4938,4939, - 2024,1972,1920,4654,4655,4656,4657,4061,3391,4642, - 3414,4644,31,3432,4645,4857,4858,4859,4950,370, - 4951,213,2940,3478,4648,1,4135,4667,4668,4649, - 4642,2055,2003,1951,1899,52,4642,4642,4845,4810, - 4646,4811,4809,4860,4812,4808,4642,2108,2014,3454, - 4814,4819,4818,4816,4817,4815,4820,4821,4813,4822, - 4823,4824,3391,1830,1998,1946,148,2409,4615,68, - 71,4645,4857,4858,4859,4950,370,4951,4648,210, - 64,4845,254,4204,4863,1,1,1,4642,3475, - 4642,4624,502,3475,2272,3953,4810,4642,4811,4809, - 4860,4812,4808,2472,4642,3542,434,4814,4819,4818, - 4816,4817,4815,4820,4821,4813,4822,4823,4824,3391, - 1830,1998,1946,4642,1875,4644,3502,4650,4645,4857, - 4858,4859,4950,370,4951,2491,2261,2503,2510,2128, - 2076,2212,439,4937,4938,4939,2024,1972,1920,4654, - 4655,4656,4657,1,1875,4644,2119,4647,4645,4892, - 382,63,3414,188,208,2491,2261,2503,2510,2128, - 2076,2212,439,4937,4938,4939,2024,1972,1920,4654, - 4655,4656,4657,3686,1,1875,4644,3502,4651,4645, - 260,4204,4863,3563,3364,3429,2491,2261,2503,2510, - 2128,2076,2212,439,4937,4938,4939,2024,1972,1920, - 4654,4655,4656,4657,4642,3539,4646,4642,1875,4644, - 3502,4649,4645,48,4650,4642,3667,3391,4642,2491, - 2261,2503,2510,2128,2076,2212,439,4937,4938,4939, - 2024,1972,1920,4654,4655,4656,4657,147,4642,2435, - 2329,58,4653,4857,4858,4859,4950,370,4951,3389, - 65,4642,1,4642,4642,4649,4649,4651,4649,4642, - 4648,4845,2,4642,2272,4774,4988,4810,60,4811, - 4809,4860,4812,4808,87,4642,4362,4652,4814,4819, - 4818,4816,4817,4815,4820,4821,4813,4822,4823,4824, - 148,4144,4024,4650,3655,3509,4857,4858,4859,4950, - 370,4951,1910,1962,4648,4648,50,4648,49,3667, - 1,3667,3934,4642,4653,4642,3566,4642,57,101, - 4810,1,4811,4809,4860,4812,4808,4642,1,4899, - 56,4814,4819,4818,4816,4817,4815,4820,4821,4813, - 4822,4823,4824,4642,1875,4644,2067,4647,4645,4652, - 4114,2055,2003,1951,1899,2491,2261,2503,2510,2128, - 2076,2212,439,4937,4938,4939,2024,1972,1920,4654, - 4655,4656,4657,4642,4642,149,110,4651,4651,1910, - 1962,4857,4858,4859,4950,370,4951,3655,3509,3655, - 3509,1910,1962,1149,4892,4642,4642,69,4642,4642, - 4653,4891,4651,4651,55,4810,4646,4811,4809,4860, - 4812,4808,4149,4650,4650,4642,4814,4819,4818,4816, - 4817,4815,4820,4821,4813,4822,4823,4824,4642,1875, - 4644,3502,4647,4645,4414,4652,2381,2449,4650,4650, - 2491,2261,2503,2510,2128,2076,2212,439,4937,4938, - 4939,2024,1972,1920,4654,4655,4656,4657,4642,1875, - 4644,3502,4649,4645,224,1910,1962,1,209,4639, - 2491,2261,2503,2510,2128,2076,2212,439,4937,4938, - 4939,2024,1972,1920,4654,4655,4656,4657,382,4642, - 3590,4646,4642,4642,4924,228,4642,4642,3389,86, - 4642,1875,4644,3502,4653,4645,6149,224,4642,303, - 301,4648,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 1,1875,4621,3502,4653,4618,4642,3934,229,4652, - 4195,4195,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 4642,1875,4644,3502,248,4645,220,2160,4642,4652, - 299,4642,2491,2261,2503,2510,2128,2076,2212,439, - 4937,4938,4939,2024,1972,1920,4654,4655,4656,4657, - 4642,3539,4642,1875,4644,3502,4642,4645,261,3993, - 41,4195,4523,3391,2491,2261,2503,2510,2128,2076, - 2212,439,4937,4938,4939,2024,1972,1920,4654,4655, - 4656,4657,4642,4195,1,1875,4644,3502,4642,4645, - 4642,4195,4653,4642,4642,3391,2491,2261,2503,2510, - 2128,2076,2212,439,4937,4938,4939,2024,1972,1920, - 4654,4655,4656,4657,4642,3539,1,1875,4621,3502, - 209,4618,368,4642,4642,4195,200,4652,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,1927,4644,3502, - 4742,4645,4642,4642,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,1979,4644,3502, - 481,4645,4642,4096,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,2031,4644,3502, - 4741,4645,4642,4642,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,2083,4644,3502, - 4642,4645,4642,4642,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,1875,4644,3502, - 4642,4645,4642,4642,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,4642,2135,4644,3502, - 4642,4645,4642,4642,4642,4642,4642,4642,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,1,1875,4644,3502, - 4642,4645,4642,1,220,3991,4649,191,2491,2261, - 2503,2510,2128,2076,2212,439,4937,4938,4939,2024, - 1972,1920,4654,4655,4656,4657,153,262,3993,4642, - 4642,4642,4857,4858,4859,4950,370,4951,157,4642, - 1116,3391,4642,191,4857,4858,4859,4950,370,4951, - 4642,4642,4642,4642,4642,4648,4810,4642,4811,4809, - 4860,4812,4808,4642,3391,4642,4642,4642,4810,161, - 4811,4809,4860,4812,4808,4857,4858,4859,4950,370, - 4951,151,4642,4642,4642,4642,4642,4857,4858,4859, - 4950,370,4951,4642,4642,4642,4642,4642,4642,4810, - 4114,4811,4809,4860,4812,4808,4642,4642,4642,4642, - 4642,4810,155,4811,4809,4860,4812,4808,4857,4858, - 4859,4950,370,4951,159,4642,4642,4642,4642,4642, - 4857,4858,4859,4950,370,4951,4642,4920,4642,4642, - 4642,4642,4810,1149,4811,4809,4860,4812,4808,4642, - 4642,4642,4642,4642,4810,160,4811,4809,4860,4812, - 4808,4857,4858,4859,4950,370,4951,156,4642,4642, - 4642,4642,4642,4857,4858,4859,4950,370,4951,4642, - 4642,4642,4642,4642,4642,4810,4642,4811,4809,4860, - 4812,4808,4642,4642,4642,4642,4642,4810,152,4811, - 4809,4860,4812,4808,4857,4858,4859,4950,370,4951, - 158,4642,4642,4642,4642,4642,4857,4858,4859,4950, - 370,4951,4642,4642,4642,4642,4642,4642,4810,4642, - 4811,4809,4860,4812,4808,4642,4642,4642,4642,4642, - 4810,154,4811,4809,4860,4812,4808,4857,4858,4859, - 4950,370,4951,150,4642,4642,4642,4642,4642,4857, - 4858,4859,4950,370,4951,4642,4642,4642,4642,4642, - 4642,4810,4642,4811,4809,4860,4812,4808,4642,4642, - 4642,4642,4642,4810,4642,4811,4809,4860,4812,4808 + 1,1,4721,1,1,1,4732,4721,4818,4142, + 848,4728,4721,4690,3743,3974,915,452,847,2022, + 881,2936,849,64,4173,2864,2912,3742,2888,815, + 4721,1880,883,2611,4732,4724,2317,1957,71,59, + 4431,4731,2542,2183,2597,3752,3746,3735,399,2130, + 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, + 4736,4999,3690,4727,242,48,399,1257,3678,4731, + 1,1,1,1,1,1,243,4721,4492,4942, + 2553,4721,1,1,1,1,1,1,4818,4142, + 848,4721,308,4911,3743,3974,915,452,847,2022, + 881,2936,849,219,2272,2864,2912,3742,2888,815, + 4721,4492,4691,1,4732,1,1,1,1,1, + 1,1,2222,2169,2116,2063,4721,2089,1,4694, + 2317,42,4936,4937,4938,5030,2283,5031,4721,2248, + 3429,1,1,1,1,1,3459,3452,248,4731, + 1,1,1,1,1,1,1,1,1,1, + 1,1,4721,1,1,1,4726,1,5011,4721, + 4492,4691,1,4732,1,1,1,1,1,1, + 1,1,244,51,219,2412,4260,1,4936,4937, + 4938,5030,2283,5031,1,2077,2024,284,4728,4721, + 1,1,1,1,1,3955,4721,3540,4731,1, + 1,1,1,1,1,1,1,1,1,1, + 1,3429,1,1,1,4725,4721,5011,3936,3917, + 3898,3879,3860,3822,3841,3803,3784,3765,245,4721, + 4971,54,1930,61,4936,4937,4938,5030,2283,5031, + 4727,1,4234,4691,4970,4728,283,4721,1880,4723, + 2534,4726,4724,4936,4937,4938,5030,2283,5031,2542, + 2183,2597,3752,3746,3735,3992,2130,442,5017,5018, + 5019,2604,2528,2395,4733,4734,4735,4736,3429,60, + 4721,4721,4723,1930,66,4724,4936,4937,4938,5030, + 2283,5031,1918,1971,4721,1,4563,4727,4889,4728, + 254,4234,4942,1,4721,4721,4911,62,4721,3564, + 4725,4890,4888,4939,4891,4887,2222,2169,2116,2063, + 4893,4898,4897,4895,4896,4894,4899,4900,4892,4901, + 4902,4903,3429,369,1901,371,148,3429,4697,4721, + 2142,4724,4936,4937,4938,5030,2283,5031,4721,50, + 4723,4727,3678,4724,4889,2,260,4234,4942,2553, + 4721,3588,2222,2169,2116,2063,4721,4890,4888,4939, + 4891,4887,258,4563,1904,1,4893,4898,4897,4895, + 4896,4894,4899,4900,4892,4901,4902,4903,4721,369, + 1901,371,4721,3429,4723,2010,386,4724,4936,4937, + 4938,5030,2283,5031,49,65,87,3678,53,3429, + 4889,210,101,4924,4721,1,52,4715,4730,1957, + 2077,2024,4721,4890,4888,4939,4891,4887,2077,2024, + 3459,3452,4893,4898,4897,4895,4896,4894,4899,4900, + 4892,4901,4902,4903,4028,369,1901,371,4721,1880, + 4723,2611,4213,4724,4936,4937,4938,5030,2283,5031, + 2542,2183,2597,3752,3746,3735,4729,2130,442,5017, + 5018,5019,2604,2528,2395,4733,4734,4735,4736,1, + 1880,4723,2236,4726,4724,3459,3452,58,4971,57, + 4721,2542,2183,2597,3752,3746,3735,3655,2130,442, + 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, + 4721,1880,4723,2611,4728,4724,4721,72,260,4563, + 4730,2553,2542,2183,2597,3752,3746,3735,189,2130, + 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, + 4736,1,4725,4721,1,4700,4721,1930,1918,1971, + 1918,1971,4721,4721,4216,3429,4728,4728,1,1880, + 4723,2611,4730,4724,3162,4721,4727,4924,4729,5068, + 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, + 5018,5019,2604,2528,2395,4733,4734,4735,4736,147, + 4065,1255,188,4729,3561,4936,4937,4938,5030,2283, + 5031,2336,4721,4821,4853,220,2272,4889,4727,4727, + 4729,4721,2578,3516,1,4721,56,4971,192,4732, + 4890,4888,4939,4891,4887,261,3427,4721,3306,4893, + 4898,4897,4895,4896,4894,4899,4900,4892,4901,4902, + 4903,148,3429,220,2412,4721,3612,4936,4937,4938, + 5030,2283,5031,4487,4731,110,4721,63,68,4889, + 1,4721,3429,4721,4732,208,192,4732,55,213, + 4721,1222,4890,4888,4939,4891,4887,1918,1971,4721, + 3429,4893,4898,4897,4895,4896,4894,4899,4900,4892, + 4901,4902,4903,4721,1880,4723,2385,4726,4724,4731, + 4721,3402,4731,224,4730,2542,2183,2597,3752,3746, + 3735,4721,2130,442,5017,5018,5019,2604,2528,2395, + 4733,4734,4735,4736,86,209,149,262,3427,1918, + 1971,4721,4936,4937,4938,5030,2283,5031,2486,229, + 4721,4721,4924,4047,4889,2010,386,4721,4718,2979, + 67,69,4729,1,4721,4721,4725,4890,4888,4939, + 4891,4887,4028,6236,3429,4721,4893,4898,4897,4895, + 4896,4894,4899,4900,4892,4901,4902,4903,4721,1880, + 4723,2611,4726,4724,4173,4721,4721,4721,486,399, + 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, + 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, + 1880,4723,2611,4728,4724,4721,4721,304,302,300, + 41,2542,2183,2597,3752,3746,3735,1257,2130,442, + 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, + 1904,4725,2979,2509,4820,4721,4721,4721,1880,4723, + 2611,4732,4724,4149,4149,4149,4149,4721,200,2542, + 2183,2597,3752,3746,3735,4727,2130,442,5017,5018, + 5019,2604,2528,2395,4733,4734,4735,4736,1,1880, + 4706,2611,4732,4703,4721,4721,4731,4978,4721,4721, + 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, + 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, + 1880,4723,2611,4721,4724,4119,4721,4731,5003,4721, + 4149,2542,2183,2597,3752,3746,3735,4721,2130,442, + 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, + 4721,4721,1880,4723,2611,3561,4724,209,4721,4019, + 4721,4721,4721,2542,2183,2597,3752,3746,3735,4721, + 2130,442,5017,5018,5019,2604,2528,2395,4733,4734, + 4735,4736,4721,1,1880,4723,2611,4149,4724,4721, + 4721,4721,4721,4721,4721,2542,2183,2597,3752,3746, + 3735,4721,2130,442,5017,5018,5019,2604,2528,2395, + 4733,4734,4735,4736,4721,1,1880,4723,2611,3561, + 4724,4721,4721,4721,4721,4721,4721,2542,2183,2597, + 3752,3746,3735,4721,2130,442,5017,5018,5019,2604, + 2528,2395,4733,4734,4735,4736,1,1880,4706,2611, + 4721,4703,4721,4721,4721,4721,4721,4721,2542,2183, + 2597,3752,3746,3735,4721,2130,442,5017,5018,5019, + 2604,2528,2395,4733,4734,4735,4736,4721,1933,4723, + 2611,4721,4724,4721,4721,4721,4721,4721,4721,2542, + 2183,2597,3752,3746,3735,4721,2130,442,5017,5018, + 5019,2604,2528,2395,4733,4734,4735,4736,4721,1986, + 4723,2611,4721,4724,4721,4721,4721,4721,4721,4721, + 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, + 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, + 2039,4723,2611,4721,4724,4721,4721,4721,4721,4721, + 4721,2542,2183,2597,3752,3746,3735,4721,2130,442, + 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, + 4721,2092,4723,2611,4721,4724,4721,4721,4721,4721, + 4721,4721,2542,2183,2597,3752,3746,3735,4721,2130, + 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, + 4736,4721,1880,4723,2611,4721,4724,4721,4721,4721, + 4721,4721,4721,2542,2183,2597,3752,3746,3735,4721, + 2130,442,5017,5018,5019,2604,2528,2395,4733,4734, + 4735,4736,4721,2145,4723,2611,4721,4724,4721,4721, + 4721,4721,4721,4721,2542,2183,2597,3752,3746,3735, + 4721,2130,442,5017,5018,5019,2604,2528,2395,4733, + 4734,4735,4736,153,4721,4721,4721,4721,4721,4936, + 4937,4938,5030,2283,5031,4721,4721,4721,4721,4721, + 4721,4889,157,4721,4721,4721,4721,4721,4936,4937, + 4938,5030,2283,5031,4890,4888,4939,4891,4887,4721, + 4889,161,4721,4721,4721,4721,4721,4936,4937,4938, + 5030,2283,5031,4890,4888,4939,4891,4887,4721,4889, + 151,4721,4721,4721,4721,4721,4936,4937,4938,5030, + 2283,5031,4890,4888,4939,4891,4887,4721,4889,155, + 4721,4721,4721,4721,4721,4936,4937,4938,5030,2283, + 5031,4890,4888,4939,4891,4887,4721,4889,159,4721, + 4721,4721,4721,4721,4936,4937,4938,5030,2283,5031, + 4890,4888,4939,4891,4887,4721,4889,160,4721,4721, + 4721,4721,4721,4936,4937,4938,5030,2283,5031,4890, + 4888,4939,4891,4887,4721,4889,156,4721,4721,4721, + 4721,4721,4936,4937,4938,5030,2283,5031,4890,4888, + 4939,4891,4887,4721,4889,152,4721,4721,4721,4721, + 4721,4936,4937,4938,5030,2283,5031,4890,4888,4939, + 4891,4887,4721,4889,158,4721,4721,4721,4721,4721, + 4936,4937,4938,5030,2283,5031,4890,4888,4939,4891, + 4887,4721,4889,154,4721,4721,4721,4721,4721,4936, + 4937,4938,5030,2283,5031,4890,4888,4939,4891,4887, + 4721,4889,150,4721,4730,4721,31,3470,4936,4937, + 4938,5030,2283,5031,4890,4888,4939,4891,4887,4721, + 4889,4746,4747,4730,1,4721,4721,4721,191,4721, + 4721,4721,4721,4890,4888,4939,4891,4887,2555,4721, + 4721,4721,4721,3492,4721,4721,4721,4721,4721,4721, + 4721,4721,4729,4721,4721,4721,4721,4721,4721,4721, + 4721,4721,4721,4721,4721,4721,4721,4721,4721,4721, + 4721,4729,4721,4721,4721,4721,191,4721,4721,4721, + 4721,4721,4721,4721,4721,4721,542,4721,4721,4721, + 4721,4721,4721,4721,4721,4721,4721,4721,4721,4721, + 382 }; }; public final static char termAction[] = TermAction.termAction; @@ -1334,46 +1371,46 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asb { public final static char asb[] = {0, - 497,529,263,75,497,24,1,36,591,591, - 36,591,36,20,120,24,436,36,58,299, - 58,299,36,58,364,36,36,36,36,24, - 263,592,172,120,430,124,561,169,458,243, - 101,101,101,101,101,101,101,101,436,101, - 101,101,132,193,198,196,204,200,207,206, - 209,208,210,299,299,299,299,364,364,36, - 36,36,263,222,120,55,561,427,340,120, - 44,464,395,55,55,182,101,213,594,243, - 243,243,243,243,494,494,370,101,101,101, - 101,101,101,101,101,101,101,101,101,101, - 101,101,101,101,101,101,101,299,328,74, - 299,299,328,364,177,176,177,563,75,223, - 120,464,338,44,124,169,286,466,398,458, - 286,436,340,101,101,101,101,101,101,101, - 101,101,101,101,101,561,52,461,55,55, - 55,55,55,54,458,196,196,193,193,200, - 200,198,198,198,198,206,204,208,207,218, - 209,328,331,328,177,328,101,495,120,222, - 173,99,99,99,99,173,173,495,122,122, - 122,81,122,122,172,173,135,218,101,218, - 427,466,338,286,44,55,50,54,54,286, - 458,395,338,594,464,55,531,181,181,181, - 181,592,101,101,172,101,215,328,220,173, - 173,173,173,173,241,241,101,293,101,101, - 218,81,177,296,44,561,461,466,495,398, - 101,458,436,338,52,466,55,331,101,99, - 99,173,99,99,173,55,122,55,55,336, - 340,495,101,295,50,531,458,458,177,55, - 99,173,99,173,99,370,173,370,173,99, - 81,101,81,81,458,336,369,173,99,369, - 173,99,99,173,81,55,370,81,55,370, - 370,173,55,221,81,55,369,369,173,81, - 55,369,369,173,369,173,99,81,81,55, - 81,81,55,81,55,370,173,81,81,81, - 55,81,55,369,81,81,55,81,55,369, - 81,55,369,369,173,81,81,81,81,55, - 81,81,81,55,81,81,81,55,81,81, - 55,81,55,369,81,81,81,81,81,81, - 55,81 + 489,1,168,46,42,51,269,519,489,330, + 307,342,268,268,342,268,342,326,42,350, + 361,523,369,528,432,128,42,330,464,342, + 54,271,54,271,342,54,364,342,342,342, + 342,330,350,46,192,42,530,435,486,192, + 202,149,23,23,23,23,23,23,23,23, + 464,23,23,23,77,213,218,216,224,220, + 227,226,229,228,230,129,169,269,117,372, + 523,114,486,464,271,271,271,271,364,364, + 342,342,342,192,350,369,361,356,169,360, + 192,486,23,432,23,23,23,23,23,23, + 23,23,23,23,23,361,361,233,593,149, + 149,149,149,149,558,558,379,23,23,23, + 23,23,23,23,23,23,23,23,23,23, + 23,23,23,23,23,23,23,128,118,21, + 21,21,21,118,118,559,44,44,44,3, + 44,44,117,118,80,238,23,238,519,169, + 42,408,42,528,271,300,70,271,271,300, + 364,122,121,122,350,523,358,525,530,435, + 23,486,464,408,23,523,525,361,361,361, + 361,361,360,486,216,216,213,213,220,220, + 218,218,218,218,226,224,228,227,238,229, + 126,118,118,118,118,118,147,147,23,199, + 23,23,238,3,42,240,406,114,530,300, + 72,300,122,300,23,559,356,528,361,561, + 486,486,406,593,561,201,201,201,201,269, + 23,23,21,21,118,21,21,118,361,44, + 361,361,406,360,117,23,235,300,358,530, + 361,406,21,118,21,118,21,379,118,379, + 118,21,3,23,3,3,122,304,559,72, + 23,361,122,378,118,21,378,118,21,21, + 118,3,361,379,3,361,379,379,118,361, + 127,404,408,559,23,303,404,3,361,378, + 378,118,3,361,378,378,118,378,118,21, + 3,3,361,3,3,361,3,361,379,118, + 3,486,3,3,361,3,361,378,3,3, + 361,3,361,378,3,361,378,378,118,3, + 3,3,3,361,3,3,3,361,3,3, + 3,361,3,3,361,3,361,378,3,3, + 3,3,3,3,361,3 }; }; public final static char asb[] = Asb.asb; @@ -1381,66 +1418,66 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asr { public final static byte asr[] = {0, - 17,15,16,14,12,13,18,19,20,21, - 22,23,24,25,26,27,28,29,63,5, - 54,55,56,49,41,46,44,45,43,42, - 47,48,50,51,52,57,39,36,33,30, - 32,35,34,6,7,8,9,10,11,3, - 2,37,1,38,53,4,0,32,6,33, - 34,35,7,30,36,8,37,38,9,10, - 11,53,31,57,1,3,2,39,4,0, - 65,66,31,70,72,67,60,68,79,69, - 59,64,71,76,78,75,77,58,39,4, - 26,27,28,29,20,21,22,5,15,16, - 14,12,13,18,19,17,23,24,25,3, - 2,1,0,31,37,1,74,38,39,4, - 0,63,53,40,57,80,94,15,16,14, - 3,12,13,81,82,61,62,83,84,85, - 86,88,89,90,91,92,95,96,97,98, - 99,100,101,102,103,104,105,106,74,37, - 1,38,39,4,0,74,40,4,38,0, - 31,74,97,98,99,100,101,103,102,104, - 105,106,3,81,82,12,13,62,61,83, - 84,85,86,88,89,14,90,91,92,40, - 95,96,63,53,38,39,4,57,0,87, - 93,40,65,66,31,70,72,67,60,68, + 87,0,65,66,36,70,72,67,60,68, 79,69,59,64,71,76,78,75,77,58, - 39,4,15,16,14,3,12,13,18,19, - 17,23,24,25,1,26,27,28,29,20, - 21,22,2,5,54,55,56,34,36,33, - 30,32,35,49,41,46,44,45,43,42, - 47,48,50,51,52,6,7,8,9,11, - 10,0,60,0,74,37,80,0,32,41, - 6,42,54,33,43,34,44,45,35,7, - 46,47,30,55,36,56,48,49,8,50, - 51,52,9,10,11,2,5,40,4,0, - 3,57,2,1,0,40,4,37,80,1, - 26,27,28,29,20,21,22,2,5,15, - 16,14,3,12,13,18,19,17,23,24, - 25,31,0,38,2,40,4,0,59,1, - 26,27,28,29,20,21,22,2,5,15, - 16,14,3,12,13,18,19,17,23,24, - 25,53,4,0,63,4,30,6,7,8, - 9,10,11,15,16,14,3,12,13,18, - 19,17,23,24,25,1,2,5,26,27, - 28,29,20,21,22,0,57,37,1,38, - 53,39,4,74,0,15,16,14,3,12, - 13,18,19,17,23,24,25,1,2,5, - 26,27,28,29,20,21,22,63,4,0, - 3,1,37,53,4,32,41,6,42,54, - 33,43,34,44,45,35,7,46,47,30, - 55,36,56,48,49,8,50,51,52,9, - 10,11,73,5,2,0,32,41,6,42, - 54,33,43,34,44,45,35,7,46,47, - 30,55,36,56,48,49,8,50,51,52, - 9,10,11,2,5,39,4,58,87,0, - 32,41,6,42,54,33,43,34,44,45, - 35,7,46,47,30,55,36,56,48,49, - 8,50,51,52,9,10,11,2,5,73, - 3,0,32,41,6,42,54,33,43,34, - 44,45,35,7,46,47,30,55,36,56, - 48,49,8,50,51,52,9,10,11,5, - 2,31,0,53,4,3,1,37,0 + 39,4,27,28,29,30,21,22,23,5, + 15,16,14,12,13,19,20,17,24,25, + 26,3,2,1,0,36,74,38,39,4, + 37,1,0,31,6,32,33,34,7,18, + 35,8,37,38,9,10,11,56,36,39, + 4,3,57,2,1,0,63,56,52,57, + 80,94,15,16,14,3,12,13,81,82, + 61,62,83,84,85,86,88,89,90,91, + 92,95,96,97,98,99,100,101,102,103, + 104,105,106,74,37,1,38,39,4,0, + 74,52,4,38,0,87,93,52,65,66, + 36,70,72,67,60,68,79,69,59,64, + 71,76,78,75,77,58,39,4,15,16, + 14,12,13,19,20,17,24,25,26,1, + 27,28,29,30,21,22,23,3,31,40, + 41,53,32,42,33,43,44,34,45,46, + 18,54,35,55,47,48,49,50,51,2, + 5,6,7,8,9,11,10,0,60,0, + 36,74,97,98,99,100,101,103,102,104, + 105,106,3,81,82,12,13,62,61,83, + 84,85,86,88,89,14,90,91,92,52, + 95,96,63,56,38,39,4,57,0,31, + 40,6,41,53,32,42,33,43,44,34, + 7,45,46,18,54,35,55,47,48,8, + 49,50,51,9,10,11,5,2,36,0, + 31,40,6,41,53,32,42,33,43,44, + 34,7,45,46,18,54,35,55,47,48, + 8,49,50,51,9,10,11,2,5,52, + 4,0,74,37,80,0,17,15,16,14, + 12,13,19,20,21,22,23,24,25,26, + 27,28,29,30,63,5,53,54,55,48, + 40,45,43,44,42,41,46,47,49,50, + 51,57,39,35,32,18,31,34,33,6, + 7,8,9,10,11,3,2,37,1,38, + 56,4,0,38,2,52,4,0,57,37, + 1,38,56,39,4,74,0,59,1,27, + 28,29,30,21,22,23,2,5,15,16, + 14,3,12,13,19,20,17,24,25,26, + 56,4,0,52,4,37,80,1,27,28, + 29,30,21,22,23,2,5,15,16,14, + 3,12,13,19,20,17,24,25,26,36, + 0,63,4,18,6,7,8,9,10,11, + 15,16,14,3,12,13,19,20,17,24, + 25,26,1,2,5,27,28,29,30,21, + 22,23,0,15,16,14,3,12,13,19, + 20,17,24,25,26,1,2,5,27,28, + 29,30,21,22,23,63,4,0,87,31, + 40,6,41,53,32,42,33,43,44,34, + 7,45,46,18,54,35,55,47,48,8, + 49,50,51,9,10,11,5,58,1,2, + 39,4,3,0,3,1,37,56,4,31, + 40,6,41,53,32,42,33,43,44,34, + 7,45,46,18,54,35,55,47,48,8, + 49,50,51,9,10,11,73,5,2,0, + 31,40,6,41,53,32,42,33,43,44, + 34,7,45,46,18,54,35,55,47,48, + 8,49,50,51,9,10,11,2,5,73, + 3,0,56,4,3,1,37,0 }; }; public final static byte asr[] = Asr.asr; @@ -1448,46 +1485,46 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasb { public final static char nasb[] = {0, - 96,87,66,52,100,69,7,70,28,28, - 70,22,70,80,76,83,60,84,87,14, - 87,14,84,87,14,84,70,70,70,69, - 14,125,53,104,87,87,120,45,61,24, - 39,39,39,39,39,39,39,39,60,39, - 39,39,87,87,87,87,87,87,87,87, - 87,87,87,14,110,14,110,14,22,84, - 84,84,127,49,104,64,120,45,39,88, - 14,32,59,64,64,87,39,87,73,24, - 24,24,24,24,16,16,63,39,39,39, - 39,39,39,39,39,39,39,39,39,39, - 39,39,39,39,39,39,39,110,50,52, - 131,110,50,22,50,87,87,122,52,1, - 105,32,14,14,87,45,55,114,4,61, - 55,60,39,39,39,39,39,39,39,39, - 39,39,39,39,39,120,45,72,64,64, - 64,64,64,64,61,87,87,87,87,87, - 87,87,87,87,87,87,87,87,87,87, - 87,50,104,50,50,50,39,22,104,9, - 53,38,38,38,38,53,53,57,87,87, - 87,18,87,87,87,53,87,87,39,87, - 45,13,4,55,86,64,92,87,64,55, - 61,41,14,94,32,64,118,87,87,87, - 87,87,39,39,53,39,87,50,87,53, - 53,53,53,53,35,35,39,87,39,39, - 87,18,50,107,86,120,91,13,87,42, - 39,61,60,4,45,13,64,104,39,38, - 38,53,38,38,53,64,87,64,64,47, - 39,87,39,30,93,118,61,61,50,64, - 38,53,38,53,38,63,53,63,53,38, - 18,39,18,18,61,47,63,53,38,63, - 53,38,38,53,18,64,63,18,64,63, - 63,53,64,87,18,64,63,63,53,18, - 64,63,63,53,63,53,38,18,18,64, - 18,18,64,18,64,63,53,18,18,18, - 64,18,64,63,18,18,64,18,64,63, - 18,64,63,63,53,18,18,18,18,64, - 18,18,18,64,18,18,18,64,18,18, - 64,18,64,63,18,18,18,18,18,18, - 64,18 + 88,110,78,110,131,48,35,53,93,82, + 56,83,9,9,83,7,83,103,96,5, + 76,129,48,50,71,68,111,106,72,107, + 110,5,110,5,107,110,5,107,83,83, + 83,82,5,110,24,64,4,17,73,24, + 110,26,18,18,18,18,18,18,18,18, + 72,18,18,18,110,110,110,110,110,110, + 110,110,110,110,110,1,5,35,46,110, + 129,48,73,72,5,123,5,123,5,7, + 107,107,107,24,109,48,76,62,79,110, + 24,73,18,58,18,18,18,18,18,18, + 18,18,18,18,18,76,76,110,100,26, + 26,26,26,26,11,11,75,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,13,46,45, + 45,45,45,46,46,30,110,110,110,20, + 110,110,110,46,110,110,18,110,53,134, + 131,18,37,50,123,69,53,119,123,69, + 7,69,110,110,109,129,48,98,4,59, + 18,73,72,18,18,129,99,76,76,76, + 76,76,76,73,110,110,110,110,110,110, + 110,110,110,110,110,110,110,110,110,110, + 110,46,46,46,46,46,42,42,18,110, + 18,18,110,20,131,32,5,48,115,69, + 131,69,69,69,18,7,63,50,76,127, + 73,73,5,101,127,110,110,110,110,110, + 18,18,45,45,46,45,45,46,76,110, + 76,76,17,76,46,18,110,69,48,4, + 76,17,45,46,45,46,45,75,46,75, + 46,45,20,18,20,20,69,85,110,131, + 18,76,69,75,46,45,75,46,45,45, + 46,20,76,75,20,76,75,75,46,76, + 110,66,18,110,18,40,66,20,76,75, + 75,46,20,76,75,75,46,75,46,45, + 20,20,76,20,20,76,20,76,75,46, + 20,73,20,20,76,20,76,75,20,20, + 76,20,76,75,20,76,75,75,46,20, + 20,20,20,76,20,20,20,76,20,20, + 20,76,20,20,76,20,76,75,20,20, + 20,20,20,20,76,20 }; }; public final static char nasb[] = Nasb.nasb; @@ -1495,20 +1532,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasr { public final static char nasr[] = {0, - 34,32,86,4,22,0,99,0,4,32, - 41,71,34,22,0,1,0,32,4,26, - 0,64,0,22,44,4,0,76,0,81, - 0,22,21,0,22,34,49,19,4,0, - 40,4,35,0,42,0,4,67,22,41, - 0,22,19,0,65,0,87,0,22,4, - 40,0,4,21,0,75,74,73,57,48, - 0,21,56,22,0,22,47,94,0,73, - 74,75,57,38,39,35,0,47,80,0, - 21,22,45,56,0,97,34,22,0,34, - 22,82,0,22,45,0,96,95,0,63, - 22,44,0,93,22,34,0,22,34,54, - 0,22,34,49,24,0,34,22,98,0, - 22,44,58,0 + 32,4,90,37,22,0,65,0,80,0, + 1,0,32,37,41,75,22,4,0,32, + 4,26,0,66,0,22,47,4,0,91, + 0,22,37,49,24,0,44,84,0,85, + 0,22,37,49,4,19,0,45,0,22, + 21,0,19,22,0,99,0,40,4,34, + 0,22,57,42,0,4,68,22,41,0, + 22,4,40,0,4,21,0,51,71,70, + 69,54,48,0,96,95,0,97,37,44, + 22,0,37,22,86,44,0,42,21,22, + 57,0,69,70,71,54,38,39,34,0, + 22,44,94,0,93,22,37,0,22,47, + 58,0,64,22,47,0,22,37,51,0, + 42,22,0,37,22,98,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1517,11 +1554,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, 2,99,9,113,112,51,67,79,87,88, - 89,10,11,8,6,7,71,12,13,84, - 85,86,91,92,93,100,101,102,103,72, - 3,47,58,63,66,75,1,42,107,106, - 50,55,59,64,65,69,70,77,78,81, - 82,83,105,57,73,76,29,116,52,80, + 89,10,11,8,6,7,71,72,12,13, + 84,85,86,91,92,93,100,101,102,103, + 47,58,63,66,75,3,1,42,107,50, + 55,59,64,65,69,70,77,78,81,82, + 83,106,57,73,76,105,29,116,52,80, 16,17,104,48,49,53,54,60,61,62, 68,74,30,31,90,94,95,96,97,4, 14,15,18,19,20,21,98,22,23,24, @@ -1538,13 +1575,13 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 117,0,0,123,128,129,130,131,132,133, 134,135,136,137,138,139,140,127,121,142, 119,0,122,145,141,144,0,0,0,0, - 0,146,0,151,159,0,0,158,160,118, - 120,180,199,171,177,0,179,157,149,166, - 125,143,167,178,188,190,161,170,181,187, - 165,0,169,174,186,189,191,153,176,126, - 148,152,162,163,164,168,173,0,175,183, - 194,196,0,0,124,147,150,154,155,156, - 172,182,184,185,192,193,195,197,198,0 + 0,146,0,159,0,0,151,158,160,118, + 120,177,0,179,180,199,171,157,149,166, + 178,125,143,161,167,188,190,170,181,187, + 153,165,0,169,174,186,189,191,162,163, + 164,176,182,126,148,152,154,155,156,168, + 173,0,175,183,194,196,0,0,124,147, + 150,172,184,185,192,193,195,197,198,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1578,12 +1615,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 4,4,42,42,74,73,73,74,29,56, - 42,47,74,73,73,42,74,5,5,5, - 53,56,42,42,58,24,5,4,4,53, - 42,42,17,42,99,81,67,56,66,42, - 45,50,89,88,3,58,6,30,4,4, - 95,58,90,89,88,90,89,88 + 4,4,45,45,70,69,69,70,29,57, + 45,44,70,69,69,45,70,5,5,5, + 55,57,45,45,58,24,5,4,4,55, + 45,45,17,45,99,85,68,57,67,45, + 42,50,78,77,3,58,6,30,4,4, + 95,58,79,78,77,79,78,77 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -1591,12 +1628,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 40,38,63,63,40,40,40,38,93,53, - 63,53,40,40,40,26,38,53,53,53, - 40,53,63,63,39,40,53,53,63,38, - 3,26,57,30,63,63,26,53,1,63, - 53,2,36,36,53,2,53,60,53,53, - 74,39,2,54,55,2,54,55 + 52,38,63,63,52,52,52,38,93,56, + 63,56,52,52,52,27,38,56,56,56, + 52,56,63,63,39,52,56,56,63,38, + 3,27,57,18,63,63,27,56,1,63, + 56,2,35,35,56,2,56,60,56,56, + 74,39,2,53,54,2,53,54 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -1604,12 +1641,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 77,77,17,17,250,250,250,250,191,23, - 17,236,250,250,250,17,250,77,77,77, - 4,23,17,17,11,30,77,77,77,4, - 17,17,111,17,248,1,6,23,25,17, - 236,239,251,251,77,11,83,191,77,77, - 2,11,251,251,251,251,251,251 + 17,17,226,226,240,240,240,240,131,233, + 226,244,240,240,240,226,240,17,17,17, + 4,233,226,226,11,178,17,17,17,4, + 226,226,51,226,176,1,6,233,235,226, + 244,250,241,241,17,11,23,131,17,17, + 2,11,241,241,241,241,241,241 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -1617,30 +1654,30 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 167,37,0,118,0,166,1,25,0,119, - 0,166,1,24,0,166,1,23,0,211, - 0,31,0,210,137,0,167,0,185,137, - 31,0,42,120,0,120,0,174,137,1, - 171,0,174,137,1,0,181,1,0,169, - 137,0,190,0,180,137,37,0,9,118, - 0,133,30,180,137,37,0,72,127,118, - 0,133,180,137,30,37,0,180,137,30, - 37,0,127,118,0,133,30,37,0,133, - 180,137,37,0,133,37,0,174,137,1, - 160,0,165,1,0,177,0,193,137,31, - 179,54,0,193,137,31,54,0,159,0, - 121,0,206,137,159,0,137,159,0,172, - 121,0,177,137,31,191,56,0,177,137, - 31,191,55,0,177,137,31,56,0,177, - 137,31,55,0,163,0,164,0,164,157, - 0,163,0,189,163,0,157,0,163,157, - 0,162,0,188,163,0,162,157,0,141, + 168,37,0,118,0,167,1,26,0,119, + 0,167,1,25,0,167,1,24,0,211, + 0,31,0,210,137,0,167,0,189,137, + 36,0,42,120,0,120,0,174,137,1, + 172,0,174,137,1,0,182,1,0,166, + 137,0,190,0,181,137,37,0,9,118, + 0,133,18,181,137,37,0,72,127,118, + 0,133,181,137,18,37,0,181,137,18, + 37,0,127,118,0,133,18,37,0,133, + 181,137,37,0,133,37,0,174,137,1, + 157,0,165,1,0,177,0,197,137,36, + 180,53,0,197,137,36,53,0,162,0, + 121,0,207,137,162,0,137,162,0,172, + 121,0,178,137,36,195,55,0,178,137, + 36,195,54,0,178,137,36,55,0,178, + 137,36,54,0,163,0,164,0,164,157, + 0,163,0,185,163,0,157,0,163,157, + 0,162,0,184,163,0,162,157,0,141, 67,0,80,2,122,119,121,0,141,136, - 138,1,70,0,56,144,0,201,137,31, - 0,138,96,131,0,29,140,0,166,1, - 0,119,129,0,166,1,17,0,185,137, - 31,136,166,1,0,119,3,0,126,42, - 120,0,119,3,0,126,120,0,200,1, + 138,1,70,0,56,144,0,205,137,36, + 0,138,96,131,0,29,140,0,167,1, + 0,119,129,0,167,1,17,0,189,137, + 36,136,167,1,0,119,3,0,126,42, + 120,0,119,3,0,126,120,0,204,1, 119,0,138,37,119,0,138,1,0 }; }; @@ -1649,32 +1686,32 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2154,4294,0,3709,3632,2449,2381,2358,2287,0, - 4388,4514,4377,4342,4339,0,4154,4146,3664,3611, - 3410,2379,3705,3609,4204,4187,4135,4477,0,1841, - 1807,1773,1739,1705,1671,1637,1603,1569,1535,1501, - 1467,1433,1399,1365,1331,1297,1263,1229,1195,1161, - 1127,1093,1059,1025,991,957,923,889,855,821, - 787,753,719,685,651,617,583,549,515,481, - 447,397,347,4456,2184,0,2510,2128,2076,2024, - 1972,1920,2171,3674,2119,2940,382,3414,2272,2222, - 2055,2003,1951,1899,2435,2329,2108,2014,1962,1910, - 3667,3655,3509,3502,2503,2067,2491,2261,2212,439, - 2781,2757,2733,2709,2685,3367,3343,2661,2637,2613, - 2589,2565,3319,3295,3271,3247,3223,2541,3199,2517, - 2449,3590,3175,3151,3127,3103,3079,3055,4114,3709, - 2381,3031,3007,2983,2959,4096,2358,4061,2921,3566, - 3542,3518,2237,2187,4043,2472,4024,2310,2287,3971, - 2897,2873,2849,2825,3953,3934,3915,3896,3877,3858, - 3839,3820,3801,3782,3763,3728,2805,3686,3478,3454, - 3432,2135,2083,2031,1979,1927,3391,3632,1875,3614, - 1841,1807,1773,1739,1705,1671,1637,1603,1569,1535, - 1501,1467,1433,1399,1365,1331,1297,1263,1229,1195, - 1161,1127,1093,1059,1025,991,957,923,889,855, - 821,787,753,719,685,651,617,583,549,515, - 481,447,397,347,0,3705,2306,4193,4414,4204, - 4187,4236,2355,4362,4269,4136,0,370,0,4137, - 4132,0 + 2195,4211,0,3709,3690,2555,2486,2362,2339,0, + 4457,4376,4454,4422,4419,0,3752,3746,3735,2604, + 2528,2395,3728,2534,2578,2979,2317,1957,1904,2222, + 2169,2116,2063,2010,386,2077,2024,1971,1918,3678, + 3459,3452,2611,2385,2597,2236,2542,2183,2130,442, + 2840,2816,2792,2768,2744,3405,3381,2720,2696,2672, + 2648,2624,2555,4173,3709,2486,3357,3333,3309,3285, + 3261,2461,3237,2437,4119,3612,3213,3189,3165,3141, + 3117,3093,2362,4101,2339,3069,3045,3021,2997,2509, + 4065,4047,3588,3564,3540,2248,2198,4028,3992,2960, + 3690,3974,2936,2912,2888,2864,3516,3492,3470,2145, + 2092,2039,1986,1933,3955,3936,3917,3898,3879,3860, + 3841,3822,3803,3784,3765,2298,1880,3655,3636,3429, + 1846,1812,1778,1744,1710,1676,1642,1608,1574,1540, + 1506,1472,1438,1404,1370,1336,1302,1268,1234,1200, + 1166,1132,1098,1064,1030,996,962,928,894,860, + 826,792,758,724,690,656,622,588,554,520, + 486,452,400,348,0,2283,0,1846,1812,1778, + 1744,1710,1676,1642,1608,1574,1540,1506,1472,1438, + 1404,1370,1336,1302,1268,1234,1200,1166,1132,1098, + 1064,1030,996,962,928,894,860,826,792,758, + 724,690,656,622,588,554,520,2036,486,452, + 400,1983,348,450,0,3609,3562,2549,2505,2435, + 2360,2245,4096,4095,4563,4234,4556,2359,0,4251, + 4169,4158,0,4095,2190,2244,2137,4231,4222,4487, + 4344,4327,4234,4431,2359,4281,4492,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1682,46 +1719,46 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,199,137,149,212,172,10,188,56,55, - 189,54,190,163,137,163,37,163,191,31, - 191,31,163,179,31,163,190,189,188,172, - 209,207,187,1,165,162,137,160,167,1, - 25,24,23,17,19,18,13,12,3,14, - 16,15,119,122,124,123,126,125,128,127, - 130,129,131,31,137,31,137,31,137,163, - 163,163,137,31,38,165,137,160,74,169, - 3,1,37,166,138,120,3,135,159,1, + 0,203,137,159,1,157,188,152,212,169, + 10,184,55,54,185,53,186,163,166,3, + 165,137,157,1,37,36,137,163,37,163, + 195,36,195,36,163,180,36,163,186,185, + 184,169,3,159,137,166,137,18,133,137, + 120,1,26,25,24,17,20,19,13,12, + 3,14,16,15,119,122,124,123,126,125, + 128,127,130,129,131,137,209,188,191,165, + 137,157,168,3,36,137,36,137,36,137, + 163,163,163,137,181,157,174,152,137,175, + 137,133,3,181,106,105,104,102,103,101, + 100,99,98,97,74,167,138,135,162,1, 1,1,1,1,94,80,1,37,82,81, 3,61,62,13,12,89,88,86,85,84, - 83,90,14,92,91,96,95,137,177,159, - 178,137,177,137,193,179,194,213,149,137, - 169,1,31,3,162,160,137,137,30,133, - 137,3,136,106,105,104,102,103,101,100, - 99,98,97,74,38,137,171,1,166,166, - 166,166,166,200,138,123,123,122,122,125, - 125,124,124,124,124,127,126,129,128,138, - 130,177,137,177,193,38,74,38,137,201, - 77,75,78,76,71,64,59,69,79,68, - 60,67,72,70,135,140,2,66,65,147, - 160,137,137,137,180,174,149,175,208,137, - 133,180,31,169,1,181,137,136,136,136, - 136,136,38,57,206,57,165,38,4,138, - 138,138,138,202,1,1,1,141,1,1, - 167,57,185,137,180,137,1,38,38,180, - 30,133,3,137,171,137,174,38,57,164, - 134,138,164,134,138,138,60,138,138,38, - 210,80,37,211,169,137,133,133,185,174, - 134,138,134,138,134,134,138,134,138,134, - 136,1,136,136,167,38,134,138,134,134, - 138,134,134,138,136,138,134,136,138,134, - 134,138,138,141,136,158,134,134,138,136, - 158,134,134,138,134,138,134,136,136,138, - 136,136,138,136,138,134,136,93,136,136, - 158,136,158,134,136,136,158,136,158,134, - 136,158,134,134,138,136,136,136,136,138, - 136,136,136,158,136,136,136,158,136,136, - 158,136,158,134,136,136,136,136,136,136, - 158,136 + 83,90,14,92,91,96,95,205,77,75, + 78,76,71,64,59,69,79,68,60,67, + 72,70,135,140,2,66,65,147,152,137, + 38,74,166,1,137,178,162,179,137,178, + 137,197,180,198,181,137,172,1,38,181, + 18,133,3,136,38,137,1,167,167,167, + 167,167,204,138,123,123,122,122,125,125, + 124,124,124,124,127,126,129,128,138,130, + 4,138,138,138,138,206,1,1,1,141, + 1,1,168,57,137,213,36,157,137,178, + 137,178,197,38,74,38,166,1,182,137, + 133,133,36,166,137,136,136,136,136,136, + 38,57,164,134,138,164,134,138,138,60, + 138,138,137,208,207,57,165,38,172,137, + 174,137,134,138,134,138,134,134,138,134, + 138,134,136,1,136,136,189,137,38,38, + 57,174,189,134,138,134,134,138,134,134, + 138,136,138,134,136,138,134,134,138,138, + 141,38,210,80,37,211,38,136,161,134, + 134,138,136,161,134,134,138,134,138,134, + 136,136,138,136,136,138,136,138,134,136, + 93,168,136,136,161,136,161,134,136,136, + 161,136,161,134,136,161,134,134,138,136, + 136,136,136,138,136,136,136,161,136,136, + 136,161,136,136,161,136,161,134,136,136, + 136,136,136,136,161,136 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1948,20 +1985,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 392, + NUM_STATES = 396, NT_OFFSET = 115, - LA_STATE_OFFSET = 4988, + LA_STATE_OFFSET = 5068, MAX_LA = 2147483647, - NUM_RULES = 346, + NUM_RULES = 347, NUM_NONTERMINALS = 100, NUM_SYMBOLS = 215, SEGMENT_SIZE = 8192, - START_STATE = 4223, + START_STATE = 4222, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 87, EOLT_SYMBOL = 87, - ACCEPT_ACTION = 4611, - ERROR_ACTION = 4642; + ACCEPT_ACTION = 4690, + ERROR_ACTION = 4721; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java index 3b027b662ec..c6a75616bac 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java @@ -15,46 +15,46 @@ package org.eclipse.cdt.internal.core.dom.parser.upc; public interface UPCParsersym { public final static int - TK_auto = 32, + TK_auto = 31, TK_break = 64, TK_case = 65, - TK_char = 41, + TK_char = 40, TK_const = 6, TK_continue = 59, TK_default = 66, TK_do = 67, - TK_double = 42, + TK_double = 41, TK_else = 93, - TK_enum = 54, - TK_extern = 33, - TK_float = 43, + TK_enum = 53, + TK_extern = 32, + TK_float = 42, TK_for = 68, TK_goto = 69, TK_if = 70, - TK_inline = 34, - TK_int = 44, - TK_long = 45, - TK_register = 35, + TK_inline = 33, + TK_int = 43, + TK_long = 44, + TK_register = 34, TK_restrict = 7, TK_return = 71, - TK_short = 46, - TK_signed = 47, + TK_short = 45, + TK_signed = 46, TK_sizeof = 17, - TK_static = 30, - TK_struct = 55, + TK_static = 18, + TK_struct = 54, TK_switch = 72, - TK_typedef = 36, - TK_union = 56, - TK_unsigned = 48, - TK_void = 49, + TK_typedef = 35, + TK_union = 55, + TK_unsigned = 47, + TK_void = 48, TK_volatile = 8, TK_while = 60, - TK__Bool = 50, - TK__Complex = 51, - TK__Imaginary = 52, + TK__Bool = 49, + TK__Complex = 50, + TK__Imaginary = 51, TK_LeftBracket = 37, TK_LeftParen = 1, - TK_LeftBrace = 31, + TK_LeftBrace = 36, TK_Dot = 80, TK_Arrow = 94, TK_PlusPlus = 15, @@ -63,8 +63,8 @@ public interface UPCParsersym { TK_Star = 3, TK_Plus = 12, TK_Minus = 13, - TK_Tilde = 18, - TK_Bang = 19, + TK_Tilde = 19, + TK_Bang = 20, TK_Slash = 81, TK_Percent = 82, TK_RightShift = 61, @@ -97,29 +97,29 @@ public interface UPCParsersym { TK_Hash = 107, TK_HashHash = 108, TK_NewLine = 109, - TK_MYTHREAD = 20, - TK_THREADS = 21, - TK_UPC_MAX_BLOCKSIZE = 22, + TK_MYTHREAD = 21, + TK_THREADS = 22, + TK_UPC_MAX_BLOCKSIZE = 23, TK_relaxed = 9, TK_shared = 10, TK_strict = 11, TK_upc_barrier = 75, - TK_upc_localsizeof = 23, - TK_upc_blocksizeof = 24, - TK_upc_elemsizeof = 25, + TK_upc_localsizeof = 24, + TK_upc_blocksizeof = 25, + TK_upc_elemsizeof = 26, TK_upc_notify = 76, TK_upc_fence = 77, TK_upc_wait = 78, TK_upc_forall = 79, TK_EOF_TOKEN = 87, TK_identifier = 2, - TK_integer = 26, - TK_floating = 27, - TK_charconst = 28, - TK_stringlit = 29, + TK_integer = 27, + TK_floating = 28, + TK_charconst = 29, + TK_stringlit = 30, TK_RightBracket = 63, - TK_RightParen = 53, - TK_RightBrace = 40, + TK_RightParen = 56, + TK_RightBrace = 52, TK_SemiColon = 39, TK_Invalid = 110, TK_PlaceMarker = 111, @@ -150,6 +150,7 @@ public interface UPCParsersym { "PlusPlus",//$NON-NLS-1$ "MinusMinus",//$NON-NLS-1$ "sizeof",//$NON-NLS-1$ + "static",//$NON-NLS-1$ "Tilde",//$NON-NLS-1$ "Bang",//$NON-NLS-1$ "MYTHREAD",//$NON-NLS-1$ @@ -162,17 +163,15 @@ public interface UPCParsersym { "floating",//$NON-NLS-1$ "charconst",//$NON-NLS-1$ "stringlit",//$NON-NLS-1$ - "static",//$NON-NLS-1$ - "LeftBrace",//$NON-NLS-1$ "auto",//$NON-NLS-1$ "extern",//$NON-NLS-1$ "inline",//$NON-NLS-1$ "register",//$NON-NLS-1$ "typedef",//$NON-NLS-1$ + "LeftBrace",//$NON-NLS-1$ "LeftBracket",//$NON-NLS-1$ "Comma",//$NON-NLS-1$ "SemiColon",//$NON-NLS-1$ - "RightBrace",//$NON-NLS-1$ "char",//$NON-NLS-1$ "double",//$NON-NLS-1$ "float",//$NON-NLS-1$ @@ -185,10 +184,11 @@ public interface UPCParsersym { "_Bool",//$NON-NLS-1$ "_Complex",//$NON-NLS-1$ "_Imaginary",//$NON-NLS-1$ - "RightParen",//$NON-NLS-1$ + "RightBrace",//$NON-NLS-1$ "enum",//$NON-NLS-1$ "struct",//$NON-NLS-1$ "union",//$NON-NLS-1$ + "RightParen",//$NON-NLS-1$ "Colon",//$NON-NLS-1$ "ERROR_TOKEN",//$NON-NLS-1$ "continue",//$NON-NLS-1$