a ,Nbf@s dZdZdZgdgdfgdgdfgdgdfgd gd fgd gd fgd gdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgd fgdgd!fgd"gd#fgd"gd$fgd"gd%fgd&gd'fgd&gd(fgd)gd*fgd&gd+fgd&gd,fgd&gd-fgdgd.fgdgd/fgd0gd1fgd2gd3fgd4gd5fgd4gd6fgd4gd7fgd4gd8fgd9gd:fgd4gd;fgd4gd<fgd4gd=fgd4gd>fgd4gd?fgd4gd@fgdAgdBfgdAgdCfgdDgdEfgdFgdGfgdFgdHfgdFgdIfgdDgdJfgdDgdKfgdDgdLfgdDgdMfgdDgdNfgdDgdOfgdDgdPfgdDgdQfgdDgdRfgdDgdSfgdDgdTfgdDgdUfgdVgdWfgdXgdYfgdZgd[fd\gd]gfgd^gd_fgd`gdafgdbgdcfgddgdefgdfgdgfgdhgdifgdjgdkfgdlgdmfgdngdofgdngdpfgdngdqfgdngdrfgdngdsfgdngdtfgdngdufgdngdvfgdngdwfgdngdxfgdygdzfgdygd{fgdygd|fgdygd}fgdygd~fgdygdfgdygdfgdygdfgdygdfgdygdfgdygdfgdygdfgdygdfgdygdfgdygdfdgdgfdeZiZeD]F\ZZeededD](\Z Z e evriee <e ee e<qq[dgdgfdgdgfgdgdfddgddgfddgddgfgdgdfddgddgfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfddgddgfddgddgfddgddgfddgddgfgdgdfgdgdfgdgdfgdgdfgd¢gdâfddgddgfddgddgfddgddgfgdɢgdʢfgdˢgd̢fgd͢gd΢fgdϢgdТfgdѢgdҢfgdӢgdԢfgdѢgdբfgdӢgd֢fgdעgdآfgd٢gdڢfgdۢgdܢfgdݢgdޢfgdߢgdfgdgdfgdgdfgdgdfdgdgfdgdgfddgddgfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfgd gd fd gd gfd d gddgfd dgddgfgdgdfgdgdfdgdgfdgdgfddgddgfgdgdfgdgd fgd!gd"fd#gd$gfd%gd&gfd%d'gd(d)gfgd*gd+fgd*gd,fgd*gd-fgd.gd/fgd0gd1fd2gd3gfd4gd5gfd6`Z iZ e D]F\ZZeededD](\Z Z e e v rie e <e e e e< q q[ gd7Z d8S(9z3.10ZLALRauKtranslation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMODAND ANDEQUAL ARROW AUTO BREAK CASE CHAR CHAR_CONST COLON COMMA CONDOP CONST CONTINUE DEFAULT DIVEQUAL DIVIDE DO DOUBLE ELLIPSIS ELSE ENUM EQ EQUALS EXTERN FLOAT FLOAT_CONST FOR GE GOTO GT HEX_FLOAT_CONST ID IF INLINE INT INT_CONST_BIN INT_CONST_CHAR INT_CONST_DEC INT_CONST_HEX INT_CONST_OCT LAND LBRACE LBRACKET LE LNOT LONG LOR LPAREN LSHIFT LSHIFTEQUAL LT MINUS MINUSEQUAL MINUSMINUS MOD MODEQUAL NE NOT OFFSETOF OR OREQUAL PERIOD PLUS PLUSEQUAL PLUSPLUS PPHASH PPPRAGMA PPPRAGMASTR RBRACE RBRACKET REGISTER RESTRICT RETURN RPAREN RSHIFT RSHIFTEQUAL SEMI SHORT SIGNED SIZEOF STATIC STRING_LITERAL STRUCT SWITCH TIMES TIMESEQUAL TYPEDEF TYPEID UNION UNSIGNED VOID VOLATILE WCHAR_CONST WHILE WSTRING_LITERAL XOR XOREQUAL _BOOL _COMPLEX __INT128abstract_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 pp_directive : PPHASH pppragma_directive : PPPRAGMA | PPPRAGMA PPPRAGMASTR 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 pragmacomp_or_statement : pppragma_directive 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 : 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 storage_class_specifier : AUTO | REGISTER | STATIC | EXTERN | TYPEDEF function_specifier : INLINE 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 type_qualifier : CONST | RESTRICT | VOLATILE 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 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 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 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 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 unified_string_literal : STRING_LITERAL | unified_string_literal STRING_LITERAL unified_wstring_literal : WSTRING_LITERAL | unified_wstring_literal WSTRING_LITERAL brace_open : LBRACE brace_close : RBRACE empty : ) 7MNi )rii6( rrrrrrr r r r !"#$%&'()*+,-./01234r <=>?@ABCEFHIJKLrrQRSTUVWXYZ[\bcefghrjlnrrr    !"FGHJKLNO^_`atuxyz}~   ( r r rrrrrrrrrrrrrr#rrr^iii]rriiihg|{rsr rr;rsrsrsyrr!ron~r8:9rTrrrrr%"r"Ofrswrsuzqriimk}r#7r[rrir&rerr*)r'edxvpi5r3$rr+(! Nlj4rrrrM2r0/rr1.rr,-)rrrrrrr r r r r rrrrrr)r r rrrrrrrrrrrr r!r"r#)Hrrrrrrr r r r r rrrdrgrrhrmrnrorqrrsrtrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrr)Hr r rrrrrrrrrrrrPr r r r r r rWr!rXrYr r\r]r^r_r`rarbrcrdrer r"r r rr#rr r rr rrrrrrr rrrrrr r r rrrrr rrr r rr(rrrrrrr r r$r r r'r(r)r*r+r,r.r/r0r1r2 r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErF56r rGrHrJrKrLrMDGrrOPrWrXrYrZr[r\^_`arbrcdrdrerfrrhoqrstuv~rprrrrurwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrr#$%&'()*+,-./0123456789:;<=>?@ABCDEIMSTUXY[\]ijmprrrrr{|rrrrrrrrrrrrr rrrrrrrrrrrr(r-r-rrrrrrr-rrr-rrrrr r-r-r"rr#r$r%r&rbrer'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:tsrr-r-r<r=r>r?r-r-rrrrkrFrGrHrIrJrK\ZrNrOrPrQrRr rr-rkrrkrkrrnr-r-rk[YrprprVr!r-rZrr\r]r^r_r`rarbrcrdrerkrkrrrkrkrkrkrkr"rrkrrnrsrkrkrkr-r-rrrprkrrrrrrkrr#rrrkrrrkrkrkrkrrrkrrrrk rkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrrrkrkrkrkrkrsrkrkrrkr-rkrkrrrrr-rkrrrrkrrkrrrJrkrrnrsrrkrrrrrkrkrkrkrkrkrrsrkrkrrrrrkrrrkrkrkrrrrrr(Grrrrrrr r r$r r r&rr'r(r)r*r+r,r-rr.rr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr rGrHrJrKrLrMrrrTrUrrrrVrWrXrYrZr[r\rrrrrbrcrdrerfrrhrjrrrrrrrrkrrrlrrrprrrrurwrxryrzr{r|r}r~rrrrrrrrrrrrrrr r r rr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArrrDrErrrFrGrHrIrKrLrMrrrrghrNrPrQrRrrrrrSrTrrrrUrrrrrrrrrrrVrWrrrrrXrYrZr[rr\rr]rrr^rr_rrr`rbrcr r rdrerfr rrrrrrrgrrrirrrrrrr(Grrrrrrrrrrrrrrrrrr rr!rr"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrrr<r=r>r?rrrrDrrrrrFrGrHrIrJrKrlrmrnrorNrOrPrQrRr rrrrrrrrnrrTrrrUrqrrrVr!rrZrr\r]r^r_r`rarbrcrdrerTrrrrr rrrrArDrDrrErsrtrurvrmrwrxrnrorprqPrrrsrtrurvrwrxryrzr{r|r"r~rrrrnrsrrrrrrOrrsrrrrrrrrrr#rrrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrOrrrrrrrrrrrrrrrrrrr^rrrrrrrrrrrrrrrrrrnA;=rsrrrrrrrrrrrrrrrrrsrr?@>r?r@rArBrCrDrErFr rGrHrJrKrLrMrrrrrWrXrYrZr[r\rrrrrbrcrdrerfrrhrrrrrrrrkrrrrprrrrurwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrr r r rr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArrrrDrrrrErrrFrGrHrIrKrLrMrNrQrRrrrrrSrTrrrrUrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVrWrXrYrZr[rr\rr]rrrr^rr_rrr`r rbrcrdrerfr rrrrrrrgrrrirrrrrrr(1rrrrrrrrrrrrrrrr rrr"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrrr<r=r>r?rrrrrFrGrHrIrJrKrrmrnrorNrOrPrQrRr rrrrrrrnrrTrrrrrVr!rrZrr\r]r^r_r`rarbrcrdrerTrrrrrir.rkrrrrlrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|r"rrKrrnrsrrrqrrrrrrrrrr#rrrirrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrr[rrrrrrrrrrrrrrrrrrrr.r.r.r.r.r.r.r.r.r.r.r.r.r.r.rrrrrrrrdrrnrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrr)rrrrrrr r r$r r r&r'r(r)r*r+r,r-r.rr/r0r1r2rrr3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrrr :;rGrHrIrJrKrLrMrrrrrrVrWrXrYrZr[r\rrrrrbrcrdrerfrgrrhkrrrrrlrrrmrnrorprqrrrrsrtrurwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrBrCrDrErrrrOrrrrrrrSrrrrrrrrrr rrrrrrr)r2r2rrrrrrr2rUrrrrrrrr r2r!r"rr#r$r%r&rcrfr'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rjrkrr2rUr2r2r<r=r>r?rUrUrrr2rErFrGrHrIrJrKrlrmrnrorNrOrPrQrRr2r r2rUr2rr2rUrUrqrrr2r2r2rVrWr!rUrXrYrZr2r2r\r]r^r_r`rarbrcrdrer2r"rrr2rr2rr2rr2rrrrrrr#rr2rrerr2rrrrrr2r2r2rrr2r2rrrrrrUrrr2rrrrrrrrrrrrrr)qrrrrrrr r rr r r&r'r(r)r,r-r.r?r@rArBrCrDrErFr rrrHrIrrrrVrWrXrYrZr[rrdrgrrhrrrrlrrmrnrorqrrsrtrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrDrErrrrOrrrrrrrrrrrr rrrrrrr)qrrrrrrrrrrrrrrrrr!r"r3r4r5r6r7r8r9r:rrrrrrrrrErFrGrHrIrJrorPrr rrrrrUrrrrrrWr!rXrYrrr\r]r^r_r`rarbrcrdrerr"rrrrrrrr#rrrrerrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrr r rr$r r r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr rrrGrHrIrJrKrLrMrrrrVrWrXrYrZr[r\rrbrcrdrerfrgrrhrrrrrlrrmrnrorprqrrrrsrtrurrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrDrErrrrOrrrrrrrrrrrrrrrr rrrrrrr)r3r3rrrrrrr3r3rrrrrrrr r3r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr3rr3r3r3r<r=r>r?rrr3rErFrGrHrIrJrKrorNrOrPrQrRr3r r3rr3r3r3rUrrr3r3r3rVrWr!r3rXrYrZr3r3r\r]r^r_r`rarbrcrdrer3r"rrr3r3rr3rr3rrrrrrr#rr3rr3rerr3rrrr3r3r3rrr3r3rrrrrrrr3rrrrrrrrrrrrrr)r4r4rrrrrrr4r4rrrrrrrr r4r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr4rr4r4r4r<r=r>r?rrr4rErFrGrHrIrJrKrorNrOrPrQrRr4r r4rr4r4r4rUrrr4r4r4rVrWr!r4rXrYrZr4r4r\r]r^r_r`rarbrcrdrer4r"rrr4r4rr4rr4rrrrrrr#rr4rr4rerr4rrrr4r4r4rrr4r4rrrrrrrr4rrrrrrrrrrrrrr)r5r5rrrrrrr5r5rrrrrrrr r5r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr5rr5r5r5r<r=r>r?rrr5rErFrGrHrIrJrKrorNrOrPrQrRr5r r5rr5r5r5rUrrr5r5r5rVrWr!r5rXrYrZr5r5r\r]r^r_r`rarbrcrdrer5r"rrr5r5rr5rr5rrrrrrr#rr5rr5rerr5rrrr5r5r5rrr5r5rrrrrrrr5rrrrrrrrrrrrrr)r6r6rrrrrrr6r6rrrrrrrr r6r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr6rr6r6r6r<r=r>r?rrr6rErFrGrHrIrJrKrorNrOrPrQrRr6r r6rr6r6r6rUrrr6r6r6rVrWr!r6rXrYrZr6r6r\r]r^r_r`rarbrcrdrer6r"rrr6r6rr6rr6rrrrrrr#rr6rr6rerr6rrrr6r6r6rrr6r6rrrrrrrr6rrrrrrrrrrrrrr)r7r7rrrrrrr7r7rrrrrrrr r7r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr7rr7r7r7r<r=r>r?rrr7rErFrGrHrIrJrKrorNrOrPrQrRr7r r7rr7r7r7rUrrr7r7r7rVrWr!r7rXrYrZr7r7r\r]r^r_r`rarbrcrdrer7r"rrr7r7rr7rr7rrrrrrr#rr7rr7rerr7rrrr7r7r7rrr7r7rrrrrrrr7rrrrrrrrrrrrrr)r8r8rrrrrrr8r8rrrrrrrr r8r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr8rr8r8r8r<r=r>r?rrr8rErFrGrHrIrJrKrorNrOrPrQrRr8r r8rr8r8r8rUrrr8r8r8rVrWr!r8rXrYrZr8r8r\r]r^r_r`rarbrcrdrer8r"rrr8r8rr8rr8rrrrrrr#rr8rr8rerr8rrrr8r8r8rrr8r8rrrrrrrr8rrrrrrrrrrrrrr)r9r9rrrrrrr9r9rrrrrrrr r9r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr9rr9r9r9r<r=r>r?rrr9rErFrGrHrIrJrKrorNrOrPrQrRr9r r9rr9r9r9rUrrr9r9r9rVrWr!r9rXrYrZr9r9r\r]r^r_r`rarbrcrdrer9r"rrr9r9rr9rr9rrrrrrr#rr9rr9rerr9rrrr9r9r9rrr9r9rrrrrrrr9rrrrrrrrrrrrrr)r:r:rrrrrrr:r:rrrrrrrr r:r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr:rr:r:r:r<r=r>r?rrr:rErFrGrHrIrJrKrorNrOrPrQrRr:r r:rr:r:r:rUrrr:r:r:rVrWr!r:rXrYrZr:r:r\r]r^r_r`rarbrcrdrer:r"rrr:r:rr:rr:rrrrrrr#rr:rr:rerr:rrrr:r:r:rrr:r:rrrrrrrr:rrrrrrrrrrrrrr)r;r;rrrrrrr;r;rrrrrrrr r;r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr;rr;r;r;r<r=r>r?rrr;rErFrGrHrIrJrKrorNrOrPrQrRr;r r;rr;r;r;rUrrr;r;r;rVrWr!r;rXrYrZr;r;r\r]r^r_r`rarbrcrdrer;r"rrr;r;rr;rr;rrrrrrr#rr;rr;rerr;rrrr;r;r;rrr;r;rrrrrrrr;rrrrrrrrrrrrrr)r<r<rrrrrrr<r<rrrrrrrr r<r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr<rr<r<r<r<r=r>r?rrr<rErFrGrHrIrJrKrorNrOrPrQrRr<r r<rr<r<r<rUrrr<r<r<rVrWr!r<rXrYrZr<r<r\r]r^r_r`rarbrcrdrer<r"rrr<r<rr<rr<rrrrrrr#rr<rr<rerr<rrrr<r<r<rrr<r<rrrrrrrr<rrrrrrrrrrrrrr)r=r=rrrrrrr=r=rrrrrrrr r=r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr=rr=r=r=r<r=r>r?rrr=rErFrGrHrIrJrKrorNrOrPrQrRr=r r=rr=r=r=rUrrr=r=r=rVrWr!r=rXrYrZr=r=r\r]r^r_r`rarbrcrdrer=r"rrr=r=rr=rr=rrrrrrr#rr=rr=rerr=rrrr=r=r=rrr=r=rrrrrrrr=rrrrrrrrrrrrrr)r>r>rrrrrrr>r>rrrrrrrr r>r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr>rr>r>r>r<r=r>r?rrr>rErFrGrHrIrJrKrorNrOrPrQrRr>r r>rr>r>r>rUrrr>r>r>rVrWr!r>rXrYrZr>r>r\r]r^r_r`rarbrcrdrer>r"rrr>r>rr>rr>rrrrrrr#rr>rr>rerr>rrrr>r>r>rrr>r>rrrrrrrr>rrrrrrrrrrrrrr)rrrrrrr r rr$r r r&r'r(r)r*r+r-r.rr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr rrrGrIrJrKrLrMrrrrrVr\rrrbrcrdrerfrgrrhrrrrrrrlrrmrnrorprqrrrrsrtrurrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrDrErrrrNrOrrrrrrrrrrrrrrrYrZrr rrrrrrr)r?r?rrrrrrr?r?rrrr?r?r?rr r!r"r?r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr?rr?r?r<r=r>r?rrr?r?rErKr?rorNrOrPrQrRr?r r?rr?r?r?r?r?rUrrr?r?r?rVrWr!r?rXrYrZr?r?r\r]r^r_r`rarbrcrdrer?r"r?r?rrr?r?r?rr?rr?rrrrrrr#rr?rr?rerr?rrrr?r?r?rrr?r?r?rrrrrrrr?rrrrrr?r?rrrrrrrrr)r@r@rrrrrrr@r@rrrr@r@r@rr r!r"r@r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr@rr@r@r<r=r>r?rrr@r@rErKr@rorNrOrPrQrRr@r r@rr@r@r@r@r@rUrrr@r@r@rVrWr!r@rXrYrZr@r@r\r]r^r_r`rarbrcrdrer@r"r@r@rrr@r@r@rr@rr@rrrrrrr#rr@rr@rerr@rrrr@r@r@rrr@r@r@rrrrrrrr@rrrrrr@r@rrrrrrrrr)rArArrrrrrrArArrrrArArArr r!r"rAr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrArrArAr<r=r>r?rrrArArErKrArorNrOrPrQrRrAr rArrArArArArArUrrrArArArVrWr!rArXrYrZrArAr\r]r^r_r`rarbrcrdrerAr"rArArrrArArArrArrArrrrrrr#rrArrArerrArrrrArArArrrArArArrrrrrrrArrrrrrArArrrrrrrrr)}rrrrrrr r rr$r r r&r'r(r)r*r+r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr rrrGrIrJrKrLrMrrrrVr\rbrcrdrerfrrhrrrrlrprrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrOrrrrrrrrrrrrrrr rrrrrrr)}rBrBrrrrrrrBrBrrrrBrBrBrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrBrrBrBr<r=r>r?rrrBrErKrNrOrPrQrRr rBrrBrBrUrVr!rBr\r]r^r_r`rarbrcrdrer"rrrBrBrrrrr#rrrerrBrrrrrrBrBrrrrrrrBrrrrrrrrrrrrrr)}rCrCrrrrrrrCrCrrrrCrCrCrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrCrrCrCr<r=r>r?rrrCrErKrNrOrPrQrRr rCrrCrCrUrVr!rCr\r]r^r_r`rarbrcrdrer"rrrCrCrrrrr#rrrerrCrrrrrrCrCrrrrrrrCrrrrrrrrrrrrrr)rrrrrrr r rr$r r r&r'r(r)r*r+r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr rrrGrIrJrKrLrMrrrrrVr\rrbrcrdrerfrrhrrrrrrlrrprrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrNrOrrrrrrrrrrrrrrZrr rrrrrrr)r.r.rrrrrrr.r.rrrr.r.r.rr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr.rr.r.r<r=r>r?rrrr.rErKrorNrOrPrQrRr r.rrr.rr.rUrrrVr!r.r\r]r^r_r`rarbrcrdrer"rMrrr.r.rrrrr#rrrerr.rrrrrrYr.r.rrrrrrr.rrrrrrfrrrrrrrrr)}rDrDrrrrrrrDrDrrrrDrDrDrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrDrrDrDr<r=r>r?rrrDrErKrNrOrPrQrRr rDrrDrDrUrVr!rDr\r]r^r_r`rarbrcrdrer"rrrDrDrrrrr#rrrerrDrrrrrrDrDrrrrrrrDrrrrrrrrrrrrrr)}rErErrrrrrrErErrrrErErErr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrErrErEr<r=r>r?rrrErErKrNrOrPrQrRr rErrErErUrVr!rEr\r]r^r_r`rarbrcrdrer"rrrErErrrrr#rrrerrErrrrrrErErrrrrrrErrrrrrrrrrrrrr)}rFrFrrrrrrrFrFrrrrFrFrFrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrFrrFrFr<r=r>r?rrrFrErKrNrOrPrQrRr rFrrFrFrUrVr!rFr\r]r^r_r`rarbrcrdrer"rrrFrFrrrrr#rrrerrFrrrrrrFrFrrrrrrrFrrrrrrrrrrrrrr)qrrrrrrrrrrrrrrrrr!r"r3r4r5r6r7r8r9r:rrrrrrrrrErFrGrHrIrJrorPrr rrrrrUrrrrrrWr!rXrYrrr\r]r^r_r`rarbrcrdrerr"rrrrrrrr#rrrrerrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)qrrrrrrrrrrrrrrrrr!r"r3r4r5r6r7r8r9r:rrrrrrrrrErFrGrHrIrJrorPrr rrrrrUrrrrrrWr!rXrYrrr\r]r^r_r`rarbrcrdrerr"rrrrrrrr#rrrrerrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)[rr r&r-rrrr89rrrIrrrVrbrcrdrerfrhrmrrrlrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrFrGrHrrrrrrUrrrrVrWrrrr\rr]rrr rbrcr rrrrrgrrrrrr)[rrrr!rdrdrjrkrdiirrrrrErdrdrPrdrdrdrrdrdrdrUr!rdr\r]r^r_r`rarbrcrdrerdrrrr#rrdrdrrdrrrrrrdrrrrrdrrdrrrrrrrrrdrdrrdrdrdrdrdrrrrrrdrrrrdrdrr)r rrrdrgrhrkrprmrnrorqrrsrtrvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrQRrFvwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVrrrrr r r rrrrrrgrrrrrr)rrrrPrrrTrc`rrrrWr!rXrYrir\r]r^r_r`rarbrcrdrerhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrbrrrr#rrrirrerrrrrrrrrrrrriia_rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLrrrrrrrrrrrrKrrrrrrrr)1r rrrdrhrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)2r rrrdrhrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrr)2rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)r r?r@rArrrrrrrdrhrrrrrrkrrrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrr r r rr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArrrDrErrrFrGrHrIrKrLrMrNrQrRrTrrrrUrrrrrrrrrrrVrWrXrYrZr[rr\rr]rrr^rr_rrr`rbrcrdrerfr rrrrrrrgrrrirrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrTrrrr!rr\r]r^r_r`rarbrcrdrerTrrrrrrrrrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrTrrrr!rr\r]r^r_r`rarbrcrdrerTrrrrrrrrrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrr)r r?r@rArrrrrrrdrhrrrrrrrrrwrxryrzr{r|r}r~rrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErFrGrHrIrKrLrMrNrQrRrTrrrrUrrrrrVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr rrrrrrgrrirrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)r r?r@rArrrrrrrdrhrrrrrrkrrrrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrr r r rr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArrrrDrrrrErrrFrGrHrIrKrLrMrNrQrRrTrrrrUrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVrWrXrYrZr[rr\rr]rrrr^rr_rrr`r rbrcrdrerfr rrrrrrrgrrrirrrrrrr)rr3r4r5rrrrmrnrorPr r rr rrnrTr rrr!r r\r]r^r_r`rarbrcrdrerTr r r r rir;rkr r r rlr rsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rr rrnrsr r rr r r#rr rir r rr r r r r rr rrrr ryrzr{r|r}r~rrrrrr r r r r r r r r r r r r r r r r r r r r rrrr rrrr rrrr rr rsr r rr r r rr rr rrr rrrrrrrrrrrrrrrrr;r;r;r;rrrrrrrr rrnrsrr r rrr r r r r rrr rr rrsr r rrrrr r rrr rr rrrr r rr)rr3r4r5rrrrmrnrorPr r rr rrnrTr rrr!r r\r]r^r_r`rarbrcrdrerTr r r r rir1rkr r r rlr rsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rr rrnrsr r rr r r#rr rir r rr r r r r rr rrrr ryrzr{r|r}r~rrrrrr r r r r r r r r r r r r r r r r r r r r rrrr rrrr rrrr rr rsr r rr r r rr rr rrr rrrrrrrr1r1r1r1r1r1r1r1r1r1r1r1r1rrrrrrrr rrnrsrr r rrr r r r r rrr rr rrsr r rrrrr r rrr rr rrrr r rr)rr3r4r5rrrrmrnrorPr r rr rrnrTr rrr!r r\r]r^r_r`rarbrcrdrerTr r r r rir2rkr r r rlr rsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rr rrnrsr r rr r r#rr rir r rr r r r r rr rrrr ryrzr{r|r}r~rrrrrr r r r r r r r r r r r r r r r r r r r r rrrr rrrr rrrr rr rsr r rr r r rr rr rrr rrrrrrrr2r2r2r2r2r2r2r2r2r2r2r2r2rrrrrrrr rrnrsrr r rrr r r r r rrr rr rrsr r rrrrr r rrr rr rrrr r rr)rr3r4r5rrrrmrnrorPr r rr rrnr rrr!r r\r]r^r_r`rarbrcrdrer r r r r r r r rsrtrurvrwrxrr rrnrsr r rr r r#rr r r rr r r r r rr rrrr ryrzr{r|r}r~rrrrrr r r r r r r r r r r r r r r r r r r r r r r rr rr rsr r rr r r rr rr rr rrrrr rrnrsrr r rr r r r r r r rrsr r rrrrr r rr r rrr r rr)rr3r4r5rrrrmrnrorPr r rr rrnr rrr!r r\r]r^r_r`rarbrcrdrer r r r r r r r rsrtrurvrwrxrr rrnrsr r rr r r#rr r r rr r r r r rr rrrr ryrzr{r|r}r~rrrrrr r r r r r r r r r r r r r r r r r r r r r r rr rr rsr r rr r r rr rr rr rrrrr rrnrsrr r rr r r r r r r rrsr r rrrrr r rr r rrr r rr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)r r?r@rArrrrrrrdrhrrrrrrrrrwrxryrzr{r|r}r~rrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErrFrGrHrIrKrLrMrNrQrRrTrrrrUrrrrrVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr rrrrrrgrrirrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrr{rrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)r r?r@rArrrrrrrdrhrrrrrrrrrwrxryrzr{r|r}r~rrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrrrr rrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErrFrGrHrIrKrLrMrNrQrRrTrrrrUrrrrrVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr rrrrrrgrrirrrrrr)rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrr|rrrrnrsrrrrrr#rrrrrrrrrrrrrrrrryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrnrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrr)r rrr{r|r}r~rrrrrrrrrrrrrrrrr rrrrrrr)rrr!r_r`rarbrcrdrer#rrerrrrrrrrrrrrrrrrrrr r)Jr&r-rIrRrSrTrUrVrarirjrkrlrprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVWrrrrrrrrrrrrrrrrrr r r rrr)Jrr!r;rrBrCrDrErr;rSrTrUrr!rTr"rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~rrrirrrrrrrrrWIrrrrrrrrrrHFrrrrrrrrGrrrrr)r&r*r+r-r.rr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrIrJrKrLrMrPrQrRrSrTrUrVr\r_r`rarrrrrbrcrerfrirjy{|}rrkrlrrrrrprprrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrefrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrrrrrrrrrrrrrr)rrr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rr@rArBrCrDrErKrrLrMrlrmrnrorNrOrQrRr;rSrrVQrrTrUrqrrrrrrVr!rZrTrrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrTSRDrBrrrrrrrrrrrrSrrrrrirrrrrrrrrrrrVrrrrUPCrrrrrrrrrErrrrrrrrrrrrrrrrrrrrrrrrrr`rrrrrrarrrrrrrrrrrrrrrrrrrrrrrrrgrrrrrrrrrrr)r&r*r+r-r.rr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrJrKrLrMrTrUrrVr\]rrrrrbrcrerfrjprwxrzrrrrrkrlrrrprrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrArrrrrrrrrrrrdrrrrrOklrPnorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r rrrrrrrrrrrrrrrrrr  )rrr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r<r=r>r?rCrDrrErKrlrlrmrnrorNrOrQrRrSrrrriXiirrrrTrUrqrrrVr!rZrfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~rrrrrrrrrrrrrrrrrrrrrr[rirUrrrrrrrrrrrrrrriWrrrrrrrriirrrrrr\rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)r&r*r-r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArSrTrUrVrbrcrerfrirjrkrlrprrrrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrSrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r rrrr)rrr!r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5rBrCrDrErNrOrQrRr;rSrTrUrVr!rrZrrrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~rrrrrrrrrTrrrrirrrrrrrrrrrrrrrrrrrrr_rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)r&r*r+r-r.rr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrJrKrLrMrTrUrVr\rrrrrbrcrdrerfrjrrkrlrrrprrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPrrrrrrrrrrrrrVrrrrrrrrrr]rrrr r rrrrrrrrrrrrgrrrrrr )rrr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r<r=r>r?rrDrrKrlrmrnrorNrOrPrQrRrrrTrUrqrrrVr!rZrTr@rmrnrorprqrrrsrtrurvrwrxryrzr{r|r~rIrrrrNrrrRrrrrrrrrrrrrrIrrrrrrNrRrrrrrrrrrrrrrrIrrrrrrrrrrIrrrrrrrrrrrrir!rrrrIrrrrr"r#)lr?r@rArrrrrrrrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrZrKbcrNrQrrRrrrrrrrrrrrrrrrrrrrrrrrrrrrrXrZr[rrrr rdrrrrr)lr3r4r5rrmrnrorrrnrTrrr!rgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rrnrrrrrirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrnrrrrrrrrrrrrrrrr )1rdrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVrrr]rrrrrrrgrrrr )1rPrTr!rTrBrmrnrorprqrrrsrtrurvrwrxryrzr{r|rJrrrrrJrrrrrrrrJrrrJrrrrhr!rrJrrr"r#)#rkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)#rTr!rTrCrmrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrrrrrrrrrrrr)+rkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr)+rTr!rTr#rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr$rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr%rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr&rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr'rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr(rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr)rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr*rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr+rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)+rTr!rTr,rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr)?rkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr)?rTr!rTrir-rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)?rTr!rTrir/rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrr/r/r/r/r/r/r/r/r/r/r/r/r/r/r/rrrrrrrrrrrr)?rTr!rTrir0rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrr0r0r0r0r0r0r0r0r0r0r0r0r0r0r0rrrrrrrrrrrr)?rTr!rTrir3rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrr3r3r3r3r3r3r3r3r3r3r3rrrrrrrrrrrr)?rTr!rTrir4rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrr4r4r4r4r4r4r4r4r4r4r4rrrrrrrrrrrr)?rTr!rTrir5rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr5r5r5r5r5r5r5rrrrrrrrrrrr)?rTr!rTrir6rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr6r6r6r6r6r6r6rrrrrrrrrrrr)?rTr!rTrir7rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr7r7r7r7r7r7r7rrrrrrrrrrrr)?rTr!rTrir8rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrr8r8r8r8r8r8r8rrrrrrrrrrrr)?rTr!rTrir9rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrr9r9r9r9r9rrrrrrrrrrrr)?rTr!rTrir:rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrr:r:r:r:r:rrrrrrrrrrrr)?rTr!rTrir<rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrrrrr<r<rrrrrrrrrrrr)?rTr!rTrir=rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrrr=rr=r=rrrrrrrrrrrr)?rTr!rTrir>rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrrrrrr>rrrrrrrrrrrr)?rTr!rTrir?rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)ez$endSEMIZPPHASHZPPPRAGMAZIDZLPARENZTIMESZTYPEIDZENUMZVOIDZ_BOOLZCHARZSHORTZINTZLONGZFLOATZDOUBLEZ_COMPLEXZSIGNEDZUNSIGNEDZ__INT128ZCONSTZRESTRICTZVOLATILEZAUTOZREGISTERZSTATICZEXTERNZTYPEDEFZINLINEZSTRUCTZUNIONLBRACERBRACEZCASEZDEFAULTZIFZSWITCHZWHILEZDOZFORZGOTOZBREAKZCONTINUEZRETURNZPLUSPLUSZ MINUSMINUSZSIZEOFZANDPLUSMINUSZNOTZLNOTZOFFSETOFZ INT_CONST_DECZ INT_CONST_OCTZ INT_CONST_HEXZ INT_CONST_BINZINT_CONST_CHARZ FLOAT_CONSTZHEX_FLOAT_CONSTZ CHAR_CONSTZ WCHAR_CONSTZSTRING_LITERALZWSTRING_LITERALELSEZ PPPRAGMASTRZEQUALSCOMMAZRPARENCOLONZLBRACKETZRBRACKETZPERIODZARROWZXOREQUALZ TIMESEQUALZDIVEQUALZMODEQUAL PLUSEQUALZ MINUSEQUALZ LSHIFTEQUALZ RSHIFTEQUALZANDEQUALZOREQUALZCONDOPZDIVIDEZMODZRSHIFTZLSHIFTZLTZLEZGEZGTZEQZNEORZXORZLANDZLORELLIPSISrrr)6rrr$r'r(r)r,rrGrHrIrrrhrrrrrrrrwrrrrrrrrrrrrNrOrQrRrrrrrVrXrYrr]rrrrrrgrrr)6rrrOrXrXrXr^rrOr^rrr rvrr r&rrrrrrFr&rrrrrrrrrr r&r&rrrrrcr&rrrcrrrrrrcrrrrr r)rrrrrIrhrwr)rrrrrryryrr)rrrgrhrmrnrorwrrrrrrrrrrrrr)r r rtrrtrtrtrrrtrtrrrrrrrrrr)rrr$r,rrGrHrrrrrrrrS)rrrIrarrirarrirririrri)rrrrrIrrhrrwrrrrOrr)r$r$rGrGrGrrGrrGrrrGrrr)r%r%r%r%r%r%r%r%)rrr$rr,rrGrHrrrrrrrrrrPrS)r&r&r&rVr&r&r&r&rVr&r&r&r&r&rVr&rVr&)rrr$r,rrGrHrrrrrrrrrrSr)rrrrrrrrrrrrrrPrrr)/rrrr$r'r(r)rrrGrIrrrrgrhrrrrrrmrnrorrrrwrrrrrrrrrrrrDrErrNrOrrrYrZ)/r'r'r'rJr'r'r'rr'rJr'rr'rrr'rr'rrrJrrrrrr'rrrr'r'rrrrrr'rrrrr'r'r'rr)rrrr$r'r(r)rrGrIrrhrrrwrrrrOrr)r(r(r(rKr(r(r(r(rKr(r(r(r(rKr(r(r(r(r(r(r()r)r)r)rLr)r)r)r)rLr)r)r)r)rLr)r)r)r)r)r)r))#rrrr$r,rrGrHrIrrgrhrrrrmrnrorrrrwrrrrrrrrrDrErrOrr)#r*r*r*rMr*r*rMr*r*r*r*r*r*rMr*r*r*r*rr*r*r*r*r*r*r*r*rr*r*r*r*r*r*r*)rrrr,rrHrIrrgrhrrrmrnrorrwrrrrrrrrDrErrOrr)r+r+r+r\r+r\r+r+rur+r+r\rurururr+rur+r+rururur+rururur+r+r+)rrrr'r(r)rrIrrhrrwrrrrOrr)r,r,rHrYrYrYrHrHrrHrrHrrrHrrr)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/)r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0)r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrIrrrr$rGrNrP)r$rGrr)rQrQrr)r$rGrrrrrS)rRrRrRrRrr)r$rGrrrrrrS)rSrSr rSrSrSrS)r$rGrrrrrrrS)rTrTrjrTrTrTrTrT)r'r(r))rWrZr[r,rHr]r_r`)rrrrrrrNrY)rrrrrLrQrXre)rrrgrrrmrnrorrrrrrrDrErrNrY)rrrrrrrrrrrrrrrrrrZr)rrrrbrcrerfrhrrrrwrrrrrGrrUr\rrrrr rbrrr)rrgrhrrrmrnrhrhrrrhrhrhrhrhrrhr]r]rhrhrhr]r]rrhrhrh)rrhrrwrrrrrrrrrrr)rr}rr}r}r}r}r}r}r}r}r}r}r}r})rrrrOrr)r r rrrr)rrrO)r rr)rrrrrr)rrr)rrrrrOrr)rrrrrrr)Vrrhrrrrrwrrrrrrrrrrrrrrrrrrrrr rrr!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrJrLrMrOrQrRrTrrUrrXr\rrrr^rr_r`rarbrerfrrrrhrirr)Vrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrr)rrr)rrrr)rrrr)rgrmrn)rorr)rgrrmrnrorrrrrrrVrrg)rprrrrrrrrrrr rr)rgrmrnrorr)rqrqrqrrr) rgrmrnrorrrrrDrEr) rrrrrrrrrrrrrrrrrrhrrwrxr) rhrwrrrrrrrrrrr) rzrzrrrrrrrrrrr) 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~r~r~r~r~r~r~) rrrrrrrrrrrrr) rrrrrrrrrrrrr)rhrwrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrr)rhrwrrrrrrrrr rrr-r@rDrErrrrrr^rrrrrirr)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)1rhrrrrwrrrrrrrrrrrrr rrr!r-r@rArDrErGrLrMrQrRrrrXrrrr^rr`rbrerfrrrrirr)1rrr'rrrrrr'r)r*rrrrrrrrrrrrrrrrr,r-r'r'rrr'rrrrrrrr1r2rrrrrr)7rhrrrrwrrrrrrrrrrrrrrrr rrr!r-r@rArDrErGrIrLrMrQrRrTrrrXrrrr^rr_r`rbrerfrrrrirr)7rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orhrrrrwrrrrrrrrrrrrrrrrrrrr rrr!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTrrUrrXr\rrrr^rr_r`rbrerfrrrrirr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Irhrrrrwrrrrrrrrrrrrrrrr rrr!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTrrrXrrrr^rr_r`rbrerfrrrrirr)Irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Lrhrrrrwrrrrrrrrrrrrrrrrr rrr!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTrrUrrXr\rrrr^rr_r`rbrerfrrrrirr)Lrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrGrb)rrrr)rrrQrRrX)r%r(r.r/r0rrrrrrrr)rrrr)rrrr)rrrrrPrr)rrrrrrrrrrrrSrr)rrrrIrT)r$rrr+r)rrrDrEr)rrrrr) rrrrrrrrrr) rrrrr rrrrrrr!rrr]rr)rrVr]rg)rGrbrGrb)rHrHrHrH)rrrr)rrrVr]rg)rrrrr)rrr)rrrrArrar)`translation_unit_or_emptytranslation_unitemptyexternal_declarationfunction_definition declaration pp_directivepppragma_directive id_declaratordeclaration_specifiers decl_bodydirect_id_declaratorpointertype_qualifierstorage_class_specifierfunction_specifiertype_specifier_no_typeidtype_specifierdeclaration_specifiers_no_type typedef_nameenum_specifierstruct_or_union_specifierstruct_or_uniondeclaration_list_optdeclaration_listinit_declarator_list_optinit_declarator_listinit_declarator declaratortypeid_declaratordirect_typeid_declarator"declaration_specifiers_no_type_optid_init_declarator_list_optid_init_declarator_listid_init_declaratortype_qualifier_list_opttype_qualifier_list brace_opencompound_statementparameter_type_listidentifier_list_optparameter_listidentifier_listparameter_declaration identifierenumerator_list enumeratorstruct_declaration_list brace_closestruct_declarationspecifier_qualifier_listblock_item_list_optblock_item_list block_item statementlabeled_statementexpression_statementselection_statementiteration_statementjump_statementexpression_opt expressionassignment_expressionconditional_expressionunary_expressionbinary_expressionpostfix_expressionunary_operatorcast_expressionprimary_expressionconstantunified_string_literalunified_wstring_literal initializerassignment_expression_opttypeid_noparen_declaratorabstract_declarator_opt direct_typeid_noparen_declaratorabstract_declaratordirect_abstract_declaratorstruct_declarator_list_optstruct_declarator_liststruct_declaratorconstant_expression type_namepragmacomp_or_statementassignment_operatorinitializer_list_optinitializer_listdesignation_opt designationdesignator_list designatorparameter_type_list_optargument_expression_listoffsetof_member_designator(7)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyrrp_abstract_declarator_opt plyparser.pyr=)z.abstract_declarator_opt -> abstract_declaratorrrrrr>)z"assignment_expression_opt -> emptyrrp_assignment_expression_optrr=)z2assignment_expression_opt -> assignment_expressionrrrrr>)zblock_item_list_opt -> emptyrsrp_block_item_list_optrr=)z&block_item_list_opt -> block_item_listrsrrrr>)zdeclaration_list_opt -> emptyrWrp_declaration_list_optrr=)z(declaration_list_opt -> declaration_listrWrrrr>)z+declaration_specifiers_no_type_opt -> emptyr_r$p_declaration_specifiers_no_type_optrr=)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typer_rrrr>)zdesignation_opt -> emptyrrp_designation_optrr=)zdesignation_opt -> designationrrrrr>)zexpression_opt -> emptyr|rp_expression_optrr=)zexpression_opt -> expressionr|rrrr>)z$id_init_declarator_list_opt -> emptyr`rp_id_init_declarator_list_optrr=)z6id_init_declarator_list_opt -> id_init_declarator_listr`rrrr>)zidentifier_list_opt -> emptyrhrp_identifier_list_optrr=)z&identifier_list_opt -> identifier_listrhrrrr>)z!init_declarator_list_opt -> emptyrYrp_init_declarator_list_optrr=)z0init_declarator_list_opt -> init_declarator_listrYrrrr>)zinitializer_list_opt -> emptyrrp_initializer_list_optrr=)z(initializer_list_opt -> initializer_listrrrrr>)z parameter_type_list_opt -> emptyrrp_parameter_type_list_optrr=)z.parameter_type_list_opt -> parameter_type_listrrrrr>)z#struct_declarator_list_opt -> emptyrrp_struct_declarator_list_optrr=)z4struct_declarator_list_opt -> struct_declarator_listrrrrr>)z type_qualifier_list_opt -> emptyrcrp_type_qualifier_list_optrr=)z.type_qualifier_list_opt -> type_qualifier_listrcrrrr>)zdirect_id_declarator -> IDrKrZp_direct_id_declarator_1rr)z3direct_id_declarator -> LPAREN id_declarator RPARENrKrZp_direct_id_declarator_2rr)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrKrZp_direct_id_declarator_3rr)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrKrp_direct_id_declarator_4rr)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrKrrrrk)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrKrZp_direct_id_declarator_5rr)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENrKrp_direct_id_declarator_6rr)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENrKrrrrk)z"direct_typeid_declarator -> TYPEIDr^rZp_direct_typeid_declarator_1rr)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENr^rZp_direct_typeid_declarator_2rr)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr^rZp_direct_typeid_declarator_3rr)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr^rp_direct_typeid_declarator_4rr)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr^rrrrk)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr^rZp_direct_typeid_declarator_5rr)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENr^rp_direct_typeid_declarator_6rr)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENr^rrrrk)z*direct_typeid_noparen_declarator -> TYPEIDrrZ$p_direct_typeid_noparen_declarator_1rr)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrZ$p_direct_typeid_noparen_declarator_3rr)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrr$p_direct_typeid_noparen_declarator_4rr)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrrrrrk)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrrZ$p_direct_typeid_noparen_declarator_5rr)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENrr$p_direct_typeid_noparen_declarator_6rr)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENrrrrrk)z%id_declarator -> direct_id_declaratorrHrZp_id_declarator_1rr)z-id_declarator -> pointer direct_id_declaratorrHrZp_id_declarator_2rr)z-typeid_declarator -> direct_typeid_declaratorr]rZp_typeid_declarator_1rr)z5typeid_declarator -> pointer direct_typeid_declaratorr]rZp_typeid_declarator_2rr)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorrrZp_typeid_noparen_declarator_1rr)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorrrZp_typeid_noparen_declarator_2rr)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_declarationrArZp_translation_unit_1rr)z9translation_unit -> translation_unit external_declarationrArZp_translation_unit_2rr)z+external_declaration -> function_definitionrCrZp_external_declaration_1ri)z#external_declaration -> declarationrCrZp_external_declaration_2ri")z$external_declaration -> pp_directiverCrp_external_declaration_3ri')z*external_declaration -> pppragma_directiverCrrri()zexternal_declaration -> SEMIrCrZp_external_declaration_4ri-)zpp_directive -> PPHASHrFrZp_pp_directiveri2)zpppragma_directive -> PPPRAGMArGrp_pppragma_directiveri8)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRrGrrri9)zLfunction_definition -> id_declarator declaration_list_opt compound_statementrDrZp_function_definition_1riD)zcfunction_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statementrDrZp_function_definition_2riU)zstatement -> labeled_statementrvr p_statementri`)z!statement -> expression_statementrvrrria)zstatement -> compound_statementrvrrrib)z statement -> selection_statementrvrrric)z statement -> iteration_statementrvrrrid)zstatement -> jump_statementrvrrrie)zstatement -> pppragma_directivervrrrif)z7pragmacomp_or_statement -> pppragma_directive statementrrp_pragmacomp_or_statementri)z$pragmacomp_or_statement -> statementrrrri)z declaration_specifiers init_declarator_list_optrJr p_decl_bodyri)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optrJrrri)zdeclaration -> decl_body SEMIrErZ p_declarationri)zdeclaration_list -> declarationrXrp_declaration_listri)z0declaration_list -> declaration_list declarationrXrrri)zSdeclaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_1ri)z\declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_2ri)zWdeclaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_3ri)z?declaration_specifiers -> declaration_specifiers type_qualifierrIrZp_declaration_specifiers_1ri )zHdeclaration_specifiers -> declaration_specifiers storage_class_specifierrIrZp_declaration_specifiers_2ri)zCdeclaration_specifiers -> declaration_specifiers function_specifierrIrZp_declaration_specifiers_3ri)zIdeclaration_specifiers -> declaration_specifiers type_specifier_no_typeidrIrZp_declaration_specifiers_4ri)z(declaration_specifiers -> type_specifierrIrZp_declaration_specifiers_5ri)zGdeclaration_specifiers -> declaration_specifiers_no_type type_specifierrIrZp_declaration_specifiers_6ri")zstorage_class_specifier -> AUTOrNrp_storage_class_specifierri()z#storage_class_specifier -> REGISTERrNrrri))z!storage_class_specifier -> STATICrNrrri*)z!storage_class_specifier -> EXTERNrNrrri+)z"storage_class_specifier -> TYPEDEFrNrrri,)zfunction_specifier -> INLINErOrZp_function_specifierri1)z type_specifier_no_typeid -> VOIDrPrp_type_specifier_no_typeidri6)z!type_specifier_no_typeid -> _BOOLrPrrri7)z type_specifier_no_typeid -> CHARrPrrri8)z!type_specifier_no_typeid -> SHORTrPrrri9)ztype_specifier_no_typeid -> INTrPrrri:)z type_specifier_no_typeid -> LONGrPrrri;)z!type_specifier_no_typeid -> FLOATrPrrri<)z"type_specifier_no_typeid -> DOUBLErPrrri=)z$type_specifier_no_typeid -> _COMPLEXrPrrri>)z"type_specifier_no_typeid -> SIGNEDrPrrri?)z$type_specifier_no_typeid -> UNSIGNEDrPrrri@)z$type_specifier_no_typeid -> __INT128rPrrriA)ztype_specifier -> typedef_namerQrp_type_specifierriF)z type_specifier -> enum_specifierrQrrriG)z+type_specifier -> struct_or_union_specifierrQrrriH)z*type_specifier -> type_specifier_no_typeidrQrrriI)ztype_qualifier -> CONSTrMrp_type_qualifierriN)ztype_qualifier -> RESTRICTrMrrriO)ztype_qualifier -> VOLATILErMrrriP)z'init_declarator_list -> init_declaratorrZrp_init_declarator_listriU)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorrZrrriV)zinit_declarator -> declaratorr[rp_init_declaratorri^)z0init_declarator -> declarator EQUALS initializerr[rrri_)z-id_init_declarator_list -> id_init_declaratorrarp_id_init_declarator_listrid)zHid_init_declarator_list -> id_init_declarator_list COMMA init_declaratorrarrrie)z#id_init_declarator -> id_declaratorrbrp_id_init_declaratorrij)z6id_init_declarator -> id_declarator EQUALS initializerrbrrrik)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidrrrZp_specifier_qualifier_list_1rir)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierrrrZp_specifier_qualifier_list_2riw)z*specifier_qualifier_list -> type_specifierrrrZp_specifier_qualifier_list_3ri|)z>specifier_qualifier_list -> type_qualifier_list type_specifierrrrZp_specifier_qualifier_list_4ri)z/struct_or_union_specifier -> struct_or_union IDrUrp_struct_or_union_specifier_1ri)z3struct_or_union_specifier -> struct_or_union TYPEIDrUrrri)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closerUrp_struct_or_union_specifier_2ri)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closerUrrri)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closerUrp_struct_or_union_specifier_3ri)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closerUrrri)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closerUrrri)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closerUrrri)zstruct_or_union -> STRUCTrVrp_struct_or_unionri)zstruct_or_union -> UNIONrVrrri)z-struct_declaration_list -> struct_declarationrorp_struct_declaration_listri)zEstruct_declaration_list -> struct_declaration_list struct_declarationrorrri)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIrqrZp_struct_declaration_1ri)zstruct_declaration -> SEMIrqrZp_struct_declaration_2ri)z(struct_declaration -> pppragma_directiverqrZp_struct_declaration_3ri)z+struct_declarator_list -> struct_declaratorrrp_struct_declarator_listri)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorrrrri)zstruct_declarator -> declaratorrrZp_struct_declarator_1ri)z9struct_declarator -> declarator COLON constant_expressionrrp_struct_declarator_2ri )z.struct_declarator -> COLON constant_expressionrrrri )zenum_specifier -> ENUM IDrTrp_enum_specifier_1ri)zenum_specifier -> ENUM TYPEIDrTrrri)z=enum_specifier -> ENUM brace_open enumerator_list brace_closerTrZp_enum_specifier_2ri)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closerTrp_enum_specifier_3ri)zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closerTrrri)zenumerator_list -> enumeratorrmrp_enumerator_listri#)z(enumerator_list -> enumerator_list COMMArmrrri$)z3enumerator_list -> enumerator_list COMMA enumeratorrmrrri%)zenumerator -> IDrnr p_enumeratorri0)z+enumerator -> ID EQUALS constant_expressionrnrrri1)zdeclarator -> id_declaratorr\r p_declaratorri@)zdeclarator -> typeid_declaratorr\rrriA)z(pointer -> TIMES type_qualifier_list_optrLr p_pointerri)z0pointer -> TIMES type_qualifier_list_opt pointerrLrrri)z%type_qualifier_list -> type_qualifierrdrp_type_qualifier_listri)z9type_qualifier_list -> type_qualifier_list type_qualifierrdrrri)z%parameter_type_list -> parameter_listrgrp_parameter_type_listri)z4parameter_type_list -> parameter_list COMMA ELLIPSISrgrrri)z'parameter_list -> parameter_declarationrirp_parameter_listri)z parameter_list COMMA parameter_declarationrirrri)z=parameter_declaration -> declaration_specifiers id_declaratorrkrp_parameter_declaration_1ri)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorrkrrri)zGparameter_declaration -> declaration_specifiers abstract_declarator_optrkrZp_parameter_declaration_2ri)zidentifier_list -> identifierrjrp_identifier_listri)z3identifier_list -> identifier_list COMMA identifierrjrrri)z$initializer -> assignment_expressionrrZp_initializer_1ri&)z:initializer -> brace_open initializer_list_opt brace_closerrp_initializer_2ri+)z brace_open initializer_list COMMA brace_closerrrri,)z/initializer_list -> designation_opt initializerrrp_initializer_listri4)zFinitializer_list -> initializer_list COMMA designation_opt initializerrrrri5)z%designation -> designator_list EQUALSrrZ p_designationri@)zdesignator_list -> designatorrrp_designator_listriH)z-designator_list -> designator_list designatorrrrriI)z3designator -> LBRACKET constant_expression RBRACKETrr p_designatorriN)zdesignator -> PERIOD identifierrrrriO)z=type_name -> specifier_qualifier_list abstract_declarator_optrrZ p_type_nameriT)zabstract_declarator -> pointerrrZp_abstract_declarator_1ri_)z9abstract_declarator -> pointer direct_abstract_declaratorrrZp_abstract_declarator_2rig)z1abstract_declarator -> direct_abstract_declaratorrrZp_abstract_declarator_3ril)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENrrZp_direct_abstract_declarator_1riv)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETrrZp_direct_abstract_declarator_2riz)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrZp_direct_abstract_declarator_3ri)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETrrZp_direct_abstract_declarator_4ri)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETrrZp_direct_abstract_declarator_5ri)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENrrZp_direct_abstract_declarator_6ri)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENrrZp_direct_abstract_declarator_7ri)zblock_item -> declarationrur p_block_itemri)zblock_item -> statementrurrri)zblock_item_list -> block_itemrtrp_block_item_listri)z-block_item_list -> block_item_list block_itemrtrrri)z@compound_statement -> brace_open block_item_list_opt brace_closerfrZp_compound_statement_1ri)z5labeled_statement -> ID COLON pragmacomp_or_statementrwrZp_labeled_statement_1ri)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrwrZp_labeled_statement_2ri)z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrwrZp_labeled_statement_3ri)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementryrZp_selection_statement_1ri)zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementryrZp_selection_statement_2ri)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementryrZp_selection_statement_3ri)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrzrZp_iteration_statement_1ri)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrzrZp_iteration_statement_2ri)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrzr Zp_iteration_statement_3ri)zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrzr Zp_iteration_statement_4ri)zjump_statement -> GOTO ID SEMIr{rZp_jump_statement_1ri)zjump_statement -> BREAK SEMIr{rZp_jump_statement_2ri)zjump_statement -> CONTINUE SEMIr{rZp_jump_statement_3ri)z(jump_statement -> RETURN expression SEMIr{rp_jump_statement_4ri)zjump_statement -> RETURN SEMIr{rrri)z+expression_statement -> expression_opt SEMIrxrZp_expression_statementri )z#expression -> assignment_expressionr}r p_expressionri)z4expression -> expression COMMA assignment_expressionr}rrri)ztypedef_name -> TYPEIDrSrZp_typedef_nameri)z/assignment_expression -> conditional_expressionr~rp_assignment_expressionri!)zSassignment_expression -> unary_expression assignment_operator assignment_expressionr~rrri")zassignment_operator -> EQUALSrrp_assignment_operatorri/)zassignment_operator -> XOREQUALrrrri0)z!assignment_operator -> TIMESEQUALrrrri1)zassignment_operator -> DIVEQUALrrrri2)zassignment_operator -> MODEQUALrrrri3)z assignment_operator -> PLUSEQUALrrrri4)z!assignment_operator -> MINUSEQUALrrrri5)z"assignment_operator -> LSHIFTEQUALrrrri6)z"assignment_operator -> RSHIFTEQUALrrrri7)zassignment_operator -> ANDEQUALrrrri8)zassignment_operator -> OREQUALrrrri9)z-constant_expression -> conditional_expressionrrZp_constant_expressionri>)z+conditional_expression -> binary_expressionrrp_conditional_expressionriB)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionrrrriC)z$binary_expression -> cast_expressionrrp_binary_expressionriK)z>binary_expression -> binary_expression TIMES binary_expressionrrrriL)z?binary_expression -> binary_expression DIVIDE binary_expressionrrrriM)z binary_expression MOD binary_expressionrrrriN)z=binary_expression -> binary_expression PLUS binary_expressionrrrriO)z>binary_expression -> binary_expression MINUS binary_expressionrrrriP)z?binary_expression -> binary_expression RSHIFT binary_expressionrrrriQ)z?binary_expression -> binary_expression LSHIFT binary_expressionrrrriR)z;binary_expression -> binary_expression LT binary_expressionrrrriS)z;binary_expression -> binary_expression LE binary_expressionrrrriT)z;binary_expression -> binary_expression GE binary_expressionrrrriU)z;binary_expression -> binary_expression GT binary_expressionrrrriV)z;binary_expression -> binary_expression EQ binary_expressionrrrriW)z;binary_expression -> binary_expression NE binary_expressionrrrriX)z binary_expression AND binary_expressionrrrriY)z;binary_expression -> binary_expression OR binary_expressionrrrriZ)z binary_expression XOR binary_expressionrrrri[)z=binary_expression -> binary_expression LAND binary_expressionrrrri\)z binary_expression LOR binary_expressionrrrri])z#cast_expression -> unary_expressionrrZp_cast_expression_1rie)z:cast_expression -> LPAREN type_name RPAREN cast_expressionrrZp_cast_expression_2rii)z&unary_expression -> postfix_expressionrrZp_unary_expression_1rim)z-unary_expression -> PLUSPLUS unary_expressionrrp_unary_expression_2riq)z/unary_expression -> MINUSMINUS unary_expressionrrrrir)z2unary_expression -> unary_operator cast_expressionrrrris)z+unary_expression -> SIZEOF unary_expressionrrp_unary_expression_3rix)z2unary_expression -> SIZEOF LPAREN type_name RPARENrrrriy)zunary_operator -> ANDrrp_unary_operatorri)zunary_operator -> TIMESrrrri)zunary_operator -> PLUSrrrri)zunary_operator -> MINUSrrrri)zunary_operator -> NOTrrrri)zunary_operator -> LNOTrrrri)z(postfix_expression -> primary_expressionrrZp_postfix_expression_1ri)zEpostfix_expression -> postfix_expression LBRACKET expression RBRACKETrrZp_postfix_expression_2ri)zOpostfix_expression -> postfix_expression LPAREN argument_expression_list RPARENrrp_postfix_expression_3ri)z6postfix_expression -> postfix_expression LPAREN RPARENrrrri)z2postfix_expression -> postfix_expression PERIOD IDrrp_postfix_expression_4ri)z6postfix_expression -> postfix_expression PERIOD TYPEIDrrrri)z1postfix_expression -> postfix_expression ARROW IDrrrri)z5postfix_expression -> postfix_expression ARROW TYPEIDrrrri)z1postfix_expression -> postfix_expression PLUSPLUSrrp_postfix_expression_5ri)z3postfix_expression -> postfix_expression MINUSMINUSrrrri)zUpostfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_closerrp_postfix_expression_6ri)z[postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_closerrrri)z primary_expression -> identifierrrZp_primary_expression_1ri)zprimary_expression -> constantrrZp_primary_expression_2ri)z,primary_expression -> unified_string_literalrrp_primary_expression_3ri)z-primary_expression -> unified_wstring_literalrrrri)z.primary_expression -> LPAREN expression RPARENrrZp_primary_expression_4ri)zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENrrZp_primary_expression_5ri)z(offsetof_member_designator -> identifierrrp_offsetof_member_designatorri)zJoffsetof_member_designator -> offsetof_member_designator PERIOD identifierrrrri)zUoffsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKETrrrri)z1argument_expression_list -> assignment_expressionrrp_argument_expression_listri)zPargument_expression_list -> argument_expression_list COMMA assignment_expressionrrrri)zidentifier -> IDrlrZ p_identifierri)zconstant -> INT_CONST_DECrr p_constant_1ri)zconstant -> INT_CONST_OCTrrrri)zconstant -> INT_CONST_HEXrrrri)zconstant -> INT_CONST_BINrrrri)zconstant -> INT_CONST_CHARrrrri)zconstant -> FLOAT_CONSTrr p_constant_2ri)zconstant -> HEX_FLOAT_CONSTrrrri)zconstant -> CHAR_CONSTrr p_constant_3ri )zconstant -> WCHAR_CONSTrrrri )z(unified_string_literal -> STRING_LITERALrrp_unified_string_literalri)z?unified_string_literal -> unified_string_literal STRING_LITERALrrrri)z*unified_wstring_literal -> WSTRING_LITERALrrp_unified_wstring_literalri#)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALrrrri$)zbrace_open -> LBRACErerZ p_brace_openri.)zbrace_close -> RBRACErprZ p_brace_closeri4)zempty -> rBrZp_emptyri:N)Z _tabversionZ _lr_methodZ _lr_signatureZ_lr_action_itemsZ _lr_actionitemsZ_kZ_vzipZ_xZ_yZ_lr_goto_itemsZ_lr_gotoZ_lr_productionsrr5/usr/lib/python3.9/site-packages/pycparser/yacctab.pys6