ah@dZdZdZidgdgdfdgdgdfd 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.10LALRaUtranslation_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 direct_abstract_declarator : LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET | LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET 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 labeled_statement : ID COLON labeled_statement : CASE constant_expression COLON labeled_statement : DEFAULT COLON 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./012479BCFKLNPQR(0r r rrrrrr r!rrr"r#rrrrr z}|{r$rrrRr`Kir`iiywJr%r&rirRiiusWVkjrr'rrkrrrhar(r^]omr#%$rrrrrr rr)xvr?$%r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrV>?rrWrXrYrZr\r]r^r_r`PrbRrr^_`rkrlrmrnrorprqrsrxqrstryrzr{xr|r}r~~rrrrrrrrrrrrrrrrrrrrrrrr   !"&*256:>BCrKLrrrrrr[rrrrrrrrrjmnorrrrrrrz{|}~rrrrrrrrrrr r!r   r/r0r1r2r3#$%r9r:r;r<r=r8:;rAr$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,rrrrrrrrrrrrrrrrrrrrrrrrrr9rrrrrrrrr9rrrrrr r rr r r7rr-rrrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrrr(r)rrr*r+LPAREN(wrrrrr r r r r r/rrr/r3r1r1r4r2r3r4r5r6r7r8r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrV=rrWrXrYrZr\r]r^r_r`r:rbr;rhrirrr<r=rjrkrlrmrnrorprqrsmrxr?r@rArBryrzr{r|r}r~rDrrrrErFrGrrrIrrJrKrLrMrrNrOrPrQrrrRrSrrrrrrrrrrrrrrrrrrrrTrUrVrWrXrYrZr[rrrrrrrrrrrrrrrrrrr^r_rrrrrarbrcrdrrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrrr|r}rrrrr~rrrrr?rrDErrrrrrrrrrr_`rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrrrrrrrrrrrr r!rrr$r%rrrr'r(rr+r,rrrrrrr/r0r1r2rr3rrr6r7rrr&'(+,-r9r:r;r<r=rr?rr@r<=@ArAr$rCIJrDrErFrGrHrI(wr3r3rrrrrr r!r;r"r#\r3r<r>r3rrrrKrLr3rrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_}rarbrcrdrerfrgrhrirjrDr$r;r3rRrrlrmrnrorpr;r`r;rHrur%r&rIrr>rwrxryrrzr{r|rRrrrrrrrrrrrrrIr'r_rHr;r_rrrr_rrrrrryr|r|rIr}+rrrrrrr0rrrrrrrrrrrrrrrrr_rrrr;r_rrrr(r;rrrr_rrrrrrrrrrrrrIrr_rrr_rr_r)rrr_rrr*rr+r_rIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIr_r_rrr_r_rrrrrr_r_rrrrrrrrIrrrrrrrIrrrrrrr,rr_r_rr_r_r_r_r_rrr_rrrr_rrrrrrrrrrrrr_rrIrr_r_rrrIrrrrrrrrrrrrr_rrr_rrrrr;rIrr_rrIrr r r_r r rrrrrr-rIrrr_rrr_rr.(*r_r_rrr_r_r_r_r_r_rrrrr_r_,-+)r!rrr"r#r_r%rr&r_'&r_r_r'r(r)r_r_r*r+TIMES([rrrrr r r r r r/rrr3r2r3r4r5r6r7r8r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrWrXrYrZr\r]r^r_r`rbr;rrr<r=rkrlrmrnrorprqrsrxr?r@rArBryrzr{r|r}r~rDrrrErFrGrrIrrrrJrKrLrMrrrNrOrPrQrrrRrSrrrrrrrrrrrrrrrrrrrrTrUrVrWrXrYr[rrrrrrrrrrrrrrrrrrrr^r_rrrrrarbrcrdrrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrrrr|rrrr}rrrrr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrr r!rrr&rrrr'r(rr)r*rrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr$rCrDrErFrGrHrI([r5r5rrrrrr r!r5r"r#r5rrrrKrLr5rrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjr$r5r5rRr`rlrmrnrorpr`r5r%r&rJrrwrxryrrzr{r|rRrr5rrrrrrrrrrJr'rJr5rJrrrJrrfrrrrrrrrJrJrJrJrrrrrrrrrrrrrrrrrrrrrrrr~rrr5r5rJrrr(r5rrr5rJrrrrrrrrrrrrrJrJrJrJrr)rrrrr*rr+rJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrrrrJrrrrJrrrrrrJrJr5rrJrrrrrrrJrrr5rrr,rrJrJrrJrJrJrJrJrrrJrrrrJrrrrrrrrrrrrrJrrJrrJrJrJrrrrrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrrrrrrrJrrrrrrrr5rJrrJrrJr r rJr r rrrrr-rJrrrJrrrrrrJrJrrrJrJrJrJrJrJrrrJrJr!rrr"r#rJr%rr&rJrJrJr'r(r)rJrJr*r+TYPEID)rrrrr r r r r r/rrr1r2r3r4r5r6r7r8r9r:r5r;r<r=r>r?r6r7r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVr8r9rCDrWrXrYrZr[r\r]r^r_r`r:rbr;rrr>rjrkrlrmrnrorprqrsrxr?r@rArBryrzr{r|r}r~rrrDrrrErHrrIrWrXrZr[rrrrrrrrrrrrrrrrrrrrrrrr_rrrrzr{r|r}rrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrr?rrrrrr?r?rrrrrrirrrr rr r r-rrrr!rrr"r#r(r)r*r+ENUM)rrrrr r r r r rrrr1r2r3r4r7r8r9r:r>rLrMrNrOrPrQrRrSrTrUrVrrrrXrYrZr[rrr>rjrkrlrmrnrorprxrBryr|rrrDrrrrHrrIrr[rrrrrrrrrrrrrrrrrrrrr_rrrr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr+r,r/r9r:r;r<r=rDrErHrI)r6r6rrrrrr r!r6r"r#rJrrrr6rrMrNrr`rarbrcrdrerfrgrhrirjr$r6rr6rr`r6r%r&r6rvrwrxryrrzr{rrrrr6r6r6r'r6rr6rr6r6rr6r6r6rr(rrr6r6rrrrrrrrrrrr6r)r*r+r6r6r6r6rrr6r6r6r6rrr6rrr,rrrrrrr6rrrrrr6r6rrrrr rr r r-rrrr!rrr"r#r(r)r*r+VOID)rrrrr r r r r rr/rrr1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrXrYrZr[r\r]r^r_r`rbrrr>rjrkrlrmrnrorprqrsrxrBryrzr{r|r}r~rrrDrrrrHrrIrWrr[rrrrrrrrrrrrrrrrrrrrrrrrrr_rrrr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrr@rrrrrr@r@rrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrArrrrrrArArrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrBrrrrrrBrBrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrCrrrrrrCrCrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrDrrrrrrDrDrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrErrrrrrErErrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrFrrrrrrFrFrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrGrrrrrrGrGrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrHrrrrrrHrHrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrIrrrrrrIrIrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrJrrrrrrJrJrrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrKrrrrrrKrKrrrrrrrrr rr r r-rrrr!rrr"r#r(r)r*r+_ATOMIC)rrrrr r r r r rr/rrr1r2r3r4r5r6r7r8r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrXrYrZr[r\r]r^r_r`rbrrr=r>rjrkrlrmrnrorprqrsrxrArBryrzr{r|r}r~rrrDrrrrGrHrrIrUrVrWrr[rrrrrrrrrrrrrrrrrrrrrrrrrr_rrcrdrrr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrrZrrrrrrbrLrbrbrLrrrrrrrrr rr r r-rrrbrbrr!rrr"r#r(r)r*r+CONST)rrrrr r r r r rr/rrr1r2r3r4r5r6r8r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrYrZr[r\r]r^r_r`rbrrr=r>rjrnrqrsrArBrzr{r|r}r~rrrDrrrrGrHrrIrUrVrWr[rrrrrrrrrrrrrrrrrrrrrrrrrr_rrcrdrrr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrrMrrrrrrMrMrMrMrMrrrrrrrrr rr r r-rrrMrMrr!rrr"r#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,rrrrrrrNrrrrrrNrNrNrNrNrrrrrrrrr rr r r-rrrNrNrr!rrr"r#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,rrrrrrrOrrrrrrOrOrOrOrOrrrrrrrrr rr r r-rrrOrOrr!rrr"r#r(r)r*r+AUTO)rrrrr r r r r rr/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrYrZr[r\r]r^r_r`rbrrr>rjrnrqrsrzr{r|r}r~rrrrHrrWrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrrPrrrrrrPrPrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrQrrrrrrQrQrrrrrrrr rr r r-rrrr!rrr"r#r(r)r*r+STATIC)rrrrr r r r r rr/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrYrZr[r\r]r^r_r`rbrrr=r>rjrnrqrsrBrzr{r|r}r~rrrrGrHrrVrWr[rrrrrrrrrrrrrrrrdrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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&rUr:rvr:r|rRrrrrrrr'r:rrcr:rrr:rrr(r:rrrrrrrrrrrr)rr*r+rrr:r:rrrrrrr:rrr,rrrrrrr:rrrrrrr:rr:rrrrrrrr rr r r-rrrrr!rrr"r#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,rrrrrrrRrrrrrrRrRrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrSrrrrrrSrSrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrTrrrrrrTrTrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrUrrrrrrUrUrrrrrrrr rr r r-rrrr!rrr"r#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,rrrrrrrVrrrrrrVrVrrrrrrrr rr r r-rrrr!rrr"r#r(r)r*r+_ALIGNAS)rrrrr r r r r rr/rrr1r2r3r4r5r6r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrrrrWrYrZr[r\r]r^r_r`rbrrr>rjrnrqrsrzr{r|r}r~rrrDrrrrHrrIrWrrrrrrrrrrrrrrrrrrrrrrrrr_rrrr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 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,rrrrrrrrrrrrrrrrrrrrrrr rr r r-rrrr!rrr"r#r(r)r*r+STRUCT)r8r8rrrrrr r!r8r"r#rJrrrr8rrMrNrr`rarbrcrdrerfrgrhrirjr$r8rr8rr`r8r%r&r8rvrwrxryrrzr{rrrrr8r8r8r'r8rr8rr8r8rr8r8r8rr(rrr8r8rrrrrrrrrrrr8r)r*r+r8r8r8r8rrr8r8r8r8rrr8rrr,rrrrrrr8rrrrrr8r8rrrrr rr r r-rrrr!rrr"r#r(r)r*r+UNION)r9r9rrrrrr r!r9r"r#rJrrrr9rrMrNrr`rarbrcrdrerfrgrhrirjr$r9rr9rr`r9r%r&r9rvrwrxryrrzr{rrrrr9r9r9r'r9rr9rr9r9rr9r9r9rr(rrr9r9rrrrrrrrrrrr9r)r*r+r9r9r9r9rrr9r9r9r9rrr9rrr,rrrrrrr9rrrrrr9r9rrrrr rr r r-rrrr!rrr"r#r(r)r*r+LBRACE)crrr1r9r6r7r8r9ABrrr[rrrjrzr{r|r}r~rrrFrrYrrrrrrrrrrrrrr_rrarrrrrrrrrrrrrrrrrrrrrrrrrrrr 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|r r r r rrrr-r|r|rrrr|r|r|r|rr!rrr"r#rr|r(r)r|r|r*r+RBRACE)rrrr|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrarrrrrrrrrrrrrHIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrr r!r"r#rr&rr'r(r)r*r/r5r8r9r:r;r<r=6r?rr@rCrDrErHrI)r#r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrRMrrrrr(rrrirrrrrrrrrrrrrrrr*rr+rrrrrrrrrrrrQrrrr,rrrrrrrrrriirrrrrrrrrrrrrrrrrrrrrrrrPLrrrrrr rr r rrr9rr-rrrrrrrr r!rrr"r#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^rr r r r r-rr^r^r^r!rrr"r#r^r(r)r^r^r*r+DEFAULT)8r#r%r&rr(rWrrrrrrrrrrrrWr*r+r,rrWrWrrWrrrrrrrWrr r r r r-rrWrWrWr!rrr"r#rWr(r)rWrWr*r+IF)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+SWITCH)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+WHILE)9rrrr|rrrrrrrrrrrrrrrrrrrrrrprrrrrrrrrrrr r!rr/r0r1r2r9r:r;r<r=rArDrErFrGrHrI)9r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+DO)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+FOR)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+GOTO)8r#r%r&rr`r(r`rrrrrrrrrrrr`r*r+r,rr`r`rr`rrrrrrr`rr r r r r-rr`r`r`r!rrr"r#r`r(r)r`r`r*r+BREAK)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+CONTINUE)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+RETURN)8r#r%r&rrr(rrrrrrrrrrrrrr*r+r,rrrrrrrrrrrrrr r r r r-rrrrr!rrr"r#rr(r)rrr*r+PLUSPLUS)rrMrNrOrbrrr<r=r@rArBr|rDrrFrGrrIrrJrKrLrMrrNrOrPrQrrrRrSrrrrrrrrrrrrrrrrrrrrTrUrVrYr[rrrrrrrrrrrrrrr^r_rrrarbrcrdrrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrrr|r}rrrrr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrrrr r!rrrrrr'r(rrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr$rCrDrErFrGrHrI)r#rarbrcr`r%r&rNrrrrrrNrNrNrrrNrrrrrrrNrNrNrNrrrrrrrrrrrrrrrrrrrrrrrrNrrrNrr(rNrrrrrrrrrrrrrNrNrNrNrrNrrr*rr+rNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrrrNrNrrrrrrNrNrrNrNr,rrNrNrrNrNrNrNrNrrrNrrrrNrrrrrrrrrrrrrNrrNrrNrNrNrrrrrrrrNrrrNrNrrNrrNr r rNr r rrrr-rNrrrNrNrrrNrNrrrNrNrNrNrNrNrrrNrNr!rrr"r#rNr%rr&rNrNrNr'r(r)rNrNr*r+ MINUSMINUS)r#rarbrcr`r%r&rOrrrrrrOrOrOrrrOrrrrrrrOrOrOrOrrrrrrrrrrrrrrrrrrrrrrrrOrrrOrr(rOrrrrrrrrrrrrrOrOrOrOrrOrrr*rr+rOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrrrOrOrrrrrrOrOrrOrOr,rrOrOrrOrOrOrOrOrrrOrrrrOrrrrrrrrrrrrrOrrOrrOrOrOrrrrrrrrOrrrOrOrrOrrOr r rOr r rrrr-rOrrrOrOrrrOrOrrrOrOrOrOrOrOrrrOrOr!rrr"r#rOr%rr&rOrOrOr'r(r)rOrOr*r+SIZEOF)rrMrNrOrbrrr<r=r@rArBr|rDrrFrGrIrJrKrLrMrNrOrPrQrRrSrTrUrVrYr[rrrrrrrrrrrrrr^r_rrrarbrcrdrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr$rDrErFrGrHrI)r#rarbrcr`r%r&rQrrrrrrQrQrQrrQrrrrrQrQrQrQrrrQrrrQrr(rQrrrrrrrrrrrrQrQrQrQrrQrrr*r+rQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrrQrQrrQrQr,rrQrQrrQrQrQrQrQrrrQrrrrQrrrrrrrrrrrrrQrrQrrQrQrQrrQrrrQrQrrQrrQr r rQr r rrrr-rQrQrQrrrQrQrrrQrQrQrQrQrQrrrQrQr!rrr"r#rQrrQrQrQr(r)rQrQr*r+_ALIGNOF)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+AND)rrMrNrOrbrrr<r=r@rArBr|rDrrFrGrrIrrrrJrKrLrMrrrNrOrPrQrrrRrSrrrrrrrrrrrrrrrrrrrrTrUrVrYr[rrrrrrrrrrrrrrr^r_rrrrarbrcrdrrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrrrr|rrrr}rrrrr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrr r!rrr&rrrr'r(rr)r*rrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rr?rr@rrAr$rCrDrErFrGrHrI)r#rarbrcr`r%r&rMrrrrrrMrMrMrrrMrrsrrrrrrrrMrMrMrMrrrrrrrrrrrrrrrrrrrrrrrrMrrrMrr(rMrrrrrrrrrrrrrMrMrMrMrrrMrrr*rr+rMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrrrrMrrrrMrrrrrrMrMrrMrMr,rrMrMrrMrMrMrMrMrrrMrrrrMrrrrrrrrrrrrrMrrMrrMrMrMrrrrrrrrrrrrrrrrsrsrsrsrrrrrrrMrrrMrMrrMrrMr r rMr r rrrrr-rMrrrMrrrMrrrMrMrrrMrMrMrMrMrMrrrMrMr!rrr"r#rMr%rr&rMrMrMr'r(r)rMrMr*r+PLUS)r#rarbrcr`r%r&rKrrrrrrKrKrKrrrKrrirrrrrrrrKrKrKrKrrrrrrrrrrrrrrrrrrrrrrrrKrrrKrr(rKrrrrrrrrrrrrrKrKrKrKrrrKrrr*rr+rKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrrrrKrrrrKrrrrrrKrKrrKrKr,rrKrKrrKrKrKrKrKrrrKrrrrKrrrrrrrrrrrrrKrrKrrKrKrKrrrrrrriririririririririririririrrrrrrrKrrrKrKrrKrrKr r rKr r rrrrr-rKrrrKrrrKrrrKrKrrrKrKrKrKrKrKrrrKrKr!rrr"r#rKr%rr&rKrKrKr'r(r)rKrKr*r+MINUS)r#rarbrcr`r%r&rLrrrrrrLrLrLrrrLrrjrrrrrrrrLrLrLrLrrrrrrrrrrrrrrrrrrrrrrrrLrrrLrr(rLrrrrrrrrrrrrrLrLrLrLrrrLrrr*rr+rLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrrrrLrrrrLrrrrrrLrLrrLrLr,rrLrLrrLrLrLrLrLrrrLrrrrLrrrrrrrrrrrrrLrrLrrLrLrLrrrrrrrjrjrjrjrjrjrjrjrjrjrjrjrjrrrrrrrLrrrLrLrrLrrLr r rLr r rrrrr-rLrrrLrrrLrrrLrLrrrLrLrLrLrLrLrrrLrLr!rrr"r#rLr%rr&rLrLrLr'r(r)rLrLr*r+NOT)r#rarbrcr`r%r&rRrrrrrrRrRrRrrRrrrrrRrRrRrRrrrRrrrRrr(rRrrrrrrrrrrrrRrRrRrRrrRrrr*r+rRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrrRrRrrRrRr,rrRrRrrRrRrRrRrRrrrRrrrrRrrrrrrrrrrrrrRrrRrrRrRrRrrRrrrRrRrrRrrRr r rRr r rrrr-rRrRrRrrrRrRrrrRrRrRrRrRrRrrrRrRr!rrr"r#rRrrRrRrRr(r)rRrRr*r+LNOT)r#rarbrcr`r%r&rSrrrrrrSrSrSrrSrrrrrSrSrSrSrrrSrrrSrr(rSrrrrrrrrrrrrSrSrSrSrrSrrr*r+rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrrSrSrrSrSr,rrSrSrrSrSrSrSrSrrrSrrrrSrrrrrrrrrrrrrSrrSrrSrSrSrrSrrrSrSrrSrrSr r rSr r rrrr-rSrSrSrrrSrSrrrSrSrSrSrSrSrrrSrSr!rrr"r#rSrrSrSrSr(r)rSrSr*r+OFFSETOF)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ INT_CONST_DEC)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ INT_CONST_OCT)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ INT_CONST_HEX)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ INT_CONST_BIN)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+INT_CONST_CHAR)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ FLOAT_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+HEX_FLOAT_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ WCHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ U8CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ U16CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ U32CHAR_CONST)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+STRING_LITERAL)rrMrNrOrbrrrr<r=r@rArBr|rDrrFrGrrIrrJrKrLrMrNrOrPrQrRrSrTrUrVrYr[rrrrrrrrrrrrrr^r_rrrarbrcrdrr rrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr$rDrErFrGrHrI)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*rrr+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+WSTRING_LITERAL)rrMrNrOrbrrr<r=r@rArBr|rDrrFrGrIrJrKrLrMrNrOrPrQrRrSrrrrrrTrUrVrYr[rrrrrrrrrrrrrr^r_rrrarbrcrdrrrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!rrrrrrrrrrrrr/r0r1r2rr3rrrrrr9r:r;r<r=rrrrAr$rDrErFrGrHrI)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+U8STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+U16STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+U32STRING_LITERAL)r#rarbrcr`r%r&rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrr*r+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rr r rrrr-rrrrrrrrrrrrrrrrrrrr!rrr"r#rrrrrr(r)rrr*r+ELSE)'rrrrrrrrrrrrrrrrrrrrrrrrrrr r!rr/r9r:r;r<r=rDrErHrI)'r#r&r(rrrrrrrr*r+r,rrrrrrrrrrrr rr r r-rr!rArr"r#r(r)r*r+ PPPRAGMASTRrrEQUALS)Tr1r9r[rfrgrhrirjrwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrr$r%r&r'r(r)r*r+r,r6r7r?r@rC)TrJrMrkrFrsrtrurvrYrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrr6rrrrrrrrrr53rrrrrrrrr4rrr%r&r'COMMA)r1r5r6r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr[r\r]r^r_r`rbrdrerfrgrhrirjrqrsrurvrwr?r@rArBrzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrWrZr[rArBrrrrrrrrrrrrrrrr rrrrrrrrrrrr;<=rr@ArrrrrDrErrrrrrrrrrrrr^rrrrrGrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrHrIrrrrrr"r#rJr$r%r&r'r(r)r*r+r,rrrr-r.r5r6r7rKr8rrrrrr3rLr?r@rrrrrCHrr)rJrKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrkrlrmrnrorpr`rErqrrrsrtrurvr|rRrXr}r~rrrrrrrrrkrrrrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrC>rrrrrMrNrr(rrrrrrrrrrrrrrrrrrrrrrrrrrA@?1r/rrrrrrPrrrrrrrrrrr2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrB=0rrrQrRrrrrrr rrrrrSrrrrrrrrrrrrrrrrrrr rrr r r r rrTr%r&r rrrr'rrrRPAREN(r1r5r6r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr\r]r^r_r`rbrhri]r>rjrqrsr?r@rArBrzr{r}r~rrHryrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrWrZr[rrrrrrrrrrrrryrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrklrrrr{rrrrrrrrrrrrrrrrrr rr rr r r rrrrrrrrrrrrrrrrrrrr"r$r%r&r'r(r)r*r+r,rrr r6r7r8r !rrrrrrrrr?r@rrrrr$ErCGrrMO(rJrKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrlrmrnrorpr`rtrurrrvr|rRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriEiirrrrrrr(rrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrr?r)r*rriDrrrrrrrriirrrrrr0rr r1r2rrrrrrrrrrrrrrrrrrr rr@rrr r r r rBrr%r&r rrrrrFr'rrrGCOLON)r1r5r9r;r<r=r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrbrgrhrirjrsrzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrWrrrrrrrrrrrrrrrrrrrrrrrrrrrrrgrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrr"r$r%r&r'r(r)r*r+r,r6r7r8r?r@rC)rJrKrMrOrPrQrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcr`rsrtrurvrRrrrrrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrr r%r&r'LBRACKET)r1r5r6r9r:r5r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrMrNrOrPrQrRrSrTrUrVr\r]r^r_r`rbrhrirjrqrsr?r@rArBrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrWrZr[rrrrrrrrarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrrr$r%rr'r(r+r,rrrrr6r7rrrrrrrrr?rr@rrrrrCrrrr)r=rKrLrMrNrrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrdrerfrgrhrirjrlrmrnrorpr`rGrur=r|rRrrrrrrrrrrGrrrrxrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r%rr&r rrrr'rrrrRBRACKET)zrMrNrOrbr=r@rBrGrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTrVr[rrrrrbrdrrrrrrrrrrr1r~34rrrrrrrrrrrrrrrrrrrrr rr r r r rrrrrrrrr"r&r'r(r)r*rr rr8"r)*r?r@>?rCr)zrarbrcr`rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrr$r%rrrrrrrrrrrrrrrrrrrr'rrrrrr+r,rrrrrrr rrr6r7rrrrrrrrrrr rrrrr%r&rrr'rPERIOD):r|rrrrrrrrrrrrrrrrrrrrrrrrrrrarrrrrrrrrrr r r r rrrrrr'r(rrrr?rr@rCrr):rrrrzrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrr%rr&r'rrARROW),rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rr'r(r?r@rC),rrr{rrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrr%r&r'CONDOP)Irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rr&r'r(r)r*r?r@rC)Irrrerrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr%r&r'DIVIDE)Irrrgrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrgrgrgrgrgrgrgrgrgrgrgrgrgrgrgrrrrrrrrrrr%r&r'MOD)Irrrhrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrhrhrhrhrhrhrhrhrhrhrhrhrhrhrhrrrrrrrrrrr%r&r'RSHIFT)Irrrkrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrkrkrkrkrkrkrkrkrkrkrkrrrrrrrrrrr%r&r'LSHIFT)Irrrlrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrlrlrlrlrlrlrlrlrlrlrlrrrrrrrrrrr%r&r'LT)Irrrmrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrmrmrmrmrmrmrmrrrrrrrrrrr%r&r'LE)Irrrnrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrnrnrnrnrnrnrnrrrrrrrrrrr%r&r'GE)Irrrorrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrorororororororrrrrrrrrrr%r&r'GT)Irrrprrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrprprprprprprprrrrrrrrrrr%r&r'EQ)Irrrqrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrqrqrqrrrrrrrrrrr%r&r'NE)Irrrrrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr%r&r'OR)Irrrtrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtrtrrrrrrrrrrr%r&r'XOR)Irrrurrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrurrururrrrrrrrrrr%r&r'LAND)Irrrvrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvrrrrrrrrrrr%r&r')Irrrwrrrrrrrrrrrrrrrrrrrrrrrrr(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);rrr/r2r3r4r7r8r5r>rWrXrYr[r=r>rnrrGrHrTrUrWrrrrrarbrcrrrrrrrrrrrrrrrrrrrr0r1r2r3rrrAr$rFrG);rr=rcrlrlrlrtrlr@rlrcrtrlr=r@rrlrr@rrr@rrrrrrrr@rr@rrrrrr@rrr@rrrrrrrr@rrrrrrrrrrexternal_declarationrrfunction_definitionr declaration)rrrrr[rrr)r r rrrrrr pp_directiver pppragma_directive)rrrrrrrrrrrrrrrr0r1r2rArFrG)r r rrrrrrrrrrrrrr;rrrrr static_assert)rrrrrrrrrr0r1r2rArFrG)r r rrrrrrrrrrrrr id_declarator)rrr/r3r7rWrXr;rErWrXrrr)rrr[rrwrrwrrrrrrrdeclaration_specifiers)rrrrr[r>rrHrrrrrrr)r/r/rWrWrWrWrWrWrWrWrWrWrWrWrW decl_body)r0r0r0r0r0r0r0r0direct_id_declarator)rrr/r3r4r7rWrXr:r;rErWrXrrrrr)r1r1r1r1rjr1r1r1rjr1r1r1r1r1rjr1rjr1pointer)rrr/r3r7rWrXr;r?rErWrXrrrrr)r4r4r:r4r4r:r4r:rZr:rr:r:rrrr:type_qualifier)8rrrr/r2r3r4r8r5r>rrWrYr[r=r>rnrArrrDrrGrHrIrUrVrWrrrrrrrr_rcrdr|r}rrrrrrrrrrrrrrrr)8r2r2r2r\r2r2r2r2rBr2r2r\r2r2rBr2r2r[rBrBrBr2rBr2rBrBr[r\rBrBrBrr[rr2rBrBr[rBrBrBrBr2r2rBrBrBr2r2rBr2rBr[r2rBr[storage_class_specifier)rrrr/r2r3r4r8r>rrWrYr[r>rnrrHrWrrrrrrr)r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r3function_specifier)r4r4r4r^r4r4r4r4r4r4r^r4r4r4r4r4r4r^r4r4r4r4r4r4r4type_specifier_no_typeid)&rrrr/r7rrWrXr[r>rrrDrrHrIrWrrrrrrrrr_r|r}rrrrrrrrrr)&r5r5r5r_r5r5r_r5r5r5r5r5r5r5r5r5r_r5r5r5r5rr5rr5r5r5r5r5r5r5r5r5r5r5r5r5r5type_specifier)!rrrr7rrXr[r>rrrDrrHrIrrrrrrr_r|r}rrrrrrrrrr)!r6r6r6rqr6rqr6r6rrrr6r6rrqrrrrr6rrrrrr6r6rrr6r6r6r6declaration_specifiers_no_type)rrrr2r3r4r8r>rrYr[r>rnrrHrrrrrrr)r7r7rXrmrmrmrmrmrXrmrXrrmrXrrXrrrrXrralignment_specifier))rrrr/r2r3r4r8r>rrWrYr[r>rnrrrDrrHrIrWrrrrrrr_r|r}rrrrrrrrrr))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)(rrrr2r3r4r7r8r>rrXrYr[r>rnrrrDrrHrIrrrrrrr_r|r}rrrrrrrrrr)(r>r>rYrnrnrnrsrnrnrYrsrnrYr>rnrsrsrsrYr>rsrsrsrsrsrsrYrsrsrsrsrsr>r>rsrsr>rYr>r>struct_or_union)!r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7r7declaration_list_optrr[r<r>declaration_listrinit_declarator_list_optr/rWrainit_declarator_listrdinit_declarator)r/rWrErX)rererr declarator)r/rWrErXrr)rfrfrfrfrrtypeid_declarator)r/rWr;rErXrr)rgrgrrgrgrgrgdirect_typeid_declarator)r/rWr:r;rErXrr)rhrhrrhrhrhrhrh"declaration_specifiers_no_type_opt)r2r3r4r8r>rYrn)rkrorprxryryryid_init_declarator_list_optr7rXrrid_init_declarator_listruid_init_declaratorrvtype_qualifier_list_opt) r5r=rGrUrcrrrr) r?rTrbrrrrrrtype_qualifier_list)r5r=rrrDrGrIrUrrrr_rcr|r}rrrrrrrr)rArVrrrrdrrArrrrrArrrrrrrrrArA brace_open)r6r7r<rzr{r}r~rr>rFrYrr_rrrrrrrrr?r)r0r1r2rrArFrG)rCrrr\r]rrrrrararrrrrrrarrrrrrrrrarrrcompound_statement)r<rr>rr_rrrrrr0r1r2rArFrG)rrrrrrrrrrrrrrrrunified_string_literal)Urr<rDrrFrIrNrOrPrQrTrYrr^r_rrrbrzrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG)Uryrrrrrrrrrrrrrrrrrr{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrconstant_expression)r<rDr^rrrr)rrrrIrrr.conditional_expression);r<rDrrFrIrTrYrr^r_rrrbrerxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG);rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr8rrrrrrrrrrrrrrrrrrbinary_expression)Mr<rDrrFrIrTrYrr^r_rrrbrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG)Mrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcast_expression)Pr<rDrrFrIrPrTrYrr^r_rrrbrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG)Prrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr&rrrrr&rrrrrrrrrrrrrrrrrrrrunary_expression)Sr<rDrrFrIrNrOrPrQrTrYrr^r_rrrbrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG)Srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpostfix_expression)Srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrunary_operator)SrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPprimary_expression)Srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr identifier)Zr<r>rDrrFrHrIrNrOrPrQrTrYrr^r_rrrbrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryr|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrrAr$rFrG)Zrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrconstant)Srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrunified_wstring_literal)Srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrparameter_type_list)r>rHrrrr)rrrrrridentifier_list_opt)r>rHr)rrrparameter_list)rrrrrridentifier_list)rrrparameter_declaration)r>rHrrrrr)rrrrrrrenumerator_list)rCr\r])rArDrE enumerator)rCr\r]r)rBrBrBrHstruct_declaration_list)rrr)rrr brace_close)rrArrrrCrDrErrrFrrKr)rrrrrrrrrrr#r5r?rCstruct_declaration)rrrrrr)rrrrrrspecifier_qualifier_list)rrrDrIrrrr_r|r}rrrr)rrrrrrrrrrrrrr type_name)rrDrIr_r|r}rr)rrrrrrrrblock_item_list_optrrCblock_item_listr block_itemrr statement) rrrrrrrr0r1r2rArFrG) rrrrrrrr:rrrrrlabeled_statement) rrrrrrrrrrrrrexpression_statement) rrrrrrrrrrrrrselection_statement) rrrrrrrrrrrrriteration_statement) rrrrrrrrrrrrrjump_statement) rrrrrrrrrrrrrexpression_opt)rrrrrrrrrr0r1r2r3rrAr$rFrG)rrrrrrrrr4rrrr>rrrrr expression)rrIrr_rrrerxr|r}rrrrrrrrrr0r1r2rr3rrrAr$rFrG)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrassignment_expression)3rrFrIrTrYrr_rrrbrerxryr|r}rrrrrrrrrrrrrrrrrrrrrrr0r1r2rr3rrrrrrAr$rFrG)3rrrrrrrrrrrrrrrrrrrrrrrrrr"rrrrrrrrrrrrrrrrrrrrrrrrr initializer)rFrYrr)rrrJrLassignment_expression_opt)rTrbrrr)rrrrrtypeid_noparen_declaratorrWrabstract_declarator_optrrr direct_typeid_noparen_declaratorrrrabstract_declarator)rWrrr)rrrrdirect_abstract_declarator)rWrrrrrr)rrrrrrrrrrrrr-) rrrrr0r1r2rArFrG) r[rrr/r9r<r=rDrHrI) rrrrrrrrrrrrrarFrrGrK)rarrr)rrrr)rrrr)rrrr)rarrrr)rrrrrryr)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(Z)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyr\rp_abstract_declarator_opt plyparser.pyrE)z.abstract_declarator_opt -> abstract_declaratorr\rrorprF)z"assignment_expression_opt -> emptyrZrp_assignment_expression_optrprE)z2assignment_expression_opt -> assignment_expressionrZrrqrprF)zblock_item_list_opt -> emptyrMrp_block_item_list_optrprE)z&block_item_list_opt -> block_item_listrMrrrrprF)zdeclaration_list_opt -> emptyr%rp_declaration_list_optrprE)z(declaration_list_opt -> declaration_listr%rrsrprF)z+declaration_specifiers_no_type_opt -> emptyr-r$p_declaration_specifiers_no_type_optrprE)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typer-rrtrprF)zdesignation_opt -> emptyrhrp_designation_optrprE)zdesignation_opt -> designationrhrrurprF)zexpression_opt -> emptyrVrp_expression_optrprE)zexpression_opt -> expressionrVrrvrprF)z$id_init_declarator_list_opt -> emptyr.rp_id_init_declarator_list_optrprE)z6id_init_declarator_list_opt -> id_init_declarator_listr.rrwrprF)zidentifier_list_opt -> emptyrBrp_identifier_list_optrprE)z&identifier_list_opt -> identifier_listrBrrxrprF)z!init_declarator_list_opt -> emptyr'rp_init_declarator_list_optrprE)z0init_declarator_list_opt -> init_declarator_listr'rryrprF)zinitializer_list_opt -> emptyrfrp_initializer_list_optrprE)z(initializer_list_opt -> initializer_listrfrrzrprF)z parameter_type_list_opt -> emptyrmrp_parameter_type_list_optrprE)z.parameter_type_list_opt -> parameter_type_listrmrr{rprF)z#struct_declarator_list_opt -> emptyr`rp_struct_declarator_list_optrprE)z4struct_declarator_list_opt -> struct_declarator_listr`rr|rprF)z type_qualifier_list_opt -> emptyr1rp_type_qualifier_list_optrprE)z.type_qualifier_list_opt -> type_qualifier_listr1rr}rprF)zdirect_id_declarator -> IDrrp_direct_id_declarator_1rprD)z3direct_id_declarator -> LPAREN id_declarator RPARENrrp_direct_id_declarator_2rprD)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrp_direct_id_declarator_3rprD)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrr p_direct_id_declarator_4rprD)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrr rrpr)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrrp_direct_id_declarator_5rprD)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENrrp_direct_id_declarator_6rprD)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENrrrrpr)z"direct_typeid_declarator -> TYPEIDr,rp_direct_typeid_declarator_1rprD)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENr,rp_direct_typeid_declarator_2rprD)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr,rp_direct_typeid_declarator_3rprD)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr,r p_direct_typeid_declarator_4rprD)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr,r rrpr)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr,rp_direct_typeid_declarator_5rprD)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENr,rp_direct_typeid_declarator_6rprD)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENr,rrrpr)z*direct_typeid_noparen_declarator -> TYPEIDr]r$p_direct_typeid_noparen_declarator_1rprD)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr]r$p_direct_typeid_noparen_declarator_3rprD)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr]r $p_direct_typeid_noparen_declarator_4rprD)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr]r rrpr)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr]r$p_direct_typeid_noparen_declarator_5rprD)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENr]r$p_direct_typeid_noparen_declarator_6rprD)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENr]rrrpr)z%id_declarator -> direct_id_declaratorrrp_id_declarator_1rprD)z-id_declarator -> pointer direct_id_declaratorrrp_id_declarator_2rprD)z-typeid_declarator -> direct_typeid_declaratorr+rp_typeid_declarator_1rprD)z5typeid_declarator -> pointer direct_typeid_declaratorr+rp_typeid_declarator_2rprD)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorr[rp_typeid_noparen_declarator_1rprD)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorr[rp_typeid_noparen_declarator_2rprD)z-translation_unit_or_empty -> translation_unitr rp_translation_unit_or_empty c_parser.pyr)z"translation_unit_or_empty -> emptyr rrrr+)z(translation_unit -> external_declarationr rp_translation_unit_1rr)z9translation_unit -> translation_unit external_declarationr rp_translation_unit_2rr)z+external_declaration -> function_definitionrrp_external_declaration_1rr4)z#external_declaration -> declarationrrp_external_declaration_2rr6)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_declarationrr;)zAstatic_assert -> _STATIC_ASSERT LPAREN constant_expression RPARENrrrrr<)zpp_directive -> PPHASHrrp_pp_directiverr@)zpppragma_directive -> PPPRAGMArrp_pppragma_directiverr$)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRrrrrr)zBpppragma_directive -> _PRAGMA LPAREN unified_string_literal RPARENrrrrrC)z-pppragma_directive_list -> pppragma_directiverdrp_pppragma_directive_listrrG)zEpppragma_directive_list -> pppragma_directive_list pppragma_directiverdrrrrH)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_statementrPr p_statementriy)z!statement -> expression_statementrPrrriz)zstatement -> compound_statementrPrrri{)z statement -> selection_statementrPrrri|)z statement -> iteration_statementrPrrri})zstatement -> jump_statementrPrrri~)zstatement -> pppragma_directiverPrrri)zstatement -> static_assertrPrrri)z pppragma_directive_list statementrcrp_pragmacomp_or_statementri)z$pragmacomp_or_statement -> statementrcrrri)z declaration_specifiers init_declarator_list_optrr p_decl_bodyri)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optrrrri)zdeclaration -> decl_body SEMIrr p_declarationri)zdeclaration_list -> declarationr&rp_declaration_listri )z0declaration_list -> declaration_list declarationr&rrri )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 -> AUTOrrp_storage_class_specifierriS)z#storage_class_specifier -> REGISTERrrrriT)z!storage_class_specifier -> STATICrrrriU)z!storage_class_specifier -> EXTERNrrrriV)z"storage_class_specifier -> TYPEDEFrrrriW)z(storage_class_specifier -> _THREAD_LOCALrrrriX)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 RPARENr#rp_atomic_specifierri})ztype_qualifier -> CONSTrrp_type_qualifierri)ztype_qualifier -> RESTRICTrrrri)ztype_qualifier -> VOLATILErrrri)ztype_qualifier -> _ATOMICrrrri)z'init_declarator_list -> init_declaratorr(rp_init_declarator_listri)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorr(rrri)zinit_declarator -> declaratorr)rp_init_declaratorri)z0init_declarator -> declarator EQUALS initializerr)rrri)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_declaratorr0rp_id_init_declaratorri)z6id_init_declarator -> id_declarator EQUALS initializerr0rrri)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidrKrp_specifier_qualifier_list_1ri)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierrKrp_specifier_qualifier_list_2ri)z*specifier_qualifier_list -> type_specifierrKrp_specifier_qualifier_list_3ri)z>specifier_qualifier_list -> type_qualifier_list type_specifierrKrp_specifier_qualifier_list_4ri)z/specifier_qualifier_list -> alignment_specifierrKrp_specifier_qualifier_list_5ri)zHspecifier_qualifier_list -> specifier_qualifier_list alignment_specifierrKrp_specifier_qualifier_list_6ri)z/struct_or_union_specifier -> struct_or_union IDr"rp_struct_or_union_specifier_1ri)z3struct_or_union_specifier -> struct_or_union TYPEIDr"rrri)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closer"rp_struct_or_union_specifier_2ri)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closer"rrri)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closer"rp_struct_or_union_specifier_3ri)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closer"rrri)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closer"rrri)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closer"rrri)zstruct_or_union -> STRUCTr$rp_struct_or_unionri)zstruct_or_union -> UNIONr$rrri)z-struct_declaration_list -> struct_declarationrHrp_struct_declaration_listri)zEstruct_declaration_list -> struct_declaration_list struct_declarationrHrrri)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIrJrp_struct_declaration_1ri )zstruct_declaration -> SEMIrJrp_struct_declaration_2ri1)z(struct_declaration -> pppragma_directiverJrp_struct_declaration_3ri6)z+struct_declarator_list -> struct_declaratorrarp_struct_declarator_listri;)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorrarrri<)zstruct_declarator -> declaratorrbrp_struct_declarator_1riD)z9struct_declarator -> declarator COLON constant_expressionrbrp_struct_declarator_2riI)z.struct_declarator -> COLON constant_expressionrbrrriJ)zenum_specifier -> ENUM IDr!rp_enum_specifier_1riR)zenum_specifier -> ENUM TYPEIDr!rrriS)z=enum_specifier -> ENUM brace_open enumerator_list brace_closer!rp_enum_specifier_2riX)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closer!rp_enum_specifier_3ri])zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closer!rrri^)zenumerator_list -> enumeratorrFrp_enumerator_listric)z(enumerator_list -> enumerator_list COMMArFrrrid)z3enumerator_list -> enumerator_list COMMA enumeratorrFrrrie)z7alignment_specifier -> _ALIGNAS LPAREN type_name RPARENrrp_alignment_specifierrip)zAalignment_specifier -> _ALIGNAS LPAREN constant_expression RPARENrrrriq)zenumerator -> IDrGr p_enumeratorriv)z+enumerator -> ID EQUALS constant_expressionrGrrriw)zdeclarator -> id_declaratorr*r p_declaratorri)zdeclarator -> typeid_declaratorr*rrri)z(pointer -> TIMES type_qualifier_list_optrr p_pointerri)z0pointer -> TIMES type_qualifier_list_opt pointerrrrri)z%type_qualifier_list -> type_qualifierr2rp_type_qualifier_listri)z9type_qualifier_list -> type_qualifier_list type_qualifierr2rrri)z%parameter_type_list -> parameter_listrArp_parameter_type_listri)z4parameter_type_list -> parameter_list COMMA ELLIPSISrArrri)z'parameter_list -> parameter_declarationrCrp_parameter_listri$)z parameter_list COMMA parameter_declarationrCrrri%)z=parameter_declaration -> declaration_specifiers id_declaratorrErp_parameter_declaration_1ri8)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorrErrri9)zGparameter_declaration -> declaration_specifiers abstract_declarator_optrErp_parameter_declaration_2riD)zidentifier_list -> identifierrDrp_identifier_listrid)z3identifier_list -> identifier_list COMMA identifierrDrrrie)z$initializer -> assignment_expressionrYrp_initializer_1rin)z:initializer -> brace_open initializer_list_opt brace_closerYrp_initializer_2ris)z brace_open initializer_list COMMA brace_closerYrrrit)z/initializer_list -> designation_opt initializerrgrp_initializer_listri|)zFinitializer_list -> initializer_list COMMA designation_opt initializerrgrrri})z%designation -> designator_list EQUALSrir p_designationri)zdesignator_list -> designatorrjrp_designator_listri)z-designator_list -> designator_list designatorrjrrri)z3designator -> LBRACKET constant_expression RBRACKETrkr p_designatorri)zdesignator -> PERIOD identifierrkrrri)z=type_name -> specifier_qualifier_list abstract_declarator_optrLr p_type_nameri)zabstract_declarator -> pointerr^rp_abstract_declarator_1ri)z9abstract_declarator -> pointer direct_abstract_declaratorr^rp_abstract_declarator_2ri)z1abstract_declarator -> direct_abstract_declaratorr^rp_abstract_declarator_3ri)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENr_rp_direct_abstract_declarator_1ri)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETr_rp_direct_abstract_declarator_2ri)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr_rp_direct_abstract_declarator_3ri)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETr_rp_direct_abstract_declarator_4ri)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETr_rp_direct_abstract_declarator_5ri)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENr_rp_direct_abstract_declarator_6ri)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENr_rp_direct_abstract_declarator_7ri)zddirect_abstract_declarator -> LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr_rp_direct_abstract_declarator_8ri)z`direct_abstract_declarator -> LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr_rrri)zblock_item -> declarationrOr p_block_itemri)zblock_item -> statementrOrrri)zblock_item_list -> block_itemrNrp_block_item_listri)z-block_item_list -> block_item_list block_itemrNrrri)z@compound_statement -> brace_open block_item_list_opt brace_closer4rp_compound_statement_1ri)z5labeled_statement -> ID COLON pragmacomp_or_statementrQrp_labeled_statement_1ri$)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrQrp_labeled_statement_2ri()z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrQrp_labeled_statement_3ri,)zlabeled_statement -> ID COLONrQrp_labeled_statement_4ri0)z3labeled_statement -> CASE constant_expression COLONrQrp_labeled_statement_5ri4)z"labeled_statement -> DEFAULT COLONrQrp_labeled_statement_6ri8)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementrSrp_selection_statement_1ri<)zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementrSr p_selection_statement_2ri@)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementrSrp_selection_statement_3riD)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrTrp_iteration_statement_1riI)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrTr p_iteration_statement_2riM)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrTr p_iteration_statement_3riQ)zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrTr p_iteration_statement_4riU)zjump_statement -> GOTO ID SEMIrUrp_jump_statement_1riZ)zjump_statement -> BREAK SEMIrUrp_jump_statement_2ri^)zjump_statement -> CONTINUE SEMIrUrp_jump_statement_3rib)z(jump_statement -> RETURN expression SEMIrUrp_jump_statement_4rif)zjump_statement -> RETURN SEMIrUrrrig)z+expression_statement -> expression_opt SEMIrRrp_expression_statementril)z#expression -> assignment_expressionrWr p_expressionris)z4expression -> expression COMMA assignment_expressionrWrrrit)z9assignment_expression -> LPAREN compound_statement RPARENrXr#p_parenthesized_compound_expressionri)ztypedef_name -> TYPEIDr rp_typedef_nameri)z/assignment_expression -> conditional_expressionrXrp_assignment_expressionri)zSassignment_expression -> unary_expression assignment_operator assignment_expressionrXrrri)zassignment_operator -> EQUALSrerp_assignment_operatorri)zassignment_operator -> XOREQUALrerr ri)z!assignment_operator -> TIMESEQUALrerr ri)zassignment_operator -> DIVEQUALrerr ri)zassignment_operator -> MODEQUALrerr ri)z assignment_operator -> PLUSEQUALrerr ri)z!assignment_operator -> MINUSEQUALrerr ri)z"assignment_operator -> LSHIFTEQUALrerr ri)z"assignment_operator -> RSHIFTEQUALrerr ri)zassignment_operator -> ANDEQUALrerr ri)zassignment_operator -> OREQUALrerr ri)z-constant_expression -> conditional_expressionr6rp_constant_expressionri)z+conditional_expression -> binary_expressionr7rp_conditional_expressionri)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionr7rr ri)z$binary_expression -> cast_expressionr8rp_binary_expressionri)z>binary_expression -> binary_expression TIMES binary_expressionr8rr ri)z?binary_expression -> binary_expression DIVIDE binary_expressionr8rr ri)z binary_expression MOD binary_expressionr8rr ri)z=binary_expression -> binary_expression PLUS binary_expressionr8rr ri)z>binary_expression -> binary_expression MINUS binary_expressionr8rr ri)z?binary_expression -> binary_expression RSHIFT binary_expressionr8rr ri)z?binary_expression -> binary_expression LSHIFT binary_expressionr8rr ri)z;binary_expression -> binary_expression LT binary_expressionr8rr ri)z;binary_expression -> binary_expression LE binary_expressionr8rr ri)z;binary_expression -> binary_expression GE binary_expressionr8rr ri)z;binary_expression -> binary_expression GT binary_expressionr8rr ri)z;binary_expression -> binary_expression EQ binary_expressionr8rr ri)z;binary_expression -> binary_expression NE binary_expressionr8rr ri)z binary_expression AND binary_expressionr8rr ri)z;binary_expression -> binary_expression OR binary_expressionr8rr ri)z binary_expression XOR binary_expressionr8rr ri)z=binary_expression -> binary_expression LAND binary_expressionr8rr ri)z binary_expression LOR binary_expressionr8rr ri)z#cast_expression -> unary_expressionr9rp_cast_expression_1ri)z:cast_expression -> LPAREN type_name RPAREN cast_expressionr9rp_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 -> identifierr=rp_primary_expression_1ri)zprimary_expression -> constantr=rp_primary_expression_2ri)z,primary_expression -> unified_string_literalr=rp_primary_expression_3ri)z-primary_expression -> unified_wstring_literalr=rrri)z.primary_expression -> LPAREN expression RPARENr=rp_primary_expression_4ri$)zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENr=r p_primary_expression_5ri()z(offsetof_member_designator -> identifierrnrp_offsetof_member_designatorri0)zJoffsetof_member_designator -> offsetof_member_designator PERIOD identifierrnrrri1)zUoffsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKETrnrrri2)z1argument_expression_list -> assignment_expressionrlrp_argument_expression_listri>)zPargument_expression_list -> argument_expression_list COMMA assignment_expressionrlrrri?)zidentifier -> IDr>r p_identifierriH)zconstant -> INT_CONST_DECr?r p_constant_1riL)zconstant -> INT_CONST_OCTr?rr!riM)zconstant -> INT_CONST_HEXr?rr!riN)zconstant -> INT_CONST_BINr?rr!riO)zconstant -> INT_CONST_CHARr?rr!riP)zconstant -> FLOAT_CONSTr?r p_constant_2ric)zconstant -> HEX_FLOAT_CONSTr?rr"rid)zconstant -> CHAR_CONSTr?r p_constant_3riq)zconstant -> WCHAR_CONSTr?rr#rir)zconstant -> U8CHAR_CONSTr?rr#ris)zconstant -> U16CHAR_CONSTr?rr#rit)zconstant -> U32CHAR_CONSTr?rr#riu)z(unified_string_literal -> STRING_LITERALr5rp_unified_string_literalri)z?unified_string_literal -> unified_string_literal STRING_LITERALr5rr$ri)z*unified_wstring_literal -> WSTRING_LITERALr@rp_unified_wstring_literalri)z+unified_wstring_literal -> U8STRING_LITERALr@rr%ri)z,unified_wstring_literal -> U16STRING_LITERALr@rr%ri)z,unified_wstring_literal -> U32STRING_LITERALr@rr%ri)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALr@rr%ri)zCunified_wstring_literal -> unified_wstring_literal U8STRING_LITERALr@rr%ri)zDunified_wstring_literal -> unified_wstring_literal U16STRING_LITERALr@rr%ri)zDunified_wstring_literal -> unified_wstring_literal U32STRING_LITERALr@rr%ri)zbrace_open -> LBRACEr3r p_brace_openri)zbrace_close -> RBRACErIr p_brace_closeri)zempty -> r rp_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?  PY e`F```bAbAbABe`CIKyKyKyzK+zK+zK+JL+e`M+U+W+W,W+W,W+W,X,n-X,n-X,n-V+o-e`p-z-|-h2|-h2|-h2i2r7i2r7i2r7{-s7e`t7}77k<7k<7k<lU=z>U=z>W;{>^U|>W?Y?UAY?UAY?UAVA{BVA{BVA{BX?|B^U}BOCQCcEQCcEQCcEdEwGdEwGdEwGPCxG^UyGJHLHHJLHHJLHHJIJnKIJnKIJnKKHoK^UpKFLILKLLLNLHLPLRLTLULXLQLZLGL[L^U\LnLqLsLtLvLpLxLzL|L}LLyLAMoLBM^UCM]M`MbMcMeM_MgMiMkMlMnMhMpM^MqM^UrMHNKNMNNNPNJNRNTNVNWNYNSN[NIN\N^U]NnNpN@OpN@OpN@OAOQOAOQOAOQOoNRO^USO_OaOyOaOyOaOyOzOPPzOPPzOPP`OQP^URPePgPBQgPBQgPBQCQ[QCQ[QCQ[QfP\Q^U]QwQyQWRyQWRyQWRXRsRXRsRXRsRxQtR^U^U^UuRYS[SsS[SsS[SsStSQTtSQTtSQTZSRT^USTpTsTuTvTxTrTzT|TT@UCU{TEUqTFU^UGU`UcUeUfUhUbUjUlUoUpUsUkUuUaUvU^UwUKVNVPVQVSVMVUVWVZV[V^VVV`VLVaV^UbV{V}VaW}VaW}VaWbWHXbWHXbWHX|VIX^UJX_XaX}YaX}YaX}Y~Y\[~Y\[~Y\[`X][^U^[j[l[c]l[c]l[c]d]^_d]^_d]^_k[__^U`_t_v_w`v_w`v_w`x`zax`zax`zau_{a^U|aTbVbjgVbjgVbjgkgAmkgAmkgAmUbBm^UCmXmZmwmZmwmZmwmxmVnxmVnxmVnYmWn^UXnpnrn_rrn_rrn_r`rNv`rNv`rNvqnOv^UPvcvevZ{evZ{evZ{[{Q@[{Q@[{Q@dvR@^US@d@f@gEf@gEf@gEhEjJhEjJhEjJe@kJ^UlJ~J@KMP@KMP@KMPNP\UNP\UNP\UJ]U^U^UrUtUA[tUA[tUA[B[P`B[P`B[P`sUQ`^UR`b`d`qed`qed`qere@kre@kre@kc`Ak^UBkVkXkepXkepXkepfptufptufptuWkuu^U^U^UvuBvDvl{Dvl{Dvl{m{WAm{WAm{WACvXA^UYAcAeArFeArFeArFsFALsFALsFALdABL^UCL\L^LkQ^LkQ^LkQlQzVlQzVlQzV]L{V^U|VQWSWlWSWlWSWlWmWGXmWGXmWGXRWHX^UIX^X`XmX`XmX`XmXnX|XnX|XnX|X_X}X^U~XNYPYiYPYiYPYiYjYDZjYDZjYDZOYEZ^UFZWZYZfZYZfZYZfZgZuZgZuZgZuZXZvZ^UwZN[P[m[P[m[P[m[n[L\n[L\n[L\O[M\^UN\_\a\o\a\o\a\o\p\~\p\~\p\~\`\\^U@]L]N]`]N]`]N]`]a]s]a]s]a]s]M]t]^Uu]N^P^^^P^^^P^^^_^m^_^m^_^m^O^n^^Uo^|^~^x_~^x_~^x_y_s`y_s`y_s`}^t`^Uu`IaKaeaKaeaKaeafa@bfa@bfa@bJaAb^UBb\b^bXc^bXc^bXcYcSdYcSdYcSd]bTd^UUd`dbdDebdDebdDeEegeEegeEegeadhe^Uie~eAfDf@fFfHfKfGfMfeNf^UOf`fcfffbfhfjfmfifofafpf^U^U^Uqf}f@gCgDgGgfIgKgNgOgRgJgTg~fUg^UVgagcgYhcgYhcgYhZhPiZhPiZhPibgQi^URieigi]jgi]jgi]j^jTk^jTk^jTkfiUk^UVklknkdlnkdlnkdlel[mel[mel[mmk\m^U]mrmtmjntmjntmjnknaoknaoknaosmbo^Ucoxozoppzoppzoppqpgqqpgqqpgqyohq^Uiqyq{qqr{qqr{qqrrrhsrrhsrrhszqis^Ujszs|sFu|sFu|sFuGuQvGuQvGuQv{sRv^USv_vav[xav[xav[x\xVz\xVz\xVz`vWz^UXzozqz}qz}qz}@~NA@~NA@~NApzOA^UPA]A_AqA_AqA_AqArADBrADBrADB^AEB^UFBaBcByBcByBcByBzBPCzBPCzBPCbBQC^URCmCpCsCoCuCwCzCvC|CnC}C^U~CWDZD]D^DaDYDcDeDhDiDlDdDnDXDoD^UpDREUEXEYE\ETE^E`EcEdEgE_EiESEjE^UkE@FBFTFBFTFBFTFUFgFUFgFUFgFAFhF^UiFEGGGeGGGeGGGeGfGDHfGDHfGDHFGEH^U^UeHhHdHjHlHoHkHqHcHrHNIQIMISIUIXITIZILI[IrIuIvIyIqI{I}I@JAJDJ|IFJpIGJcJMKcJMKcJMKNKxKNKxKNKxKbJyKULLULLULL@MjM@MjM@MjMTLkMDNGNCNINKNNNJNPNBNQNkNnNjNpNrNuNqNwNiNxNNOQOROUOMOWOYO\O]O`OXObOLOcOwOIPwOIPwOIPJP\PJP\PJP\PvO]PmPPmPPmPP@QRQ@QRQ@QRQlPSQgQyQgQyQgQyQzQLRzQLRzQLRfQMR\RrR\RrR\RrRsRISsRISsRIS[RJShSkSgSmSoSrSnStSfSuSQT_TQT_TQT_T`TnT`TnT`TnTPToTOURUNUTUVUYUUU[UMU\U^U^U^U ""$$FBRUBqE""vr2HnnRhrlx|B[[[r8