
            digraph grammar {
            rankdir=LR
            fontname = "Bitstream Vera Sans"
            fontsize = 8
            node[
                shape=record,
                style=filled,
                fillcolor=aliceblue
            ]
            nodesep = 0.3
            edge[dir=black,arrowtail=empty]

        0 -> 1 [label="SHIFT:CREATE"]
0 [label="0:AUG|0: AUG: . Pgs    \{STOP\}\l|2: Pgs: . CreateType1    \{STOP\}\l3: CreateType1: . CreateType1 SEMICOLON CreateType    \{STOP, SEMICOLON\}\l4: CreateType1: . CreateType    \{STOP, SEMICOLON\}\l5: CreateType: . CreateNodeType    \{STOP, SEMICOLON\}\l6: CreateType: . CreateEdgeType    \{STOP, SEMICOLON\}\l7: CreateType: . CreateGraphType    \{STOP, SEMICOLON\}\l8: CreateNodeType: . CREATE NODE TYPE NodeType    \{STOP, SEMICOLON\}\l9: CreateEdgeType: . CREATE EDGE TYPE EdgeType    \{STOP, SEMICOLON\}\l10: CreateGraphType: . CREATE GRAPH TYPE GraphType    \{STOP, SEMICOLON\}\l"]
0 -> 2 [label="GOTO:Pgs"]
0 -> 3 [label="GOTO:CreateType1"]
0 -> 4 [label="GOTO:CreateType"]
0 -> 5 [label="GOTO:CreateNodeType"]
0 -> 6 [label="GOTO:CreateEdgeType"]
0 -> 7 [label="GOTO:CreateGraphType"]
1 -> 8 [label="SHIFT:NODE"]
1 -> 9 [label="SHIFT:EDGE"]
1 -> 10 [label="SHIFT:GRAPH"]
1 [label="1:CREATE|8: CreateNodeType: CREATE . NODE TYPE NodeType    \{STOP, SEMICOLON\}\l9: CreateEdgeType: CREATE . EDGE TYPE EdgeType    \{STOP, SEMICOLON\}\l10: CreateGraphType: CREATE . GRAPH TYPE GraphType    \{STOP, SEMICOLON\}\l"]
2 -> ACCEPT [label="STOP"]
2 [label="2:Pgs|0: AUG: Pgs .    \{STOP\}\l"]
3 -> 11 [label="SHIFT:SEMICOLON"]
3 [label="3:CreateType1|2: Pgs: CreateType1 .    \{STOP\}\l3: CreateType1: CreateType1 . SEMICOLON CreateType    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(2,1)"]
4 [label="4:CreateType|4: CreateType1: CreateType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(4,1), SEMICOLON:(4,1)"]
5 [label="5:CreateNodeType|5: CreateType: CreateNodeType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(5,1), SEMICOLON:(5,1)"]
6 [label="6:CreateEdgeType|6: CreateType: CreateEdgeType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(6,1), SEMICOLON:(6,1)"]
7 [label="7:CreateGraphType|7: CreateType: CreateGraphType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(7,1), SEMICOLON:(7,1)"]
8 -> 12 [label="SHIFT:TYPE"]
8 [label="8:NODE|8: CreateNodeType: CREATE NODE . TYPE NodeType    \{STOP, SEMICOLON\}\l"]
9 -> 13 [label="SHIFT:TYPE"]
9 [label="9:EDGE|9: CreateEdgeType: CREATE EDGE . TYPE EdgeType    \{STOP, SEMICOLON\}\l"]
10 -> 14 [label="SHIFT:TYPE"]
10 [label="10:GRAPH|10: CreateGraphType: CREATE GRAPH . TYPE GraphType    \{STOP, SEMICOLON\}\l"]
11 -> 1 [label="SHIFT:CREATE"]
11 [label="11:SEMICOLON|3: CreateType1: CreateType1 SEMICOLON . CreateType    \{STOP, SEMICOLON\}\l|5: CreateType: . CreateNodeType    \{STOP, SEMICOLON\}\l6: CreateType: . CreateEdgeType    \{STOP, SEMICOLON\}\l7: CreateType: . CreateGraphType    \{STOP, SEMICOLON\}\l8: CreateNodeType: . CREATE NODE TYPE NodeType    \{STOP, SEMICOLON\}\l9: CreateEdgeType: . CREATE EDGE TYPE EdgeType    \{STOP, SEMICOLON\}\l10: CreateGraphType: . CREATE GRAPH TYPE GraphType    \{STOP, SEMICOLON\}\l"]
11 -> 15 [label="GOTO:CreateType"]
11 -> 5 [label="GOTO:CreateNodeType"]
11 -> 6 [label="GOTO:CreateEdgeType"]
11 -> 7 [label="GOTO:CreateGraphType"]
12 -> 16 [label="SHIFT:OPEN_PAREN"]
12 [label="12:TYPE|8: CreateNodeType: CREATE NODE TYPE . NodeType    \{STOP, SEMICOLON\}\l|11: NodeType: . OPEN_PAREN TypeName LabelPropertySpec CLOSE_PAREN    \{STOP, SEMICOLON\}\l"]
12 -> 17 [label="GOTO:NodeType"]
13 -> 18 [label="SHIFT:OPEN_PAREN"]
13 [label="13:TYPE|9: CreateEdgeType: CREATE EDGE TYPE . EdgeType    \{STOP, SEMICOLON\}\l|12: EdgeType: . EndpointType OPEN_ARROW TypeName LabelPropertySpec CLOSE_ARROW EndpointType    \{STOP, SEMICOLON\}\l15: EndpointType: . OPEN_PAREN LabelPropertySpec CLOSE_PAREN    \{OPEN_ARROW\}\l"]
13 -> 19 [label="GOTO:EdgeType"]
13 -> 20 [label="GOTO:EndpointType"]
14 -> 21 [label="SHIFT:IDENTIFIER"]
14 [label="14:TYPE|10: CreateGraphType: CREATE GRAPH TYPE . GraphType    \{STOP, SEMICOLON\}\l|13: GraphType: . TypeName OPEN_CURLY CLOSE_CURLY    \{STOP, SEMICOLON\}\l14: TypeName: . IDENTIFIER    \{OPEN_CURLY\}\l"]
14 -> 22 [label="GOTO:GraphType"]
14 -> 23 [label="GOTO:TypeName"]
15 [label="15:CreateType|3: CreateType1: CreateType1 SEMICOLON CreateType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(3,3), SEMICOLON:(3,3)"]
16 -> 21 [label="SHIFT:IDENTIFIER"]
16 [label="16:OPEN_PAREN|11: NodeType: OPEN_PAREN . TypeName LabelPropertySpec CLOSE_PAREN    \{STOP, SEMICOLON\}\l|14: TypeName: . IDENTIFIER    \{CLOSE_PAREN, OPEN_CURLY, COLON\}\l"]
16 -> 24 [label="GOTO:TypeName"]
17 [label="17:NodeType|8: CreateNodeType: CREATE NODE TYPE NodeType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(8,4), SEMICOLON:(8,4)"]
18 -> 25 [label="SHIFT:COLON"]
18 [label="18:OPEN_PAREN|15: EndpointType: OPEN_PAREN . LabelPropertySpec CLOSE_PAREN    \{STOP, SEMICOLON, OPEN_ARROW\}\l|16: LabelPropertySpec: . LabelSpecOpt PropertySpecOpt    \{CLOSE_PAREN\}\l17: LabelSpecOpt: . LabelSpec    \{CLOSE_PAREN, OPEN_CURLY\}\l18: LabelSpecOpt: .    \{CLOSE_PAREN, OPEN_CURLY\}\l21: LabelSpec: . COLON Labels    \{CLOSE_PAREN, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(18,0), OPEN_CURLY:(18,0)"]
18 -> 26 [label="GOTO:LabelPropertySpec"]
18 -> 27 [label="GOTO:LabelSpecOpt"]
18 -> 28 [label="GOTO:LabelSpec"]
19 [label="19:EdgeType|9: CreateEdgeType: CREATE EDGE TYPE EdgeType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(9,4), SEMICOLON:(9,4)"]
20 -> 29 [label="SHIFT:OPEN_ARROW"]
20 [label="20:EndpointType|12: EdgeType: EndpointType . OPEN_ARROW TypeName LabelPropertySpec CLOSE_ARROW EndpointType    \{STOP, SEMICOLON\}\l"]
21 [label="21:IDENTIFIER|14: TypeName: IDENTIFIER .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, COLON\}\l|Reductions:\lCLOSE_PAREN:(14,1), CLOSE_ARROW:(14,1), OPEN_CURLY:(14,1), COLON:(14,1)"]
22 [label="22:GraphType|10: CreateGraphType: CREATE GRAPH TYPE GraphType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(10,4), SEMICOLON:(10,4)"]
23 -> 30 [label="SHIFT:OPEN_CURLY"]
23 [label="23:TypeName|13: GraphType: TypeName . OPEN_CURLY CLOSE_CURLY    \{STOP, SEMICOLON\}\l"]
24 -> 25 [label="SHIFT:COLON"]
24 [label="24:TypeName|11: NodeType: OPEN_PAREN TypeName . LabelPropertySpec CLOSE_PAREN    \{STOP, SEMICOLON\}\l|16: LabelPropertySpec: . LabelSpecOpt PropertySpecOpt    \{CLOSE_PAREN\}\l17: LabelSpecOpt: . LabelSpec    \{CLOSE_PAREN, OPEN_CURLY\}\l18: LabelSpecOpt: .    \{CLOSE_PAREN, OPEN_CURLY\}\l21: LabelSpec: . COLON Labels    \{CLOSE_PAREN, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(18,0), OPEN_CURLY:(18,0)"]
24 -> 31 [label="GOTO:LabelPropertySpec"]
24 -> 27 [label="GOTO:LabelSpecOpt"]
24 -> 28 [label="GOTO:LabelSpec"]
25 -> 32 [label="SHIFT:IDENTIFIER"]
25 -> 33 [label="SHIFT:AT"]
25 [label="25:COLON|21: LabelSpec: COLON . Labels    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|22: Labels: . SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l27: SingleLabel: . IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l28: SingleLabel: . AT IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l"]
25 -> 34 [label="GOTO:Labels"]
25 -> 35 [label="GOTO:SingleLabel"]
26 -> 36 [label="SHIFT:CLOSE_PAREN"]
26 [label="26:LabelPropertySpec|15: EndpointType: OPEN_PAREN LabelPropertySpec . CLOSE_PAREN    \{STOP, SEMICOLON, OPEN_ARROW\}\l"]
27 -> 37 [label="SHIFT:OPEN_CURLY"]
27 [label="27:LabelSpecOpt|16: LabelPropertySpec: LabelSpecOpt . PropertySpecOpt    \{CLOSE_PAREN, CLOSE_ARROW\}\l|19: PropertySpecOpt: . PropertySpec    \{CLOSE_PAREN, CLOSE_ARROW\}\l20: PropertySpecOpt: .    \{CLOSE_PAREN, CLOSE_ARROW\}\l29: PropertySpec: . OPEN_CURLY Properties CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_ARROW\}\l|Reductions:\lCLOSE_PAREN:(20,0), CLOSE_ARROW:(20,0)"]
27 -> 38 [label="GOTO:PropertySpecOpt"]
27 -> 39 [label="GOTO:PropertySpec"]
28 [label="28:LabelSpec|17: LabelSpecOpt: LabelSpec .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(17,1), CLOSE_ARROW:(17,1), OPEN_CURLY:(17,1)"]
29 -> 21 [label="SHIFT:IDENTIFIER"]
29 [label="29:OPEN_ARROW|12: EdgeType: EndpointType OPEN_ARROW . TypeName LabelPropertySpec CLOSE_ARROW EndpointType    \{STOP, SEMICOLON\}\l|14: TypeName: . IDENTIFIER    \{CLOSE_ARROW, OPEN_CURLY, COLON\}\l"]
29 -> 40 [label="GOTO:TypeName"]
30 -> 41 [label="SHIFT:CLOSE_CURLY"]
30 [label="30:OPEN_CURLY|13: GraphType: TypeName OPEN_CURLY . CLOSE_CURLY    \{STOP, SEMICOLON\}\l"]
31 -> 42 [label="SHIFT:CLOSE_PAREN"]
31 [label="31:LabelPropertySpec|11: NodeType: OPEN_PAREN TypeName LabelPropertySpec . CLOSE_PAREN    \{STOP, SEMICOLON\}\l"]
32 [label="32:IDENTIFIER|27: SingleLabel: IDENTIFIER .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l|Reductions:\lCLOSE_PAREN:(27,1), CLOSE_ARROW:(27,1), OPEN_CURLY:(27,1), BAR:(27,1), AMPERSAND:(27,1)"]
33 -> 43 [label="SHIFT:IDENTIFIER"]
33 [label="33:AT|28: SingleLabel: AT . IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l"]
34 [label="34:Labels|21: LabelSpec: COLON Labels .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(21,2), CLOSE_ARROW:(21,2), OPEN_CURLY:(21,2)"]
35 -> 44 [label="SHIFT:BAR"]
35 -> 45 [label="SHIFT:AMPERSAND"]
35 [label="35:SingleLabel|22: Labels: SingleLabel . MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|23: MoreLabelsOpt: . MoreLabels    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l24: MoreLabelsOpt: .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l25: MoreLabels: . AMPERSAND SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l26: MoreLabels: . BAR SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(24,0), CLOSE_ARROW:(24,0), OPEN_CURLY:(24,0)"]
35 -> 46 [label="GOTO:MoreLabelsOpt"]
35 -> 47 [label="GOTO:MoreLabels"]
36 [label="36:CLOSE_PAREN|15: EndpointType: OPEN_PAREN LabelPropertySpec CLOSE_PAREN .    \{STOP, SEMICOLON, OPEN_ARROW\}\l|Reductions:\lSTOP:(15,3), SEMICOLON:(15,3), OPEN_ARROW:(15,3)"]
37 -> 48 [label="SHIFT:OPEN_PAREN"]
37 -> 49 [label="SHIFT:OPTIONAL"]
37 [label="37:OPEN_CURLY|29: PropertySpec: OPEN_CURLY . Properties CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_ARROW\}\l|30: Properties: . Properties COMMA Properties    \{CLOSE_CURLY, COMMA, BAR\}\l31: Properties: . Properties BAR Properties    \{CLOSE_CURLY, COMMA, BAR\}\l32: Properties: . OPEN_PAREN Properties CLOSE_PAREN    \{CLOSE_CURLY, COMMA, BAR\}\l33: Properties: . OPTIONALOpt Property    \{CLOSE_CURLY, COMMA, BAR\}\l34: OPTIONALOpt: . OPTIONAL    \{IDENTIFIER\}\l35: OPTIONALOpt: .    \{IDENTIFIER\}\l|Reductions:\lIDENTIFIER:(35,0)"]
37 -> 50 [label="GOTO:Properties"]
37 -> 51 [label="GOTO:OPTIONALOpt"]
38 [label="38:PropertySpecOpt|16: LabelPropertySpec: LabelSpecOpt PropertySpecOpt .    \{CLOSE_PAREN, CLOSE_ARROW\}\l|Reductions:\lCLOSE_PAREN:(16,2), CLOSE_ARROW:(16,2)"]
39 [label="39:PropertySpec|19: PropertySpecOpt: PropertySpec .    \{CLOSE_PAREN, CLOSE_ARROW\}\l|Reductions:\lCLOSE_PAREN:(19,1), CLOSE_ARROW:(19,1)"]
40 -> 25 [label="SHIFT:COLON"]
40 [label="40:TypeName|12: EdgeType: EndpointType OPEN_ARROW TypeName . LabelPropertySpec CLOSE_ARROW EndpointType    \{STOP, SEMICOLON\}\l|16: LabelPropertySpec: . LabelSpecOpt PropertySpecOpt    \{CLOSE_ARROW\}\l17: LabelSpecOpt: . LabelSpec    \{CLOSE_ARROW, OPEN_CURLY\}\l18: LabelSpecOpt: .    \{CLOSE_ARROW, OPEN_CURLY\}\l21: LabelSpec: . COLON Labels    \{CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_ARROW:(18,0), OPEN_CURLY:(18,0)"]
40 -> 52 [label="GOTO:LabelPropertySpec"]
40 -> 27 [label="GOTO:LabelSpecOpt"]
40 -> 28 [label="GOTO:LabelSpec"]
41 [label="41:CLOSE_CURLY|13: GraphType: TypeName OPEN_CURLY CLOSE_CURLY .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(13,3), SEMICOLON:(13,3)"]
42 [label="42:CLOSE_PAREN|11: NodeType: OPEN_PAREN TypeName LabelPropertySpec CLOSE_PAREN .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(11,4), SEMICOLON:(11,4)"]
43 [label="43:IDENTIFIER|28: SingleLabel: AT IDENTIFIER .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l|Reductions:\lCLOSE_PAREN:(28,2), CLOSE_ARROW:(28,2), OPEN_CURLY:(28,2), BAR:(28,2), AMPERSAND:(28,2)"]
44 -> 32 [label="SHIFT:IDENTIFIER"]
44 -> 33 [label="SHIFT:AT"]
44 [label="44:BAR|26: MoreLabels: BAR . SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|27: SingleLabel: . IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l28: SingleLabel: . AT IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l"]
44 -> 53 [label="GOTO:SingleLabel"]
45 -> 32 [label="SHIFT:IDENTIFIER"]
45 -> 33 [label="SHIFT:AT"]
45 [label="45:AMPERSAND|25: MoreLabels: AMPERSAND . SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|27: SingleLabel: . IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l28: SingleLabel: . AT IDENTIFIER    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY, BAR, AMPERSAND\}\l"]
45 -> 54 [label="GOTO:SingleLabel"]
46 [label="46:MoreLabelsOpt|22: Labels: SingleLabel MoreLabelsOpt .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(22,2), CLOSE_ARROW:(22,2), OPEN_CURLY:(22,2)"]
47 [label="47:MoreLabels|23: MoreLabelsOpt: MoreLabels .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(23,1), CLOSE_ARROW:(23,1), OPEN_CURLY:(23,1)"]
48 -> 48 [label="SHIFT:OPEN_PAREN"]
48 -> 49 [label="SHIFT:OPTIONAL"]
48 [label="48:OPEN_PAREN|32: Properties: OPEN_PAREN . Properties CLOSE_PAREN    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|30: Properties: . Properties COMMA Properties    \{CLOSE_PAREN, COMMA, BAR\}\l31: Properties: . Properties BAR Properties    \{CLOSE_PAREN, COMMA, BAR\}\l32: Properties: . OPEN_PAREN Properties CLOSE_PAREN    \{CLOSE_PAREN, COMMA, BAR\}\l33: Properties: . OPTIONALOpt Property    \{CLOSE_PAREN, COMMA, BAR\}\l34: OPTIONALOpt: . OPTIONAL    \{IDENTIFIER\}\l35: OPTIONALOpt: .    \{IDENTIFIER\}\l|Reductions:\lIDENTIFIER:(35,0)"]
48 -> 55 [label="GOTO:Properties"]
48 -> 51 [label="GOTO:OPTIONALOpt"]
49 [label="49:OPTIONAL|34: OPTIONALOpt: OPTIONAL .    \{IDENTIFIER\}\l|Reductions:\lIDENTIFIER:(34,1)"]
50 -> 56 [label="SHIFT:CLOSE_CURLY"]
50 -> 57 [label="SHIFT:COMMA"]
50 -> 58 [label="SHIFT:BAR"]
50 [label="50:Properties|29: PropertySpec: OPEN_CURLY Properties . CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_ARROW\}\l30: Properties: Properties . COMMA Properties    \{CLOSE_CURLY, COMMA, BAR\}\l31: Properties: Properties . BAR Properties    \{CLOSE_CURLY, COMMA, BAR\}\l"]
51 -> 59 [label="SHIFT:IDENTIFIER"]
51 [label="51:OPTIONALOpt|33: Properties: OPTIONALOpt . Property    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|36: Property: . key COLON TypeSpec CardOpt    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l39: key: . IDENTIFIER    \{COLON\}\l"]
51 -> 60 [label="GOTO:Property"]
51 -> 61 [label="GOTO:key"]
52 -> 62 [label="SHIFT:CLOSE_ARROW"]
52 [label="52:LabelPropertySpec|12: EdgeType: EndpointType OPEN_ARROW TypeName LabelPropertySpec . CLOSE_ARROW EndpointType    \{STOP, SEMICOLON\}\l"]
53 -> 44 [label="SHIFT:BAR"]
53 -> 45 [label="SHIFT:AMPERSAND"]
53 [label="53:SingleLabel|26: MoreLabels: BAR SingleLabel . MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|23: MoreLabelsOpt: . MoreLabels    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l24: MoreLabelsOpt: .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l25: MoreLabels: . AMPERSAND SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l26: MoreLabels: . BAR SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(24,0), CLOSE_ARROW:(24,0), OPEN_CURLY:(24,0)"]
53 -> 63 [label="GOTO:MoreLabelsOpt"]
53 -> 47 [label="GOTO:MoreLabels"]
54 -> 44 [label="SHIFT:BAR"]
54 -> 45 [label="SHIFT:AMPERSAND"]
54 [label="54:SingleLabel|25: MoreLabels: AMPERSAND SingleLabel . MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|23: MoreLabelsOpt: . MoreLabels    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l24: MoreLabelsOpt: .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l25: MoreLabels: . AMPERSAND SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l26: MoreLabels: . BAR SingleLabel MoreLabelsOpt    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(24,0), CLOSE_ARROW:(24,0), OPEN_CURLY:(24,0)"]
54 -> 64 [label="GOTO:MoreLabelsOpt"]
54 -> 47 [label="GOTO:MoreLabels"]
55 -> 65 [label="SHIFT:CLOSE_PAREN"]
55 -> 57 [label="SHIFT:COMMA"]
55 -> 58 [label="SHIFT:BAR"]
55 [label="55:Properties|32: Properties: OPEN_PAREN Properties . CLOSE_PAREN    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l30: Properties: Properties . COMMA Properties    \{CLOSE_PAREN, COMMA, BAR\}\l31: Properties: Properties . BAR Properties    \{CLOSE_PAREN, COMMA, BAR\}\l"]
56 [label="56:CLOSE_CURLY|29: PropertySpec: OPEN_CURLY Properties CLOSE_CURLY .    \{CLOSE_PAREN, CLOSE_ARROW\}\l|Reductions:\lCLOSE_PAREN:(29,3), CLOSE_ARROW:(29,3)"]
57 -> 48 [label="SHIFT:OPEN_PAREN"]
57 -> 49 [label="SHIFT:OPTIONAL"]
57 [label="57:COMMA|30: Properties: Properties COMMA . Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|30: Properties: . Properties COMMA Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l31: Properties: . Properties BAR Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l32: Properties: . OPEN_PAREN Properties CLOSE_PAREN    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l33: Properties: . OPTIONALOpt Property    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l34: OPTIONALOpt: . OPTIONAL    \{IDENTIFIER\}\l35: OPTIONALOpt: .    \{IDENTIFIER\}\l|Reductions:\lIDENTIFIER:(35,0)"]
57 -> 66 [label="GOTO:Properties"]
57 -> 51 [label="GOTO:OPTIONALOpt"]
58 -> 48 [label="SHIFT:OPEN_PAREN"]
58 -> 49 [label="SHIFT:OPTIONAL"]
58 [label="58:BAR|31: Properties: Properties BAR . Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|30: Properties: . Properties COMMA Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l31: Properties: . Properties BAR Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l32: Properties: . OPEN_PAREN Properties CLOSE_PAREN    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l33: Properties: . OPTIONALOpt Property    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l34: OPTIONALOpt: . OPTIONAL    \{IDENTIFIER\}\l35: OPTIONALOpt: .    \{IDENTIFIER\}\l|Reductions:\lIDENTIFIER:(35,0)"]
58 -> 67 [label="GOTO:Properties"]
58 -> 51 [label="GOTO:OPTIONALOpt"]
59 [label="59:IDENTIFIER|39: key: IDENTIFIER .    \{COLON\}\l|Reductions:\lCOLON:(39,1)"]
60 [label="60:Property|33: Properties: OPTIONALOpt Property .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(33,2), CLOSE_CURLY:(33,2), COMMA:(33,2), BAR:(33,2)"]
61 -> 68 [label="SHIFT:COLON"]
61 [label="61:key|36: Property: key . COLON TypeSpec CardOpt    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l"]
62 -> 18 [label="SHIFT:OPEN_PAREN"]
62 [label="62:CLOSE_ARROW|12: EdgeType: EndpointType OPEN_ARROW TypeName LabelPropertySpec CLOSE_ARROW . EndpointType    \{STOP, SEMICOLON\}\l|15: EndpointType: . OPEN_PAREN LabelPropertySpec CLOSE_PAREN    \{STOP, SEMICOLON\}\l"]
62 -> 69 [label="GOTO:EndpointType"]
63 [label="63:MoreLabelsOpt|26: MoreLabels: BAR SingleLabel MoreLabelsOpt .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(26,3), CLOSE_ARROW:(26,3), OPEN_CURLY:(26,3)"]
64 [label="64:MoreLabelsOpt|25: MoreLabels: AMPERSAND SingleLabel MoreLabelsOpt .    \{CLOSE_PAREN, CLOSE_ARROW, OPEN_CURLY\}\l|Reductions:\lCLOSE_PAREN:(25,3), CLOSE_ARROW:(25,3), OPEN_CURLY:(25,3)"]
65 [label="65:CLOSE_PAREN|32: Properties: OPEN_PAREN Properties CLOSE_PAREN .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(32,3), CLOSE_CURLY:(32,3), COMMA:(32,3), BAR:(32,3)"]
66 -> 58 [label="SHIFT:BAR"]
66 [label="66:Properties|30: Properties: Properties COMMA Properties .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l30: Properties: Properties . COMMA Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l31: Properties: Properties . BAR Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(30,3), CLOSE_CURLY:(30,3), COMMA:(30,3)"]
67 [label="67:Properties|31: Properties: Properties BAR Properties .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l30: Properties: Properties . COMMA Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l31: Properties: Properties . BAR Properties    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(31,3), CLOSE_CURLY:(31,3), COMMA:(31,3), BAR:(31,3)"]
68 -> 70 [label="SHIFT:INTEGER_NAME"]
68 -> 71 [label="SHIFT:STRING_NAME"]
68 -> 72 [label="SHIFT:DATE_NAME"]
68 -> 73 [label="SHIFT:CHECK"]
68 [label="68:COLON|36: Property: key COLON . TypeSpec CardOpt    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|40: TypeSpec: . SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l45: SimpleType: . STRING_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l46: SimpleType: . INTEGER_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l47: SimpleType: . DATE_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l48: SimpleType: . CHECK Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l"]
68 -> 74 [label="GOTO:TypeSpec"]
68 -> 75 [label="GOTO:SimpleType"]
69 [label="69:EndpointType|12: EdgeType: EndpointType OPEN_ARROW TypeName LabelPropertySpec CLOSE_ARROW EndpointType .    \{STOP, SEMICOLON\}\l|Reductions:\lSTOP:(12,6), SEMICOLON:(12,6)"]
70 [label="70:INTEGER_NAME|46: SimpleType: INTEGER_NAME .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l|Reductions:\lCLOSE_PAREN:(46,1), OPEN_CURLY:(46,1), CLOSE_CURLY:(46,1), COMMA:(46,1), BAR:(46,1), PLUS:(46,1), STAR:(46,1), QUESTION:(46,1), AMPERSAND:(46,1)"]
71 [label="71:STRING_NAME|45: SimpleType: STRING_NAME .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l|Reductions:\lCLOSE_PAREN:(45,1), OPEN_CURLY:(45,1), CLOSE_CURLY:(45,1), COMMA:(45,1), BAR:(45,1), PLUS:(45,1), STAR:(45,1), QUESTION:(45,1), AMPERSAND:(45,1)"]
72 [label="72:DATE_NAME|47: SimpleType: DATE_NAME .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l|Reductions:\lCLOSE_PAREN:(47,1), OPEN_CURLY:(47,1), CLOSE_CURLY:(47,1), COMMA:(47,1), BAR:(47,1), PLUS:(47,1), STAR:(47,1), QUESTION:(47,1), AMPERSAND:(47,1)"]
73 -> 76 [label="SHIFT:OPEN_PAREN"]
73 -> 77 [label="SHIFT:TRUE"]
73 -> 78 [label="SHIFT:FALSE"]
73 -> 79 [label="SHIFT:GT"]
73 -> 80 [label="SHIFT:LT"]
73 -> 81 [label="SHIFT:EQUALS"]
73 -> 82 [label="SHIFT:REGEX"]
73 -> 83 [label="SHIFT:NOT"]
73 [label="73:CHECK|48: SimpleType: CHECK . Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l|49: Cond: . TRUE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l50: Cond: . FALSE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l51: Cond: . GT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l52: Cond: . LT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l53: Cond: . EQUALS SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l54: Cond: . REGEX QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: . Cond AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: . Cond OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l57: Cond: . NOT Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l58: Cond: . OPEN_PAREN Cond CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
73 -> 84 [label="GOTO:Cond"]
74 -> 85 [label="SHIFT:OPEN_CURLY"]
74 -> 86 [label="SHIFT:PLUS"]
74 -> 87 [label="SHIFT:STAR"]
74 -> 88 [label="SHIFT:QUESTION"]
74 [label="74:TypeSpec|36: Property: key COLON TypeSpec . CardOpt    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|37: CardOpt: . Card    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l38: CardOpt: .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l59: Card: . QUESTION    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l60: Card: . PLUS    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l61: Card: . STAR    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l62: Card: . OPEN_CURLY NUMBER COMMA Max CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(38,0), CLOSE_CURLY:(38,0), COMMA:(38,0), BAR:(38,0)"]
74 -> 89 [label="GOTO:CardOpt"]
74 -> 90 [label="GOTO:Card"]
75 -> 91 [label="SHIFT:BAR"]
75 -> 92 [label="SHIFT:AMPERSAND"]
75 [label="75:SimpleType|40: TypeSpec: SimpleType . MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|41: MoreTypesOpt: . MoreTypes    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l42: MoreTypesOpt: .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l43: MoreTypes: . AMPERSAND SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l44: MoreTypes: . BAR SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(42,0), OPEN_CURLY:(42,0), CLOSE_CURLY:(42,0), COMMA:(42,0), PLUS:(42,0), STAR:(42,0), QUESTION:(42,0)"]
75 -> 93 [label="GOTO:MoreTypesOpt"]
75 -> 94 [label="GOTO:MoreTypes"]
76 -> 76 [label="SHIFT:OPEN_PAREN"]
76 -> 77 [label="SHIFT:TRUE"]
76 -> 78 [label="SHIFT:FALSE"]
76 -> 79 [label="SHIFT:GT"]
76 -> 80 [label="SHIFT:LT"]
76 -> 81 [label="SHIFT:EQUALS"]
76 -> 82 [label="SHIFT:REGEX"]
76 -> 83 [label="SHIFT:NOT"]
76 [label="76:OPEN_PAREN|58: Cond: OPEN_PAREN . Cond CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|49: Cond: . TRUE    \{CLOSE_PAREN, AND, OR\}\l50: Cond: . FALSE    \{CLOSE_PAREN, AND, OR\}\l51: Cond: . GT SingleValue    \{CLOSE_PAREN, AND, OR\}\l52: Cond: . LT SingleValue    \{CLOSE_PAREN, AND, OR\}\l53: Cond: . EQUALS SingleValue    \{CLOSE_PAREN, AND, OR\}\l54: Cond: . REGEX QUOTED_STRING    \{CLOSE_PAREN, AND, OR\}\l55: Cond: . Cond AND Cond    \{CLOSE_PAREN, AND, OR\}\l56: Cond: . Cond OR Cond    \{CLOSE_PAREN, AND, OR\}\l57: Cond: . NOT Cond    \{CLOSE_PAREN, AND, OR\}\l58: Cond: . OPEN_PAREN Cond CLOSE_PAREN    \{CLOSE_PAREN, AND, OR\}\l"]
76 -> 95 [label="GOTO:Cond"]
77 [label="77:TRUE|49: Cond: TRUE .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(49,1), OPEN_CURLY:(49,1), CLOSE_CURLY:(49,1), COMMA:(49,1), BAR:(49,1), PLUS:(49,1), STAR:(49,1), QUESTION:(49,1), AMPERSAND:(49,1), AND:(49,1), OR:(49,1)"]
78 [label="78:FALSE|50: Cond: FALSE .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(50,1), OPEN_CURLY:(50,1), CLOSE_CURLY:(50,1), COMMA:(50,1), BAR:(50,1), PLUS:(50,1), STAR:(50,1), QUESTION:(50,1), AMPERSAND:(50,1), AND:(50,1), OR:(50,1)"]
79 -> 96 [label="SHIFT:NUMBER"]
79 -> 97 [label="SHIFT:QUOTED_STRING"]
79 [label="79:GT|51: Cond: GT . SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|82: SingleValue: . QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l83: SingleValue: . NUMBER    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
79 -> 98 [label="GOTO:SingleValue"]
80 -> 96 [label="SHIFT:NUMBER"]
80 -> 97 [label="SHIFT:QUOTED_STRING"]
80 [label="80:LT|52: Cond: LT . SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|82: SingleValue: . QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l83: SingleValue: . NUMBER    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
80 -> 99 [label="GOTO:SingleValue"]
81 -> 96 [label="SHIFT:NUMBER"]
81 -> 97 [label="SHIFT:QUOTED_STRING"]
81 [label="81:EQUALS|53: Cond: EQUALS . SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|82: SingleValue: . QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l83: SingleValue: . NUMBER    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
81 -> 100 [label="GOTO:SingleValue"]
82 -> 101 [label="SHIFT:QUOTED_STRING"]
82 [label="82:REGEX|54: Cond: REGEX . QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
83 -> 76 [label="SHIFT:OPEN_PAREN"]
83 -> 77 [label="SHIFT:TRUE"]
83 -> 78 [label="SHIFT:FALSE"]
83 -> 79 [label="SHIFT:GT"]
83 -> 80 [label="SHIFT:LT"]
83 -> 81 [label="SHIFT:EQUALS"]
83 -> 82 [label="SHIFT:REGEX"]
83 -> 83 [label="SHIFT:NOT"]
83 [label="83:NOT|57: Cond: NOT . Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|49: Cond: . TRUE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l50: Cond: . FALSE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l51: Cond: . GT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l52: Cond: . LT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l53: Cond: . EQUALS SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l54: Cond: . REGEX QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: . Cond AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: . Cond OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l57: Cond: . NOT Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l58: Cond: . OPEN_PAREN Cond CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
83 -> 102 [label="GOTO:Cond"]
84 -> 103 [label="SHIFT:AND"]
84 -> 104 [label="SHIFT:OR"]
84 [label="84:Cond|48: SimpleType: CHECK Cond .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l55: Cond: Cond . AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: Cond . OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(48,2), OPEN_CURLY:(48,2), CLOSE_CURLY:(48,2), COMMA:(48,2), BAR:(48,2), PLUS:(48,2), STAR:(48,2), QUESTION:(48,2), AMPERSAND:(48,2)"]
85 -> 105 [label="SHIFT:NUMBER"]
85 [label="85:OPEN_CURLY|62: Card: OPEN_CURLY . NUMBER COMMA Max CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l"]
86 [label="86:PLUS|60: Card: PLUS .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(60,1), CLOSE_CURLY:(60,1), COMMA:(60,1), BAR:(60,1)"]
87 [label="87:STAR|61: Card: STAR .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(61,1), CLOSE_CURLY:(61,1), COMMA:(61,1), BAR:(61,1)"]
88 [label="88:QUESTION|59: Card: QUESTION .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(59,1), CLOSE_CURLY:(59,1), COMMA:(59,1), BAR:(59,1)"]
89 [label="89:CardOpt|36: Property: key COLON TypeSpec CardOpt .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(36,4), CLOSE_CURLY:(36,4), COMMA:(36,4), BAR:(36,4)"]
90 [label="90:Card|37: CardOpt: Card .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(37,1), CLOSE_CURLY:(37,1), COMMA:(37,1), BAR:(37,1)"]
91 -> 70 [label="SHIFT:INTEGER_NAME"]
91 -> 71 [label="SHIFT:STRING_NAME"]
91 -> 72 [label="SHIFT:DATE_NAME"]
91 -> 73 [label="SHIFT:CHECK"]
91 [label="91:BAR|44: MoreTypes: BAR . SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|45: SimpleType: . STRING_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l46: SimpleType: . INTEGER_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l47: SimpleType: . DATE_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l48: SimpleType: . CHECK Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l"]
91 -> 106 [label="GOTO:SimpleType"]
92 -> 70 [label="SHIFT:INTEGER_NAME"]
92 -> 71 [label="SHIFT:STRING_NAME"]
92 -> 72 [label="SHIFT:DATE_NAME"]
92 -> 73 [label="SHIFT:CHECK"]
92 [label="92:AMPERSAND|43: MoreTypes: AMPERSAND . SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|45: SimpleType: . STRING_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l46: SimpleType: . INTEGER_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l47: SimpleType: . DATE_NAME    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l48: SimpleType: . CHECK Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND\}\l"]
92 -> 107 [label="GOTO:SimpleType"]
93 [label="93:MoreTypesOpt|40: TypeSpec: SimpleType MoreTypesOpt .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(40,2), OPEN_CURLY:(40,2), CLOSE_CURLY:(40,2), COMMA:(40,2), BAR:(40,2), PLUS:(40,2), STAR:(40,2), QUESTION:(40,2)"]
94 [label="94:MoreTypes|41: MoreTypesOpt: MoreTypes .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(41,1), OPEN_CURLY:(41,1), CLOSE_CURLY:(41,1), COMMA:(41,1), BAR:(41,1), PLUS:(41,1), STAR:(41,1), QUESTION:(41,1)"]
95 -> 108 [label="SHIFT:CLOSE_PAREN"]
95 -> 103 [label="SHIFT:AND"]
95 -> 104 [label="SHIFT:OR"]
95 [label="95:Cond|58: Cond: OPEN_PAREN Cond . CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: Cond . AND Cond    \{CLOSE_PAREN, AND, OR\}\l56: Cond: Cond . OR Cond    \{CLOSE_PAREN, AND, OR\}\l"]
96 [label="96:NUMBER|83: SingleValue: NUMBER .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(83,1), OPEN_CURLY:(83,1), CLOSE_CURLY:(83,1), COMMA:(83,1), BAR:(83,1), PLUS:(83,1), STAR:(83,1), QUESTION:(83,1), AMPERSAND:(83,1), AND:(83,1), OR:(83,1)"]
97 [label="97:QUOTED_STRING|82: SingleValue: QUOTED_STRING .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(82,1), OPEN_CURLY:(82,1), CLOSE_CURLY:(82,1), COMMA:(82,1), BAR:(82,1), PLUS:(82,1), STAR:(82,1), QUESTION:(82,1), AMPERSAND:(82,1), AND:(82,1), OR:(82,1)"]
98 [label="98:SingleValue|51: Cond: GT SingleValue .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(51,2), OPEN_CURLY:(51,2), CLOSE_CURLY:(51,2), COMMA:(51,2), BAR:(51,2), PLUS:(51,2), STAR:(51,2), QUESTION:(51,2), AMPERSAND:(51,2), AND:(51,2), OR:(51,2)"]
99 [label="99:SingleValue|52: Cond: LT SingleValue .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(52,2), OPEN_CURLY:(52,2), CLOSE_CURLY:(52,2), COMMA:(52,2), BAR:(52,2), PLUS:(52,2), STAR:(52,2), QUESTION:(52,2), AMPERSAND:(52,2), AND:(52,2), OR:(52,2)"]
100 [label="100:SingleValue|53: Cond: EQUALS SingleValue .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(53,2), OPEN_CURLY:(53,2), CLOSE_CURLY:(53,2), COMMA:(53,2), BAR:(53,2), PLUS:(53,2), STAR:(53,2), QUESTION:(53,2), AMPERSAND:(53,2), AND:(53,2), OR:(53,2)"]
101 [label="101:QUOTED_STRING|54: Cond: REGEX QUOTED_STRING .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(54,2), OPEN_CURLY:(54,2), CLOSE_CURLY:(54,2), COMMA:(54,2), BAR:(54,2), PLUS:(54,2), STAR:(54,2), QUESTION:(54,2), AMPERSAND:(54,2), AND:(54,2), OR:(54,2)"]
102 [label="102:Cond|57: Cond: NOT Cond .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: Cond . AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: Cond . OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(57,2), OPEN_CURLY:(57,2), CLOSE_CURLY:(57,2), COMMA:(57,2), BAR:(57,2), PLUS:(57,2), STAR:(57,2), QUESTION:(57,2), AMPERSAND:(57,2), AND:(57,2), OR:(57,2)"]
103 -> 76 [label="SHIFT:OPEN_PAREN"]
103 -> 77 [label="SHIFT:TRUE"]
103 -> 78 [label="SHIFT:FALSE"]
103 -> 79 [label="SHIFT:GT"]
103 -> 80 [label="SHIFT:LT"]
103 -> 81 [label="SHIFT:EQUALS"]
103 -> 82 [label="SHIFT:REGEX"]
103 -> 83 [label="SHIFT:NOT"]
103 [label="103:AND|55: Cond: Cond AND . Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|49: Cond: . TRUE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l50: Cond: . FALSE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l51: Cond: . GT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l52: Cond: . LT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l53: Cond: . EQUALS SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l54: Cond: . REGEX QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: . Cond AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: . Cond OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l57: Cond: . NOT Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l58: Cond: . OPEN_PAREN Cond CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
103 -> 109 [label="GOTO:Cond"]
104 -> 76 [label="SHIFT:OPEN_PAREN"]
104 -> 77 [label="SHIFT:TRUE"]
104 -> 78 [label="SHIFT:FALSE"]
104 -> 79 [label="SHIFT:GT"]
104 -> 80 [label="SHIFT:LT"]
104 -> 81 [label="SHIFT:EQUALS"]
104 -> 82 [label="SHIFT:REGEX"]
104 -> 83 [label="SHIFT:NOT"]
104 [label="104:OR|56: Cond: Cond OR . Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|49: Cond: . TRUE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l50: Cond: . FALSE    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l51: Cond: . GT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l52: Cond: . LT SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l53: Cond: . EQUALS SingleValue    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l54: Cond: . REGEX QUOTED_STRING    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: . Cond AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: . Cond OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l57: Cond: . NOT Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l58: Cond: . OPEN_PAREN Cond CLOSE_PAREN    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l"]
104 -> 110 [label="GOTO:Cond"]
105 -> 111 [label="SHIFT:COMMA"]
105 [label="105:NUMBER|62: Card: OPEN_CURLY NUMBER . COMMA Max CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l"]
106 -> 91 [label="SHIFT:BAR"]
106 -> 92 [label="SHIFT:AMPERSAND"]
106 [label="106:SimpleType|44: MoreTypes: BAR SimpleType . MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|41: MoreTypesOpt: . MoreTypes    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l42: MoreTypesOpt: .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l43: MoreTypes: . AMPERSAND SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l44: MoreTypes: . BAR SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(42,0), OPEN_CURLY:(42,0), CLOSE_CURLY:(42,0), COMMA:(42,0), PLUS:(42,0), STAR:(42,0), QUESTION:(42,0)"]
106 -> 112 [label="GOTO:MoreTypesOpt"]
106 -> 94 [label="GOTO:MoreTypes"]
107 -> 91 [label="SHIFT:BAR"]
107 -> 92 [label="SHIFT:AMPERSAND"]
107 [label="107:SimpleType|43: MoreTypes: AMPERSAND SimpleType . MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|41: MoreTypesOpt: . MoreTypes    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l42: MoreTypesOpt: .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l43: MoreTypes: . AMPERSAND SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l44: MoreTypes: . BAR SimpleType MoreTypesOpt    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(42,0), OPEN_CURLY:(42,0), CLOSE_CURLY:(42,0), COMMA:(42,0), PLUS:(42,0), STAR:(42,0), QUESTION:(42,0)"]
107 -> 113 [label="GOTO:MoreTypesOpt"]
107 -> 94 [label="GOTO:MoreTypes"]
108 [label="108:CLOSE_PAREN|58: Cond: OPEN_PAREN Cond CLOSE_PAREN .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(58,3), OPEN_CURLY:(58,3), CLOSE_CURLY:(58,3), COMMA:(58,3), BAR:(58,3), PLUS:(58,3), STAR:(58,3), QUESTION:(58,3), AMPERSAND:(58,3), AND:(58,3), OR:(58,3)"]
109 [label="109:Cond|55: Cond: Cond AND Cond .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: Cond . AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: Cond . OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(55,3), OPEN_CURLY:(55,3), CLOSE_CURLY:(55,3), COMMA:(55,3), BAR:(55,3), PLUS:(55,3), STAR:(55,3), QUESTION:(55,3), AMPERSAND:(55,3), AND:(55,3), OR:(55,3)"]
110 [label="110:Cond|56: Cond: Cond OR Cond .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l55: Cond: Cond . AND Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l56: Cond: Cond . OR Cond    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION, AMPERSAND, AND, OR\}\l|Reductions:\lCLOSE_PAREN:(56,3), OPEN_CURLY:(56,3), CLOSE_CURLY:(56,3), COMMA:(56,3), BAR:(56,3), PLUS:(56,3), STAR:(56,3), QUESTION:(56,3), AMPERSAND:(56,3), AND:(56,3), OR:(56,3)"]
111 -> 114 [label="SHIFT:STAR"]
111 -> 115 [label="SHIFT:NUMBER"]
111 [label="111:COMMA|62: Card: OPEN_CURLY NUMBER COMMA . Max CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|63: Max: . NUMBER    \{CLOSE_CURLY\}\l64: Max: . STAR    \{CLOSE_CURLY\}\l"]
111 -> 116 [label="GOTO:Max"]
112 [label="112:MoreTypesOpt|44: MoreTypes: BAR SimpleType MoreTypesOpt .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(44,3), OPEN_CURLY:(44,3), CLOSE_CURLY:(44,3), COMMA:(44,3), BAR:(44,3), PLUS:(44,3), STAR:(44,3), QUESTION:(44,3)"]
113 [label="113:MoreTypesOpt|43: MoreTypes: AMPERSAND SimpleType MoreTypesOpt .    \{CLOSE_PAREN, OPEN_CURLY, CLOSE_CURLY, COMMA, BAR, PLUS, STAR, QUESTION\}\l|Reductions:\lCLOSE_PAREN:(43,3), OPEN_CURLY:(43,3), CLOSE_CURLY:(43,3), COMMA:(43,3), BAR:(43,3), PLUS:(43,3), STAR:(43,3), QUESTION:(43,3)"]
114 [label="114:STAR|64: Max: STAR .    \{CLOSE_CURLY\}\l|Reductions:\lCLOSE_CURLY:(64,1)"]
115 [label="115:NUMBER|63: Max: NUMBER .    \{CLOSE_CURLY\}\l|Reductions:\lCLOSE_CURLY:(63,1)"]
116 -> 117 [label="SHIFT:CLOSE_CURLY"]
116 [label="116:Max|62: Card: OPEN_CURLY NUMBER COMMA Max . CLOSE_CURLY    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l"]
117 [label="117:CLOSE_CURLY|62: Card: OPEN_CURLY NUMBER COMMA Max CLOSE_CURLY .    \{CLOSE_PAREN, CLOSE_CURLY, COMMA, BAR\}\l|Reductions:\lCLOSE_PAREN:(62,5), CLOSE_CURLY:(62,5), COMMA:(62,5), BAR:(62,5)"]
118 -> 119 [label="SHIFT:WS"]
118 -> 120 [label="SHIFT:CommentLine"]
118 -> 121 [label="SHIFT:START_COMMENT"]
118 [label="118:AUGL||1: AUGL: . Layout    \{STOP\}\l65: Layout: . LayoutItem0    \{STOP\}\l68: LayoutItem0: . LayoutItem1    \{STOP\}\l69: LayoutItem0: .    \{STOP\}\l66: LayoutItem1: . LayoutItem1 LayoutItem    \{STOP, WS, CommentLine, START_COMMENT\}\l67: LayoutItem1: . LayoutItem    \{STOP, WS, CommentLine, START_COMMENT\}\l70: LayoutItem: . WS    \{STOP, WS, CommentLine, START_COMMENT\}\l71: LayoutItem: . Comment    \{STOP, WS, CommentLine, START_COMMENT\}\l72: Comment: . START_COMMENT Corncs END_COMMENT    \{STOP, WS, CommentLine, START_COMMENT\}\l73: Comment: . CommentLine    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(69,0)"]
118 -> 122 [label="GOTO:Layout"]
118 -> 123 [label="GOTO:LayoutItem1"]
118 -> 124 [label="GOTO:LayoutItem0"]
118 -> 125 [label="GOTO:LayoutItem"]
118 -> 126 [label="GOTO:Comment"]
119 [label="119:WS|70: LayoutItem: WS .    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(70,1), WS:(70,1), CommentLine:(70,1), START_COMMENT:(70,1)"]
120 [label="120:CommentLine|73: Comment: CommentLine .    \{STOP, WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lSTOP:(73,1), WS:(73,1), CommentLine:(73,1), NotComment:(73,1), START_COMMENT:(73,1), END_COMMENT:(73,1)"]
121 -> 127 [label="SHIFT:WS"]
121 -> 120 [label="SHIFT:CommentLine"]
121 -> 128 [label="SHIFT:NotComment"]
121 -> 121 [label="SHIFT:START_COMMENT"]
121 [label="121:START_COMMENT|72: Comment: START_COMMENT . Corncs END_COMMENT    \{STOP, WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|74: Corncs: . Cornc0    \{END_COMMENT\}\l77: Cornc0: . Cornc1    \{END_COMMENT\}\l78: Cornc0: .    \{END_COMMENT\}\l75: Cornc1: . Cornc1 Cornc    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l76: Cornc1: . Cornc    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l79: Cornc: . Comment    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l80: Cornc: . NotComment    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l81: Cornc: . WS    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l72: Comment: . START_COMMENT Corncs END_COMMENT    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l73: Comment: . CommentLine    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lEND_COMMENT:(78,0)"]
121 -> 129 [label="GOTO:Comment"]
121 -> 130 [label="GOTO:Corncs"]
121 -> 131 [label="GOTO:Cornc1"]
121 -> 132 [label="GOTO:Cornc0"]
121 -> 133 [label="GOTO:Cornc"]
122 -> ACCEPT [label="STOP"]
122 [label="122:Layout|1: AUGL: Layout .    \{STOP\}\l"]
123 -> 119 [label="SHIFT:WS"]
123 -> 120 [label="SHIFT:CommentLine"]
123 -> 121 [label="SHIFT:START_COMMENT"]
123 [label="123:LayoutItem1|68: LayoutItem0: LayoutItem1 .    \{STOP\}\l66: LayoutItem1: LayoutItem1 . LayoutItem    \{STOP, WS, CommentLine, START_COMMENT\}\l|70: LayoutItem: . WS    \{STOP, WS, CommentLine, START_COMMENT\}\l71: LayoutItem: . Comment    \{STOP, WS, CommentLine, START_COMMENT\}\l72: Comment: . START_COMMENT Corncs END_COMMENT    \{STOP, WS, CommentLine, START_COMMENT\}\l73: Comment: . CommentLine    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(68,1)"]
123 -> 134 [label="GOTO:LayoutItem"]
123 -> 126 [label="GOTO:Comment"]
124 [label="124:LayoutItem0|65: Layout: LayoutItem0 .    \{STOP\}\l|Reductions:\lSTOP:(65,1)"]
125 [label="125:LayoutItem|67: LayoutItem1: LayoutItem .    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(67,1), WS:(67,1), CommentLine:(67,1), START_COMMENT:(67,1)"]
126 [label="126:Comment|71: LayoutItem: Comment .    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(71,1), WS:(71,1), CommentLine:(71,1), START_COMMENT:(71,1)"]
127 [label="127:WS|81: Cornc: WS .    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lWS:(81,1), CommentLine:(81,1), NotComment:(81,1), START_COMMENT:(81,1), END_COMMENT:(81,1)"]
128 [label="128:NotComment|80: Cornc: NotComment .    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lWS:(80,1), CommentLine:(80,1), NotComment:(80,1), START_COMMENT:(80,1), END_COMMENT:(80,1)"]
129 [label="129:Comment|79: Cornc: Comment .    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lWS:(79,1), CommentLine:(79,1), NotComment:(79,1), START_COMMENT:(79,1), END_COMMENT:(79,1)"]
130 -> 135 [label="SHIFT:END_COMMENT"]
130 [label="130:Corncs|72: Comment: START_COMMENT Corncs . END_COMMENT    \{STOP, WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l"]
131 -> 127 [label="SHIFT:WS"]
131 -> 120 [label="SHIFT:CommentLine"]
131 -> 128 [label="SHIFT:NotComment"]
131 -> 121 [label="SHIFT:START_COMMENT"]
131 [label="131:Cornc1|77: Cornc0: Cornc1 .    \{END_COMMENT\}\l75: Cornc1: Cornc1 . Cornc    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|79: Cornc: . Comment    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l80: Cornc: . NotComment    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l81: Cornc: . WS    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l72: Comment: . START_COMMENT Corncs END_COMMENT    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l73: Comment: . CommentLine    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lEND_COMMENT:(77,1)"]
131 -> 129 [label="GOTO:Comment"]
131 -> 136 [label="GOTO:Cornc"]
132 [label="132:Cornc0|74: Corncs: Cornc0 .    \{END_COMMENT\}\l|Reductions:\lEND_COMMENT:(74,1)"]
133 [label="133:Cornc|76: Cornc1: Cornc .    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lWS:(76,1), CommentLine:(76,1), NotComment:(76,1), START_COMMENT:(76,1), END_COMMENT:(76,1)"]
134 [label="134:LayoutItem|66: LayoutItem1: LayoutItem1 LayoutItem .    \{STOP, WS, CommentLine, START_COMMENT\}\l|Reductions:\lSTOP:(66,2), WS:(66,2), CommentLine:(66,2), START_COMMENT:(66,2)"]
135 [label="135:END_COMMENT|72: Comment: START_COMMENT Corncs END_COMMENT .    \{STOP, WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lSTOP:(72,3), WS:(72,3), CommentLine:(72,3), NotComment:(72,3), START_COMMENT:(72,3), END_COMMENT:(72,3)"]
136 [label="136:Cornc|75: Cornc1: Cornc1 Cornc .    \{WS, CommentLine, NotComment, START_COMMENT, END_COMMENT\}\l|Reductions:\lWS:(75,2), CommentLine:(75,2), NotComment:(75,2), START_COMMENT:(75,2), END_COMMENT:(75,2)"]

}
