g gJ3dZdZdZidgdgdfdgdgdfd gd gd fd gd gdfdgd gdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfd gd!gd"fd#gd$gd%fd&gd$gd'fd(gd$gd)fd*gd$gd+fd,gd$gd-fd.gd$gd/fid0gd$gd1fd2gd$gd3fd4gd$gd5fd6gd$gd7fd8gd$gd9fd:gd$gd;fdfd?gd@gdAfdBgd@gdCfdDgd@gdEfdFgdGgdHfdIgdGgdJfdKgdLgdMfdNgdGgdOfdPgdGgdQfdRgdGgdSfdTgdGgdUfidVgdGgdWfdXgdYgdZfd[gd!gd\fd]gd!gd^fd_gd`gdafdbgdcgddfdegdfgdgfdhgdfgdifdjgdfgdkfdlgdfgdmfdngdogdpfdqgdfgdrfdsgdfgdtfdugdfgdvfdwgdfgdxfdygdfgdzfd{gdfgd|fid}gd~gdfdgd~gdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfidgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfddgdgfdgdgdfdgd¢gdâfdgdŢgdƢfdgdȢgdɢfdgdˢgd̢fidgd΢gdϢfdgdѢgdҢfdgdԢgdբfdgdעgdآfdgdעgdڢfdgdעgdܢfdgdעgdޢfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfdgdעgdfgdעgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfdgdgfd ZiZeD]9\ZZeededD]\Z Z e evriee <e ee e<:[iddgdgfddgdgfdgdgd fd ddgd d gfd ddgddgfdgdgdfdddgddgfdgdgdfdgdgdfdgdgdfdgdgdfd gdgd!fd"gd#gd$fd%gd&gd'fd(gd)gd*fd+gd,gd-fd.gd,gd/fid0gd1gd2fd3gd4gd5fd6gd7gd8fd9gd:gd;fdgd4gd?fd@gd4gdAfdBgdCgdDfdEgd4gdFfdGdHdIgdJdKgfdLdHdIgdMdMgfdNdOdPgdQdQgfdRdOdPgdSdSgfdTgdUgdVfdWgdXgdYfdZgd[gd\fd]gd^gd_fid`gdagdbfdcdddegdfdfgfdgdddegdhdhgfdidddegdjdjgfdkgdlgdmfdngdogdpfdqgdrgdsfdtgdugdvfdwgdxgdyfdzgd{gd|fd}gd~gdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfidgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfddgdgfddgdgfidddgddgfdgdgd¢fdgdgdĢfdgdgdƢfdgdgdȢfdgdgdʢfdgdgd̢fdgd΢gdϢfdgdѢgdҢfdgdԢgdբfdgdעgdآfdgdڢgdۢfdܐdgdgfdߐdݐdgddgfddݐdgddgfdgdgdfdgdgdfdgdgfdgdgfddgddgfgdgdfgdgdfdgdgfdgdgfddgddgfgdgdfgdgdfgdgdfgdgdfdgdgfgdgdfdgdgfd Z iZ e D]9\ZZeededD]\Z Z e e vrie e <e e e e<:[ gd Z d S( z3.10LALRaStranslation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMODAUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM EXTERN FLOAT FOR GOTO IF INLINE INT LONG REGISTER OFFSETOF RESTRICT RETURN SHORT SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION UNSIGNED VOID VOLATILE WHILE __INT128 _BOOL _COMPLEX _NORETURN _THREAD_LOCAL _STATIC_ASSERT _ATOMIC _ALIGNOF _ALIGNAS _PRAGMA ID TYPEID INT_CONST_DEC INT_CONST_OCT INT_CONST_HEX INT_CONST_BIN INT_CONST_CHAR FLOAT_CONST HEX_FLOAT_CONST CHAR_CONST WCHAR_CONST U8CHAR_CONST U16CHAR_CONST U32CHAR_CONST STRING_LITERAL WSTRING_LITERAL U8STRING_LITERAL U16STRING_LITERAL U32STRING_LITERAL PLUS MINUS TIMES DIVIDE MOD OR AND NOT XOR LSHIFT RSHIFT LOR LAND LNOT LT LE GT GE EQ NE EQUALS TIMESEQUAL DIVEQUAL MODEQUAL PLUSEQUAL MINUSEQUAL LSHIFTEQUAL RSHIFTEQUAL ANDEQUAL XOREQUAL OREQUAL PLUSPLUS MINUSMINUS ARROW CONDOP LPAREN RPAREN LBRACKET RBRACKET LBRACE RBRACE COMMA PERIOD SEMI COLON ELLIPSIS PPHASH PPPRAGMA PPPRAGMASTRabstract_declarator_opt : empty | abstract_declaratorassignment_expression_opt : empty | assignment_expressionblock_item_list_opt : empty | block_item_listdeclaration_list_opt : empty | declaration_listdeclaration_specifiers_no_type_opt : empty | declaration_specifiers_no_typedesignation_opt : empty | designationexpression_opt : empty | expressionid_init_declarator_list_opt : empty | id_init_declarator_listidentifier_list_opt : empty | identifier_listinit_declarator_list_opt : empty | init_declarator_listinitializer_list_opt : empty | initializer_listparameter_type_list_opt : empty | parameter_type_liststruct_declarator_list_opt : empty | struct_declarator_listtype_qualifier_list_opt : empty | type_qualifier_list direct_id_declarator : ID direct_id_declarator : LPAREN id_declarator RPAREN direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET direct_id_declarator : direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET | direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET direct_id_declarator : direct_id_declarator LPAREN parameter_type_list RPAREN | direct_id_declarator LPAREN identifier_list_opt RPAREN direct_typeid_declarator : TYPEID direct_typeid_declarator : LPAREN typeid_declarator RPAREN direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET direct_typeid_declarator : direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET | direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET direct_typeid_declarator : direct_typeid_declarator LPAREN parameter_type_list RPAREN | direct_typeid_declarator LPAREN identifier_list_opt RPAREN direct_typeid_noparen_declarator : TYPEID direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET | direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN | direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN id_declarator : direct_id_declarator id_declarator : pointer direct_id_declarator typeid_declarator : direct_typeid_declarator typeid_declarator : pointer direct_typeid_declarator typeid_noparen_declarator : direct_typeid_noparen_declarator typeid_noparen_declarator : pointer direct_typeid_noparen_declarator translation_unit_or_empty : translation_unit | empty translation_unit : external_declaration translation_unit : translation_unit external_declaration external_declaration : function_definition external_declaration : declaration external_declaration : pp_directive | pppragma_directive external_declaration : SEMI external_declaration : static_assert static_assert : _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN | _STATIC_ASSERT LPAREN constant_expression RPAREN pp_directive : PPHASH pppragma_directive : PPPRAGMA | PPPRAGMA PPPRAGMASTR | _PRAGMA LPAREN unified_string_literal RPAREN pppragma_directive_list : pppragma_directive | pppragma_directive_list pppragma_directive function_definition : id_declarator declaration_list_opt compound_statement function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement statement : labeled_statement | expression_statement | compound_statement | selection_statement | iteration_statement | jump_statement | pppragma_directive | static_assert pragmacomp_or_statement : pppragma_directive_list statement | statement decl_body : declaration_specifiers init_declarator_list_opt | declaration_specifiers_no_type id_init_declarator_list_opt declaration : decl_body SEMI declaration_list : declaration | declaration_list declaration declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt declaration_specifiers_no_type : atomic_specifier declaration_specifiers_no_type_opt declaration_specifiers_no_type : alignment_specifier declaration_specifiers_no_type_opt declaration_specifiers : declaration_specifiers type_qualifier declaration_specifiers : declaration_specifiers storage_class_specifier declaration_specifiers : declaration_specifiers function_specifier declaration_specifiers : declaration_specifiers type_specifier_no_typeid declaration_specifiers : type_specifier declaration_specifiers : declaration_specifiers_no_type type_specifier declaration_specifiers : declaration_specifiers alignment_specifier storage_class_specifier : AUTO | REGISTER | STATIC | EXTERN | TYPEDEF | _THREAD_LOCAL function_specifier : INLINE | _NORETURN type_specifier_no_typeid : VOID | _BOOL | CHAR | SHORT | INT | LONG | FLOAT | DOUBLE | _COMPLEX | SIGNED | UNSIGNED | __INT128 type_specifier : typedef_name | enum_specifier | struct_or_union_specifier | type_specifier_no_typeid | atomic_specifier atomic_specifier : _ATOMIC LPAREN type_name RPAREN type_qualifier : CONST | RESTRICT | VOLATILE | _ATOMIC init_declarator_list : init_declarator | init_declarator_list COMMA init_declarator init_declarator : declarator | declarator EQUALS initializer id_init_declarator_list : id_init_declarator | id_init_declarator_list COMMA init_declarator id_init_declarator : id_declarator | id_declarator EQUALS initializer specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid specifier_qualifier_list : specifier_qualifier_list type_qualifier specifier_qualifier_list : type_specifier specifier_qualifier_list : type_qualifier_list type_specifier specifier_qualifier_list : alignment_specifier specifier_qualifier_list : specifier_qualifier_list alignment_specifier struct_or_union_specifier : struct_or_union ID | struct_or_union TYPEID struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close | struct_or_union brace_open brace_close struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close | struct_or_union ID brace_open brace_close | struct_or_union TYPEID brace_open struct_declaration_list brace_close | struct_or_union TYPEID brace_open brace_close struct_or_union : STRUCT | UNION struct_declaration_list : struct_declaration | struct_declaration_list struct_declaration struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI struct_declaration : SEMI struct_declaration : pppragma_directive struct_declarator_list : struct_declarator | struct_declarator_list COMMA struct_declarator struct_declarator : declarator struct_declarator : declarator COLON constant_expression | COLON constant_expression enum_specifier : ENUM ID | ENUM TYPEID enum_specifier : ENUM brace_open enumerator_list brace_close enum_specifier : ENUM ID brace_open enumerator_list brace_close | ENUM TYPEID brace_open enumerator_list brace_close enumerator_list : enumerator | enumerator_list COMMA | enumerator_list COMMA enumerator alignment_specifier : _ALIGNAS LPAREN type_name RPAREN | _ALIGNAS LPAREN constant_expression RPAREN enumerator : ID | ID EQUALS constant_expression declarator : id_declarator | typeid_declarator pointer : TIMES type_qualifier_list_opt | TIMES type_qualifier_list_opt pointer type_qualifier_list : type_qualifier | type_qualifier_list type_qualifier parameter_type_list : parameter_list | parameter_list COMMA ELLIPSIS parameter_list : parameter_declaration | parameter_list COMMA parameter_declaration parameter_declaration : declaration_specifiers id_declarator | declaration_specifiers typeid_noparen_declarator parameter_declaration : declaration_specifiers abstract_declarator_opt identifier_list : identifier | identifier_list COMMA identifier initializer : assignment_expression initializer : brace_open initializer_list_opt brace_close | brace_open initializer_list COMMA brace_close initializer_list : designation_opt initializer | initializer_list COMMA designation_opt initializer designation : designator_list EQUALS designator_list : designator | designator_list designator designator : LBRACKET constant_expression RBRACKET | PERIOD identifier type_name : specifier_qualifier_list abstract_declarator_opt abstract_declarator : pointer abstract_declarator : pointer direct_abstract_declarator abstract_declarator : direct_abstract_declarator direct_abstract_declarator : LPAREN abstract_declarator RPAREN direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET direct_abstract_declarator : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET direct_abstract_declarator : LBRACKET TIMES RBRACKET direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN block_item : declaration | statement block_item_list : block_item | block_item_list block_item compound_statement : brace_open block_item_list_opt brace_close labeled_statement : ID COLON pragmacomp_or_statement labeled_statement : CASE constant_expression COLON pragmacomp_or_statement labeled_statement : DEFAULT COLON pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement jump_statement : GOTO ID SEMI jump_statement : BREAK SEMI jump_statement : CONTINUE SEMI jump_statement : RETURN expression SEMI | RETURN SEMI expression_statement : expression_opt SEMI expression : assignment_expression | expression COMMA assignment_expression assignment_expression : LPAREN compound_statement RPAREN typedef_name : TYPEID assignment_expression : conditional_expression | unary_expression assignment_operator assignment_expression assignment_operator : EQUALS | XOREQUAL | TIMESEQUAL | DIVEQUAL | MODEQUAL | PLUSEQUAL | MINUSEQUAL | LSHIFTEQUAL | RSHIFTEQUAL | ANDEQUAL | OREQUAL constant_expression : conditional_expression conditional_expression : binary_expression | binary_expression CONDOP expression COLON conditional_expression binary_expression : cast_expression | binary_expression TIMES binary_expression | binary_expression DIVIDE binary_expression | binary_expression MOD binary_expression | binary_expression PLUS binary_expression | binary_expression MINUS binary_expression | binary_expression RSHIFT binary_expression | binary_expression LSHIFT binary_expression | binary_expression LT binary_expression | binary_expression LE binary_expression | binary_expression GE binary_expression | binary_expression GT binary_expression | binary_expression EQ binary_expression | binary_expression NE binary_expression | binary_expression AND binary_expression | binary_expression OR binary_expression | binary_expression XOR binary_expression | binary_expression LAND binary_expression | binary_expression LOR binary_expression cast_expression : unary_expression cast_expression : LPAREN type_name RPAREN cast_expression unary_expression : postfix_expression unary_expression : PLUSPLUS unary_expression | MINUSMINUS unary_expression | unary_operator cast_expression unary_expression : SIZEOF unary_expression | SIZEOF LPAREN type_name RPAREN | _ALIGNOF LPAREN type_name RPAREN unary_operator : AND | TIMES | PLUS | MINUS | NOT | LNOT postfix_expression : primary_expression postfix_expression : postfix_expression LBRACKET expression RBRACKET postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN | postfix_expression LPAREN RPAREN postfix_expression : postfix_expression PERIOD ID | postfix_expression PERIOD TYPEID | postfix_expression ARROW ID | postfix_expression ARROW TYPEID postfix_expression : postfix_expression PLUSPLUS | postfix_expression MINUSMINUS postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close primary_expression : identifier primary_expression : constant primary_expression : unified_string_literal | unified_wstring_literal primary_expression : LPAREN expression RPAREN primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN offsetof_member_designator : identifier | offsetof_member_designator PERIOD identifier | offsetof_member_designator LBRACKET expression RBRACKET argument_expression_list : assignment_expression | argument_expression_list COMMA assignment_expression identifier : ID constant : INT_CONST_DEC | INT_CONST_OCT | INT_CONST_HEX | INT_CONST_BIN | INT_CONST_CHAR constant : FLOAT_CONST | HEX_FLOAT_CONST constant : CHAR_CONST | WCHAR_CONST | U8CHAR_CONST | U16CHAR_CONST | U32CHAR_CONST unified_string_literal : STRING_LITERAL | unified_string_literal STRING_LITERAL unified_wstring_literal : WSTRING_LITERAL | U8STRING_LITERAL | U16STRING_LITERAL | U32STRING_LITERAL | unified_wstring_literal WSTRING_LITERAL | unified_wstring_literal U8STRING_LITERAL | unified_wstring_literal U16STRING_LITERAL | unified_wstring_literal U32STRING_LITERAL brace_open : LBRACE brace_close : RBRACE empty : z$end) @Z[ c)rii#SEMI(0rrrrr r r r r rr !"#&'()*+,-./0123456789:;<rEFGHIJKLMNOQSTUVWXYrrabcdefghijklnopuvwyz{|rrrrr#$%'(),-./78FGJMNOPQRSTUVWXYZ\]abrdefhiqrstuvwxyr    ()*+,.13:;>CDFHIJ(0r r rrrrrr r!rrr"r#rrrrrz}|{r$rrrRr`Kir`iiywJr%r&rirRiiusWVkjrr'rrkrrrhar(r^]omr%'&rrrrrrrr)xvr?$%r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrV>?rrWrXrYrZr\r]r^r_r`PrbRrr^_`rkrlrmrnrorprqrsrxqrstryrzr{xr|r}r~~rrrrrrrrrrrrrrrrrrrrrrrr   !"&*256:>BCrKLrrrrrr[rrrrrrrrrjmnorrrrrrrz{|}~rrrrrrrrrrr r!rr/r0r1r2r3 !r9r:r;r<r=r245rAr!rDrErFrGrHrI($r9r9rrrrrr r!r9r"r#r9r9rrrrKrLr9rrNrrOrPrQrRrSrzr}rTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjcbr$r9r9rRr`rlrmrnrorpr9r`r9r%r&rrrrwrxryrrzr{r|rRrIGrrrrrrrr'rr9rrrrrrrrrrrr9r9rHFrrrr(r9rrrrrrrrrrrrrrrrrrrr)rrrrr*r+rrrrrrrrrrrrrrrrrrrrrr r rrrrrrr9r9rrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrr rrrrrrrrrr9rrrrrrr9rrrrrrrrr r r7rr-rrrrrrrrrrrrrrrrrrrrrrr rrrrrrr%r&rrr'r(LPAREN(qrrrrr r r r r r/rrr,r0r.r1r1r2r3r4r5r6r7r8r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrV=rrWrXrYrZr\r]r^r_r`r7rbr8rhrirrr9r:rjrkrlrmrnrorprqrsmrxr<r=r>r?ryrzr{r|r}r~rArrrrBrCrDrrrFrrGrHrIrJrrKrLrMrNrrrOrPrrrrrrrrrrrrrrrrrrrrQrRrSrTrUrVrWrXrrrrrrrrrrrrrrrrrrr[r\rrrrr^r_r`rarrrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrrryrzrrrrr{r|r}rrr?rrDErrrrrrrrrrr_`rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrrrrrrrrrr r!rrr$r%rrrr'r(rr+r,rrrrr/r0r1r2rr3rrr6r7rrr"#$%&'r9r:r;r<r=rr?rr@r67rAr!rCABrDrErFrGrHrI(qr0r0rrrrrr r!r8r"r#\r0r9r;r0rrrrKrLr0rrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_}rarbrcrdrerfrgrhrirjrAr$r8r0rRrrlrmrnrorpr8r`r8rErur%r&rFrr;rwrxryrrzr{r|rRrrrrrrrrrrrrrFr'r\rEr8r\rrrr\rrrrrrvryryrFrz+rrrrrrr0rrrrrrrrrrrrrrrrr\rrrr8r\rrrr(r8rrrr\rrrrrrrrrrrrrFrr\rrr\rr\r)rrr\rrr*rr+r\rFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFr\r\rrr\r\rrrrrr\r\rrrrrrrrFrrrrrrrFrrrrrrr,rr\r\rr\r\r\r\r\rrr\rrrr\rrrrrrrrrrrrr\rrFrr\r\rrrFrrrrrrrrrrrrr\r\rrrrr8rFrr\rrFrrrr\r r rrr rrr-rFrrr\rrr\rr.(*rrr\r\r\r\r\r\rrrrr\r\,-+)rrrrr r\r"rr#r\r\r\r$r%r&r\r\r'r(TIMES(Wrrrrr r r r r r/rrr0r2r3r4r5r6r7r8r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrWrXrYrZr\r]r^r_r`rbr8rrr9r:rkrlrmrnrorprqrsrxr<r=r>r?ryrzr{r|r}r~rArrrBrCrDrrFrrrrGrHrIrJrrrKrLrMrNrrrOrPrrrrrrrrrrrrrrrrrrrrQrRrSrTrUrVrXrrrrrrrrrrrrrrrrrrrr[r\rrrrr^r_r`rarrrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrrrryrrrrzrrrrr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r!rrr&rrrr'r(rr)r*rrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr!rCrDrErFrGrHrI(Wr2r2rrrrrr r!r2r"r#r2rrrrKrLr2rrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$r2r2rRr`rlrmrnrorpr`r2r%r&rGrrwrxryrrzr{r|rRrr2rrrrrrrrrrGr'rGr2rGrrrGrrcrrrrrrrrGrGrGrGrrrrrrrrrrrrrrrrrrrrrrrr{rrr2r2rGrrr(r2rrr2rGrrrrrrrrrrrrrGrGrGrGrr)rrrrr*rr+rGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrrrrGrrrrGrrrrrrGrGr2rrGrrrrrrrGrrr2rrr,rrGrGrrGrGrGrGrGrrrGrrrrGrrrrrrrrrrrrrGrrGrrGrGrGrrrrrcrcrcrcrcrcrcrcrcrcrcrcrcrcrcrrrrrrrGrrrrrr2rGrrGrrGrrrGr r rrrrr-rGrrrGrrrrrrrrGrGrGrGrGrGrrrGrGrrrrr rGr"rr#rGrGrGr$r%r&rGrGr'r(TYPEID)rrrrr r r r r r/rrr1r2r3r4r5r6r7r8r9r:r2r;r<r=r>r?r3r4r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVr5r6rCDrWrXrYrZr[r\r]r^r_r`r7rbr8rrr;rjrkrlrmrnrorprqrsrxr<r=r>r?ryrzr{r|r}r~rrrArrrBrErrFrTrUrWrXrrrrrrrrrrrrrrrrrrrrrrrr\rrrrwrxryrzrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)r?r?rrrrrr r!r?rir"r#rJrrrrKrLr?rrMrNrrOrPrQrRrSr{r~rTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrrr$r?rir?rRr`r?rlrmrnrorprir`rir%r&r?rvrwrxryrrzr{r|rRrrrrrrrrrrrr?r?r?r'r?rir?rr?rr?rirrr?r?r?rrr(rirrrr?rr?rrrrrrrrrrrr?r)r*r+r rr?r?r?r?rrr?rr?rr?rr?rrrrrrrrr?rrr,rrrrr?rrrrrr?r?rrrrrrirrrrr r r-rrrrrrrr r%r&r'r(ENUM)rrrrr r r r r r rrr1r2r3r4r7r8r9r:r>rLrMrNrOrPrQrRrSrTrUrVrr r rXrYrZr[rrr;rjrkrlrmrnrorprxr?ryr|rrrArrrrErrFrrXrrrrrrrrrrrrrrrrrrrrr\rrrryrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)r3r3rrrrrr r!r3r"r#rJrrrr3rrMrNrr`rarbrcrdrerfrgrhrirjr$r3rr3rr`r3r%r&r3rvrwrxryrrzr{rrrrr3r3r3r'r3rr3rr3r3rr3r3r3rr(rrr3r3rrrrrrrrrrrr3r)r*r+r3r3r3r3rrr3r3r3r3rrr3rrr,rrrrr3rrrrrr3r3rrrrrr r r-rrrrrrrr r%r&r'r(VOID)rrrrr r r r r r r/rrr1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrXrYrZr[r\r]r^r_r`rbrrr;rjrkrlrmrnrorprqrsrxr?ryrzr{r|r}r~rrrArrrrErrFrTrrXrrrrrrrrrrrrrrrrrrrrrrrrrr\rrrryrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)r@r@rrrrrr r!r@r@r"r#rJrrrrKrLr@rrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$r@rr@r@rRr`r@rlrmrnrorpr`r%r&r@rvrwrxryrrzr{r|rRrrrrrrrrr@r@r@r'r@rr@rr@r@r@rr@r@r@rrr(r@rrrr@rr@r@rrrrrrrrrrrr@r)r*r+r@r@r@r@rrr@r@rr@rr@rrrrrrrrr@rrr,rrrrr@rrrrrr@r@rrrrrrrrrr r r-rrrrrrrr r%r&r'r(_BOOL)rArArrrrrr r!rArAr"r#rJrrrrKrLrArrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rArrArArRr`rArlrmrnrorpr`r%r&rArvrwrxryrrzr{r|rRrrrrrrrrrArArAr'rArrArrArArArrArArArrr(rArrrrArrArArrrrrrrrrrrrAr)r*r+rArArArArrrArArrArrArrrrrrrrrArrr,rrrrrArrrrrrArArrrrrrrrrr r r-rrrrrrrr r%r&r'r(CHAR)rBrBrrrrrr r!rBrBr"r#rJrrrrKrLrBrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rBrrBrBrRr`rBrlrmrnrorpr`r%r&rBrvrwrxryrrzr{r|rRrrrrrrrrrBrBrBr'rBrrBrrBrBrBrrBrBrBrrr(rBrrrrBrrBrBrrrrrrrrrrrrBr)r*r+rBrBrBrBrrrBrBrrBrrBrrrrrrrrrBrrr,rrrrrBrrrrrrBrBrrrrrrrrrr r r-rrrrrrrr r%r&r'r(SHORT)rCrCrrrrrr r!rCrCr"r#rJrrrrKrLrCrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rCrrCrCrRr`rCrlrmrnrorpr`r%r&rCrvrwrxryrrzr{r|rRrrrrrrrrrCrCrCr'rCrrCrrCrCrCrrCrCrCrrr(rCrrrrCrrCrCrrrrrrrrrrrrCr)r*r+rCrCrCrCrrrCrCrrCrrCrrrrrrrrrCrrr,rrrrrCrrrrrrCrCrrrrrrrrrr r r-rrrrrrrr r%r&r'r(INT)rDrDrrrrrr r!rDrDr"r#rJrrrrKrLrDrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rDrrDrDrRr`rDrlrmrnrorpr`r%r&rDrvrwrxryrrzr{r|rRrrrrrrrrrDrDrDr'rDrrDrrDrDrDrrDrDrDrrr(rDrrrrDrrDrDrrrrrrrrrrrrDr)r*r+rDrDrDrDrrrDrDrrDrrDrrrrrrrrrDrrr,rrrrrDrrrrrrDrDrrrrrrrrrr r r-rrrrrrrr r%r&r'r(LONG)rErErrrrrr r!rErEr"r#rJrrrrKrLrErrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rErrErErRr`rErlrmrnrorpr`r%r&rErvrwrxryrrzr{r|rRrrrrrrrrrErErEr'rErrErrErErErrErErErrr(rErrrrErrErErrrrrrrrrrrrEr)r*r+rErErErErrrErErrErrErrrrrrrrrErrr,rrrrrErrrrrrErErrrrrrrrrr r r-rrrrrrrr r%r&r'r(FLOAT)rFrFrrrrrr r!rFrFr"r#rJrrrrKrLrFrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rFrrFrFrRr`rFrlrmrnrorpr`r%r&rFrvrwrxryrrzr{r|rRrrrrrrrrrFrFrFr'rFrrFrrFrFrFrrFrFrFrrr(rFrrrrFrrFrFrrrrrrrrrrrrFr)r*r+rFrFrFrFrrrFrFrrFrrFrrrrrrrrrFrrr,rrrrrFrrrrrrFrFrrrrrrrrrr r r-rrrrrrrr r%r&r'r(DOUBLE)rGrGrrrrrr r!rGrGr"r#rJrrrrKrLrGrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rGrrGrGrRr`rGrlrmrnrorpr`r%r&rGrvrwrxryrrzr{r|rRrrrrrrrrrGrGrGr'rGrrGrrGrGrGrrGrGrGrrr(rGrrrrGrrGrGrrrrrrrrrrrrGr)r*r+rGrGrGrGrrrGrGrrGrrGrrrrrrrrrGrrr,rrrrrGrrrrrrGrGrrrrrrrrrr r r-rrrrrrrr r%r&r'r(_COMPLEX)rHrHrrrrrr r!rHrHr"r#rJrrrrKrLrHrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rHrrHrHrRr`rHrlrmrnrorpr`r%r&rHrvrwrxryrrzr{r|rRrrrrrrrrrHrHrHr'rHrrHrrHrHrHrrHrHrHrrr(rHrrrrHrrHrHrrrrrrrrrrrrHr)r*r+rHrHrHrHrrrHrHrrHrrHrrrrrrrrrHrrr,rrrrrHrrrrrrHrHrrrrrrrrrr r r-rrrrrrrr r%r&r'r(SIGNED)rIrIrrrrrr r!rIrIr"r#rJrrrrKrLrIrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rIrrIrIrRr`rIrlrmrnrorpr`r%r&rIrvrwrxryrrzr{r|rRrrrrrrrrrIrIrIr'rIrrIrrIrIrIrrIrIrIrrr(rIrrrrIrrIrIrrrrrrrrrrrrIr)r*r+rIrIrIrIrrrIrIrrIrrIrrrrrrrrrIrrr,rrrrrIrrrrrrIrIrrrrrrrrrr r r-rrrrrrrr r%r&r'r(UNSIGNED)rJrJrrrrrr r!rJrJr"r#rJrrrrKrLrJrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rJrrJrJrRr`rJrlrmrnrorpr`r%r&rJrvrwrxryrrzr{r|rRrrrrrrrrrJrJrJr'rJrrJrrJrJrJrrJrJrJrrr(rJrrrrJrrJrJrrrrrrrrrrrrJr)r*r+rJrJrJrJrrrJrJrrJrrJrrrrrrrrrJrrr,rrrrrJrrrrrrJrJrrrrrrrrrr r r-rrrrrrrr r%r&r'r(__INT128)rKrKrrrrrr r!rKrKr"r#rJrrrrKrLrKrrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rKrrKrKrRr`rKrlrmrnrorpr`r%r&rKrvrwrxryrrzr{r|rRrrrrrrrrrKrKrKr'rKrrKrrKrKrKrrKrKrKrrr(rKrrrrKrrKrKrrrrrrrrrrrrKr)r*r+rKrKrKrKrrrKrKrrKrrKrrrrrrrrrKrrr,rrrrrKrrrrrrKrKrrrrrrrrrr r r-rrrrrrrr r%r&r'r(_ATOMIC)rrrrr r r r r r r/rrr1r2r3r4r5r6r7r8r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrXrYrZr[r\r]r^r_r`rbrrr:r;rjrkrlrmrnrorprqrsrxr>r?ryrzr{r|r}r~rrrArrrrDrErrFrRrSrTrrXrrrrrrrrrrrrrrrrrrrrrrrrrr\rr`rarrryrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,rrr/r9r:r;r<r=rDrErHrI)rLrLrrrrrr r!rZrbr"r#rJrZrZrZrKrLrrZrMrNrbrOrPrQrZrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rZrrbrrZr`rZrlrmrnrorpr`r%r&rbrLrvrwrxryrZrzr{r|rRrrbrrrrrrrrLrLrLr'rZrrbrLrrLrbrbrbrrrLrLrLrrr(rbrrrrZrrbrZrrrrrrrrrrrrLr)rbrbr*r+rLrLrLrLrrrLrLrbrrLrrLrrrrrrrrrLrrr,rrrrrZrrrrrrbrLrLrrrrrrrrrr r r-rrrbrbrrrrrr r%r&r'r(CONST)rrrrr r r r r r r/rrr1r2r3r4r5r6r8r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrYrZr[r\r]r^r_r`rbrrr:r;rjrnrqrsr>r?rzr{r|r}r~rrrArrrrDrErrFrRrSrTrXrrrrrrrrrrrrrrrrrrrrrrrrrr\rr`rarrryrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,rrr/r9r:r;r<r=rDrErHrI)rMrMrrrrrr r!rMrMr"r#rJrMrMrMrKrLrMrMrNrMrOrPrQrMrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rMrrMrMr`rMrlrmrnrorpr`r%r&rMrMrvrMr|rRrMrrrrrrrMrMrMr'rMrrMrMrrMrMrMrMrrMrMrMrrr(rMrrrrMrrMrMrrrrrrrrrrrrMr)rMrMr*r+rMrMrMrMrrrMrMrMrrMrrMrrrrrrrrrMrrr,rrrrrMrrrrrrMrMrMrrrrrrrrrr r r-rrrMrMrrrrrr r%r&r'r(RESTRICT)rNrNrrrrrr r!rNrNr"r#rJrNrNrNrKrLrNrMrNrNrOrPrQrNrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rNrrNrNr`rNrlrmrnrorpr`r%r&rNrNrvrNr|rRrNrrrrrrrNrNrNr'rNrrNrNrrNrNrNrNrrNrNrNrrr(rNrrrrNrrNrNrrrrrrrrrrrrNr)rNrNr*r+rNrNrNrNrrrNrNrNrrNrrNrrrrrrrrrNrrr,rrrrrNrrrrrrNrNrNrrrrrrrrrr r r-rrrNrNrrrrrr r%r&r'r(VOLATILE)rOrOrrrrrr r!rOrOr"r#rJrOrOrOrKrLrOrMrNrOrOrPrQrOrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rOrrOrOr`rOrlrmrnrorpr`r%r&rOrOrvrOr|rRrOrrrrrrrOrOrOr'rOrrOrOrrOrOrOrOrrOrOrOrrr(rOrrrrOrrOrOrrrrrrrrrrrrOr)rOrOr*r+rOrOrOrOrrrOrOrOrrOrrOrrrrrrrrrOrrr,rrrrrOrrrrrrOrOrOrrrrrrrrrr r r-rrrOrOrrrrrr r%r&r'r(AUTO)rrrrr r r r r r r/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrYrZr[r\r]r^r_r`rbrrr;rjrnrqrsrzr{r|r}r~rrrrErrTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)rPrPrrrrrr r!rPrPr"r#rJrPrPrPrKrLrPrMrNrOrPrQrPrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rPrrPrPr`rPrlrmrnrorpr`r%r&rPrvrPr|rRrrrrrr'rPrrPrrPrr(rPrrrrrrrrrrrr)r*r+rrrPrPrrrrrrPrrr,rrrrrPrrrrrrPrPrrrrrrrrr r r-rrrrrrrr r%r&r'r(REGISTER)rQrQrrrrrr r!rQrQr"r#rJrQrQrQrKrLrQrMrNrOrPrQrQrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rQrrQrQr`rQrlrmrnrorpr`r%r&rQrvrQr|rRrrrrrr'rQrrQrrQrr(rQrrrrrrrrrrrr)r*r+rrrQrQrrrrrrQrrr,rrrrrQrrrrrrQrQrrrrrrrrr r r-rrrrrrrr r%r&r'r(STATIC)rrrrr r r r r r r/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrYrZr[r\r]r^r_r`rbrrr:r;rjrnrqrsr?rzr{r|r}r~rrrrDrErrSrTrXrrrrrrrrrrrrrrrrarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,rr/r9r:r;r<r=rDrErHrI)r:r:rrrrrr r!r:r:r"r#rJr:r:r:rKrLr:rMrNrOrPrQr:rSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$r:rr:r:r`r:rlrmrnrorpr`r%r&rRr:rvr:r|rRrrrrrrr'r:rr`r:rr}r:rrr(r:rrrrrrrrrrrr)rr*r+rrr:r:rrrrrr:rrr,rrrrr:rrrrrrr:r:rrrrrrrrr r r-rrrrrrrrr r%r&r'r(EXTERN)rRrRrrrrrr r!rRrRr"r#rJrRrRrRrKrLrRrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rRrrRrRr`rRrlrmrnrorpr`r%r&rRrvrRr|rRrrrrrr'rRrrRrrRrr(rRrrrrrrrrrrrr)r*r+rrrRrRrrrrrrRrrr,rrrrrRrrrrrrRrRrrrrrrrrr r r-rrrrrrrr r%r&r'r(TYPEDEF)rSrSrrrrrr r!rSrSr"r#rJrSrSrSrKrLrSrMrNrOrPrQrSrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rSrrSrSr`rSrlrmrnrorpr`r%r&rSrvrSr|rRrrrrrr'rSrrSrrSrr(rSrrrrrrrrrrrr)r*r+rrrSrSrrrrrrSrrr,rrrrrSrrrrrrSrSrrrrrrrrr r r-rrrrrrrr r%r&r'r( _THREAD_LOCAL)rTrTrrrrrr r!rTrTr"r#rJrTrTrTrKrLrTrMrNrOrPrQrTrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rTrrTrTr`rTrlrmrnrorpr`r%r&rTrvrTr|rRrrrrrr'rTrrTrrTrr(rTrrrrrrrrrrrr)r*r+rrrTrTrrrrrrTrrr,rrrrrTrrrrrrTrTrrrrrrrrr r r-rrrrrrrr r%r&r'r(INLINE)rUrUrrrrrr r!rUrUr"r#rJrUrUrUrKrLrUrMrNrOrPrQrUrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rUrrUrUr`rUrlrmrnrorpr`r%r&rUrvrUr|rRrrrrrr'rUrrUrrUrr(rUrrrrrrrrrrrr)r*r+rrrUrUrrrrrrUrrr,rrrrrUrrrrrrUrUrrrrrrrrr r r-rrrrrrrr r%r&r'r( _NORETURN)rVrVrrrrrr r!rVrVr"r#rJrVrVrVrKrLrVrMrNrOrPrQrVrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rVrrVrVr`rVrlrmrnrorpr`r%r&rVrvrVr|rRrrrrrr'rVrrVrrVrr(rVrrrrrrrrrrrr)r*r+rrrVrVrrrrrrVrrr,rrrrrVrrrrrrVrVrrrrrrrrr r r-rrrrrrrr r%r&r'r(_ALIGNAS)rrrrr r r r r r r/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrr r rWrYrZr[r\r]r^r_r`rbrrr;rjrnrqrsrzr{r|r}r~rrrArrrrErrFrTrrrrrrrrrrrrrrrrrrrrrrrrr\rrrryrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)rrrrrrrr r!rrr"r#rJrrrrKrLrrMrNrOrPrQrrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$rrrrr`rrlrmrnrorpr`r%r&rrvrr|rRrrrrrrrrr'rrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrr)r*r+rrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrr r r-rrrrrrrr r%r&r'r(STRUCT)r5r5rrrrrr r!r5r"r#rJrrrr5rrMrNrr`rarbrcrdrerfrgrhrirjr$r5rr5rr`r5r%r&r5rvrwrxryrrzr{rrrrr5r5r5r'r5rr5rr5r5rr5r5r5rr(rrr5r5rrrrrrrrrrrr5r)r*r+r5r5r5r5rrr5r5r5r5rrr5rrr,rrrrr5rrrrrr5r5rrrrrr r r-rrrrrrrr r%r&r'r(UNION)r6r6rrrrrr r!r6r"r#rJrrrr6rrMrNrr`rarbrcrdrerfrgrhrirjr$r6rr6rr`r6r%r&r6rvrwrxryrrzr{rrrrr6r6r6r'r6rr6rr6r6rr6r6r6rr(rrr6r6rrrrrrrrrrrr6r)r*r+r6r6r6r6rrr6r6r6r6rrr6rrr,rrrrr6rrrrrr6r6rrrrrr r r-rrrrrrrr r%r&r'r(LBRACE)cr rr1r9r3r4r5r6ABr r r[rrrjrzr{r|r}r~rrrCrrVrrrrrrrrrrrrrr\rr^rrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrr)r+r,r/r0r1r2rrr9r:r;r<r=rrArDrErFrGrHrI)crr#rJrMr|r|rrr|iirrr%r&rvr|r|rr|r|r|rr|r|rr|r(r|rrrrrrrrrrrr|r|rr*r+rrr,rr|r|rr|rrrrrrr|rr|rrrr|rr|rrr r rrrr-r|r|rrrr|r|r|r|rrrrrr rr|r%r&r|r|r'r(RBRACE)rrrr|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr^rrrrrrrrrrrrrHIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrr r!r"r#rr&rr'r(r)r*r/r5r8r9r:r;r<r=0r?rr@rCrDrErHrI)r#r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrRMrrrrr(rrrirrrrrrrrrrrrrrrr*rr+rrrrrrrrrrrrQrrrr,rrrrrrrriirrrrrrrrrrrrrrrrrrrrrrrrPLrrrrrrr r r r r9rr-rrrrrrrrrrrrr 8r"rr#r$r%r&r'r(CASE)8rrrr|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr/r0r1r2r9r:r;r<r=rArDrErFrGrHrI)8r#r%r&rr[r(r[rrrrrrrrrrrr[r*r+r,rr[r[rr[rrrrrrr[rrrr r r-rr[r[r[rrrrr r[r%r&r[r[r'r(DEFAULT)8r#r%r&rr(rLrrrrrrrrrrrrLr*r+r,rrLrLrrLrrrrrrrLrrrr r r-rrLrLrLrrrrr rLr%r&rLrLr'r(IF)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(SWITCH)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(WHILE)9rrrr|rrrrrrrrrrrrrrrrrrrrrrprrrrrrrrrrrr r!rr/r0r1r2r9r:r;r<r=rArDrErFrGrHrI)9r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(DO)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(FOR)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(GOTO)8r#r%r&rr]r(r]rrrrrrrrrrrr]r*r+r,rr]r]rr]rrrrrrr]rrrr r r-rr]r]r]rrrrr r]r%r&r]r]r'r(BREAK)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(CONTINUE)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(RETURN)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrrr r r-rrrrrrrrr rr%r&rrr'r(PLUSPLUS)rrMrNrOrbrrr9r:r=r>r?r|rArrCrDrrFrrGrHrIrJrrKrLrMrNrrrOrPrrrrrrrrrrrrrrrrrrrrQrRrSrVrXrrrrrrrrrrrrrrr[r\rrr^r_r`rarrrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrrryrzrrrrr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrr r!rrrrrr'r(rrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr!rCrDrErFrGrHrI)r#rarbrcr`r%r&rKrrrrrrKrKrKrrrKrrrrrrrKrKrKrKrrrrrrrrrrrrrrrrrrrrrrrrKrrrKrr(rKrrrrrrrrrrrrrKrKrKrKrrKrrr*rr+rKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrrrKrKrrrrrrKrKrrKrKr,rrKrKrrKrKrKrKrKrrrKrrrrKrrrrrrrrrrrrrKrrKrrKrKrKrrrrrrrrKrKrKrrKrrKrrrKr r rrrr-rKrrrKrKrrrrrKrKrKrKrKrKrrrKrKrrrrr rKr"rr#rKrKrKr$r%r&rKrKr'r( MINUSMINUS)r#rarbrcr`r%r&rLrrrrrrLrLrLrrrLrrrrrrrLrLrLrLrrrrrrrrrrrrrrrrrrrrrrrrLrrrLrr(rLrrrrrrrrrrrrrLrLrLrLrrLrrr*rr+rLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrrrLrLrrrrrrLrLrrLrLr,rrLrLrrLrLrLrLrLrrrLrrrrLrrrrrrrrrrrrrLrrLrrLrLrLrrrrrrrrLrLrLrrLrrLrrrLr r rrrr-rLrrrLrLrrrrrLrLrLrLrLrLrrrLrLrrrrr rLr"rr#rLrLrLr$r%r&rLrLr'r(SIZEOF)rrMrNrOrbrrr9r:r=r>r?r|rArrCrDrFrGrHrIrJrKrLrMrNrOrPrQrRrSrVrXrrrrrrrrrrrrrr[r\rrr^r_r`rarrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr!rDrErFrGrHrI)r#rarbrcr`r%r&rNrrrrrrNrNrNrrNrrrrrNrNrNrNrrrNrrrNrr(rNrrrrrrrrrrrrNrNrNrNrrNrrr*r+rNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrrNrNrrNrNr,rrNrNrrNrNrNrNrNrrrNrrrrNrrrrrrrrrrrrrNrrNrrNrNrNrrNrNrNrrNrrNrrrNr r rrrr-rNrNrNrrrrrNrNrNrNrNrNrrrNrNrrrrr rNrrNrNrNr%r&rNrNr'r(_ALIGNOF)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(AND)rrMrNrOrbrrr9r:r=r>r?r|rArrCrDrrFrrrrGrHrIrJrrrKrLrMrNrrrOrPrrrrrrrrrrrrrrrrrrrrQrRrSrVrXrrrrrrrrrrrrrrr[r\rrrr^r_r`rarrrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrrrryrrrrzrrrrr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrr r!rrr&rrrr'r(rr)r*rrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr!rCrDrErFrGrHrI)r#rarbrcr`r%r&rJrrrrrrJrJrJrrrJrrprrrrrrrrJrJrJrJrrrrrrrrrrrrrrrrrrrrrrrrJrrrJrr(rJrrrrrrrrrrrrrJrJrJrJrrrJrrr*rr+rJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrrrrJrrrrJrrrrrrJrJrrJrJr,rrJrJrrJrJrJrJrJrrrJrrrrJrrrrrrrrrrrrrJrrJrrJrJrJrrrrrrrrrrrrrrrrprprprprrrrrrrJrJrJrrJrrJrrrJr r rrrrr-rJrrrJrrrJrrrrrJrJrJrJrJrJrrrJrJrrrrr rJr"rr#rJrJrJr$r%r&rJrJr'r(PLUS)r#rarbrcr`r%r&rHrrrrrrHrHrHrrrHrrfrrrrrrrrHrHrHrHrrrrrrrrrrrrrrrrrrrrrrrrHrrrHrr(rHrrrrrrrrrrrrrHrHrHrHrrrHrrr*rr+rHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrrrrHrrrrHrrrrrrHrHrrHrHr,rrHrHrrHrHrHrHrHrrrHrrrrHrrrrrrrrrrrrrHrrHrrHrHrHrrrrrrrfrfrfrfrfrfrfrfrfrfrfrfrfrrrrrrrHrHrHrrHrrHrrrHr r rrrrr-rHrrrHrrrHrrrrrHrHrHrHrHrHrrrHrHrrrrr rHr"rr#rHrHrHr$r%r&rHrHr'r(MINUS)r#rarbrcr`r%r&rIrrrrrrIrIrIrrrIrrgrrrrrrrrIrIrIrIrrrrrrrrrrrrrrrrrrrrrrrrIrrrIrr(rIrrrrrrrrrrrrrIrIrIrIrrrIrrr*rr+rIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrrrrIrrrrIrrrrrrIrIrrIrIr,rrIrIrrIrIrIrIrIrrrIrrrrIrrrrrrrrrrrrrIrrIrrIrIrIrrrrrrrgrgrgrgrgrgrgrgrgrgrgrgrgrrrrrrrIrIrIrrIrrIrrrIr r rrrrr-rIrrrIrrrIrrrrrIrIrIrIrIrIrrrIrIrrrrr rIr"rr#rIrIrIr$r%r&rIrIr'r(NOT)r#rarbrcr`r%r&rOrrrrrrOrOrOrrOrrrrrOrOrOrOrrrOrrrOrr(rOrrrrrrrrrrrrOrOrOrOrrOrrr*r+rOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrrOrOrrOrOr,rrOrOrrOrOrOrOrOrrrOrrrrOrrrrrrrrrrrrrOrrOrrOrOrOrrOrOrOrrOrrOrrrOr r rrrr-rOrOrOrrrrrOrOrOrOrOrOrrrOrOrrrrr rOrrOrOrOr%r&rOrOr'r(LNOT)r#rarbrcr`r%r&rPrrrrrrPrPrPrrPrrrrrPrPrPrPrrrPrrrPrr(rPrrrrrrrrrrrrPrPrPrPrrPrrr*r+rPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrrPrPrrPrPr,rrPrPrrPrPrPrPrPrrrPrrrrPrrrrrrrrrrrrrPrrPrrPrPrPrrPrPrPrrPrrPrrrPr r rrrr-rPrPrPrrrrrPrPrPrPrPrPrrrPrPrrrrr rPrrPrPrPr%r&rPrPr'r(OFFSETOF)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( INT_CONST_DEC)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( INT_CONST_OCT)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( INT_CONST_HEX)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( INT_CONST_BIN)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(INT_CONST_CHAR)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( FLOAT_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(HEX_FLOAT_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( WCHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( U8CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( U16CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r( U32CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(STRING_LITERAL)rrMrNrOrbrrrr9r:r=r>r?r|rArrCrDrrFrrGrHrIrJrKrLrMrNrOrPrQrRrSrVrXrrrrrrrrrrrrrr[r\rrr^r_r`rarr rrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr!rDrErFrGrHrI)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*rrr+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(WSTRING_LITERAL)rrMrNrOrbrrr9r:r=r>r?r|rArrCrDrFrGrHrIrJrKrLrMrNrOrPrrrrrrQrRrSrVrXrrrrrrrrrrrrrr[r\rrr^r_r`rarrrbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzrrrrr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr!rDrErFrGrHrI)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(U8STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(U16STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(U32STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr-rrrrrrrrrrrrrrrrrrrrrr rrrrrr%r&rrr'r(ELSE)$rrrrrrrrrrrrrrrrrrrrrrrr r!rr/r9r:r;r<r=rDrErHrI)$r#r&r(rrrrrrrr*r+r,rrrrrrrrrrr r r-rrrArrr r%r&r'r( PPPRAGMASTRrrEQUALS)Tr1r9r[rfrgrhrirjrwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrr$r%r&r'r(r)r*r+r,r6r7r?r@rC)TrJrMrkrCrsrtrurvrVrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrr6rrrrrrrrrr53r rrrrrrrr4rrr"r#r$COMMA)r1r5r6r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr[r\r]r^r_r`rbrdrerfrgrhrirjrqrsrurvrwr<r=r>r?rzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTrWrXr6r7rrrrrrrrrrrrrrrr rrrrrrrrrrrr;<=rr@Arrrrr9r:rrrrrrrrrrrrr^rrrrr<rrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrr=r>rrrrrr"r#r?r$r%r&r'r(r)r*r+r,rrrr-r.r5r6r7r@r8rrrrrr-rAr?r@rrrC@rr)rJrKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrkrlrmrnrorpr`rBrqrrrsrtrurvr|rRrUr}r~rrrrrrrrrkrrrrorrrrrrrrrrrrrrrrrrrrrrrrrrrrr~C>rrrrrBrCrr(rrrrrrrrrrrrrrrrrrrrrrrrrrA@?1r/rrrrrrErrrrrrrrrrr2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrB=0rrrFrGrrrrrrrrr r rHr rrrrrrrrrrrrrrrrrrrrrrrrrrIr"r#rrr$rrrRPAREN)r1r5r6r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr\r]r^r_r`rbrhri]r;rjrqrsr<r=r>r?rzr{r}r~rrErnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTrWrXrrrrrrrrrrrrrvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrklrrrrprrrrrrrrrrrrrrrrrr rr rr r r rrrrrrrrrrrrrrrrrrrr"r$r%r&r'r(r)r*r+r,rrr r6r7r8rrrrrrrrrr?r@rrr!=rC?rrEG)rJrKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrlrmrnrorpr`rtrurrrvr|rRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriEiirrrrrrr(rrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrr4r)r*rriDrrrrrrrriirrrrrr0rrr1r2r r rrrrrrrrrrrrrrrrrrr@rrrrrrrBrr"r#rrrrFr$rrrGCOLON)r1r5r9r;r<r=r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrbrgrhrirjrsrzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLrrrrrrrrrrrrrrrrrrrrrrrrrrrrrgrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrr"r$r%r&r'r(r)r*r+r,r6r7r8r?r@rC)rJrKrMrOrPrQrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcr`rsrtrurvrRrrrrrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrrrrrrrrrr"r#r$LBRACKET)r1r5r6r9r:r2r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr\r]r^r_r`rbrhrirjrqrsr<r=r>r?rzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrTrWrXrrrrrrrr^rrrrrrrrrrrrrrrrrrrrrrrrrrrrxryrrrr r r r rrrrrrrrrrrrzr{r$r%rr'r(r+r,rrrr|r6r7rrrrrrrrr?rr@rrrCrrrr)r:rKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrlrmrnrorpr`rDrur:r|rRrrrrrrrrrrDrrrrurrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr}rrrrrrrrrrrrrrrrrrr~rr rrrrrrrrrrrrrrrrrrrrr"rr#rrr$rrrrRBRACKET)xrMrNrOrbr:r=r>r?rDrrrrrrrrrrrrrrrrrrrrrrrrrrrrrQrSrXrrrrr_rarrrrrrrrrrr1r{34rrrrrrrrrrrrrrrrrrrrr rr r r r rrrr rrrr"r&r'r(r)r*rrrr8rr?r@89rCr)xrarbrcr`rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrr$r%rrrrrrrrrrrrrrrrrrrr'rrrrrr+r,rrrrrrr r|r6r7rrrrrrrrrrrrrr"r#rrr$rPERIOD):r|rrrrrrrrrrrrrrrrrrrrrrrrrrr^rrrrrrrrxryrr r r r rrrzr{rr'r(r|rrr?rr@rCrr):rrrrwrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrr}rrrrrrrr~rrrrrrrr"rr#r$rrARROW),rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rr'r(r?r@rC),rrrxrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrr"r#r$CONDOP)Irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rr&r'r(r)r*r?r@rC)Irrrbrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r#r$DIVIDE)Irrrdrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrdrdrdrdrdrdrdrdrdrdrdrdrdrdrdrrrrrrrrrrr"r#r$MOD)Irrrerrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrerererererererererererererererrrrrrrrrrr"r#r$RSHIFT)Irrrhrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrhrhrhrhrhrhrhrhrhrhrhrrrrrrrrrrr"r#r$LSHIFT)Irrrirrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrriririririririririririrrrrrrrrrrr"r#r$LT)Irrrjrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrjrjrjrjrjrjrjrrrrrrrrrrr"r#r$LE)Irrrkrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrkrkrkrkrkrkrkrrrrrrrrrrr"r#r$GE)Irrrlrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrlrlrlrlrlrlrlrrrrrrrrrrr"r#r$GT)Irrrmrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrmrmrmrmrmrmrmrrrrrrrrrrr"r#r$EQ)Irrrnrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrnrnrnrnrnrrrrrrrrrrr"r#r$NE)Irrrorrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrorororororrrrrrrrrrr"r#r$OR)Irrrqrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrr"r#r$XOR)Irrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r#r$LAND)Irrrsrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrr"r#r$)Irrrtrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rr&r'r(r)r*r?r@rC)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$)5rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrr"r#r$rr) LORXOREQUAL TIMESEQUALDIVEQUALMODEQUAL PLUSEQUAL MINUSEQUAL LSHIFTEQUAL RSHIFTEQUALANDEQUALOREQUALELLIPSISrrtranslation_unit_or_emptytranslation_unitrempty):rr r/r2r3r4r7r8r2r>rWrXrYr[r:r;rnrrDrErQrRrTrrrrr^r_r`rrrrrrrrrrrrrrrrrrr0r1r2r3rrrAr!rFrG):rr2rcrlrlrlrtrlr=rlrcrtrlr2r=rrlrr=rrr=rrrrrrrr=rr=rrrrrr=rrrrrrrrrr=rrrrrrrrrrexternal_declarationrrfunction_definitionr declaration)rrr r r[rrr)r r r rr rrr pp_directiver pppragma_directive)rrrrrrrrrrrrrrrr0r1r2rArFrG)r r rrrrrrrrrrrrrr;rrrrr static_assert)rrrrrrrrrr0r1r2rArFrG)r r rrrrrrrrrrrrr id_declarator)rrr/r0r7rWrXr8rBrTrUrrr)r r r[rrwrrwrrrrrrrdeclaration_specifiers)rrr r r[r;rrErrrrrrr)r/r/rWrWrWrTrWrTrWrTrTrTrWrTrT decl_body)r0r0r0r0r0r0r0r0direct_id_declarator)rrr/r0r1r7rWrXr7r8rBrTrUrrrrr)r1r1r1r1rjr1r1r1rjr1r1r1r1r1rjr1rjr1pointer)rrr/r0r7rWrXr8r<rBrTrUrrrrr)r1r1r7r1r1r7r1r7rWr7rr7r7rrrr7type_qualifier)6rrr r/r2r3r4r8r2r>r rWrYr[r:r;rnr>rrrArrDrErFrRrSrTrrrrrrrr\r`raryrzrrrrrrrrrrrrrr)6r2r2r2r\r2r2r2r2r?r2r2r\r2r2r?r2r2rXr?r?r?r2r?r2r?r?rXr\r?r?r?rrXrr2r?r?rXr?r?r?r?r2r2r?r?r?r2r2r?r2r2r?rXstorage_class_specifier)rrr r/r2r3r4r8r>r rWrYr[r;rnrrErTrrrrrrr)r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r3function_specifier)r4r4r4r^r4r4r4r4r4r4r^r4r4r4r4r4r4r^r4r4r4r4r4r4r4type_specifier_no_typeid)&rrr r/r7r rWrXr[r;rrrArrErFrTrrrrrrrrr\ryrzrrrrrrrrrr)&r5r5r5r_r5r5r_r5r5r5r5r5r5r5r5r5r_r5r5r5r5rr5rr5r5r5r5r5r5r5r5r5r5r5r5r5r5type_specifier)!rrr r7r rXr[r;rrrArrErFrrrrrrr\ryrzrrrrrrrrrr)!r6r6r6rqr6rqr6r6rrrr6r6rrqrrrrr6rrrrrr6r6rrr6r6r6r6declaration_specifiers_no_type)rrr r2r3r4r8r>r rYr[r;rnrrErrrrrrr)r7r7rXrmrmrmrmrmrXrmrXrrmrXrrXrrrrXrralignment_specifier))rrr r/r2r3r4r8r>r rWrYr[r;rnrrrArrErFrTrrrrrrr\ryrzrrrrrrrrrr))r8r8r8r`r8r8r8r8r8r8r`r8r8r8r8rrrr8r8rr`rrrrrr8rrrrrr8r8rrr8r8r8r8 typedef_name)!r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;enum_specifier)!r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<struct_or_union_specifier)!r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=r=atomic_specifier)(rrr r2r3r4r7r8r>r rXrYr[r;rnrrrArrErFrrrrrrr\ryrzrrrrrrrrrr)(r>r>rYrnrnrnrsrnrnrYrsrnrYr>rnrsrsrsrYr>rsrsrsrsrsrsrYrsrsrsrsrsr>r>rsrsr>rYr>r>struct_or_union)!r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4r4declaration_list_optr r[r1r3declaration_listr init_declarator_list_optr/rWrainit_declarator_listrdinit_declarator)r/rWrBrU)rererr declarator)r/rWrBrUrr)rfrfrfrfrrtypeid_declarator)r/rWr8rBrUrr)rgrgrrgrgrgrgdirect_typeid_declarator)r/rWr7r8rBrUrr)rhrhrrhrhrhrhrh"declaration_specifiers_no_type_opt)r2r3r4r8r>rYrn)rkrorprxryryryid_init_declarator_list_optr7rXrrid_init_declarator_listruid_init_declaratorrvtype_qualifier_list_opt)r2r:rDrRr`rrr)r<rQr_r|rrrrtype_qualifier_list)r2r:rrrArDrFrRrrrr\r`ryrzrrrrrrr)r>rSrrrrarr>rrrrr>rrrrr>rrrr> brace_open)r3r4r1rzr{r}r~rr3rCrVrr\rrrrrrrrr4r)r0r1r2rrArFrG)r@rrrYrZrrrrr^r^rrrrrrr^rrrrrrrrr^rrrcompound_statement)r1rr3rr\rrrrrr0r1r2rArFrG)rrrrrrrrrrrrrrrrunified_string_literal)Srr9rArrCrFrKrLrMrNrQrVrr[r\rrr_rorbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr|r}rrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)Srnrrrrrrrrrrrrrrrrrrprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrconstant_expression)r9rAr[rrrr)rrrr>rrr.conditional_expression)9r9rArrCrFrQrVrr[r\rrr_rbrurvryrzr|r}rrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr8rrrrrrrrrrrrrrrrbinary_expression)Kr9rArrCrFrQrVrr[r\rrr_rbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr|r}rrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)Krrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcast_expression)Nr9rArrCrFrMrQrVrr[r\rrr_rbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr|r}rrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)Nrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr&rrrrr&rrrrrrrrrrrrrrrrrrunary_expression)Qr9rArrCrFrKrLrMrNrQrVrr[r\rrr_rbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr|r}rrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpostfix_expression)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrunary_operator)QrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMprimary_expression)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr identifier)Xr9r;rArrCrErFrKrLrMrNrQrVrr[r\rrr_rbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvryrzr|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrrAr!rFrG)Xrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrconstant)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrunified_wstring_literal)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrparameter_type_list)r;rErrrr)rrrrrridentifier_list_opt)r;rEr)rrrparameter_list)rrrrrridentifier_list)rrrparameter_declaration)r;rErrrrr)rrrrrrrenumerator_list)r@rYrZ)r6r9r: enumerator)r@rYrZr)r7r7r7r=struct_declaration_list)rrr)rrr brace_close)rr6rrrr8r9r:rrr;rr@r)rrrrrrrrrrr#r5r?rCstruct_declaration)rrrrrr)rrrrrrspecifier_qualifier_list)rrrArFrrrr\ryrzrrrr)rrrrrrrrrrrrrr type_name)rrArFr\ryrzrr)rrrrrrrrblock_item_list_optrr8block_item_listr block_itemrr statement) rrrrrrrr0r1r2rArFrG) rrrrrrrr:rrrrrlabeled_statement) rrrrrrrrrrrrrexpression_statement) rrrrrrrrrrrrrselection_statement) rrrrrrrrrrrrriteration_statement) rrrrrrrrrrrrrjump_statement) rrrrrrrrrrrrrexpression_opt)rrrrrrrrrr0r1r2r3rrAr!rFrG)rrrrrrrrr4rrrr>rrrrr expression)rrFrr\rrrbruryrzrrrrrrrrrr0r1r2rr3rrrAr!rFrG)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrassignment_expression)1rrCrFrQrVrr\rrr_rbrurvryrzr|r}rrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr!rFrG)1rrrrrrrrrrrrrrrrrrrrrrrrrr"rrrrrrrrrrrrrrrrrrrrrrr initializer)rCrVrr)rrr?rAassignment_expression_opt)rQr_rrr)rrrrrtypeid_noparen_declaratorrTrabstract_declarator_optrrr direct_typeid_noparen_declaratorrrrabstract_declarator)rTrrr)rrrrdirect_abstract_declarator)rTrrrrrr)rrrrrrrrrrrrr-) rrrrr0r1r2rArFrG) rPrrr/r9r<r=rDrHrI) rrrrrrrrrrrrr^r;rr<r@)r^rrr)rrrr)rrrr)rxrxrxrx)r^rxrrr)ryrzryryryrvr)rrr)rrrrr)struct_declarator_list_optstruct_declarator_liststruct_declaratorpragmacomp_or_statementpppragma_directive_listassignment_operatorinitializer_list_optinitializer_listdesignation_opt designationdesignator_list designatorargument_expression_listparameter_type_list_optoffsetof_member_designator(U)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyrOrp_abstract_declarator_opt plyparser.pyrE)z.abstract_declarator_opt -> abstract_declaratorrOrrbrcrF)z"assignment_expression_opt -> emptyrMrp_assignment_expression_optrcrE)z2assignment_expression_opt -> assignment_expressionrMrrdrcrF)zblock_item_list_opt -> emptyr@rp_block_item_list_optrcrE)z&block_item_list_opt -> block_item_listr@rrercrF)zdeclaration_list_opt -> emptyrrp_declaration_list_optrcrE)z(declaration_list_opt -> declaration_listrrrfrcrF)z+declaration_specifiers_no_type_opt -> emptyr r$p_declaration_specifiers_no_type_optrcrE)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typer rrgrcrF)zdesignation_opt -> emptyr[rp_designation_optrcrE)zdesignation_opt -> designationr[rrhrcrF)zexpression_opt -> emptyrIrp_expression_optrcrE)zexpression_opt -> expressionrIrrircrF)z$id_init_declarator_list_opt -> emptyr!rp_id_init_declarator_list_optrcrE)z6id_init_declarator_list_opt -> id_init_declarator_listr!rrjrcrF)zidentifier_list_opt -> emptyr5rp_identifier_list_optrcrE)z&identifier_list_opt -> identifier_listr5rrkrcrF)z!init_declarator_list_opt -> emptyrrp_init_declarator_list_optrcrE)z0init_declarator_list_opt -> init_declarator_listrrrlrcrF)zinitializer_list_opt -> emptyrYrp_initializer_list_optrcrE)z(initializer_list_opt -> initializer_listrYrrmrcrF)z parameter_type_list_opt -> emptyr`rp_parameter_type_list_optrcrE)z.parameter_type_list_opt -> parameter_type_listr`rrnrcrF)z#struct_declarator_list_opt -> emptyrSrp_struct_declarator_list_optrcrE)z4struct_declarator_list_opt -> struct_declarator_listrSrrorcrF)z type_qualifier_list_opt -> emptyr$rp_type_qualifier_list_optrcrE)z.type_qualifier_list_opt -> type_qualifier_listr$rrprcrF)zdirect_id_declarator -> IDr rp_direct_id_declarator_1rcrA)z3direct_id_declarator -> LPAREN id_declarator RPARENr rp_direct_id_declarator_2rcrA)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr rp_direct_id_declarator_3rcrA)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr r p_direct_id_declarator_4rcrA)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr r rtrcr)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr rp_direct_id_declarator_5rcrA)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENr rp_direct_id_declarator_6rcrA)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENr rrvrcr)z"direct_typeid_declarator -> TYPEIDrrp_direct_typeid_declarator_1rcrA)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENrrp_direct_typeid_declarator_2rcrA)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrp_direct_typeid_declarator_3rcrA)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrr p_direct_typeid_declarator_4rcrA)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrr rzrcr)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrrp_direct_typeid_declarator_5rcrA)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENrrp_direct_typeid_declarator_6rcrA)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENrrr|rcr)z*direct_typeid_noparen_declarator -> TYPEIDrPr$p_direct_typeid_noparen_declarator_1rcrA)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrPr$p_direct_typeid_noparen_declarator_3rcrA)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrPr $p_direct_typeid_noparen_declarator_4rcrA)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrPr rrcr)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrPr$p_direct_typeid_noparen_declarator_5rcrA)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENrPr$p_direct_typeid_noparen_declarator_6rcrA)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENrPrrrcr)z%id_declarator -> direct_id_declaratorrrp_id_declarator_1rcrA)z-id_declarator -> pointer direct_id_declaratorrrp_id_declarator_2rcrA)z-typeid_declarator -> direct_typeid_declaratorrrp_typeid_declarator_1rcrA)z5typeid_declarator -> pointer direct_typeid_declaratorrrp_typeid_declarator_2rcrA)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorrNrp_typeid_noparen_declarator_1rcrA)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorrNrp_typeid_noparen_declarator_2rcrA)z-translation_unit_or_empty -> translation_unitrrp_translation_unit_or_empty c_parser.pyr,)z"translation_unit_or_empty -> emptyrrrrr)z(translation_unit -> external_declarationrrp_translation_unit_1rr)z9translation_unit -> translation_unit external_declarationrrp_translation_unit_2rr/)z+external_declaration -> function_definitionrrp_external_declaration_1rr|)z#external_declaration -> declarationrrp_external_declaration_2rr)z$external_declaration -> pp_directiverrp_external_declaration_3rr)z*external_declaration -> pppragma_directiverrrrr)zexternal_declaration -> SEMIrrp_external_declaration_4rr)z%external_declaration -> static_assertrrp_external_declaration_5rr<)z^static_assert -> _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPARENrr p_static_assert_declarationrrA)zAstatic_assert -> _STATIC_ASSERT LPAREN constant_expression RPARENrrrrr?)zpp_directive -> PPHASHrrp_pp_directiverr)zpppragma_directive -> PPPRAGMArrp_pppragma_directiverrE)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRrrrrr)zBpppragma_directive -> _PRAGMA LPAREN unified_string_literal RPARENrrrrrF)z-pppragma_directive_list -> pppragma_directiverWrp_pppragma_directive_listriP)zEpppragma_directive_list -> pppragma_directive_list pppragma_directiverWrrriQ)zLfunction_definition -> id_declarator declaration_list_opt compound_statementrrp_function_definition_1riX)zcfunction_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statementrrp_function_definition_2rij)zstatement -> labeled_statementrCr p_statementriy)z!statement -> expression_statementrCrrriz)zstatement -> compound_statementrCrrri{)z statement -> selection_statementrCrrri|)z statement -> iteration_statementrCrrri})zstatement -> jump_statementrCrrri~)zstatement -> pppragma_directiverCrrri)zstatement -> static_assertrCrrri)z pppragma_directive_list statementrVrp_pragmacomp_or_statementri)z$pragmacomp_or_statement -> statementrVrrri)z declaration_specifiers init_declarator_list_optr r p_decl_bodyri)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optr rrri)zdeclaration -> decl_body SEMIrr p_declarationri)zdeclaration_list -> declarationrrp_declaration_listri )z0declaration_list -> declaration_list declarationrrrri )zSdeclaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_optrr"p_declaration_specifiers_no_type_1ri)z\declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_optrr"p_declaration_specifiers_no_type_2ri)zWdeclaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_optrr"p_declaration_specifiers_no_type_3ri)zUdeclaration_specifiers_no_type -> atomic_specifier declaration_specifiers_no_type_optrr"p_declaration_specifiers_no_type_4ri&)zXdeclaration_specifiers_no_type -> alignment_specifier declaration_specifiers_no_type_optrr"p_declaration_specifiers_no_type_5ri+)z?declaration_specifiers -> declaration_specifiers type_qualifierrrp_declaration_specifiers_1ri0)zHdeclaration_specifiers -> declaration_specifiers storage_class_specifierrrp_declaration_specifiers_2ri5)zCdeclaration_specifiers -> declaration_specifiers function_specifierrrp_declaration_specifiers_3ri:)zIdeclaration_specifiers -> declaration_specifiers type_specifier_no_typeidrrp_declaration_specifiers_4ri?)z(declaration_specifiers -> type_specifierrrp_declaration_specifiers_5riD)zGdeclaration_specifiers -> declaration_specifiers_no_type type_specifierrrp_declaration_specifiers_6riI)zDdeclaration_specifiers -> declaration_specifiers alignment_specifierrrp_declaration_specifiers_7riN)zstorage_class_specifier -> AUTOr rp_storage_class_specifierriS)z#storage_class_specifier -> REGISTERr rrriT)z!storage_class_specifier -> STATICr rrriU)z!storage_class_specifier -> EXTERNr rrriV)z"storage_class_specifier -> TYPEDEFr rrriW)z(storage_class_specifier -> _THREAD_LOCALr rrriX)zfunction_specifier -> INLINErrp_function_specifierri])zfunction_specifier -> _NORETURNrrrri^)z type_specifier_no_typeid -> VOIDrrp_type_specifier_no_typeidric)z!type_specifier_no_typeid -> _BOOLrrrrid)z type_specifier_no_typeid -> CHARrrrrie)z!type_specifier_no_typeid -> SHORTrrrrif)ztype_specifier_no_typeid -> INTrrrrig)z type_specifier_no_typeid -> LONGrrrrih)z!type_specifier_no_typeid -> FLOATrrrrii)z"type_specifier_no_typeid -> DOUBLErrrrij)z$type_specifier_no_typeid -> _COMPLEXrrrrik)z"type_specifier_no_typeid -> SIGNEDrrrril)z$type_specifier_no_typeid -> UNSIGNEDrrrrim)z$type_specifier_no_typeid -> __INT128rrrrin)ztype_specifier -> typedef_namerrp_type_specifierris)z type_specifier -> enum_specifierrrrrit)z+type_specifier -> struct_or_union_specifierrrrriu)z*type_specifier -> type_specifier_no_typeidrrrriv)z"type_specifier -> atomic_specifierrrrriw)z3atomic_specifier -> _ATOMIC LPAREN type_name RPARENrrp_atomic_specifierri})ztype_qualifier -> CONSTr rp_type_qualifierri)ztype_qualifier -> RESTRICTr rrri)ztype_qualifier -> VOLATILEr rrri)ztype_qualifier -> _ATOMICr rrri)z'init_declarator_list -> init_declaratorrrp_init_declarator_listri)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorrrrri)zinit_declarator -> declaratorrrp_init_declaratorri)z0init_declarator -> declarator EQUALS initializerrrrri)z-id_init_declarator_list -> id_init_declaratorr"rp_id_init_declarator_listri)zHid_init_declarator_list -> id_init_declarator_list COMMA init_declaratorr"rrri)z#id_init_declarator -> id_declaratorr#rp_id_init_declaratorri)z6id_init_declarator -> id_declarator EQUALS initializerr#rrri)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidr>rp_specifier_qualifier_list_1ri)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierr>rp_specifier_qualifier_list_2ri)z*specifier_qualifier_list -> type_specifierr>rp_specifier_qualifier_list_3ri)z>specifier_qualifier_list -> type_qualifier_list type_specifierr>rp_specifier_qualifier_list_4ri)z/specifier_qualifier_list -> alignment_specifierr>rp_specifier_qualifier_list_5ri)zHspecifier_qualifier_list -> specifier_qualifier_list alignment_specifierr>rp_specifier_qualifier_list_6ri)z/struct_or_union_specifier -> struct_or_union IDrrp_struct_or_union_specifier_1ri)z3struct_or_union_specifier -> struct_or_union TYPEIDrrrri)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closerrp_struct_or_union_specifier_2ri)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closerrrri)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closerrp_struct_or_union_specifier_3ri)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closerrrri)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closerrrri)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closerrrri)zstruct_or_union -> STRUCTrrp_struct_or_unionri)zstruct_or_union -> UNIONrrrri)z-struct_declaration_list -> struct_declarationr;rp_struct_declaration_listri)zEstruct_declaration_list -> struct_declaration_list struct_declarationr;rrri)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIr=rp_struct_declaration_1ri )zstruct_declaration -> SEMIr=rp_struct_declaration_2ri1)z(struct_declaration -> pppragma_directiver=rp_struct_declaration_3ri6)z+struct_declarator_list -> struct_declaratorrTrp_struct_declarator_listri;)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorrTrrri<)zstruct_declarator -> declaratorrUrp_struct_declarator_1riD)z9struct_declarator -> declarator COLON constant_expressionrUrp_struct_declarator_2riI)z.struct_declarator -> COLON constant_expressionrUrrriJ)zenum_specifier -> ENUM IDrrp_enum_specifier_1riR)zenum_specifier -> ENUM TYPEIDrrrriS)z=enum_specifier -> ENUM brace_open enumerator_list brace_closerrp_enum_specifier_2riX)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closerrp_enum_specifier_3ri])zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closerrrri^)zenumerator_list -> enumeratorr9rp_enumerator_listric)z(enumerator_list -> enumerator_list COMMAr9rrrid)z3enumerator_list -> enumerator_list COMMA enumeratorr9rrrie)z7alignment_specifier -> _ALIGNAS LPAREN type_name RPARENrrp_alignment_specifierrip)zAalignment_specifier -> _ALIGNAS LPAREN constant_expression RPARENrrrriq)zenumerator -> IDr:r p_enumeratorriv)z+enumerator -> ID EQUALS constant_expressionr:rrriw)zdeclarator -> id_declaratorrr p_declaratorri)zdeclarator -> typeid_declaratorrrrri)z(pointer -> TIMES type_qualifier_list_optr r p_pointerri)z0pointer -> TIMES type_qualifier_list_opt pointerr rrri)z%type_qualifier_list -> type_qualifierr%rp_type_qualifier_listri)z9type_qualifier_list -> type_qualifier_list type_qualifierr%rrri)z%parameter_type_list -> parameter_listr4rp_parameter_type_listri)z4parameter_type_list -> parameter_list COMMA ELLIPSISr4rrri)z'parameter_list -> parameter_declarationr6rp_parameter_listri$)z parameter_list COMMA parameter_declarationr6rrri%)z=parameter_declaration -> declaration_specifiers id_declaratorr8rp_parameter_declaration_1ri8)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorr8rrri9)zGparameter_declaration -> declaration_specifiers abstract_declarator_optr8rp_parameter_declaration_2riD)zidentifier_list -> identifierr7rp_identifier_listrid)z3identifier_list -> identifier_list COMMA identifierr7rrrie)z$initializer -> assignment_expressionrLrp_initializer_1rin)z:initializer -> brace_open initializer_list_opt brace_closerLrp_initializer_2ris)z brace_open initializer_list COMMA brace_closerLrrrit)z/initializer_list -> designation_opt initializerrZrp_initializer_listri|)zFinitializer_list -> initializer_list COMMA designation_opt initializerrZrrri})z%designation -> designator_list EQUALSr\r p_designationri)zdesignator_list -> designatorr]rp_designator_listri)z-designator_list -> designator_list designatorr]rrri)z3designator -> LBRACKET constant_expression RBRACKETr^r p_designatorri)zdesignator -> PERIOD identifierr^rrri)z=type_name -> specifier_qualifier_list abstract_declarator_optr?r p_type_nameri)zabstract_declarator -> pointerrQrp_abstract_declarator_1ri)z9abstract_declarator -> pointer direct_abstract_declaratorrQrp_abstract_declarator_2ri)z1abstract_declarator -> direct_abstract_declaratorrQrp_abstract_declarator_3ri)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENrRrp_direct_abstract_declarator_1ri)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETrRrp_direct_abstract_declarator_2ri)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrRrp_direct_abstract_declarator_3ri)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETrRrp_direct_abstract_declarator_4ri)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETrRrp_direct_abstract_declarator_5ri)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENrRrp_direct_abstract_declarator_6ri)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENrRrp_direct_abstract_declarator_7ri)zblock_item -> declarationrBr p_block_itemri)zblock_item -> statementrBrrri)zblock_item_list -> block_itemrArp_block_item_listri )z-block_item_list -> block_item_list block_itemrArrri )z@compound_statement -> brace_open block_item_list_opt brace_closer'rp_compound_statement_1ri)z5labeled_statement -> ID COLON pragmacomp_or_statementrDrp_labeled_statement_1ri)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrDrp_labeled_statement_2ri)z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrDrp_labeled_statement_3ri)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementrFrp_selection_statement_1ri")zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementrFr p_selection_statement_2ri&)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementrFrp_selection_statement_3ri*)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrGrp_iteration_statement_1ri/)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrGr p_iteration_statement_2ri3)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrGr p_iteration_statement_3ri7)zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrGr p_iteration_statement_4ri;)zjump_statement -> GOTO ID SEMIrHrp_jump_statement_1ri@)zjump_statement -> BREAK SEMIrHrp_jump_statement_2riD)zjump_statement -> CONTINUE SEMIrHrp_jump_statement_3riH)z(jump_statement -> RETURN expression SEMIrHrp_jump_statement_4riL)zjump_statement -> RETURN SEMIrHrrriM)z+expression_statement -> expression_opt SEMIrErp_expression_statementriR)z#expression -> assignment_expressionrJr p_expressionriY)z4expression -> expression COMMA assignment_expressionrJrrriZ)z9assignment_expression -> LPAREN compound_statement RPARENrKr#p_parenthesized_compound_expressionrif)ztypedef_name -> TYPEIDrrp_typedef_namerij)z/assignment_expression -> conditional_expressionrKrp_assignment_expressionrin)zSassignment_expression -> unary_expression assignment_operator assignment_expressionrKrrrio)zassignment_operator -> EQUALSrXrp_assignment_operatorri|)zassignment_operator -> XOREQUALrXrrri})z!assignment_operator -> TIMESEQUALrXrrri~)zassignment_operator -> DIVEQUALrXrrri)zassignment_operator -> MODEQUALrXrrri)z assignment_operator -> PLUSEQUALrXrrri)z!assignment_operator -> MINUSEQUALrXrrri)z"assignment_operator -> LSHIFTEQUALrXrrri)z"assignment_operator -> RSHIFTEQUALrXrrri)zassignment_operator -> ANDEQUALrXrrri)zassignment_operator -> OREQUALrXrrri)z-constant_expression -> conditional_expressionr)rp_constant_expressionri)z+conditional_expression -> binary_expressionr*rp_conditional_expressionri)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionr*rrri)z$binary_expression -> cast_expressionr+rp_binary_expressionri)z>binary_expression -> binary_expression TIMES binary_expressionr+rrri)z?binary_expression -> binary_expression DIVIDE binary_expressionr+rrri)z binary_expression MOD binary_expressionr+rrri)z=binary_expression -> binary_expression PLUS binary_expressionr+rrri)z>binary_expression -> binary_expression MINUS binary_expressionr+rrri)z?binary_expression -> binary_expression RSHIFT binary_expressionr+rrri)z?binary_expression -> binary_expression LSHIFT binary_expressionr+rrri)z;binary_expression -> binary_expression LT binary_expressionr+rrri)z;binary_expression -> binary_expression LE binary_expressionr+rrri)z;binary_expression -> binary_expression GE binary_expressionr+rrri)z;binary_expression -> binary_expression GT binary_expressionr+rrri)z;binary_expression -> binary_expression EQ binary_expressionr+rrri)z;binary_expression -> binary_expression NE binary_expressionr+rrri)z binary_expression AND binary_expressionr+rrri)z;binary_expression -> binary_expression OR binary_expressionr+rrri)z binary_expression XOR binary_expressionr+rrri)z=binary_expression -> binary_expression LAND binary_expressionr+rrri)z binary_expression LOR binary_expressionr+rrri)z#cast_expression -> unary_expressionr,rp_cast_expression_1ri)z:cast_expression -> LPAREN type_name RPAREN cast_expressionr,rp_cast_expression_2ri)z&unary_expression -> postfix_expressionr-rp_unary_expression_1ri)z-unary_expression -> PLUSPLUS unary_expressionr-rp_unary_expression_2ri)z/unary_expression -> MINUSMINUS unary_expressionr-rrri)z2unary_expression -> unary_operator cast_expressionr-rrri)z+unary_expression -> SIZEOF unary_expressionr-rp_unary_expression_3ri)z2unary_expression -> SIZEOF LPAREN type_name RPARENr-rrri)z4unary_expression -> _ALIGNOF LPAREN type_name RPARENr-rrri)zunary_operator -> ANDr/rp_unary_operatorri)zunary_operator -> TIMESr/rrri)zunary_operator -> PLUSr/rrri)zunary_operator -> MINUSr/rrri)zunary_operator -> NOTr/rrri)zunary_operator -> LNOTr/rrri)z(postfix_expression -> primary_expressionr.rp_postfix_expression_1ri)zEpostfix_expression -> postfix_expression LBRACKET expression RBRACKETr.rp_postfix_expression_2ri)zOpostfix_expression -> postfix_expression LPAREN argument_expression_list RPARENr.rp_postfix_expression_3ri)z6postfix_expression -> postfix_expression LPAREN RPARENr.rrri)z2postfix_expression -> postfix_expression PERIOD IDr.rp_postfix_expression_4ri)z6postfix_expression -> postfix_expression PERIOD TYPEIDr.rrri)z1postfix_expression -> postfix_expression ARROW IDr.rrri)z5postfix_expression -> postfix_expression ARROW TYPEIDr.rrri)z1postfix_expression -> postfix_expression PLUSPLUSr.rp_postfix_expression_5ri)z3postfix_expression -> postfix_expression MINUSMINUSr.rrri)zUpostfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_closer.r p_postfix_expression_6ri)z[postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_closer.r rri)z primary_expression -> identifierr0rp_primary_expression_1ri)zprimary_expression -> constantr0rp_primary_expression_2ri)z,primary_expression -> unified_string_literalr0rp_primary_expression_3ri)z-primary_expression -> unified_wstring_literalr0rr ri)z.primary_expression -> LPAREN expression RPARENr0rp_primary_expression_4ri )zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENr0r p_primary_expression_5ri)z(offsetof_member_designator -> identifierrarp_offsetof_member_designatorri)zJoffsetof_member_designator -> offsetof_member_designator PERIOD identifierrarr ri)zUoffsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKETrarr ri)z1argument_expression_list -> assignment_expressionr_rp_argument_expression_listri$)zPargument_expression_list -> argument_expression_list COMMA assignment_expressionr_rrri%)zidentifier -> IDr1r p_identifierri.)zconstant -> INT_CONST_DECr2r p_constant_1ri2)zconstant -> INT_CONST_OCTr2rrri3)zconstant -> INT_CONST_HEXr2rrri4)zconstant -> INT_CONST_BINr2rrri5)zconstant -> INT_CONST_CHARr2rrri6)zconstant -> FLOAT_CONSTr2r p_constant_2riI)zconstant -> HEX_FLOAT_CONSTr2rrriJ)zconstant -> CHAR_CONSTr2r p_constant_3riZ)zconstant -> WCHAR_CONSTr2rrri[)zconstant -> U8CHAR_CONSTr2rrri\)zconstant -> U16CHAR_CONSTr2rrri])zconstant -> U32CHAR_CONSTr2rrri^)z(unified_string_literal -> STRING_LITERALr(rp_unified_string_literalrii)z?unified_string_literal -> unified_string_literal STRING_LITERALr(rrrij)z*unified_wstring_literal -> WSTRING_LITERALr3rp_unified_wstring_literalrit)z+unified_wstring_literal -> U8STRING_LITERALr3rrriu)z,unified_wstring_literal -> U16STRING_LITERALr3rrriv)z,unified_wstring_literal -> U32STRING_LITERALr3rrriw)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALr3rrrix)zCunified_wstring_literal -> unified_wstring_literal U8STRING_LITERALr3rrriy)zDunified_wstring_literal -> unified_wstring_literal U16STRING_LITERALr3rrriz)zDunified_wstring_literal -> unified_wstring_literal U32STRING_LITERALr3rrri{)zbrace_open -> LBRACEr&r p_brace_openri)zbrace_close -> RBRACEr<r p_brace_closeri)zempty -> rrp_emptyriN) _tabversion _lr_method _lr_signature_lr_action_items _lr_actionitems_k_vzip_x_y_lr_goto_items_lr_goto_lr_productionsa/home/jenkins/workspace/simtester-sanitize/venv/lib/python3.11/site-packages/pycparser/yacctab.pyr)sE?  }S bAF```bAbAbABbACIKyKyKyzK+zK+zK+JL+bAM+U+W+W,W+W,W+W,X,n-X,n-X,n-V+o-bAp-z-|-h2|-h2|-h2i2r7i2r7i2r7{-s7bAt7}77k<7k<7k<l}}:c>vQd>>A?}@A?}@A?}@~@cB~@cB~@cB@?dBvQeBwByBKEyBKEyBKELE_GLE_GLE_GxB`GvQaGrGtGpItGpItGpIqIVKqIVKqIVKsGWKvQXKnKqKsKtKvKpKxKzK|K}K@LyKBLoKCLvQDLVLYL[L\L^LXL`LbLdLeLgLaLiLWLjLvQkLEMHMJMKMMMGMOMQMSMTMVMPMXMFMYMvQZMpMsMuMvMxMrMzM|M~MMAN{MCNqMDNvQENVNXNhNXNhNXNhNiNyNiNyNiNyNWNzNvQ{NGOIOaOIOaOIOaObOxObOxObOxOHOyOvQzOMPOPjPOPjPOPjPkPCQkPCQkPCQNPDQvQEQ_QaQQaQQaQQ@R[R@R[R@R[R`Q\RvQvQvQ]RASCS[SCS[SCS[S\SyS\SyS\SySBSzSvQ{SXT[T]T^T`TZTbTdTgThTkTcTmTYTnTvQoTHUKUMUNUPUJURUTUWUXU[USU]UIU^UvQ_UsUvUxUyU{UuU}UUBVCVFV~UHVtUIVvQJVcVeVEWeVEWeVEWFWhWFWhWFWhWdViWvQjWWAXYYAXYYAXYYZYtZZYtZZYtZ@XuZvQvZB[D[{\D[{\D[{\|\v^|\v^|\v^C[w^vQx^L_N_O`N_O`N_O`P`RaP`RaP`RaM_SavQTalanazfnazfnazf{fIl{fIl{fIlmaJlvQKl`lbllbllbll@m^m@m^m@m^mal_mvQ`mxmzm_qzm_qzm_q`qFu`qFu`qFuymGuvQHu[u]uJz]uJz]uJzKzy~Kzy~Kzy~\uz~vQ{~LNGDNGDNGDHDBIHDBIHDBIMCIvQDIVIXI]NXI]NXI]N^NdS^NdS^NdSWIeSvQfSzS|SAY|SAY|SAYBYH^BYH^BYH^{SI^vQJ^Z^\^ac\^ac\^acbchhbchhbchh[^ihvQjh~h@iEn@iEn@iEnFnLsFnLsFnLshMsvQvQvQNsZs\s|x\s|x\s|x}x_~}x_~}x_~[s`~vQa~k~m~rCm~rCm~rCsCyHsCyHsCyHl~zHvQ{HTIVI[NVI[NVI[N\NbS\NbS\NbSUIcSvQdSyS{STT{STT{STTUToTUToTUToTzSpTvQqTFUHUUUHUUUHUUUVUdUVUdUVUdUGUeUvQfUvUxUQVxUQVxUQVRVlVRVlVRVlVwUmVvQnVVAWNWAWNWAWNWOW]WOW]WOW]W@W^WvQ_WvWxWUXxWUXxWUXVXtXVXtXVXtXwWuXvQvXGYIYWYIYWYIYWYXYfYXYfYXYfYHYgYvQhYtYvYHZvYHZvYHZIZ[ZIZ[ZIZ[ZuY\ZvQ]ZvZxZF[xZF[xZF[G[U[G[U[G[U[wZV[vQW[d[f[`\f[`\f[`\a\[]a\[]a\[]e[\]vQ]]q]s]M^s]M^s]M^N^h^N^h^N^h^r]i^vQj^D_F_@`F_@`F_@`A`{`A`{`A`{`E_|`vQ}`HaJalaJalaJalamaObmaObmaObIaPbvQQbfbiblbhbnbpbsbobubgbvbvQwbHcKcNcJcPcRcUcQcWcIcXcvQvQvQYcechckclcocgcqcscvcwczcrc|cfc}cvQ~cIdKdAeKdAeKdAeBexeBexeBexeJdyevQzeMfOfEgOfEgOfEgFg|gFg|gFg|gNf}gvQ~gThVhLiVhLiVhLiMiCjMiCjMiCjUhDjvQEjZj\jRk\jRk\jRkSkIlSkIlSkIl[jJlvQKl`lblXmblXmblXmYmOnYmOnYmOnalPnvQQnancnYocnYocnYoZoPpZoPpZoPpbnQpvQRpbpdpnqdpnqdpnqoqyroqyroqyrcpzrvQ{rGsIsCuIsCuIsCuDu~vDu~vDu~vHsvvQ@wWwYw_zYw_zYw_z`zf}`zf}`zf}Xwg}vQh}u}w}I~w}I~w}I~J~\~J~\~J~\~v}]~vQ^~y~{~Q{~Q{~QRhRhRhz~ivQjE@H@K@G@M@O@R@N@T@F@U@vQV@o@r@u@v@y@q@{@}@@AAADA|@FAp@GAvQHAjAmApAqAtAlAvAxA{A|AAwAABkABBvQCBXBZBlBZBlBZBlBmBBmBBmBBYB@CvQAC]C_C}C_C}C_C}C~C\D~C\D~C\D^C]DvQvQ}D@E|DBEDEGECEIE{DJEfEiEeEkEmEpElErEdEsEJFMFNFQFIFSFUFXFYF\FTF^FHF_F{FeG{FeG{FeGfGPHfGPHfGPHzFQHmHWImHWImHWIXIBJXIBJXIBJlHCJ\J_J[JaJcJfJbJhJZJiJCKFKBKHKJKMKIKOKAKPKfKiKjKmKeKoKqKtKuKxKpKzKdK{KOLaLOLaLOLaLbLtLbLtLbLtLNLuLEMWMEMWMEMWMXMjMXMjMXMjMDMkMMQNMQNMQNRNdNRNdNRNdN~MeNtNJOtNJOtNJOKOaOKOaOKOaOsNbO@PCPOEPGPJPFPLP~OMPiPwPiPwPiPwPxPFQxPFQxPFQhPGQgQjQfQlQnQqQmQsQeQtQvQvQvQ ""$$FBRUBqE""vr2HnnRhrlx|BVVVr'