X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/5636bb2c2537506718da74f85a2b81a5ff3df16f..b23ff9c7302ebf30b88a122d92bbfd8656f4d192:/parsing_cocci/parser_cocci_menhir.ml diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index b7b84d2..367bcf3 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -2,436 +2,478 @@ exception Error type token = | Tvolatile of ( -# 76 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 8 "parser_cocci_menhir.ml" ) | Tvoid of ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 13 "parser_cocci_menhir.ml" ) | Tunsigned of ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 18 "parser_cocci_menhir.ml" ) | Tunion of ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 23 "parser_cocci_menhir.ml" ) | Ttypedef of ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 28 "parser_cocci_menhir.ml" ) | Tstruct of ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 33 "parser_cocci_menhir.ml" ) | Tstatic of ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 38 "parser_cocci_menhir.ml" ) - | Tsigned of ( -# 73 "parser_cocci_menhir.mly" + | Tssize_t of ( +# 115 "parser_cocci_menhir.mly" (Data.clt) # 43 "parser_cocci_menhir.ml" ) - | Tshort of ( -# 71 "parser_cocci_menhir.mly" + | Tsize_t of ( +# 115 "parser_cocci_menhir.mly" (Data.clt) # 48 "parser_cocci_menhir.ml" ) - | Tregister of ( -# 75 "parser_cocci_menhir.mly" + | Tsigned of ( +# 117 "parser_cocci_menhir.mly" (Data.clt) # 53 "parser_cocci_menhir.ml" ) - | Tlong of ( -# 71 "parser_cocci_menhir.mly" + | Tshort of ( +# 114 "parser_cocci_menhir.mly" (Data.clt) # 58 "parser_cocci_menhir.ml" +) + | Tregister of ( +# 119 "parser_cocci_menhir.mly" + (Data.clt) +# 63 "parser_cocci_menhir.ml" +) + | Tptrdiff_t of ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 68 "parser_cocci_menhir.ml" +) + | Tlong of ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 73 "parser_cocci_menhir.ml" ) | Tlist | Tint of ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 64 "parser_cocci_menhir.ml" +# 79 "parser_cocci_menhir.ml" ) | Tinline of ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 69 "parser_cocci_menhir.ml" +# 84 "parser_cocci_menhir.ml" ) | Tfloat of ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 74 "parser_cocci_menhir.ml" +# 89 "parser_cocci_menhir.ml" ) | Textern of ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 79 "parser_cocci_menhir.ml" +# 94 "parser_cocci_menhir.ml" ) | Tenum of ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 84 "parser_cocci_menhir.ml" +# 99 "parser_cocci_menhir.ml" ) | Tdouble of ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 89 "parser_cocci_menhir.ml" +# 104 "parser_cocci_menhir.ml" ) | Tconst of ( -# 76 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 94 "parser_cocci_menhir.ml" +# 109 "parser_cocci_menhir.ml" ) | Tchar of ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 99 "parser_cocci_menhir.ml" +# 114 "parser_cocci_menhir.ml" ) | Tauto of ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 104 "parser_cocci_menhir.ml" +# 119 "parser_cocci_menhir.ml" ) | Tattr of ( -# 77 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 109 "parser_cocci_menhir.ml" +# 124 "parser_cocci_menhir.ml" ) | TXor of ( -# 115 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 114 "parser_cocci_menhir.ml" +# 129 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 121 "parser_cocci_menhir.ml" +# 136 "parser_cocci_menhir.ml" ) | TWhile of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 126 "parser_cocci_menhir.ml" +# 141 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 131 "parser_cocci_menhir.ml" +# 146 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 136 "parser_cocci_menhir.ml" +# 151 "parser_cocci_menhir.ml" ) | TWhen of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 141 "parser_cocci_menhir.ml" +# 156 "parser_cocci_menhir.ml" ) | TVirtual | TUsing + | TUnderscore + | TUndef of ( +# 148 "parser_cocci_menhir.mly" + (Data.clt * token) +# 164 "parser_cocci_menhir.ml" +) | TTypedef | TTypeId of ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 149 "parser_cocci_menhir.ml" +# 170 "parser_cocci_menhir.ml" ) | TType | TTildeExclEq of ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 155 "parser_cocci_menhir.ml" +# 176 "parser_cocci_menhir.ml" ) | TTildeEq of ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 160 "parser_cocci_menhir.ml" +# 181 "parser_cocci_menhir.ml" ) | TTilde of ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 165 "parser_cocci_menhir.ml" +# 186 "parser_cocci_menhir.ml" ) | TSwitch of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 170 "parser_cocci_menhir.ml" +# 191 "parser_cocci_menhir.ml" ) | TSub of ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 175 "parser_cocci_menhir.ml" +# 196 "parser_cocci_menhir.ml" ) | TString of ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 180 "parser_cocci_menhir.ml" +# 201 "parser_cocci_menhir.ml" ) | TStrict of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 185 "parser_cocci_menhir.ml" +# 206 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 191 "parser_cocci_menhir.ml" +# 212 "parser_cocci_menhir.ml" ) - | TShOp of ( -# 119 "parser_cocci_menhir.mly" + | TShROp of ( +# 163 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 196 "parser_cocci_menhir.ml" +# 217 "parser_cocci_menhir.ml" +) + | TShLOp of ( +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 222 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 94 "parser_cocci_menhir.mly" +# 138 "parser_cocci_menhir.mly" (string) -# 201 "parser_cocci_menhir.ml" +# 227 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 207 "parser_cocci_menhir.ml" +# 233 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 213 "parser_cocci_menhir.ml" +# 239 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( -# 127 "parser_cocci_menhir.mly" +# 171 "parser_cocci_menhir.mly" (Data.clt) -# 219 "parser_cocci_menhir.ml" +# 245 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 224 "parser_cocci_menhir.ml" +# 250 "parser_cocci_menhir.ml" ) | TPragma of ( -# 82 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) -# 229 "parser_cocci_menhir.ml" +# 255 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 106 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (string * Data.clt) -# 236 "parser_cocci_menhir.ml" +# 262 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 242 "parser_cocci_menhir.ml" +# 268 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 102 "parser_cocci_menhir.mly" +# 146 "parser_cocci_menhir.mly" (string) -# 247 "parser_cocci_menhir.ml" +# 273 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 253 "parser_cocci_menhir.ml" +# 279 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 258 "parser_cocci_menhir.ml" +# 284 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 112 "parser_cocci_menhir.mly" +# 156 "parser_cocci_menhir.mly" (Data.clt) -# 264 "parser_cocci_menhir.ml" +# 290 "parser_cocci_menhir.ml" ) | TOr of ( -# 114 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 269 "parser_cocci_menhir.ml" +# 295 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 275 "parser_cocci_menhir.ml" +# 301 "parser_cocci_menhir.ml" ) | TOPar of ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 280 "parser_cocci_menhir.ml" +# 306 "parser_cocci_menhir.ml" ) | TOInit of ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 285 "parser_cocci_menhir.ml" +# 311 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 290 "parser_cocci_menhir.ml" +# 316 "parser_cocci_menhir.ml" ) | TOCro of ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 295 "parser_cocci_menhir.ml" +# 321 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 300 "parser_cocci_menhir.ml" +# 326 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 306 "parser_cocci_menhir.ml" +# 332 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 313 "parser_cocci_menhir.ml" +# 339 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 106 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (string * Data.clt) -# 318 "parser_cocci_menhir.ml" +# 344 "parser_cocci_menhir.ml" ) | TMinus of ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 323 "parser_cocci_menhir.ml" +# 349 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 328 "parser_cocci_menhir.ml" +# 354 "parser_cocci_menhir.ml" ) + | TMetavariable | TMetaType of ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 333 "parser_cocci_menhir.ml" +# 360 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 338 "parser_cocci_menhir.ml" +# 365 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 343 "parser_cocci_menhir.ml" +# 370 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 91 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 348 "parser_cocci_menhir.ml" +# 375 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 89 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 353 "parser_cocci_menhir.ml" +# 380 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 358 "parser_cocci_menhir.ml" +# 385 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 363 "parser_cocci_menhir.ml" +# 390 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 368 "parser_cocci_menhir.ml" +# 395 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 85 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 373 "parser_cocci_menhir.ml" +# 400 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 88 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 378 "parser_cocci_menhir.ml" +# 405 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 383 "parser_cocci_menhir.ml" +# 410 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 388 "parser_cocci_menhir.ml" +# 415 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 393 "parser_cocci_menhir.ml" +# 420 "parser_cocci_menhir.ml" +) + | TMetaField of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 425 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 89 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 398 "parser_cocci_menhir.ml" +# 430 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 403 "parser_cocci_menhir.ml" +# 435 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 86 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 408 "parser_cocci_menhir.ml" +# 440 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 85 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 413 "parser_cocci_menhir.ml" +# 445 "parser_cocci_menhir.ml" +) + | TMetaDecl of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 450 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 418 "parser_cocci_menhir.ml" +# 455 "parser_cocci_menhir.ml" +) + | TMeta of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 460 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 118 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 424 "parser_cocci_menhir.ml" +# 466 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 430 "parser_cocci_menhir.ml" +# 472 "parser_cocci_menhir.ml" ) | TIteratorId of ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 435 "parser_cocci_menhir.ml" +# 477 "parser_cocci_menhir.ml" ) | TIterator | TIsoType @@ -445,224 +487,226 @@ type token = | TIso | TInvalid | TInt of ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 451 "parser_cocci_menhir.ml" +# 493 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 103 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string * Data.clt) -# 458 "parser_cocci_menhir.ml" +# 500 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 103 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string * Data.clt) -# 463 "parser_cocci_menhir.ml" +# 505 "parser_cocci_menhir.ml" ) | TInc of ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 468 "parser_cocci_menhir.ml" +# 510 "parser_cocci_menhir.ml" ) | TIf of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 473 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 479 "parser_cocci_menhir.ml" +# 521 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 485 "parser_cocci_menhir.ml" +# 527 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 492 "parser_cocci_menhir.ml" +# 534 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 499 "parser_cocci_menhir.ml" +# 541 "parser_cocci_menhir.ml" ) | TFloat of ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 504 "parser_cocci_menhir.ml" +# 546 "parser_cocci_menhir.ml" ) | TFinalize + | TField | TExtends | TExpression | TExists | TEver | TError | TEqEq of ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 515 "parser_cocci_menhir.ml" +# 558 "parser_cocci_menhir.ml" ) | TEq of ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 520 "parser_cocci_menhir.ml" +# 563 "parser_cocci_menhir.ml" ) | TElse of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 525 "parser_cocci_menhir.ml" +# 568 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 530 "parser_cocci_menhir.ml" +# 573 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 535 "parser_cocci_menhir.ml" +# 578 "parser_cocci_menhir.ml" ) | TDot of ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 540 "parser_cocci_menhir.ml" +# 583 "parser_cocci_menhir.ml" ) | TDo of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 545 "parser_cocci_menhir.ml" +# 588 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 120 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 550 "parser_cocci_menhir.ml" +# 593 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 105 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 557 "parser_cocci_menhir.ml" +# 600 "parser_cocci_menhir.ml" ) | TDefine of ( -# 104 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (Data.clt * token) -# 562 "parser_cocci_menhir.ml" +# 605 "parser_cocci_menhir.ml" ) | TDefault of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 567 "parser_cocci_menhir.ml" +# 610 "parser_cocci_menhir.ml" ) | TDeclarerId of ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 572 "parser_cocci_menhir.ml" +# 615 "parser_cocci_menhir.ml" ) | TDeclarer + | TDeclaration | TDec of ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 578 "parser_cocci_menhir.ml" +# 622 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 584 "parser_cocci_menhir.ml" +# 628 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 591 "parser_cocci_menhir.ml" +# 635 "parser_cocci_menhir.ml" ) | TChar of ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 596 "parser_cocci_menhir.ml" +# 640 "parser_cocci_menhir.ml" ) | TCase of ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 601 "parser_cocci_menhir.ml" +# 645 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 606 "parser_cocci_menhir.ml" +# 650 "parser_cocci_menhir.ml" ) | TCPar of ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 611 "parser_cocci_menhir.ml" +# 655 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 616 "parser_cocci_menhir.ml" +# 660 "parser_cocci_menhir.ml" ) | TCCro of ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 621 "parser_cocci_menhir.ml" +# 665 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 626 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.ml" ) | TBreak of ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 631 "parser_cocci_menhir.ml" +# 675 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 637 "parser_cocci_menhir.ml" +# 681 "parser_cocci_menhir.ml" ) | TAssign of ( -# 131 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 642 "parser_cocci_menhir.ml" +# 686 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 97 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 649 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 113 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 654 "parser_cocci_menhir.ml" +# 698 "parser_cocci_menhir.ml" ) | TAnd of ( -# 116 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 659 "parser_cocci_menhir.ml" +# 703 "parser_cocci_menhir.ml" ) | EOF and _menhir_jeton = token -# 45 "parser_cocci_menhir.mly" +# 25 "parser_cocci_menhir.mly" (* Not clear how to allow function declarations to specify a return type @@ -677,7 +721,70 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 681 "parser_cocci_menhir.ml" +(* ---------------------------------------------------------------------- *) +(* support for TMeta *) + +let print_meta (r,n) = r^"."^n + +let meta_metatable = Hashtbl.create(101) + +let coerce_tmeta newty name builder matcher = + try + let x = Hashtbl.find meta_metatable name in + if not (matcher x) + then + failwith + (Printf.sprintf "Metavariable %s is used as %s" + (print_meta name) newty) + with Not_found -> + (if !Flag_parsing_cocci.show_SP + then + Common.pr2 + (Printf.sprintf + "Metavariable %s is assumed to be %s metavariable" + (print_meta name) newty)); + Hashtbl.add meta_metatable name builder + +let tmeta_to_type (name,pure,clt) = + (coerce_tmeta "a type" name (TMetaType(name,pure,clt)) + (function TMetaType(_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure)) + +let tmeta_to_field (name,pure,clt) = + (coerce_tmeta "a field" name (TMetaField(name,pure,clt)) + (function TMetaField(_,_,_) -> true | _ -> false)); + P.meta_field (name,pure,clt) + +let tmeta_to_exp (name,pure,clt) = + (coerce_tmeta "an expression" name + (TMetaExp(name,Ast0.NoConstraint,pure,None,clt)) + (function TMetaExp(_,_,_,_,_) -> true | _ -> false)); + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure)) + +let tmeta_to_param (name,pure,clt) = + (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt)) + (function TMetaParam(_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure)) + +let tmeta_to_statement (name,pure,clt) = + (coerce_tmeta "a statement" name (TMetaType(name,pure,clt)) + (function TMetaType(_,_,_) -> true | _ -> false)); + P.meta_stm (name,pure,clt) + +let tmeta_to_seed_id (name,pure,clt) = + (coerce_tmeta "an identifier" name + (TMetaId(name,Ast.IdNoConstraint,pure,clt)) + (function TMetaId(_,_,_,_) -> true | _ -> false)); + Ast.SeedId name + +let tmeta_to_ident (name,pure,clt) = + (coerce_tmeta "an identifier" name + (TMetaId(name,Ast.IdNoConstraint,pure,clt)) + (function TMetaId(_,_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure)) + +# 788 "parser_cocci_menhir.ml" let _eRR = Error @@ -691,344 +798,368 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 177 + 189 | TAnd _ -> - 176 + 188 | TAndLog _ -> - 175 + 187 | TAny _ -> - 174 + 186 | TArob -> - 173 + 185 | TArobArob -> - 172 + 184 | TAssign _ -> - 171 + 183 | TBang _ -> - 170 + 182 | TBang0 -> - 169 + 181 | TBreak _ -> - 168 + 180 | TCBrace _ -> - 167 + 179 | TCCro _ -> - 166 + 178 | TCEllipsis _ -> - 165 + 177 | TCPar _ -> - 164 + 176 | TCPar0 _ -> - 163 + 175 | TCase _ -> - 162 + 174 | TChar _ -> - 161 + 173 | TComma _ -> - 160 + 172 | TConstant -> - 159 + 171 | TContext -> - 158 + 170 | TContinue _ -> - 157 + 169 | TCppConcatOp -> - 156 + 168 | TDec _ -> - 155 + 167 + | TDeclaration -> + 166 | TDeclarer -> - 154 + 165 | TDeclarerId _ -> - 153 + 164 | TDefault _ -> - 152 + 163 | TDefine _ -> - 151 + 162 | TDefineParam _ -> - 150 + 161 | TDepends -> - 149 + 160 | TDisable -> - 148 + 159 | TDmOp _ -> - 147 + 158 | TDo _ -> - 146 + 157 | TDot _ -> - 145 + 156 | TDotDot _ -> - 144 + 155 | TEllipsis _ -> - 143 + 154 | TElse _ -> - 142 + 153 | TEq _ -> - 141 + 152 | TEqEq _ -> - 140 + 151 | TError -> - 139 + 150 | TEver -> - 138 + 149 | TExists -> - 137 + 148 | TExpression -> - 136 + 147 | TExtends -> - 135 + 146 + | TField -> + 145 | TFinalize -> - 134 + 144 | TFloat _ -> - 133 + 143 | TFor _ -> - 132 + 142 | TForall -> - 131 + 141 | TFresh -> - 130 + 140 | TFunDecl _ -> - 129 + 139 | TFunction -> - 128 + 138 | TGenerated -> - 127 + 137 | TGoto _ -> - 126 + 136 | TIdExpression -> - 125 + 135 | TIdent _ -> - 124 + 134 | TIdentifier -> - 123 + 133 | TIf _ -> - 122 + 132 | TInc _ -> - 121 + 131 | TIncludeL _ -> - 120 + 130 | TIncludeNL _ -> - 119 + 129 | TInitialiser -> - 118 + 128 | TInitialize -> - 117 + 127 | TInt _ -> - 116 + 126 | TInvalid -> - 115 + 125 | TIso -> - 114 + 124 | TIsoArgExpression -> - 113 + 123 | TIsoDeclaration -> - 112 + 122 | TIsoExpression -> - 111 + 121 | TIsoStatement -> - 110 + 120 | TIsoTestExpression -> - 109 + 119 | TIsoToTestExpression -> - 108 + 118 | TIsoTopLevel -> - 107 + 117 | TIsoType -> - 106 + 116 | TIterator -> - 105 + 115 | TIteratorId _ -> - 104 + 114 | TLineEnd _ -> - 103 + 113 | TLocal -> - 102 + 112 | TLogOp _ -> - 101 + 111 | TMPtVirg -> - 100 + 110 + | TMeta _ -> + 109 | TMetaConst _ -> - 99 + 108 + | TMetaDecl _ -> + 107 | TMetaDeclarer _ -> - 98 + 106 | TMetaErr _ -> - 97 + 105 | TMetaExp _ -> - 96 + 104 | TMetaExpList _ -> - 95 + 103 + | TMetaField _ -> + 102 | TMetaFunc _ -> - 94 + 101 | TMetaId _ -> - 93 + 100 | TMetaIdExp _ -> - 92 + 99 | TMetaInit _ -> - 91 + 98 | TMetaIterator _ -> - 90 + 97 | TMetaLocalFunc _ -> - 89 + 96 | TMetaLocalIdExp _ -> - 88 + 95 | TMetaParam _ -> - 87 + 94 | TMetaParamList _ -> - 86 + 93 | TMetaPos _ -> - 85 + 92 | TMetaStm _ -> - 84 + 91 | TMetaStmList _ -> - 83 + 90 | TMetaType _ -> - 82 + 89 + | TMetavariable -> + 88 | TMid0 _ -> - 81 + 87 | TMinus _ -> - 80 + 86 | TMinusFile _ -> - 79 + 85 | TMul _ -> - 78 + 84 | TName -> - 77 + 83 | TNever -> - 76 + 82 | TNotEq _ -> - 75 + 81 | TNothing -> - 74 + 80 | TOBrace _ -> - 73 + 79 | TOCro _ -> - 72 + 78 | TOEllipsis _ -> - 71 + 77 | TOInit _ -> - 70 + 76 | TOPar _ -> - 69 + 75 | TOPar0 _ -> - 68 + 74 | TOn -> - 67 + 73 | TOr _ -> - 66 + 72 | TOrLog _ -> - 65 + 71 | TPArob -> - 64 + 70 | TPCEllipsis _ -> - 63 + 69 | TPOEllipsis _ -> - 62 + 68 | TParameter -> - 61 + 67 | TPathIsoFile _ -> - 60 + 66 | TPlus _ -> - 59 + 65 | TPlus0 -> - 58 + 64 | TPlusFile _ -> - 57 + 63 | TPosAny -> - 56 + 62 | TPosition -> - 55 + 61 | TPragma _ -> - 54 + 60 | TPtVirg _ -> - 53 + 59 | TPtrOp _ -> - 52 + 58 | TPure -> - 51 + 57 | TReturn _ -> - 50 + 56 | TRightIso -> - 49 + 55 | TRuleName _ -> - 48 + 54 | TScript -> - 47 + 53 | TScriptData _ -> + 52 + | TShLOp _ -> + 51 + | TShROp _ -> + 50 + | TSizeof _ -> + 49 + | TStatement -> + 48 + | TStrict _ -> + 47 + | TString _ -> 46 - | TShOp _ -> + | TSub _ -> 45 - | TSizeof _ -> + | TSwitch _ -> 44 - | TStatement -> + | TTilde _ -> 43 - | TStrict _ -> + | TTildeEq _ -> 42 - | TString _ -> + | TTildeExclEq _ -> 41 - | TSub _ -> + | TType -> 40 - | TSwitch _ -> + | TTypeId _ -> 39 - | TTilde _ -> + | TTypedef -> 38 - | TTildeEq _ -> + | TUndef _ -> 37 - | TTildeExclEq _ -> + | TUnderscore -> 36 - | TType -> + | TUsing -> 35 - | TTypeId _ -> + | TVirtual -> 34 - | TTypedef -> + | TWhen _ -> 33 - | TUsing -> + | TWhenFalse _ -> 32 - | TVirtual -> + | TWhenTrue _ -> 31 - | TWhen _ -> + | TWhile _ -> 30 - | TWhenFalse _ -> + | TWhy _ -> 29 - | TWhenTrue _ -> + | TWhy0 -> 28 - | TWhile _ -> + | TWords -> 27 - | TWhy _ -> + | TXor _ -> 26 - | TWhy0 -> + | Tattr _ -> 25 - | TWords -> + | Tauto _ -> 24 - | TXor _ -> + | Tchar _ -> 23 - | Tattr _ -> + | Tconst _ -> 22 - | Tauto _ -> + | Tdouble _ -> 21 - | Tchar _ -> + | Tenum _ -> 20 - | Tconst _ -> + | Textern _ -> 19 - | Tdouble _ -> + | Tfloat _ -> 18 - | Tenum _ -> + | Tinline _ -> 17 - | Textern _ -> + | Tint _ -> 16 - | Tfloat _ -> + | Tlist -> 15 - | Tinline _ -> + | Tlong _ -> 14 - | Tint _ -> + | Tptrdiff_t _ -> 13 - | Tlist -> + | Tregister _ -> 12 - | Tlong _ -> + | Tshort _ -> 11 - | Tregister _ -> + | Tsigned _ -> 10 - | Tshort _ -> + | Tsize_t _ -> 9 - | Tsigned _ -> + | Tssize_t _ -> 8 | Tstatic _ -> 7 @@ -1097,6 +1228,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TDec _v -> Obj.repr _v + | TDeclaration -> + Obj.repr () | TDeclarer -> Obj.repr () | TDeclarerId _v -> @@ -1137,6 +1270,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TExtends -> Obj.repr () + | TField -> + Obj.repr () | TFinalize -> Obj.repr () | TFloat _v -> @@ -1207,8 +1342,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMPtVirg -> Obj.repr () + | TMeta _v -> + Obj.repr _v | TMetaConst _v -> Obj.repr _v + | TMetaDecl _v -> + Obj.repr _v | TMetaDeclarer _v -> Obj.repr _v | TMetaErr _v -> @@ -1217,6 +1356,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaExpList _v -> Obj.repr _v + | TMetaField _v -> + Obj.repr _v | TMetaFunc _v -> Obj.repr _v | TMetaId _v -> @@ -1243,6 +1384,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaType _v -> Obj.repr _v + | TMetavariable -> + Obj.repr () | TMid0 _v -> Obj.repr _v | TMinus _v -> @@ -1315,7 +1458,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TScriptData _v -> Obj.repr _v - | TShOp _v -> + | TShLOp _v -> + Obj.repr _v + | TShROp _v -> Obj.repr _v | TSizeof _v -> Obj.repr _v @@ -1341,6 +1486,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TTypedef -> Obj.repr () + | TUndef _v -> + Obj.repr _v + | TUnderscore -> + Obj.repr () | TUsing -> Obj.repr () | TVirtual -> @@ -1385,12 +1534,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | Tlong _v -> Obj.repr _v + | Tptrdiff_t _v -> + Obj.repr _v | Tregister _v -> Obj.repr _v | Tshort _v -> Obj.repr _v | Tsigned _v -> Obj.repr _v + | Tsize_t _v -> + Obj.repr _v + | Tssize_t _v -> + Obj.repr _v | Tstatic _v -> Obj.repr _v | Tstruct _v -> @@ -1407,19 +1562,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\002\158\000z\000\000\000\000\002\231\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\137\000\000\000\000\000\138\000\000\000\000\001y\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\030\003\029\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\020\000\000\000\000\000\000\000\000\000\000\003\025\000\000\000\000\000\168\000\000\003\027\000\000\000\000\000\000\003\152\002h\000\000\003\150\000\000\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\149\003\151\002n\001?\002m\001=\001>\002l\002k\002j\002f\000\000\000\000\002g\001\012\000\000\002i\000\000\003\148\000\000\000c\001<\002I\000\000\000\000\002L\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002e\002q\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\002$\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002O\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\011\000\209\000\000\000\000\000n\000o\002\n\001\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\236\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\129\000\000\000\000\003\022\000\000\003\021\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\024\003\028\000\189\000\000\000\000\001\027\000\000\000\000\002J\002M\000\000\002K\002N\003{\003|\003z\000\000\002o\003y\000\000\002\137\000\000\000\000\002\136\002\135\002\134\002\133\002\132\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000g\002W\000\000\000\000\002Z\000\000\000\000\002]\000\000\000\000\002X\002[\000\000\002Y\002\\\002\139\002\127\003\137\003\138\003\136\003\135\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\245\000\000\000\000\000\000\000\000\000\000\001\017\001\251\000\000\000\000\001\161\000U\0001\001\n\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002p\000\000\000\204\000\000\000\000\001\230\000\000\001\151\001\211\000\000\000\000\001\229\000\000\001\149\001\210\000\000\000\000\000d\000\000\002\138\000\000\000\000\003\140\003\139\000\000\001\246\000\000\000\000\003~\003}\000\000\000Q\000\205\000\000\001{\000\000\003\023\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001c\000\000\001b\000\000\001q\000\000\001\139\000\000\000\000\000\000\003N\000\000\000\000\003A\000\000\000\000\003F\003E\000\000\003B\000\000\003@\000\000\000\000\000\000\003D\000\000\003C\000\000\000\000\003:\000\000\000\000\003?\003>\000\000\003;\000\000\0039\000\000\000\000\000\000\003=\000\000\003<\000\000\003H\000\000\000\000\003M\003L\000\000\003I\000\000\003P\000\000\000\000\003Q\000\000\003O\000\000\003G\000\000\003V\000\000\000\000\000\000\003K\000\000\000\000\003u\000\000\000\000\000\000\000\000\003U\003J\000\000\003w\000\000\000\000\002\247\003v\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\000\003T\003R\000\000\000\000\003l\000\000\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003^\000\000\000\000\000\000\003b\000\000\003a\000\000\000\000\003X\000\000\000\000\003]\003\\\000\000\003Y\000\000\003W\000\000\000\000\000\000\003[\000\000\003Z\000\000\003f\000\000\000\000\003k\003j\000\000\003g\000\000\003n\000\000\000\000\003o\000\000\003m\000\000\003e\000\000\003t\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\003s\003h\000\000\000\000\000\000\000\000\003q\000\000\000\000\000\000\000\000\003r\003p\003\016\003\018\003\019\003\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002u\000\000\000\000\000\000\002}\000\000\000\000\002|\000\000\003\133\002{\002z\002y\002x\002w\001_\002s\000\000\000\000\002t\000\000\002v\000\000\000\000\000\000\000\000\000\000\000e\002P\000\000\000\000\002S\000\000\000\000\002V\000\000\000\000\002Q\002T\000\000\002R\002U\002~\002r\000f\003\130\003\131\003\129\003\128\003\132\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001U\000\000\001\019\001R\000\000\001\007\001X\000\000\000\000\000\000\001Y\000\000\000\000\001Z\000\000\001\133\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001[\000\000\001W\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001^\001T\000\000\001S\000\000\000\242\000\000\002\225\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\143\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\149\002\148\002\147\002\146\002\145\002\141\000\000\000\000\002\142\000\000\002\144\000\000\000\000\000i\002^\000\000\000\000\002a\000\000\000\000\002d\000\000\000\000\002_\002b\000\000\002`\002c\002\152\002\140\003\144\003\145\003\143\003\142\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\151\000\000\001\212\000X\000?\001\031\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\003\146\000\000\003\007\000\000\003\006\000\000\000\000\000\000\000\000\003\159\000\000\000\000\000\000\003\160\000\000\000\018\000\000\000\000\000\000\003\155\000\000\001\163\000\000\000\000\000\000\000\222\002\253\001w\001v\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\014\001\015\000\255\000\000\001\135\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\t\000\000\003\008\002\250\000\000\000\000\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\003\004\002\252\000\000\003\n\000\000\002\254\000\000\000\226\001O\000\000\003\013\000\000\001Q\000\000\000\000\003$\000\000\003+\000\228\000\000\000\233\000\000\003%\000\227\000\000\003&\000\000\003-\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003.\003/\000\000\0030\000\000\0031\000\000\001P\003\001\000\000\000\000\001\234\000\000\001\159\001\216\000\000\002\251\000\000\000\000\000\000\003\000\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\012\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\231\000\000\0013\000\000\0014\000\000\001\153\001\213\000\000\000\000\000\000\001\241\000\000\001\239\000\000\000\000\001\243\001\237\000\000\001\244\001\238\000\000\003\014\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\155\001\214\000\000\003\156\000\000\003\153\000\000\003\154\000\019\000\020\000\000\000\000\002\203\000\000\002\202\000\000\000\000\002\205\000\000\002\204\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\027\000\000\000\000\002\030\000\000\002\014\000\000\000\000\002\017\000\000\000\000\000\000\002\021\000\000\000\000\002\025\000\000\000\000\001\233\000\000\000\000\002\018\000\000\000\000\002\022\002\200\002\015\000\000\002\201\000\000\000\000\000\000\000\000\002\028\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\001\157\001\215\000\000\002\206\000\000\000\000\000\000\003\157\000\017\000u\000\000\003\158\000\000\000\000\002\221\000\000\000\000\003\015\000a\000\000\000\000\000\000\000b\000\000\003\005\000\000\001}\000\000\001\131\003\002\000\000\000\000\001i\000\000\001h\000\000\001r\000\000\001\145\000\000\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\143\000\000\000\000\000\000\001n\000\000\000\000\000\000\001k\000\000\001j\000\000\001p\000\000\001\147\000\000\000\000\000\000\001l\000\000\000\000\000\000\001e\000\000\001d\000\000\001s\000\000\001\141\000\000\000\000\000\000\001m\000\002\000\000\000N\000O\000\000\000\000\002\168\002\172\002\176\002\164\002\161\000\000\000\000\002\173\002\180\002\165\002\179\002\163\002\178\002\167\002\159\002\166\002\175\002\162\002\169\002\160\002\171\002\177\002\174\002\170\001\179\001\178\000\128\000\000\000\000\002\243\000\000\000\000\002\215\000\000\000\000\002\217\002\216\002\190\000\000\000\000\002\249\002\182\002\181\002\183\000\000\001\191\000M\001t\000\003\000\000\000\000\002\155\000\000\002\"\000\000\000\129\000\000\000\000\002\245\000\000\000\000\000\000\000y\000\000\000\000\002\229\000\000\002\007\002\006\001\173\002\191\000\000\001\207\000\000\002\156\000\000\000\000\000{\000\000\000\000\002\233\000\000\001\188\000\000\000\000\001\184\000\000\000\000\000\000\001\187\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\181\000\000\000v\000\000\000\000\002\223\000\000\000\000\001\177\000\000\000\000\000~\000\000\000\000\002\239\000\000\000\000\002\198\000\000\002\197\000\000\000\000\000\000\002\005\002\004\002\195\002*\002\186\002\196\000\000\001\194\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\001\185\000\000\000\000\000\000\002\188\000\127\000\000\000\000\002\241\000\000\002\187\000\000\001\192\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\253\000|\000\000\000\000\002\235\000\000\000\000\000\000\000\000\003 \003\031\000\000\000\000\001F\000x\001E\000\000\000\000\002\227\000\000\001\255\001\254\002\001\002\184\002&\002\000\000\000\000}\000\000\000\000\002\237\000\000\000\000\000\000\000\000\002\003\002\002\002\194\002\192\002(\002\185\002\193\000\000\001\201\000\000\001\205\000\000\000\000\001\197\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\200\000\000\000\000\001\199\000\000\001\198\000\000\000\000\000\000\000\000\001\202\000\000\001\206\000\000\000\000\001u\000\004\000\000\001\180\000\005\000\000\000\000\001#\000\006\000\000\001\220\001\221\001\219\000\000\001\218\003!\001\169\000\000\000\007\000\000\001\223\001\224\001\222\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\001*\001,\001+\001&\001(\001'\000\000\000\000\000\000\000\000\000\000\003'\0034\000\000\003(\000\000\003)\000\000\000\000\003\"\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\001\228\001\227\000\000\000\000\001\171\001\217\001\225\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000l\000m\002\008\000\000\000\000\000\000\000\218\000\000\001\127\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0037\000\000\0038\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0029\002:\0028\000\000\0027\000\000\000\n\000\000\002<\002=\002;\000\000\002?\000\000\000\000\000\000\0021\000\000\000\000\0023\000\000\002-\000\000\002/\000\000\0024\000\000\0025\000\000\002.\002,\002@\001\175\0026\000\000\002B\000\000\002A\000\000\002C\000\000\002\199\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002D\000\000\000\000\002G\000\000\002F\000\000\002E\001\002\000\000\000\000\000\000\000\000\001\003\002H\000\000\000\000\002\210\000\000\000\000\000\000\000\000\002\211\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\219\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001a\000\000\002\209\001\167\001\165\000\000\000\000\000\000\000\000\002\212\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\002\213") + (16, "\000\000\000\000\003\004\000\131\000\000\000\000\003T\001\128\000\000\001~\001\127\001}\000\000\001\130\001\129\000\001\000\000\001\181\000\000\000\000\000\147\000\000\000\000\001\171\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003\143\003\142\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\t\002\b\000\000\000\000\000\000\002\007\000\000\000\000\001K\001z\001J\001I\001H\001G\001y\001F\001E\000\000\0012\002J\000\000\000\000\002I\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002M\001C\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\130\003\136\003\137\000\000\000\000\000\000\000\000\003\171\000\000\003\131\003\132\000\000\000\000\000\206\000\000\003\134\000\000\000\000\000\000\004\030\002\206\000\000\000\000\004\028\000\000\002\232\000\000\000\000\000\000\000\000\000\000\000\000\004\027\004\029\002\212\001u\002\211\001t\002\210\002\209\002\208\0021\002\204\000\000\000\000\002\205\001,\000\000\000\000\000\000\002\207\000\000\004\026\000\000\000\000\003\251\002\175\000\000\000\000\002\178\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001-\001s\002\203\002\215\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0017\000p\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\176\002\179\000\000\002\177\002\180\003\250\000\000\002\240\000\000\000\247\000\000\000\000\002\031\000\000\001\195\002\011\000\000\000\000\002\030\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002p\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002^\002o\002%\000\000\000\000\000\000\000\000\000\000\001B\001\001\000\000\002&\000\000\000\000\000\000\000\000\000\251\000\249\000\171\000\000\000\000\000\170\002b\002_\000\000\000\000\003\139\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\170\000\000\000\000\003\141\003\135\000\227\000\000\001\193\002\n\000\000\000\000\002\239\000\000\000\000\002\238\002\237\002\236\002\235\002\234\002\230\000\000\004\006\002\231\000\000\004\007\002\233\000\000\004\t\000\000\000y\002\189\000\000\000\000\002\192\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\241\002\229\000\014\000\016\000g\0003\001*\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002;\002?\000\000\000\000\000\150\002<\001:\0018\000\000\002\195\000\000\000\000\002\190\002\193\000\000\002\191\002\194\004\b\000z\000\000\002\181\004\022\004\023\004\021\004\020\003\249\000\000\002\213\003\248\001P\000\000\002/\000\000\000\000\000\000\000\000\000\000\0010\0026\000\000\000\000\001\207\000\000\002\214\000\000\000\000\000v\000\000\000\000\004\011\004\n\000\000\0020\000\000\000\000\004\025\004\024\000\000\000\000\003\253\003\252\000\000\000c\000\248\000\000\001\173\000\000\003\140\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0016\000\000\000\000\000\208\000\192\000\000\000\000\001\149\000\000\001\148\000\000\001\163\000\000\001\183\000\000\000\000\000\000\003\193\000\000\000\000\003\180\000\000\000\000\003\185\003\184\000\000\003\181\000\000\003\179\000\000\000\000\000\000\003\183\000\000\003\182\000\000\003\197\000\000\003\196\000\000\000\000\003\173\000\000\000\000\003\178\003\177\000\000\003\174\000\000\003\172\000\000\000\000\000\000\003\176\000\000\003\175\000\000\003\187\000\000\003\198\000\000\000\000\003\192\003\191\000\000\003\188\000\000\003\195\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\003\201\003\199\000\000\003\194\000\000\003\186\000\000\003\206\000\000\000\000\000\000\003\190\000\000\001\224\000\000\003\242\000\000\000\000\002\"\001\225\000\000\001\201\002\015\000\000\000\000\000\000\000\000\003\205\003\189\003\243\000\000\003\246\003\245\000\000\000\000\003d\003\244\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\000\003\204\003\202\000\000\000\000\003\228\000\000\000\000\003\215\000\000\000\000\003\220\003\219\000\000\003\216\000\000\003\214\000\000\000\000\000\000\003\218\000\000\003\217\000\000\003\232\000\000\003\231\000\000\000\000\003\208\000\000\000\000\003\213\003\212\000\000\003\209\000\000\003\207\000\000\000\000\000\000\003\211\000\000\003\210\000\000\003\222\000\000\003\233\000\000\000\000\003\227\003\226\000\000\003\223\000\000\003\230\000\000\000\000\000\000\000\000\003\235\000\000\000\000\000\000\000\000\003\236\003\234\000\000\003\229\000\000\003\221\000\000\003\241\000\000\000\000\000\000\003\225\000\000\000\000\000\000\000\000\003\240\003\224\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\003\239\003\237\003~\003\128\003\129\003\127\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\219\000\000\000\000\000\000\004\004\004\003\000\000\000\000\002\227\000\000\000\000\002\226\000\000\000\000\002\225\002\224\002\223\002\222\002\221\001\145\002\217\000\000\003\255\002\218\000\000\004\000\002\220\000\000\004\002\000\000\000w\002\182\000\000\000\000\002\185\000\000\000\000\002\188\000\000\000\000\002\183\002\186\000\000\002\184\002\187\002\228\002\216\004\001\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\000\000\000\000\000\000\000\000\001\139\000\000\0014\001\137\000\000\001'\000\000\002Q\000\000\000\000\000\000\000\000\001\142\000\000\001\179\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\143\000\000\000\000\002P\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002T\001>\000\000\001\141\001\144\000\000\001\138\000\000\001\023\000\000\003N\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001Z\001Y\000\000\000\000\000\000\000\000\000\000\001x\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\002\245\000\000\000\000\000\000\004\018\004\017\000\000\003u\000\000\003t\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\004&\000\000\000\018\000\000\000\000\000\000\000\000\002\252\000\000\000\000\000\000\002\251\002\250\002\249\002\248\002\247\002\243\000\000\004\r\002\244\000\000\004\014\002\246\000\000\004\016\000\000\000{\002\196\000\000\000\000\002\199\000\000\000\000\002\202\000\000\000\000\002\197\002\200\000\000\002\198\002\201\002\254\002\242\004\015\000\000\000\000\000l\000\000\000k\000\000\002\253\000\000\002\012\000j\000B\001O\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004!\000\000\001\209\000\000\000\000\000\000\001\002\003k\001\169\000\000\001\168\001\132\001\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\001.\000\000\000\000\002B\000\000\000\000\000\154\002F\002C\001<\001\031\000\000\001!\001 \000\000\003w\000\000\003v\003g\000\000\000\000\000\000\000\000\000\000\003q\000\000\003x\000\000\000\000\000\000\000\000\003r\003i\000\000\003l\000\000\001\006\001\134\000\000\003{\000\000\001\136\000\000\000\000\003\149\000\000\003\156\001\b\000\000\001\014\000\000\003\150\001\007\000\000\003\151\000\000\003\158\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001w\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\159\003\160\000\000\003\161\000\000\003\162\000\000\001\135\003o\000\000\000\000\002$\000\000\001\205\002\017\000\000\003h\000\000\000\000\000\000\003n\000\000\000\000\000\000\001l\000\000\001f\000\000\001g\000\000\001q\001e\001p\000\000\003z\001r\000\000\001\t\000\000\000\000\000\000\000\000\001n\001i\002 \000\000\001j\000\000\001k\000\000\001\197\002\r\000\000\000\000\000\000\002+\000\000\002)\000\000\000\000\002-\002'\000\000\002.\002(\000\000\003|\0022\000\000\001\005\000\000\000\000\002!\000\000\001\199\002\014\000\000\004\"\000\000\004\031\000\000\004 \000\019\000\020\000\000\000\000\0031\000\000\0030\000\000\002r\000\000\0033\000\000\0032\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\129\000\000\000\000\002\132\000\000\002t\000\000\000\000\002w\000\000\000\000\000\000\002{\000\000\000\000\002\127\000\000\000\000\002#\000\000\000\000\002x\000\000\000\000\002|\003.\002u\000\000\003/\000\000\000\000\000\000\000\000\002\130\000\000\002q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\128\000\000\000\000\002\131\000\000\002s\000\000\000\000\002v\000\000\000\000\000\000\002y\000\000\000\000\002}\000\000\001\203\002\016\000\000\0034\000\000\000\000\000\000\004#\000\017\000~\000\000\004$\000\000\000\000\003J\000\000\000\000\003}\000s\000\000\000\000\000\000\000t\000\000\003s\000\000\001\175\000\000\001\177\003p\000\000\000\000\001\155\000\000\001\154\000\000\001\164\000\000\001\189\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\161\000\000\001\187\000\000\000\000\000\000\001\160\000\000\000\000\000\000\001\157\000\000\001\156\000\000\001\162\000\000\001\191\000\000\000\000\000\000\001\158\000\000\000\000\000\000\001\151\000\000\001\150\000\000\001\165\000\000\001\185\000\000\000\000\000\000\001\159\000\002\000\000\000`\000a\000\000\000\000\003\014\003\018\003\022\003\n\003\007\000\000\000\000\003\019\003\026\003\011\003\025\003\t\003\024\003\r\003\005\003\012\003\021\003\b\003\015\003\006\003\017\003\023\003\020\003\016\001\230\001\229\000\137\000\000\000\000\003`\000\000\000\000\003C\000\000\000\000\003F\003D\003E\003$\000\000\000\000\003f\003\028\003\027\003\029\000\000\001\245\000_\001\166\000\003\000\000\000\000\003\001\000\000\002\136\000\000\000\138\000\000\000\000\003b\000\000\000\000\000\000\000\130\000\000\000\000\003R\000\000\002l\002k\001\221\003%\000\000\002\004\000\000\003\002\000\000\000\000\000\132\000\000\000\000\003V\000\000\001\242\000\000\000\000\001\236\000\000\000\000\000\000\001\241\000\000\001\238\000\000\000\000\000\000\001\211\001\210\000\000\000\000\000\000\002\005\000\000\001\234\000\000\001\233\000\000\000\127\000\000\000\000\003L\000\000\000\000\001\228\000\000\000\000\001\232\000\000\000\000\000\135\000\000\000\000\003\\\000\000\000\000\003,\000\000\003+\000\000\000\000\000\000\002j\002i\003)\002\144\003 \003*\000\000\001\248\000\000\000\000\000\000\001\244\000\000\001\250\000\000\000\000\001\237\000\000\000\000\000\000\003\"\000\136\000\000\000\000\003^\000\000\003!\000\000\001\246\000\000\000\000\001\247\000\000\000\000\001\240\000\000\000\000\001T\000\000\001S\000\000\000\000\000\000\000\000\000\000\002\006\000\000\001\235\000\000\001R\000\000\0028\000\133\000\000\000\000\003X\000\000\000\000\000\000\000\000\003\145\003\144\000\000\000\000\001|\000\129\001{\000\000\000\000\003P\000\000\002d\002c\002f\003\030\002\140\002e\001Q\000\000\000\134\000\000\000\000\003Z\000\000\000\000\000\000\000\000\002h\002g\003(\003&\002\142\003\031\003'\000\000\001\255\000\000\002\002\000\000\000\000\001\251\000\000\000\000\000\000\001\243\000\000\001\249\000\000\000\000\001\239\000\000\000\000\000\000\000\000\000\000\000\000\001\227\000\000\000\000\002\001\000\000\002\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\001\253\000\000\001\252\000\000\000\000\002\003\000\000\000\000\001\167\000\004\000\000\001\231\000\005\000\000\000\000\001W\000\006\000\000\002\021\002\022\002\020\000\000\002\019\003\146\001\217\000\000\000\007\000\000\002\024\002\025\002\023\000\000\000\000\000\000\000\000\001\\\000\000\000\000\000\000\000\000\001a\001c\001b\001]\001_\001^\000\000\000\000\000\000\000\000\000\000\003\152\003\165\000\000\003\153\000\000\003\154\000\000\000\000\003\147\000\000\000\000\000\000\000\000\003\164\000\000\000\000\003\163\002\029\002\028\000\000\000\000\001\219\002\018\002\026\000\000\000\000\001X\000\000\000\000\000\000\002n\000\000\000\000\000\000\000\000\000\000\002W\002m\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002[\002X\001@\001\000\000\000\000\000\000\000\000\000\001v\000\000\003\168\000\000\003\169\000\000\000\000\0025\0023\000\000\0024\000\b\000\000\000\t\000\000\002\159\002\160\002\158\000\000\002\157\000\000\000\n\000\000\002\162\002\163\002\161\000\000\002\165\000\000\000\000\000\000\002\151\000\000\000\000\002\153\000\000\002\147\000\000\002\149\000\000\002\154\000\000\002\155\000\000\002\148\002\146\002\166\001\223\002\156\000\000\002\168\000\000\002\167\000\000\002\169\000\000\003-\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\170\000\000\000\000\002\173\000\000\002\172\000\000\002\171\001\"\000\000\000\000\000\000\000\000\001#\002\174\000\000\000\000\000\000\0039\000\000\0038\000\000\000\000\000\000\000\000\003:\000\000\000\000\001V\000\000\000\000\000\000\000\000\000\000\003H\000}\000\000\000\000\001+\000\000\001M\001L\000\000\001\147\000\000\0037\001\215\001\213\000\000\000\000\000\000\000\000\003;\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0036\000\000\000\000\000\000\000\000\000\000\000\000\0035\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\003A\000\000\003>\000\000\000\000\000\000\000\000\000\000\003?\000\000\000\000\000\000\003@\000\r\000\000\003<\000\000\003=") let error = - (178, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\016\192\000\000\129\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018\168h\005\001\013P@Hf\004`4\002!\222\t\000\0029\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\163\128\000\0001\000\001\000\024\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\008\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016B \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\019\004\217d\176\000\001@\008\016\000\003t\004'\135p\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000DA\006\001,\000\000P\002\000\000\000\217\000\t\161\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\013\144\000\158\029\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000`\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000D$\004`\016\002\000\132\000\000\000\t\144\197\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\008\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\173W\128\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\017\t\001\024\004\000\128!\000\000\000\002d1z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\002\004Y$\160\000\001\000\000\016\000\003T\004\001\004`\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\003D\000\001\004`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000 $\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\030\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\004\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000^\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\003\024\128\000\t\000\008v\130@\000\140\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\002\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\192!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\129\006I(\000\000@\000\004\000\000\133\001\008\000\024\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\0030\1603\180\000\006\018\001\001P\004\016H \000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\221\001\tA\220\000\000\000\008\t \000@3\n\003;@\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\003\004\025$\176\000\001\000\000\016\000\0034\004$\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@D\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\146\000\004\0030\1603\180\000\006\018\001\001P\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000F\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\213\001\001A\220\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000DA6\017,\000\000P\002\000\000\000\209\000\001A\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003w\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128A \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\2264\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\016\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\t\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\136\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\018\013B\248\238\240\128\025\234\012\001#TP\160\159\253\127\004\008\210(\004\131P\174;\188 \006z\131\000H\213\016h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\136\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\174;\188`\006z\131\000\008\213\016( \000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\0170M\150K\000\016\020\000\129 \0007@@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000@\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\024\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\n\227\187\198\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\004`\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\255\127\225\0024\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\245\028h \000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\016\000\000\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\245\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\141QB\130\000\000\000\000\000\000\000\002\001\000@\000\000\000\000\000\000\001\000\000\016\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\016\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\008\000\000\000@\000\001\000\023\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\003\001\000\000\000\000\000 \000\000\001\000\000\004\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\146\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\127\000\008\146(\004\003\000\1683\188\000\006\018\001\000\000\021\016( \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\191_\192\002$\138\001\000\192*\012\239\000\001\132\128@\000\005D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004\012\016d\146\192\004\004\000\000H\000\012P\016\016\017\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000@\004\004`\000\000\000\128\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\192!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\023\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\225\001\192BD\144!\000\128\000\t\000\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\008\005\001\001\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\000\008\000\000\000\000\000\000\001\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\136\000\000\000\000\000\000\001\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\028\004$A\002\016\008\000\000\144\000\133 $\000\008\192\000\007\173W\128\007\001\008\000@\132\002\000\000$\000!H\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\132\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\028\004$\001\002\016\008\000\000\144\000\133 $\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\192B\000\016!\000\128\000\t\000\008R\002@\000\132\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\016\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\000\016\000\000)\000\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\000\000\002\144\000\135h$\000\008\224\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \020\004$A\000!\128\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\004\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\193\t\016@\001@\000\000\164\000!\218\t\000\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\021\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\129P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\128\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\t\t\016@\t@\000\000\164\000!\218\t\000\0028\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000`\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023\004$A\000\005\000\000\002\144\000\135h$\000\008\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\215\136\007\001\t\016@\132B\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128P\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023$$A\000\005\128\000\002\144\000\135h$\000\008\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\030\183^ \028\004$A\002\017\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\016\028\004$I\002\016\008\000\000\144\000\133($\000\008\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\003\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015C\184\238\240\128\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \000\128\000\008\000 \000\000\000\000\000@\000\000\000\000\000\030\253\255\128\008\000 \000\002\000\008\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\136\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\001\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\255\128\008\000 \000\002\000\008\000\000\000\000\002\016\000\000\000\000\000\000\018(`\000\000\000\000\000@\000\004`\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\008\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\240\128\025\234\012\001#TA\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\174;\188 \006z\131\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\002\002\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \2088\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244;\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015B\184\238\240\128\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001\000\198+\142\239\008\001\158\164\192\0025D\n\204\000\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#H\160\016\012b\184\238\240\128\025\234L\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \212+\142\239\008\001\158\164\192\0185D\n\205\255\223\248@\141\"\128@1\138\227\187\194\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\001\000\000\000\000\000\000\000\000\004\t\019\192\012\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\008\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\128\000\004\008\000\000\000\000\000\000\000 \000\000\000 \000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\0040\002\000\002\001@\000\000\000\000\000\008\000\000@\128\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\0040\002\000\000\001@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\016\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \002\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\192\000\000@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\0040\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (190, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000 \004\024\000\000\b\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\016\149\r\000(\b5A\001!\148\b\192M\000\136w\129 \000C\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004kG\000\000\000\012@\000@\005\0020\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\000\016\001@\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1480\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004)C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\b\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\006#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\000\000\b\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000D$\0020\017\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\004\000 @\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\004\016\000 \000\002\b\004\000 @\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\002\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\004\000\000 \016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b \016\000\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\128\000\b\128\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\136 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g3\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\000\004\016\b \000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\001@\b\016\000\001\186\001\t\241\220\000\000\000\000\000\000\000\000\000\000\000\000 \016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\"\144gs\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\012L\019e\146\192\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\0000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235\218\180\000\004\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1480\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\165\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000\000\000\000\016\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\004\000\000\000\000\000 \000\000\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\016\000 \000\002\b\004`\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\b\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\004\000\000\000\000\000 \000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\016\000 \000\002\b\004`\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\001\000\000\b\004\000\000\002\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000D$\0020\017\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\004\000 @\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000\000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\003\002\004Y$\160\000\000\016\000\001\000\000\026\160\016\140\017\128\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006w0\000\bH\004\000\128\004\018\b'\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\004I\b\001 \210)\006w0\000\bH\004\000\000\004\018\b'\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\0000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000D\144\128\018\r\"\144gs\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000D\144\128\018\r\"\144gs\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\001\000I\000\001 \208(\006s0\000\bH\004\000\000\004\016\b \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\002\144g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \208)\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \208)\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\128\000\b\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\017\t\000\140\004@\b\002\016\000\000\000\t\144\197\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\005\235\218\188\000\004\000\b\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016('\175j\240\000\016\000 \000\002\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\001\235\218\188\000\004\000\b\000\000\128\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\198\016\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\001\000\000\b\004\000\000\002\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\000 @\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\b\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\000 @\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000@\000\002\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\b\016i\002\001\000\196(Gs0\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\0000\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001\000\206(\006s0\000\024H\004\002\160\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\002\144g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\004\144\000\016\012\002\128g2\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\016\012\002\128g2\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\003\002\004\025$\160\000\000\016\000\001\000\000\016\160\016\129\001\128\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006w0\000\bH\004\000\128\004\018\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001\000\206(\006s0\000\024H\004\002\160\004\016H \000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016@ \128\000\000\t\000\000\012L\019e\146\192\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\192\193\006I,\000\000\004\000\000@\000\006h\004$D`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\156\204\000\006\018\001\000\136\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\001$\000\004\0030\160\025\204\192\000a \016\b\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000I\000\001\000\206(\006s0\000\024H\004\002 \004\016H \000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000I\000\001\000\206(\006s0\000\024H\004\002\160\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\0020\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\004`\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\2430\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$yF\026\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\004\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241F\144\160\016\012b\156w?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\004\b\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\003\016\167\029\207\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\018\rB\220w?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\156\200\000\006\018\001\000\000\001\004\002\b\000\000\000\000\000I\000\001\000\192(\006s \000\024H\004\000\000\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\156\200\000\006\018\001\000\000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\012L\019e\146\192\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\192\193\006I,\000 \020\000\000H\000\006(\004\004\004`\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\157\204\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\000\140\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\004`\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016\000 \000\000\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\004\000\004\000@#\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\031\255\175\224\129F\144\160\018\rB\156w?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\000\000\b\000\000\000`\b@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\005\255\250\254\b\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\160\016\012b\156w?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\006\144 \016\012B\132w3\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\b\016i\002\001\000\196(Gs0\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\006\144 \016\012B\132w3\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000_\255\175\224\000@\000\128\000\b\000\016\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\004\144\000\133(R\000\0060\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000@\004\000\160 \017\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\002\002\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\b\b\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000\224 \145\004\b@0\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\004\144\000\133 R\000\0060\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$a\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000\224 \144\004\b@0\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\014\002\b\000@\132\003\000\000\018@\002\020\129H\000\024@\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\016\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\000@\000\000\n@\002\029\160H\000\016\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\132\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\002\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\007\175j\240\000\016\000 \000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n\002\t\016@\000`\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\004@\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\011\130\t\016@\001@\000\000\n@\002\029\160H\000\016\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\138\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\b\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\001\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\128B\004\000\160 \145\004\000\006\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\128\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\n\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\128\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\000\000\000\000\016\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.\b$A\000\005\000\000\000)\000\bv\129 \000C\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175z\241\0008\b$A\002\017\004\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\011\146\t\016@\t`\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000!\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\030\189\235\196\000\224 \145\004\bF\016\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\194\000\224 \145$\b@0\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\224\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 Q\164(\004\131\208\231\029\207\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\220\252 \006z\147\000$iD\n\205\239\251\255\000\004\000\b\000\000\128\001\000\000\000\000\000\000@\000\000\000\000\000\007\191\239\252\000\016\000 \000\002\000\004\000\000\000\000\000\001\000\000\000\000\000\000\030\255\191\240\000@\000\128\000\b\000\016\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241F\144\160\016\012b\156w?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\220\252 \006z\131\000\004iD\n\b\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\172\192\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$iD\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016('\255\235\248 Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\220\252 \006z\131\000\004iD\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248`-\228-\228\0206\0206=\212\0206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\022-\228\000\000\000\000:\022\000\000:\022\000\000-\228\000\000\000\000\000\000\023\186\000w\000\000\0206\000\000+F-\228\027\232-\228\000\000\000\000\000\000\000\000\000\000\000\000\030\198-\228\031\192-\228 \030-\228!\024-\228\000\000-\228\000\000-\228!v-\228\"p-\228\"\206-\228#\200-\228$&/\226\002\"-\228\000\000\000\000\000\000\000\000\000\000-\228% -\228%~-\228&x-\228\000\000\000\000-\228\000\000\000\000\002x\000\000\000\000\000\000\000\000\001\182\018\212\000\000\000\252\018\212\000\000>\226\018\212\000\000\000\000\018\212\000\000\018\212\000\000\002\180\003\002\018\212\000\000\018\212\000\000\007\230\018\212\000\000?\022\018\212\000\000\000\000\018\212\000\000\018\212\000\000\0030\003\226\018\212\000\000\018\212\000\000\018\212\000\000?\"\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\018\212\000\000\018\212\000\000\018\212\000\000\018\212\000\000\003\218\004\006\018\212\000\000= I,\003\238\018\212\000\000I\160IX\000\000\000\031\004\178\000w\004\028\004\230-\176\000\000\000\000\000)JZ\000\000\000\000\000\000\000\000\005\218\005X\000E\005\146-\176\001B-\176\000\000\000\000\004\234\000\000\005\006\005\210-\176\005\022\000\000\000\000\000\000\000)\000\000\0054\006.\000\000\0062\000\000\005\220\000\150I,\005p\018\212\000\000>\226I,\005t\018\212\000\000\000\000\000w\006Z\000\000\000\000\000\000\001v\0206\000\000-\228\005\130\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\005\136\000\000\000\000\005\144\000\000\005\148=\212\000\000\000\000\000\000\000\000\000\000\000\000@\020-\228\000\000@\020\000\000@\020=\212\000\000\000\000@\176\000w\000\000\0206\005\156\000\000-\228\005\208\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\166-\228\000\000-\228\000\000\000\000\005\214\000\000\000\000:\192\006\142-\228\006\\\000\000\000\000=\212\000\000\000\000\000\000\000\000\000\000\000\000J\234=\212Kv=\212K\166=\212K\234=\212\000\000=\212\000\000=\212LD=\212L\156=\212L\246=\212M:=\212Mj/\226\0062=\212\000\000=\212M\174=\212N\008=\212N`\006\016\000\000\006\"\000\000\000\132-\228\000\000\000\132\000\000\000\000\002\016,4\000\000\002\016\000\000\000\000\006\"-\228\000\000\006&\000\000\0206\0064\000\000\000\000\007\000\000\000\0206\0068\000\000\000\000\006:\000\000\000\000\003z\000\000\007(\000\000?\022I,\006H\018\212\000\000\000\000\006\226\000\000\006f\018\212\000\000\000\000\000\t,4\000\000,4\000\000\006X\000\000\000\t\000\000\016\150\030\198\018\170\000\000\008d\018\170\000\000\018\170\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\156\006\200\018\170\000\000\018\170\000\000\t\002\018\170\000\000\018\212\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\160\006\210\018\170\000\000\018\170\000\000\018\170\000\000\018\226\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\170\006\218\018\170\000\000,4\006\142\000\000\018\196I,\006\144\018\170\000\000\000\000\000=\000\000\002\028\000=\000\000\000\000\000\000\007|\000\000\001\020I,\006\154\018\170\000\000\018\212I,\006\158\018\170\000\000\000\000\007>\018\170\000\000\n\002\018\170\000\0000\174\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\212\007\002\018\170\000\000\018\170\000\000\n0\018\170\000\0000\198\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\220\007\012\018\170\000\000\018\170\000\000\018\170\000\0000\202\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\230\007\018\018\170\000\000\018\226I,\006\194\018\170\000\000\000\000\002bI,\006\196\018\170\000\0000\198I,\006\206\018\170\000\000\000\000\000\000\000\000\000\000\000\000\007\150-\228\006\220\021\246\007\156-\228\006\224\007\158-\176\000\000\000\000-\176\000w\000\000\001\192-\228'\152\000\000@\246-\228\006\236\000\000\0206\006\236\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\160-\228\000\000A\160\000\000A\160B,\0206\006\246B,\000\000\000\000J\\\000w\000\000\0206\006\252\000\000-\228\007\022\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\228\001,-\228\007\026\000\000\000\000(B\026(&\196\007\230-\228\000\000\007\184\000\000\000\000\000w\000\000\000\000;\\\007n'\152\000\000\007p'\152\000\000\001L\000\000\000\000\023FB,\0312B,*\190B,90B,\000\000B,\000\000B,N\160B,N\194B,O\006B,OFB,O\192B,P\000B,P@B,P\146\000\000\007D\000\000\007T(\236\000\000)\150\007^)\150,\"\007`)\150\000\000\000\000\000\000\000\000\000\000\007V\000\000\008<\000\000\000w\000\000\001\192\008>\000\000\004F\008\020\000w\007j\008,-\176\007p\002*\000\000-\228\008R\000\000\005\252\006\174\0084-\176\007z\008`\000\000\002.-\228\008d\000\000\008l\000\000\005\220\000w\002\190-\228\008p\000\000\008t\000\000\000w\003t-\228\008v\000\000\008x\000\000\001\018\007\196\006\232\000\000B\184CD\0206\007\160\000\000\007\172CD\000\000\000\000\000\000\000\000\000\000\000\000C\208-\228\000\000C\208\000\000C\208CD\000\000\000\000\026\134\000w\000\000\0206\007\174\000\000-\228\007\172\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\204-\228\000\000-\228\000\000\007\186\000\000\000\132\000\000\000\000\000\000\000\000\000\0001\176CD1\224CD2\234CD3\026CD\000\000CD\000\000CD4$CD4TCD5^CD5\142CD6\152/\226\007\242CD\000\000CD6\200CD7\210CD8\002\0206\007\206\000\000\000\000-\228\000\000\008\180\000\000\001`\008\138-\228\008T\000\000\008\142-\228\008X\000\000\000\031\000\000\006\232\006\232\001`\000\000\001`\000\000\016\150\006\232\006\232\000\000\000\000\000\000\000\000\000\000\000\000\008\158-\228\007\228\021\246\022\198\000w\008\202\000\000\008\172/\226\008\214/\226\008\218-\228\008\002\021\246\021\246\000w\002^\001T\000\000\000\000\000\000\002^\000\000\003,\000w\000\000\000\000\008\004\000\000\000\000\000\000\008\238\000\000\008\242\000\000\000\000\t(\008\214-\228\008\"\t\002\000\000\008\232\0206\008,\021\246\000\000\000\000\008Z\000\000\000\015\000\000\005\134\000\000\000\000\001`\000\000\008\176\000\000\012p\004\020\000\000\012p\000\000\000\000\025\028\000\000\004\020\000\000\000\000\t\172\000\000\012p\000\000\008\248\0206\008>\t \000\000\000%\000\000\008\242\000w\008J\t\012-\176\008T\002\146\000\000-\228\t>\000\000\t>-\176\008\144\tv\000\000\004\028-\228\tz\000\000\t|\000\000\005\220\000w\004\156-\228\t~\000\000\t\128\000\000\000\000\000\000\t\172\000\000\000\000\004\020\000\000\006\232\000\000\000%\000\000\000\000\003^\022\198\000\000\003^\000\000\000\000\008\168\000\000\003:\000\003\021\246\000\000\004$\000O\004$\000\000\000\015\000\000\006\232\000\000\006\232\000\000\000\000\000\000\008\164\000\000\000\000\008\182\000\000\004\216\005\134\001V\004$\000\000\000\000\000\000\008J\000\000\006\232\000\000\004\216\000\000\000\000\003\022\000\015\016\150\000\000\000\015\000\000\008J\016\150\000\000\000\000\008J\000\000\000\000\008\182\000\000\000\000\008\188\000\000\004\222\006\232\000\000\004\222\000\000\000\000\t8\000\000\004\020\000\000\006\232\000\000\000\000\000\000\017\2368\254\000\000\t\160\000\000\017\236\t\164\000\000\t\168\000\000-\176\000w\003\140\000\000-\228\t\172\000\000\005\166\t~\000w\008\214\t\150-\176\008\220\003\180\000\000-\228\t\188\000\000\003\244\000\000-\228\t\196\000\000\005\220\000w\004,\000\000-\228\t\198\000\000\005*\017\236\000\000\025\028\004\192\000\000-\228\t\214\000\000\000\000\000\000\003\250\000\000\t\186\0206\t\006\t\236\000\000\007\n\000\000\t\190\000w\t\"\t\234-\176\t0\005\156\000\000-\228\n\020\000\000\005\160\000\000-\228\n\022\000\000\005\220\000w\005\172\000\000-\228\n\024\000\000\005*\000\000\000\000\t>\000\000\003\250\008\230\t\184\000\000\000\000\000\000\t\186\000\000\0020\000\031\000\000\016\150\n\012\000\000\000\000-\228\tn\006\232\000\000\tH\000\000\001\018\000\000-\176\000\000\000\000\002\190\016\150\000\000\016\150\000\000\t6\000\000\002\190\000\000-\228\003\138-\228\000\000-\228\000\000\tN\000\000\003\138\000\000-\228\003\138\tP\000\000\021\246\004 \021\246\000\000\021\246\000\000\tV\000\000\004 \000\000-\228\003\138\tX\000\000-\176\004\226-\176\000\000-\176\000\000\t^\000\000\004\226\000\000-\228\003\138\t`\000\000\000\000\025\028\000\000\000\000\t\206.\194\000\000\000\000\000\000\000\000\000\000\t\170\004$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202.\194\000\000\004\132\000x\000\000\t\172\000\193\000\000\000\000\000\000\004\130\000x\000\000\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\027\232\029J\000\000D\142\000\000.\194\000\000\0016.\194\000\000\000?\000K\000K\000\000\002L\000K\000\000\t\136\000\000\000\000\000\000\000\000\n\024\000\000\029\196\000\000\030\198.\194\000\000\000W.\194\000\000\n\028\000\000.\194\n \000\000F\022/P\n$\000\000\n(\000\000F\194;\216.\194\t\166.\194\n0\000\000\n2\000\000\n6\000\000,4\000\000\002\134,4\000\000\t\180\018\170\000\000\000\207.\194\000\000\005l.\194\000\000\003L\n\182\000\000\n\184\000\000.\194.\194\t\216\000\000\000\000\000\000\000\000\000\000\000\000\nt\000\000G\028.\194\nv\000\000\nx\000\000.\194\nz\000\000.\194\n$\000\193\000\000\000\000\005\230.\194\000\000\003L\000\000\n\128\000\000.\194\n\130\000\000D\252/P.\194\n\000.\194\n\134\000\000\n\136\000\000E\168\000\000\000\000\006\026.\194\000\000\002\194\000L\000K\n\008\000\000\000\000\000N\000N\000\000\000\000\000\000\003\186\000N\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000.\194\000\000\006f.\194\000\000\001`\004@\000\193\n\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\156\000\000\n\162\000\000.\194\n\164\000\000G\148.\194\n\172\000\000\n\182\000\000\021\140\n^G\238\018\196\000\000.\194\n\190\000\000\n\192\000\000\n\144\021\140.\194\n\200\000\000.\194\n\210\000\000\n\212\000\000.\194\nR.\194\n\224\000\000\n\228\000\000\000\193\nV\000\000\000\000\025\028\000\000\000\000\002z\011F\000\000\000\000\002\174\000\000\000\000\000\000-\228\000\000\000\000\000\000\002\194\000\000\004\248\000\000\000\000\000\000\004$-\176-\176-\176\000\000\002P\002P\002P\002P\000\000\000\000\000\000\000\000\000\000\000\000\001`\016\150\011<\013\210\000O\000\000\000\000\001&\000\000\t\172\000\000'\152\nn\000\000\001`\016\150\n\130\0154\000\000\001`\013\210\000\000\000\000\000\000-\176\006v\000\000\000\000\000\000\n\214\0014\011PI\160\000\000\004\136J\138\000\000\000\000\000\000\t~\011@\000w\000\000\004\136\000\000\004\176I\160\000\000\000\000\n\152\011P\006\232\n\150\000\000\001&\000\000\t\172\000\000;\002\004<\000\000\000\000\011<\000\000\000\000\002z\000\000\005\016\000\000\000\000\000\000-\228\000\000\002\194\000\000\005N\000\000\000\000\000\000\005\134\000\000\011\014\002\144\011\014\000\000\006\232\011\014\000\000\002\144\000\000\006\232\000\000\006\232\000\000\006\232\000\000\t:\000\000\000\000\000\000\000\000\000\000\006\232\000\000\002\144\000\000\006\232\000\000C\170\000\000\000\000\nj\n\200\000\193\005p\011d\003\004\000\000\003\004\011\140\000\000\011\142\000\000\011\144\000\000\000\000\004p\003\004\007r\003\004\000\000\000\000\004\174\n\152\000\000\n\216\000\193\005p\n\160\000\000\nj\011\164\000\000\n|\003P\011\182\000\215\011\182\000\000\000\000\002\030\000\193\000\000\001\152\000\000\000\000\002\178\000\000\n\178\000\000\000\000\000\000\n\238\000\193\005p\n\184\000\000\000\000\nj\n|\003P\002\030\001\152\002\178\n\186\000\000\n|\003P\002\030\001\152\002\178\n\192\000\000\000\193\000\000\011\194\001V\n\252\000\193\011X\000\000\011\000\000\193\011\\\000\000"), (16, "\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\021&\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\008}\014\218\011e\022\210\011\249\015\002\000\n\011e\011e\000&\015\014\011\249\001\"\016\138\022\006\011\249\011\249\001~\011\249\011e\007\189\011\249\022\002\007\150\016\022\011\249\011\249\011\249\000*\016\142\008\210\027\226\004>\014\218\007\189\011\157\011\249\001\"\015\006\011\249\011\249\006}\015\014\000\n\011e\011\249\011\249\006\173\011\249\001\230\011\249\0007\000;\012\226\001\242\011\249\001\"\011\249\011\249\011\249\011\249\011\249\015\138\017.\021&\011\249\011\249\011\249\000\n\011\249\011\249\011\249\000\n\011\249\011\249\011\249\011\249\000\006\000\"\021\146\011\249\011\249\016&\003\237\000\n\007\189\021\150\000\n\007\158\023\202\023\222\011\249\011\249\011\249\018Z\022N\011\249\011\249\011\249\011\249\018^\011\249\011\157\011\249\018b\000\150\011\249\006\173\004~\011\249\011\249\012\165\012\165\003:\016&\003B\012\165\003R\004^\017^\011\249\006\026\005\253\011\249\003Z\006\222\004\222\011\249\011\249\011\249\011\249\021\162\011\249\023\226\011\249\000\154\007\189\019\214\011\249\011\249\011\249\000\n\011\249\006}\011\249\011\249\001\"\011\249\007\189\011\249\011\249\006%\003b\011\249\011\249\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000.\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000\n\016\022\011\197\028\130\006\133\014\222\014\238\014\254\000\226\003r\014\218\006\133\008\246\022\234\022\242\006\133\006\133\023\198\006\133\015\014\028\146\006\133\003.\0036\000\170\006\133\000\174\006\133\003z\003\190\006U\003\198\001\"\003\214\014\218\003\222\006\133\003\230\003\242\011n\003\250\006\029\006\029\015\014\001\230\006\133\006\133\000\230\001\238\001\242\006\133\006\133\024.\004\213\004\002\006\133\011\205\006\133\006\133\006\133\006\133\006\133\021\130\000\n\001\"\006\133\006\133\006\133\004\n\006\133\006\133\006\133\001R\006\133\006\133\006\133\006\133\008\153\011}\000\n\006\133\006\133\000N\007\182\020R\020z\020\138\020\178\020\194\020\234\013V\016&\006\133\006\133\011v\000\n\006\133\006\133\006\133\006\133\020\002\006\133\004\026\006\133\nR\005\237\006\133\nV\006\013\006\133\006\133\025r\011\170\nZ\015\146\016&\021\246\011\130\n^\025v\012\165\012\165\004\138\006\133\011\213\012\165\003i\006\133\006\133\006\133\006\133\012\210\006\133\011}\006\133\004\213\027\254\008\153\006\133\006\133\006\133\004u\028\002\001V\006\133\006\133\006\246\006\133\005\030\006\133\006\133\001v\004e\006\133\006\133\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\n\158\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\004u\n*\006\157\006\157\016\022\016\170\011m\012\158\006\157\006\157\006\157\006\157\001\138\014\218\006\157\006\157\023\198\006\157\006\157\025\022\006\157\001\"\015\014\0202\006\157\006\149\006\157\011}\006\157\006\157\006\149\006\149\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\002\206\012\214\027\242\013\002\006\157\006\157\006\157\006\157\004\161\006\157\006M\023\218\000\n\008\218\006\157\025\022\006\157\027j\006\157\006\157\006\157\006\157\012\158\019\234\006\157\006\157\006\157\006\149\006\157\006\157\006\157\016\138\006\157\006\157\006\157\006\157\008\145\022\018\027n\027\218\006\157\022\234\022\242\006\157\011\141\027r\015\142\016\142\020:\016\022\006\021\006\157\006\157\016\174\016&\006\157\006\157\006\157\006\157\006\246\006\157\006\157\006\157\003\026\028\n\006\157\022\186\001\230\006\157\006\157\006\157\012\226\001\242\011u\003f\013\"\006\157\006\222\011}\006\157\022\250\005\229\006\157\008\189\008\189\020Z\006\157\006\157\008\189\006\157\018\150\006\157\003j\006\157\012\158\017:\008\145\006\157\025'\025+\001\162\005}\000\n\025/\006\157\008\161\006\157\027z\006\157\006\157\018\198\006=\006\157\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\018\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\003\170\021\022\006\141\027\130\nb\006M\018\218\006\141\006\141\0196\021\026\001F\021\030\015\170\020b\001\166\nr\003\241\013^\006\141\021\"\013b\016\022\006U\020\146\001N\011}\014\202\021.\008\161\013>\014\218\0212\005\229\018\246\026\135\001\178\006\222\0216\025\150\015\014\006u\018\154\026\139\006\141\015\"\013j\025\194\025\206\012\158\015&\017j\005\229\026\142\021:\001\218\005\229\001\222\004\177\001b\016\030\015.\018\202\012\182\0242\013~\001\230\0152\003\174\013\130\011\138\001\242\012\165\013\134\013\138\n\134\013\142\0065\004\021\021>\027\146\0156\021B\001\230\023\242\004\014\004\018\012\226\001\242\020\154\011}\011\133\n\226\013\146\018\222\021F\015:\015>\013\150\015B\021J\000\n\021N\015V\021R\021V\004\141\021Z\019\026\015b\013\158\027\146\016&\021^\016\210\000\n\021b\004&\000\n\006U\025\226\020\202\018\250\015\130\011\221\n\241\004B\015\134\015\194\004\177\n\138\021f\013\162\012\158\015\198\021j\021n\004J\013\166\004\177\004\177\012\165\012\165\004N\004\177\015\206\012\165\013\170\017\174\006\165\006\165\018.\006E\002\"\006\165\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\142\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\004\021\016\242\027\162\021\174\nb\004\021\004\021\011\221\n\241\020\210\026\"\001F\019\n\027\154\005\245\001\166\nr\004\021\013^\019\030\012\158\013b\003.\0036\000\170\001N\000\174\014\202\003z\003\190\026N\003\198\004z\003\214\003]\003\222\001\178\003\230\003\242\014\218\003\250\019r\004\021\019\134\027\154\015\"\013j\025\194\015\014\019\162\015&\017\178\004\130\006]\004\002\001\218\006e\001\222\004\193\001b\016\030\015.\018\170\004\154\011\181\013~\001\230\0152\004\n\013\130\011\138\001\242\006-\013\134\013\138\n\134\013\142\004\162\025O\025S\016\"\0156\001\230\025W\004\166\004\174\012\226\001\242\004v\005\013\026\167\026\171\n\226\013\146\006m\026\175\015:\015>\013\150\015B\004\198\000\n\004\026\015V\nR\004\241\004\141\nV\005\013\015b\013\158\025r\001\"\nZ\004\202\027b\004\210\000\n\n^\025v\016&\026\199\026\203\015\130\022\222\011\189\026\207\015\134\015\194\019v\n\138\019\138\013\162\004\230\015\198\004\250\005\014\019\166\013\166\004\017\004\193\005.\005R\000\n\000\n\015\206\005^\013\170\005f\006\181\006\181\011\165\005\186\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\005\013\005\t\0039\005\198\nb\006\018\0039\006\"\023b\001\230\006*\001F\011\173\012\226\001\242\001\166\nr\004\237\013^\005\013\005\t\013b\t\"\t*\000\170\001N\000\174\014\202\tn\t\178\006\170\t\186\006\206\t\202\023\186\t\210\001\178\t\218\t\230\014\218\t\238\006\214\007\014\007\026\000\n\015\n\013j\019R\015\014\004\161\015&\007&\0072\007>\t\246\001\218\007J\001\222\004\221\001b\015*\015.\007^\019V\007n\013~\001\230\0152\t\254\013\130\011\138\001\242\024\"\013\134\013\138\n\134\013\142\007~\004\013\007\134\012\173\0156\007\171\001\230\007\246\007\250\008:\012\226\001\242\005\t\008>\008\158\n\226\013\146\008\162\008\178\015:\015>\013\150\015B\008\194\000\n\n\014\015V\008\238\008\254\004\141\t\018\005\t\015b\013\158\004\013\tZ\003~\t^\003\134\t\158\003\150\000\n\t\162\016&\n\002\n\006\015\130\003\158\n\026\n2\015\134\015\194\004\221\n\138\nF\013\162\nf\015\198\nn\nv\n~\013\166\004\221\004\221\n\130\n\182\n\194\004\221\015\206\n\202\013\170\011\014\008\197\008\197\011.\003\166\002\"\008\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011:\001\014\011~\001\022\nZ\001\030\0012\001:\001>\n^\007\202\004\013\007\210\011\150\007\226\nb\004\013\004\013\011\162\011\190\003\182\007\234\001F\011\202\012R\012Z\001\166\nr\004\013\013^\012j\012v\013b\012\146\012\154\012\174\001N\007\197\014\202\012\186\012\194\016\022\012\198\012\206\004\013\012\222\012\238\001\178\012\246\007\242\014\218\007\197\012\250\004\013\013\n\027\154\015\n\013j\013\018\015\014\013*\015&\0132\013F\013N\013Z\001\218\013r\001\222\004\213\001b\015*\015.\013z\013\206\013\218\013~\001\230\0152\014\"\013\130\011\138\001\242\008\002\013\134\013\138\n\134\013\142\014\154\008\014\014\194\008\022\0156\008&\014\214\014\226\014\234\014\242\014\250\015F\008.\015N\007\197\n\226\013\146\015^\015f\015:\015>\013\150\015B\015n\000\n\015v\015V\nR\015~\015\186\nV\019R\015b\013\158\025r\015\202\nZ\015\210\015\222\015\226\0086\n^\025v\016&\015\234\015\238\015\130\019V\015\246\015\254\015\134\015\194\016\014\n\138\0162\013\162\016v\015\198\016~\006\246\016\130\013\166\016\146\004\213\016\154\007\197\016\158\001\230\015\206\016\166\013\170\012\226\001\242\016\138\008F\016\182\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\142\001\014\016\190\001\022\nZ\001\030\0012\001:\001>\n^\016\198\011\149\011\149\000\n\016\202\nb\016\218\016\226\016\250\017\002\001\230\017R\001F\017\154\012\226\001\242\001\166\nr\017\166\013^\018\026\018&\013b\018F\0266\018r\001N\018~\014\202\018\134\t.\018\162\t6\018\174\tF\018\182\018\186\001\178\018\194\018\210\014\218\tN\006M\018\230\019\002\000\n\015\n\013j\001\"\015\014\004\161\015&\019&\tr\019>\tz\001\218\t\138\001\222\019F\001b\015*\015.\019J\t\146\019Z\013~\001\230\0152\tV\013\130\011\138\001\242\019b\013\134\013\138\n\134\013\142\019f\000\n\019n\012\173\0156\019~\019\146\019\174\019\194\019\210\019\226\019\250\011\149\020\n\t\154\n\226\013\146\020\022\020G\015:\015>\013\150\015B\011\149\000\n\tf\015V\004\129\011\149\011\149\020o\020\135\015b\013\158\020\167\020\191\004\017\0039\020\223\020\247\021\014\0039\027V\016&\021*\021\154\015\130\021\199\t\170\022\030\015\134\015\194\000\022\n\138\0223\013\162\022[\015\198\022g\011\149\022w\013\166\022\127\022\146\011\149\011\149\022\155\022\163\015\206\022\171\013\170\022\198\012\173\012\173\022\238\022\246\002\"\012\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\023\006\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\023#\0233\023;\023G\nb\023R\023w\023\131\023\150\023\159\023\167\001F\027\178\023\210\023\254\001\166\nr\024:\013^\000\n\024[\013b\027\198\024c\024o\001N\004\129\014\202\024\127\028\030\027\202\004\129\004\129\024\135\024\146\004\017\001\178\024\167\024\175\024\182\004\017\004\017\024\195\004\129\004\129\015\"\013j\024\207\024\215\024\226\015&\026\222\004\017\027b\024\235\001\218\024\243\001\222\024\255\001b\016\030\015.\025\026\025\162\025\202\013~\001\230\0152\004\129\013\130\011\138\001\242\025\218\013\134\013\138\n\134\013\142\004\017\026\014\026\022\026:\0156\026^\026b\026j\026\147\027Z\027f\027v\027~\027\134\027\175\n\226\013\146\027\182\027\195\015:\015>\013\150\015B\027\206\000\n\027\222\015V\028\019\028\"\004\141\028/\028S\015b\013\158\028o\028~\028\134\028\143\028\150\028\159\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\169\008\169\000\000\000\000\002\"\008\169\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\016:\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012\137\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\137\012\137\000\000\000\000\002\"\012\137\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\213\012\213\000\000\000\000\002\"\012\213\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\209\012\209\000\000\000\000\002\"\012\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\230\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\018f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018v\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\007\214\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\005\221\005\221\013\150\000\000\005\221\000\n\000\000\005\221\008\026\005\221\000\000\005\221\000\000\005\221\013\158\008Z\005\221\000\000\005\221\005\221\000\000\005\221\005\221\000\000\005\221\nu\nu\005\221\005\221\nu\005\221\005\221\005\221\000\000\n\138\000\000\013\162\005\221\018z\005\221\005\221\000\000\013\166\000\000\005\221\005\221\005\221\005\221\005\221\018\130\005\221\013\170\005\221\005\221\000Z\005\221\000\000\002\"\005\221\005\221\000\000\005\221\008\186\000\000\nu\005\221\005\221\000Z\000\000\005\221\t\n\005\221\000\000\000\000\005\221\000Z\005\221\n\018\005\221\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\000\000\nu\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\221\nu\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\002\018\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\001r\004a\000\000\000\000\004M\000\000\000\000\002\030\000\000\000R\007\190\007\198\000\170\002\"\000\174\000\000\008\n\008N\004M\008V\021\018\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\021\026\008\146\021\030\004M\000\000\000\000\000\000\000\000\000\000\000\000\021\"\004M\000\000\000\000\000\000\024\142\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\174\000\000\000\000\000\000\021:\023\170\000\000\nb\000\000\008\182\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\000\000\021>\014\202\000\000\021B\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\015R\013j\021J\000\n\021N\015&\021R\021V\004M\021Z\001\218\000\000\001\222\000\000\000\000\021^\015.\000\000\021b\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021f\000\000\000\000\0156\021j\021n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\nb\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\015\130\000\000\013b\000\000\015\134\015\194\000\000\000\000\014\202\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\001\178\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\013f\013j\000\000\000\000\002\"\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015.\000\000\000\000\011\226\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\0122\012:\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\013\221\015\130\000\000\013\221\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\013\221\015\206\000\000\013\170\013\221\000\000\000\000\002:\013\221\002\"\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\000\000\013\221\013\221\000\000\000\000\002B\000\000\013\221\005&\000\000\000\000\013\221\000\000\000\000\013\221\000\000\013\221\013\221\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\005U\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\000\000\012B\012*\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\013\221\000\000\013\221\013\221\0056\000\000\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\013\221\013\221\000\000\000\000\000\000\000\000\013\221\013\221\013\221\000\000\013\221\013\221\013\221\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\237\000\000\021\002\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\021\006\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\n\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\237\000\000\004\241\001=\001=\004\241\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\202\000\000\004\237\004\237\004\237\000\000\004\237\004\237\004\237\000\000\004\241\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\0141\004\241\004\241\0141\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\000\000\000\000\0141\000\000\000\000\013\190\0141\004\241\000\000\004\241\000\000\000\000\0141\000\000\000\000\0141\0141\000\000\0141\0141\004\241\000\000\013\198\000\000\0141\013\210\000\000\004\241\0141\000\000\000\000\0141\000\000\0141\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\0141\000\000\0141\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\004\241\0141\000\000\004\241\000\000\004\241\000\000\000\000\013\222\000\000\000\000\004\241\004\241\004\241\000\000\004\241\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\0141\000\000\0141\000\000\013\226\000\000\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\0141\000\000\000\000\000\000\000\000\000\000\0141\0141\0141\000\000\0141\0141\0141\nq\nq\nq\nq\000\000\nq\000\000\nq\nq\000\000\nq\000\000\nq\000\000\nq\000\000\nq\nq\nq\nq\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\nq\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\001\137\000\000\000\000\nq\001\137\000\000\021\218\000\000\001\137\000\000\021\226\000\000\000\000\000\000\001\137\000\000\nq\001\137\001\137\000\000\001\137\001\137\000\000\nq\000\000\000\000\001\137\000\000\nq\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\nq\001\137\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nq\000\000\000\000\000\000\000\000\nq\000\000\nq\000\000\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\nq\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\000\000\0226\nq\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\na\na\na\na\000\000\na\000\000\na\na\000\000\na\000\000\na\000\000\na\000\000\na\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\ne\ne\ne\ne\000\000\ne\na\ne\ne\000\000\ne\na\ne\000\000\ne\000\000\ne\ne\ne\ne\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\na\000\000\ne\na\000\000\000\000\000\000\ne\000\000\000\000\022:\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\ne\na\000\000\na\000\000\000\000\na\ne\000\000\000\000\000\000\000\000\ne\000\000\na\000\000\000\000\na\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\021\222\na\000\000\000\000\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000R\007\190\007\198\000\170\000\000\000\174\ne\008\n\008N\ne\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\ne\002\198\000\000\000\000\000\000\ne\000\000\000\000\022B\008\146\022^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022j\000\000\002~\000\000\000\000\008\154\002\t\000\000\000\000\000\000\002\t\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\130\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\174\000\000\002\166\000\000\000\181\002\142\000\000\002\158\002\t\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\002\174\022\206\002\t\000\000\023&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\002\t\000\000\000\000\000\000\023>\000\181\000\181\000\000\000\000\023J\000\000\008y\000\000\000\000\023z\012\018\000\000\000\000\011\250\000\000\012\n\000\000\023\134\000\000\000\000\024f\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000}\000\000\000\000\000}\000\000\000\000\024r\012\026\000\000\000\000\000\000\024\138\002\t\000\000\000\000\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\000\000\002\t\002\t\000}\002\246\002\190\002\t\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\012\"\000e\000}\000\000\000e\000\000\002\166\012\002\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\174\000\000\000}\000\181\012*\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000}\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000e\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\142\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000i\000q\000\000\000i\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\002\174\000\000\000q\000\000\000\000\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000q\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000u\000m\000\000\000u\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\002\174\000\000\000m\000\000\000\000\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000m\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\002\174\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000u\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\002v\000\133\000\000\000y\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\002\174\000\000\000\133\000\000\000\000\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\002\174\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\002v\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\011\146\000\000\000\000\000\129\000\000\000\000\000\000\002\166\004E\000\000\002\142\004E\002\158\000\129\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\001\178\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\n\174\011\006\004E\000\000\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\138\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\011\178\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005m\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\003)\n\222\000j\003)\000r\000\000\000\130\003)\000\000\003)\000\000\000\000\000\000\000\138\003)\003)\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\013\000\000\011\142\003)\011\170\000\000\000\000\000\000\000\000\003%\000\000\000\182\003%\000\190\n\246\000\206\003%\000\000\003%\003)\n\250\000\000\000\214\003%\003%\000\000\001\189\000\000\000\000\n\254\000\157\003)\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\000\000\222\003%\000\157\003)\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\011\242\000\000\000\000\000\000\000\000\003%\000\157\000\157\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\157\003%\000\238\011\250\000\000\012\n\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\003%\000\000\000\000\000\157\000\000\003)\000\000\000\000\003)\003)\000\000\003%\003)\000\000\000\000\001\137\000\000\003)\003)\001\137\000\000\003%\003)\001\137\000\000\000\000\003%\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\001\137\000\000\000\000\001\137\012\002\001\137\001\137\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\000\157\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\001\137\000\000\001\137\003%\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\001\166\000\000\000\000\n\166\000\000\001F\n\170\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\001N\000\000\001\178\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\000\000\001^\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\001b\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\013\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\000\000\000\000\000\000\001\161\014\014\000\000\001\161\000\000\000\000\000\000\001\161\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001N\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\001\166\000\000\000\000\001\170\001^\000\000\001\174\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\014\206\000\000\000\000\001b\000\000\000\000\001\178\004R\004V\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\n\134\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\011\154\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\004Z\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\006\005\n\138\000\000\000\000\000\000\000\000\000\000\002\014\000\000\021\022\006\005\000\000\003U\000\000\000\000\006\005\023N\002\018\021\026\000\000\021\030\n\201\n\201\000\000\000\000\000\000\000\000\000\000\021\"\002\022\000\000\000\000\000\000\021&\000\000\002\026\021.\000\000\008\137\000\000\0212\000\000\000\000\000\000\002\030\000\000\0216\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\024\222\022\254\000\000\n\201\000\000\021:\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\n\201\000\000\021>\000\000\021\026\021B\021\030\000\000\000\000\000\000\000\000\n\157\000\000\000\000\021\"\000\000\000\000\000\000\021F\021&\000\000\000\000\021.\021J\000\n\021N\0212\021R\021V\000\000\021Z\000\000\0216\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\023\142\000\000\000\000\n\157\000\000\021:\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\n\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\157\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\008\137\021R\021V\000\000\021Z\000\000\001\178\000\000\000\000\001\182\021^\000\000\000\000\021b\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021f\000\000\000\000\000\000\021j\021n\n\157\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t:\005\221\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\t~\005\221\t\190\005\221\000\000\000\000\000\000\000\000\002\014\000\000\005\221\000\000\005\221\005\221\000\000\005\221\000\000\000\000\002\018\008\137\005\221\000\000\005\221\000\000\005\221\005\221\005\221\000\000\005\221\000\000\002\022\000\000\005\221\000\000\005\221\000\000\002\026\005\221\005\221\005\221\005\221\008\137\005\221\000\000\005\221\002\030\005\221\000\000\000\000\005\221\005\221\002\"\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\005\221\n>\005\221\000\000\000\000\005\221\000Z\005\221\000Z\000\000\005\221\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\005\221\005\221\014B\005\221\005\221\014\146\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\014J\000\000\001%\000\000\002\025\001%\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\014\138\001%\001\013\000\000\001\005\000\000\001\013\001\005\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\001\025\000\000\001\t\001\025\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\001\021\000\000\001\017\001\021\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\014J\000\000\014B\000\000\001\029\001-\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\014B\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\014\178\014\138\001-\014J\000\000\014B\000\000\001!\001)\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\000\000\001\170\000\000\000\000\001\174\000\000\001)\001)\000\149\001)\014\138\001)\000\000\018j\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\149\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\149\000\000\000\000\000\000\001\226\001\230\000\149\000\149\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\149\000\000\000\000\011\250\000\000\000\149\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\149\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\149\001\246\001\250\000\000\001\254\002\030\000\000\012\002\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\149\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\149\000\149\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\030\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004=\000\n\nR\004=\000\000\nV\004=\000\000\000\000\025r\002\014\nZ\000\000\000\000\000\000\000\000\n^\025v\000\000\000\000\002\018\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\004=\002\022\004=\000\000\000\000\000\000\000\000\002\026\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\030\016\138\000\000\004=\004=\000\000\002\"\004=\004=\004=\000\000\004=\004=\000\000\004=\000\000\004\237\016\142\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004=\000\000\000\000\000\000\000\000\004=\001\230\004\237\004=\000\000\012\226\001\242\000\000\000\000\004\237\004\237\000\000\004=\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\021\018\004\237\000\000\004=\004\237\000\n\004\237\004\237\000\000\004=\004\161\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004=\000\000\000\000\021\026\000\000\021\030\004=\000\000\000\000\004\237\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\004\237\000\000\0216\000\000\000\000\000\000\007\133\007\133\000\000\000\000\000\000\007\133\000\000\022\138\000\000\000\000\000\000\000\000\021:\004\237\004\237\000\000\000\000\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\004\237\000\000\n\157\004\237\021>\000\000\000\000\021B\000\000\000\000\000\000\004\237\000\000\000\000\000\000\004\237\004\237\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\000\000\021R\021V\000\000\021Z\005\221\000\000\000\000\005\221\000v\021^\005\221\005\221\021b\005\221\000\194\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\021f\000\000\000\000\000\000\021j\021n\n\157\005\221\000\000\000\000\005\221\001\002\000\000\000\000\005\221\000\000\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\001f\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\005\221\000Z\000\000\000\000\005\221\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000Z\005\221\000\000\005\221\000\000\004\030\005\221\000\000\000\000\000\000\000Z\005\221\005\221\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\001\178\005\221\000\000\001\182\005\221\005\221\000\000\000\000\005\221\001\194\001\214\005\221\001\210\005\221\005\221\005\221\000\000\000\000\005\221\001\218\000\000\001\222\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\186\000\000\000\000\001\190\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\221\000\000\000\000\005\221\003F\000\000\001\218\005\221\001\222\005\221\000\000\000\000\000\000\005\142\005\221\005\221\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\005\221\005z\005\150\005\221\003\138\000\000\005\221\005\221\002\"\005\221\003\202\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005~\000\000\005\221\005\221\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\005\221\000\000\000\000\000\000\004\242\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\142\000\000\000\000\005\221\005\221\005\221\005\146\000\000\000\000\007f\000\000\005\221\000\000\005\221\000Z\005\150\000\000\005\221\000\000\000\000\000Z\002\"\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\014\021\000\000\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\014\021\000\n\000\000\000\000\000\000\000\000\000\000\005\170\000\000\000\000\005\138\000\000\000\000\000\000\014\021\000\000\000\000\000\000\014\021\000\000\014\021\014\021\000\000\000\000\005\178\000\000\000\000\005\190\001\166\000\000\014\021\n\166\005\142\014\021\n\170\014\021\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\001\178\000\000\000\000\000\000\002\"\000\000\000\000\014\021\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\005\202\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\014\021\014\021\000\000\014\021\000\000\005\206\000\000\014\021\000\000\000\000\n\226\n\230\000\000\000\000\000\000\005\214\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\014\021\000\000\000\000\n\242\000\000\000\000\014\021\000\000\000\000\000\000\014\021\014\021\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\nR\001\178\000\000\nV\000\000\013\158\000\000\025r\000\000\nZ\013f\013j\000\000\000\000\n^\025v\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\016\138\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\016\142\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\013f\013\154\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\000\000\000\n\002\"\008\129\000\000\000\000\004\161\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\008\129\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\008\129\000\000\008\129\000\000\000\000\013\158\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\008\129\000\000\000\000\008\129\000\000\000\000\000\000\008\129\021\230\000\000\008\245\008\245\013\162\008\129\000\000\008\245\000\000\000\000\013\166\023\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\008\129\000\000\021\022\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008\129\021&\000\000\008\129\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\008\129\000\000\000\000\000\000\000\000\008\129\008\129\008\129\000\000\008\129\008\129\000\000\008\129\000\000\021:\023\170\000\000\000\000\008\129\000\000\000\000\008\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\237\008\129\000\000\000\000\021>\008\129\008\129\021B\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\007\237\000\000\007\237\000\000\021J\000\n\021N\000\000\021R\021V\007\237\021Z\000\000\000\000\000\000\007\237\000\000\021^\007\237\000\000\021b\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\022n\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\007\237\023\170\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\021&\000\000\007\237\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\007\237\000\000\000\000\000\000\000\000\007\237\007\237\007\237\000\000\007\237\007\237\000\000\007\237\000\000\021:\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\134\007\237\000\000\000\000\021>\007\237\007\237\021B\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\021\026\000\000\021\030\000\000\021J\000\n\021N\000\000\021R\021V\021\"\021Z\000\000\000\000\000\000\021&\000\000\021^\021.\000\000\021b\000\000\0212\000\000\021\018\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\021f\021\022\000\000\000\000\021j\021n\000\000\000\000\000\000\021:\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021F\000\000\000\000\000\000\023*\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\021>\021\"\000\000\021B\000\000\000\000\021&\021f\000\000\021.\000\000\021j\021n\0212\000\000\021\018\021F\000\000\000\000\0216\000\000\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\024v\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021f\000\000\021.\000\000\021j\021n\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021:\021J\000\n\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\024\150\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\026\026\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012e\001\030\0012\001:\001>\000\000\000\000\000\000\013\249\000R\000V\000f\000\170\000\000\000\174\000\n\000\178\000\246\001F\000\254\000\000\001\014\0021\001\022\000\000\001\030\0012\001:\001>\000\000\013\249\000\000\001N\000\000\026\030\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001F\000\000\013\249\001\153\000\000\000\000\001\153\000\000\013\249\013\249\001^\000\000\011&\003M\001N\0112\002)\000\000\013\249\000\000\000\000\013\249\000\000\013\249\001b\001\153\000\000\000\000\004R\004V\000\000\000\000\000\000\000\000\001^\000\000\000\000\006R\000\000\001\153\006\162\000\000\000\000\001\153\013\249\001\153\001\153\000\000\001b\000\000\000\000\000\000\026\026\004V\000\000\001\153\000\000\000\000\001\153\006Z\001\153\000\000\000\000\000\000\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\001\153\000\000\013\249\000\000\004b\000\000\000\000\011B\006\130\013\249\000\000\006j\000\000\006z\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\249\000\000\000\000\000\000\000\237\000\000\026&\000\237\000\000\000\000\000\000\000\000\006\138\000\000\000\000\013\249\013\249\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\006Z\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\001\153\000\000\000\237\000\000\000\237\000\237\006\002\000\000\000\213\006\146\001\153\001\153\002\017\000\000\006\130\000\000\006r\006j\000\000\006z\000\205\000\000\006b\000\205\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\213\000\000\006\138\006j\000\205\006z\006\194\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\213\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\006\146\000\000\000\000\000\237\000\000\000\000\000\000\006r\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\209\000\000\000\213\000\237\000\209\000\213\000\209\000\209\000\225\006r\000\000\000\225\000\000\000\237\006\154\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\213\000\205\000\000\000\000\000\209\006r\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\000\225\000\205\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\205\000\205\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\006\138\000\221\006r\006b\000\221\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\000\006j\006Z\006z\000\229\000\000\000\000\000\229\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\225\000\221\000\221\000\217\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006j\000\000\006z\006R\000\000\006b\000\245\000\000\000\225\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\006\130\000\000\006\138\006j\006Z\006z\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006\138\006R\000\000\000\000\000\233\000\000\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\221\000\217\000\217\000\221\000\000\000\000\000\000\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\006\146\000\221\000\233\000\229\000\233\000\233\006R\006r\000\000\000\241\000\000\000\221\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006\146\000\229\000\229\000\245\000\153\000\000\006\138\006r\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\006\130\000\245\000\153\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\153\000\000\000\000\011\234\000\000\006\146\000\153\000\153\000\233\000\000\006\138\000\000\006r\000\000\000\000\000\161\000\153\011\242\000\000\011\250\000\000\000\153\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\169\000\000\000\000\011\250\011\234\012\n\000\000\000\233\006\154\000\153\000\000\000\000\000\000\000\000\000\165\000\000\006\146\000\000\011\242\000\241\000\000\000\000\000\000\006r\000\161\000\161\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\011\234\011\250\000\000\012\n\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\242\000\241\006\154\000\000\000\000\012\002\000\165\000\165\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\165\000\000\000\153\011\250\000\000\012\n\012\002\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\169\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\169\000\169\000\000\000\000\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\165\012\n\000\000\000\161\000\161\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\189\012:\000\165\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\000\012\n\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\226\000\177\000\177\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\012\"\000\000\011\250\000\000\012\n\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\011\242\012\026\000\000\000\000\000\000\000\000\000\185\012:\012\"\000\000\000\000\000\173\000\173\000\000\000\000\012\002\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\012\026\012B\012*\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*")) + ((16, "\000\172\000\213\000\000\000\000\n\236\000\213\000\000\000\000\000\b\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\172\000\000\000y&v\000\000\021\142\021\142\000\000\000\000?\\\021\142\000\000U\156\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000!\000f\021\142\000\000\021\142\000\000\000\000\000\000\021\142\000\000\021\142\000\000@\018\021\142\000\000VP\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000\146\001\004\021\142\000\000\021\142\000\000\021\142\000\000\021\142\000\000V\144\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000\131\001$\001$\000\000\000\000\001\b\001\162\000\139\000\000\002\238\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\136\000\000\000\000\000\185\001$\000\000\000Z\003<\001$\000\000\000\254\002\138\000\000\000\000\000\000\001J\021\142\000\000U\156\001$\001\\\021\142\000\000\000\000\021\142\000\000\000\000\021\142\000\000\021\142\000\000\002\012\002t\021\142\000\000&vVPXX\000\000\000\000\000\000X\n\003\bXX\002\138\000\000XX\000\000\000\000\002x\021\142\000\000XX\000\000\000\139\001VAj\000\000\000\000PfQ$\000\000X~\000\000Q\188Aj\028f\028fX~Aj\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000RTAj\000\000\000\000RTRTRT\000\000RT\000\000AjRT\000\000\000\000\" \000\139\000\000\023\b\028fAj\000\000#hAj)\208Aj)\232Aj\000\000\000\000\000\000\000\000\000\000\000\000\000\0002lAj\000\0003rAj+\002Aj+dAj\000\000Aj\000\000Aj,jAj,\204Aj-\210Aj.4Aj/:Aj/\156Aj\002\202Aj\000\000\000\000\000\000\000\000\000\000Aj3\212Aj4\218Aj5\138<4\000\000\002\250=\214\000\000\000\000\000\000\b\016\000\000\000\000\b\020\000\000\t\006\000\000\000\139\000\000\001x\t\b\000\000\001\022\b\216\000\139\b*\b\252[,\b>\000\014\000\000Aj\t2\000\000\000\000\000\000\002\214\t\"[,\bZ\tL\000\000\002\022Aj\tN\000\000\tP\000\000\0238\000\139\003\164Aj\tV\000\000\tX\000\000\000\139\004PAj\tZ\000\000\t\\\000\000\0001\b\174\b\218\000\000T\180\028f\b\136\000\000\000\000C\162\000\000\tx\000\000\002\242\tPAj\t\024\000\000\tZAj\t\028\000\000\000D\000\000\b\218\b\218\028f\b\160\000\000\b\162a\158a\158\000\000\000\000\000\000\000\000\000\000\000\000RT\000\000\000\000RT\000\000\000\000RT\000\000a\158\000\000\000\000(\202\000\139\000\000\023\b\b\164\000\000Aj\b\166\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000@\172Aj\000\000Aj\000\000\b\178\000\000\000M\000\000\000\000\000\000\000\000\000\000D\nAjE\016Aj\b\220Aj\000\000AjErAjFxAjF\218AjG\224AjHBAjIHAj\000\000AjI\170AjJ\176AjK\018Aj\000\000AjL\024AjLz\000\000\002\242\000\000\002\242\000\000\0190\b\218\b\218\000\000\000\000\000\000\000\003\000\000\000\000\000\000\t\128Aj\b\186\031\214 \178\000\139\t\174\000\000\t\144MN\t\180MN\t\184MN\b\208\031\214\031\214\004\004\004\004\002$\004\190\004\004\000\000\000\000\003\152\007>\000\000\004h\011\172\000\000\000\000\000\000\000\000\000\000\b\210\000\000\000\000\t\196\000\000\t\198\000\000\000\000\n\002\t\174Aj\b\232\t\216\000\000\t\026\000\000\t\220\023\b\t&\031\214\000\000\000\000\000\154\000\000\007`\000\000\000\000\002\242\000\000\t\166\000\000\014\194\000M\000\000\014\194\000\000\000\000$\128\000\000\002\182\000\000\000\000\011\206\000\000\014\194\000\000\t\246\023\b\t.\n\028\000\000\002\194\000\000\t\236\000\139\t<\n\n[,\tD\000$\000\000Aj\n0\000\000\n\018[,\tT\nB\000\000\004TAj\nD\000\000\nF\000\000\0238\000\139\004\136Aj\nP\000\000\nT\000\000\000\000\000\000\011\206\000\000\000\000\001\128\000\000\b\218\000\000\023\028\000\000\000\000\004x \178\000\000\004x\000\000\000\000\tn\000\000\000\154\001x\031\214\000\000\005\230\000W\005\230\000\000\001\128\000\000\b\218\000\000\b\218\000\000\000\000\000\000\th\000\000\000\000\tr\000\000\004\226\007`\000W\005\230\000\000\000\000\000\000\005\176\000\000\b\218\000\000\004\226\000\000\000\000\002\194\t~\0190\000\000\t~\000\000\nT\0190\000\000\000\000\nT\000\000\000\000\tp\000\000\000\000\tv\000\000\005\004\b\218\000\000\005\004\000\000\000\000\t\246\000\000\001\128\000\000\b\218\000\000\000\000\000\000\020\158N\028\000\000\nd\000\000\020\158\000\000\nn\000\000\np\000\000&v\000\139\001\178\000\000Aj\nv\000\000\t\000\nH\000\139\t\148\n`[,\t\154\005@\000\000Aj\n\136\000\000\005X\000\000Aj\n\140\000\000\0238\000\139\005\244\000\000Aj\n\142\000\000\005\022\020\158\000\000$\128\006 \000\000Aj\n\150\000\000\000\000\000\000\001f\000\000\nx\023\b\t\176\n\162\000\000\003\024\000\000\nx\000\139\t\194\n\158[,\t\214\006*\000\000Aj\n\196\000\000\006,\000\000Aj\n\198\000\000\0238\000\139\006d\000\000Aj\n\200\000\000\005\022\000\000\000\000\t\226\000\000\001f\r\024\n`\000\000\000\000\000\000\nb\000\000\003\\\000D\000\000\0190\n\188\000\000\000\000Aj\n\018\b\218\000\000\t\228\000\000\0001\000\000N\178\000\000\000\000\n\000\000N\178\011B\000\000e\150N\178\011D\000\000\011F\000\000N\178\011L\000\000\0310\n\244e\248\0214cf\n\202\000\000N\178\011V\000\000\011X\000\000\011(\0310N\178\011\\\000\000N\178\011`\000\000\011d\000\000N\178\011f\000\000\000\213\n\212\000\000\000\000\029\212\000\000\000\000\004\018\011\202\000\000\000\000\002\154\000\000\000\000\000\000Aj\000\000\000\000\000\000\004l\000\000\003\170\000\000\000\000\000\000\005\230P\136P\136P\136\000\000\002F\002F\002F\002F\000\000\000\000\000\000\000\000\000\000\000\000\002\242\0190\011\192\016<\000M\000\000\000\000\002\182\000\000\011\206\000\000<4\n\232\000\000\002\242\0190\n\242\017\182\000\000\002\242\016<\000\000\000\000\000\000P\136\026\240\000\000\000\000\000\000\011B\000\139\000\000\011\196^\150^\150\000\000\005\230a0^\150\006H^\198\000\000\000\000\004J\011\184\000\131\000\000\006T_\130\000\000\000\000\000\000\000\000\000\000\011\006\011\204\b\218\011\b\000\000\002\182\000\000\011\206\000\000\026\018\002\026\000\000\000\000\011\184\000\000\000\000\004\018\000\000\003\232\000\000\000\000\000\000Aj\000\000\004l\000\000\004\234\000\000\000\000\000\000\007`\000\000\rH\004`\rH\000\000\b\218\rH\000\000\004`\000\000\b\218\000\000\b\218\000\000\b\218\000\000\026\018\000\000\000\000\000\000\000\000\000\000\b\218\000\000\004`\000\000\b\218\000\000\029\248\000\000\000\000\nT\011<\000\213\001&\011\230\007\228\000\000\007\228\012\016\000\000\012\018\000\000\012\028\000\000\000\000\004\196\007\228\000\148\007\228\000\000\000\000\006|\001&\011\024\000\000\011 \000\000\011d\000\213\001&\011*\000\000\007\250\012>\000\000\006\152\005\006\012P\tp\012P\000\000\000\000\011\166\000\213\000\000\002\192\000\000\000\000\004(\000\000\011<\000\000\000\000\000\000\011~\000\213\001&\011D\000\000\000\000\007\250\006\152\005\006\011\166\002\192\004(\011H\000\000\006\152\005\006\011\166\002\192\004(\011J\000\000\002\004\004j\011f\000\213\011b\006l\007:\011\140\000\213\000\000\011\142\000\213\000\000\011\252\000\000\011\132\007h\011\130\006l\012\n\000\000\011\136\006l\012\018\000\000\000\000\006l\000\000\012\020\000\000"), (16, "\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\001:\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\016\030\011\030\015v\000\n\r\165\016\030\001B\015z\006*\017\170\001f\r\165\t}\r\165\017\170\001F\0075\r\165\r\165\005\177\r\165\011\"\0066\r\165\004\150\000&\tm\r\145\r\165\r\165\r\165\000N\t\166\023\006\023.\023>\023f\023v\023\158\r\165\000\n\015f\r\165\r\165\000\n\000*\000\n\005\142\r\165\r\165\014i\r\165\019Z\r\165\004\198\001\150\016F\004\206\r\165\004\222\r\165\r\165\t\025\r\165\r\165\r\165\004\230\001b\001f\r\165\r\165\r\165\001j\r\165\r\165\r\165\001n\001r\r\165\r\165\r\165\r\165\r\165\r\165\004\141\024f\018\214\r\165\r\165\r\145\016J\018\214\0007\000;\001v\000\006\000\"\004\238\r\165\r\165\r\165\b\198\000\n\r\165\r\165\r\165\r\165\005\177\r\165\014\006\r\165\018\198\007\005\r\165\015\238\000\150\r\165\r\165\001f\006J\004\141\014i\014i\n\130\0075\022\182\014i\r\165\r\165\b\029\006\181\r\165\004\254\014\018\015j\r\165\r\165\r\165\r\165\004\150\001N\r\165\006\138\r\165\001f\019^\002\157\r\165\r\165\r\165\021\n\r\165\000\n\r\165\r\165\r\254\r\165\021\014\r\165\r\165\000\154\021\018\r\165\r\165\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\000\n\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\015J\004\141\000.\001\162\r\177\006R\022\138\004\141\004\141\r\137\t)\r\177\001>\r\177\024F\000\242\006\173\r\177\r\177\004\141\r\177\015v\024J\r\177\021\234\001B\015z\003\229\r\177\r\177\r\177\003\229\001B\r1\001F\002f\004\141\018\198\007\005\r\177\006\197\001F\r\177\r\177\014>\004\141\016\030\030\166\r\177\r\177\000\246\r\177\004\150\r\177\004\174\017\170\006\205\006\205\r\177\000\n\r\177\r\177\021J\r\177\r\177\r\177\000\n\000\n\024V\r\177\r\177\r\177\012\137\r\177\r\177\r\177\001R\024Z\r\177\r\177\r\177\r\177\r\177\r\177\012\218\001\178\001J\r\177\r\177\012\222\004\193\014i\002m\030n\028j\001\138\012\226\004\193\r\177\r\177\r\177\012\230\028n\r\177\r\177\r\177\r\177\029\147\r\177\006\173\r\177\t\029\r1\r\177\024B\029\151\r\177\r\177\004\145\031\142\025\182\025\190\011*\012F\026\182\029\154\r2\020\014\r\177\006\173\001\198\r\177\018\214\006\173\012\137\r\177\r\177\r\177\r\177\001\218\007\005\r\177\006\253\r\177\001f\014\234\0152\r\177\r\177\r\177\002:\r\177\t5\r\177\r\177\021N\r\177\007v\r\177\r\177\027\"\b\241\r\177\r\177\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\000\n\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\n1\002>\001>\018\198\007=\016\"\0162\016B\006\002\019:\b>\007=\016\030\007=\b\225\002\006\015\154\007=\007=\006\173\007=\017\170\001B\007=\ry\019>\t\134\005}\007=\005\026\007=\001F\005\"\001B\0052\005]\0152\004\174\002f\007=\bN\005:\001F\0182\002M\002\n\015v\t\r\007=\007=\001B\015z\022\006\007=\007=\014&\000\n\014i\007=\001F\007=\007=\n1\007=\007=\007=\0022\000\n\022\n\007=\007=\007=\005B\007=\007=\007=\001J\rQ\007=\007=\007=\007=\007=\007=\000\n\005\r\0246\007=\007=\015v\031\022\001\166\002N\001B\015z\t\142\0055\031\026\018\214\007=\007=\002q\001F\007=\007=\007=\007=\005R\007=\003\186\007=\001B\006\173\007=\028\031\028#\007=\007=\n\021\028'\001F\025\158\r1\014\246\001^\006\253\004j\000\n\014i\014i\tE\007=\006\173\014i\0055\007=\007=\007=\007=\025\006\r!\007=\n\230\007=\005\r\000\n\rQ\007=\007=\007=\015\006\005\r\004\134\007=\007=\004\142\007=\002}\007=\007=\006\213\007]\007=\007=\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\004\242\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\024\202\t-\018*\007]\007]\004\201\007]\rA\022\230\031\146\022\158\007]\004\201\007]\028\014\007]\023\014\007]\007]\r1\007]\r1\001B\007]\007]\007]\015\186\018\198\007]\007]\007]\001F\029>\007]\007]\027&\016\030\007]\007]\007]\018F\007\029\007]\023\218\b\253\017\170\0152\r1\007]\007]\007]\007]\004\246\007]\002:\007]\000\n\001f\007]\028\014\007]\028G\028K\007]\007]\007]\028O\019\234\024\190\007]\007]\007]\007]\007]\007]\007]\018.\022\238\007]\007]\007]\007]\007]\007]\023\218\023\022\030\242\031\"\007]\030\158\000\n\000\n\029\179\029\183\006\182\0186\007]\029\187\004\233\007]\007]\005F\007]\007]\007]\007]\007]\000\n\007]\026\186\007]\007]\015\214\007]\019\130\001B\007]\007]\t\186\025z\020^\t\194\018\214\t\210\001F\006E\r)\005J\007]\003\229\t\218\007]\0152\003\229\0152\007]\007]\020\222\007]\021z\019\162\007]\006\237\007]\018R\023F\021\190\007]\002]\000\n\006\229\021\142\nU\nU\007]\007-\007]\nU\007]\007]\0152\t\226\007]\007]\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\023\198\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\024\186\023\202\t\017\007M\012\234\030\174\018\198\t\242\023~\007M\007M\012\250\023\206\001\250\023\210\016\030\030\166\002j\r\002\007\r\015\246\007M\023\214\015\250\017\170\023N\025\182\025\190\002\002\007m\016\014\023\226\029\211\029\215\005\177\023\230\007\021\029\219\026\206\002z\021\170\023\234\028\142\021~\026\210\007%\005\150\007M\017\190\016R\028\186\028\198\000\n\017\194\020\026\021\146\r\129\023\238\002\158\005\170\002\162\005\141\021\206\002\022\018\206\017\202\025\198\022&\022:\016j\002\170\017\206\ri\016n\014\030\002\178\005\210\023\134\016r\016v\r\022\r\026\016z\017\210\004\149\026\210\023\242\026\182\017\214\023\246\006\245\007m\031\162\000\n\005\214\n9\022V\005\234\004\145\r\134\016~\018\214\023\250\017\218\017\222\016\130\017\226\023\254\000\n\024\002\017\246\024\006\024\n\005i\024\014\006\006\018\002\016\138\024\174\026\226\030\158\024\018\005\177\026\202\024\022\006\014\r9\006\018\028\218\rq\rY\018\"\ra\021\174\025\170\018&\018r\005\141\r\030\024\026\006N\016\142\006\221\018v\024\030\024\"\029\"\016\150\005\141\005\141\ta\031\247\n)\005\141\018~\021\210\016\154\n9\007e\007e\022*\022>\002\238\007e\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\031\166\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\022Z\004\149\026.\026\170\012\234\027\022\029.\004\149\004\149\031\178\tQ\012\250\029N\001\250\031\206\004\145\002\141\002j\r\002\004\149\015\246\004\145\004\145\015\250\n\014\n)\006V\n\022\002\002\n&\016\014\006f\006n\004\145\030n\006r\n.\018*\006z\002z\006\158\006\162\016\030\006\170\006\190\004\149\006\210\030\166\017\190\016R\028\186\017\170\006\234\017\194\020b\007\n\007\018\001B\002\158\004\145\002\162\005\157\007\202\002\022\018\206\017\202\001F\n6\bf\016j\002\170\017\206\br\016n\014\030\002\178\b\146\b\174\016r\016v\r\022\r\026\016z\017\210\b\190\b\206\005Q\018\210\017\214\b\214\b\238\000\n\b\246\t\006\030v\t\018\t\030\t.\t:\r\134\016~\tN\nF\017\218\017\222\016\130\017\226\t^\000\n\tn\017\246\018.\000\n\005i\tv\030z\018\002\016\138\011~\t\155\t\230\011\134\030~\011\150\t\234\n:\n>\n\138\018\214\n\158\011\158\018\"\n\198\t\001\n\202\018&\018r\n\222\r\030\011\n\011>\016\142\011N\018v\011b\011\170\011\174\016\150\011\210\005\157\011\254\011\218\012\002\011\234\018~\012N\016\154\012b\007u\007u\011\242\011\166\002\238\007u\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\002:\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\030\134\012\138\011\250\005Q\012\234\012\142\002:\011\182\030\226\005Q\005Q\012\250\012\162\001\250\012\186\012\206\012\238\002j\r\002\012\246\015\246\005Q\005Q\015\250\012\254\r\006\r\014\r\018\002\002\011F\016\014\rJ\rZ\030\142\rf\rn\r\206\012\n\r\218\002z\014\014\014*\016\030\0146\014R\014Z\012\178\005Q\016N\016R\001B\017\170\015\026\017\194\015&\015.\015B\015N\002\158\001F\002\162\005\185\015V\002\022\017\198\017\202\015Z\001B\021^\016j\002\170\017\206\015b\016n\014\030\002\178\001F\015r\016r\016v\r\022\r\026\016z\017\210\000\n\015\134\015\142\014q\017\214\015v\015\146\015\162\015\170\001B\015z\015\194\015\202\015\222\015\230\r\134\016~\000\n\001F\017\218\017\222\016\130\017\226\015\242\000\n\016\006\017\246\b\165\016\026\005i\016&\018\198\018\002\016\138\016.\0166\016>\016Z\016b\016\194\016\030\b\165\016\206\000\n\018\214\017\006\0176\018\"\017\230\017\170\017\238\018&\018r\005\185\r\030\017\254\018\006\016\142\018\014\018v\018\022\018\030\018n\016\150\005\185\005\185\018z\018\130\018\142\005\185\018~\018\146\016\154\018\154\n]\n]\018\158\018\166\002\238\n]\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\018\174\001&\b\165\001.\012\226\0016\001\230\001\238\001\242\012\230\018\182\018\226\r\025\019&\019.\012\234\0192\019B\r\025\r\025\005Q\019J\012\250\019N\001\250\019V\019f\019n\002j\r\002\r\025\015\246\018\214\019v\015\250\019z\019\138\019\146\030b\002\002\b\173\016\014\019\170\030\250\019\178\020\002\020J\020V\020\202\020\214\002z\020\246\021\"\016\030\b\173\b\165\r\025\0212\021:\016N\016R\021V\017\170\021b\017\194\021j\021n\b\165\021v\002\158\021\134\002\162\021\154\021\182\002\022\017\198\017\202\021\218\021\242\021\250\016j\002\170\017\206\021\254\016n\014\030\002\178\022\014\022\022\016r\016v\r\022\r\026\016z\017\210\rI\rI\022\026\022\"\017\214\0222\022F\022b\022v\022\134\022\150\022\174\022\190\022\202\b\173\r\134\016~\030\202\022\251\017\218\017\222\016\130\017\226\023#\000\n\023;\017\246\030\222\023[\023s\023\147\005Q\018\002\016\138\0316\023\171\030\226\005Q\005Q\023\194\023\222\024N\024\127\024\214\018\214\024\235\025\019\018\"\025\031\005Q\005Q\018&\018r\025/\r\030\0257\025R\016\142\025[\018v\025c\025k\025\134\016\150\025\151\025\186\025\194\b\173\025\210\025\239\018~\025\255\016\154\026\007\026\019\005Q\026\030\026C\002\238\b\173\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\026O\001&\rI\001.\012\226\0016\001\230\001\238\001\242\012\230\026[\026~\026\135\rI\026\143\012\234\026\194\026\238\027.\rI\rI\027O\012\250\027W\001\250\027c\027s\027{\002j\r\002\027\135\015\246\027\146\027\162\015\250\027\175\027\183\027\190\027\203\002\002\027\215\016\014\027\223\027\235\000\022\027\247\028\018\028\154\018*\028\194\002z\rI\028\210\016\030\029\006\029\018\rI\rI\029B\016N\016R\029j\017\170\029n\017\194\029v\029\159\030f\001B\002\158\030r\002\162\030\130\030\138\002\022\017\198\017\202\001F\030\146\030\191\016j\002\170\017\206\030\199\016n\014\030\002\178\030\206\030\219\016r\016v\r\022\r\026\016z\017\210\030\230\030\246\031+\014q\017\214\031:\031G\000\n\031k\031\135\031\150\007U\031\158\031\170\031\182\r\134\016~\007U\007U\017\218\017\222\016\130\017\226\031\195\000\n\031\202\017\246\018.\031\210\031\n\031\219\031\226\018\002\016\138\031\235\031\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\000\000\018\"\000\000\002a\000\000\018&\018r\000\000\r\030\007U\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014q\014q\000\000\000\000\002\238\014q\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\022\006\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\022\n\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\004\174\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\015v\000\000\017\190\016R\001B\015z\000\000\017\194\029\234\000\000\000\000\000\000\002\158\001F\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\n\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\005i\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\253\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\nA\nA\000\000\000\000\002\238\nA\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\018\234\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\014M\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014M\014M\000\000\000\000\002\238\014M\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\028\158\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014\153\014\153\000\000\000\000\002\238\014\153\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\028\158\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014\149\014\149\000\000\000\000\002\238\014\149\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\020\150\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\000R\000V\000f\000\170\002\238\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\002j\000\000\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021&\016R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\006\165\000\000\000\000\000\000\000\000\016j\002\170\000\000\000\000\016n\001f\002\178\006\165\000\000\016r\016v\r\022\021*\016z\000\000\000\000\000\000\000\000\006\165\000\000\006\165\012\r\012\r\000\000\000\000\012\r\000\000\000\000\006\165\000\000\r\134\016~\006\165\000\000\006\165\000\000\016\130\006\165\000\000\000\n\006\165\006\165\006\165\000\000\006\165\000\000\000\000\006\165\016\138\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\012\r\006\165\006\165\000Z\006\165\000\000\000\000\000\000\r\030\006\165\000\000\016\142\006\165\021.\000\000\006\165\000\000\016\150\006\165\006\165\000\000\006\165\006\165\006\165\0216\006\165\016\154\000\000\006\165\012\r\000\000\006\165\002\238\000\000\006\165\000\000\000\000\000\000\000\000\006\165\n\150\000\000\006\165\011\002\006\165\000Z\000\000\006\165\000Z\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\006\165\012\r\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\004\186\004\194\000\170\000\000\000\174\000\000\005\006\005\014\005\022\005Z\000\000\005b\005j\001\250\005z\000\000\005\130\002j\005\138\005\182\002\130\005\190\000\000\002\134\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\198\000\000\002z\000\000\000\000\002~\019:\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\005\206\000\000\007j\000\000\000\000\000\000\002\158\019>\002\162\000\000\000\000\002\022\000\000\000\000\000\000\015\245\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\015v\000\000\007&\002\194\001B\015z\000\000\005\222\000\000\000\000\000\000\015\245\015\245\001F\000\000\000\000\000\000\019\222\000\000\r\190\007*\000\000\000\000\000\000\000\000\007.\015\245\000\000\000\n\000\000\000\000\000\000\015\245\015\245\000\000\000\000\r\198\0076\000\n\r\210\000\000\000\000\015\245\000\000\000\000\015\245\000\000\015\245\007r\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\004\225\000\000\015\245\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\r\222\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\245\000\000\000\000\000\000\001\250\r\226\000\000\015\245\002j\000\000\000\000\002\130\000\000\000\000\002\134\000\000\r\234\000\000\000\000\002\002\000\000\015\245\000\000\000\000\000\000\000\000\000\000\000\000\015\245\000\000\002z\000\000\000\000\002~\000\000\000\000\015\245\015\245\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007j\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\011r\011z\000\170\000\000\000\174\000\000\011\190\011\198\011\206\012\018\000\000\012\026\012\"\000\000\0122\007*\012:\000\000\012B\012n\007.\012v\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0076\000\000\000\000\000\000\000\000\012~\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\b\229\000\000\000\000\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\012\150\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\012\222\000\000\000\000\000\000\001\250\028j\000\000\012\226\002j\000\000\000\000\002\130\012\230\028n\002\134\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007j\000\000\019:\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\007\022\002\170\000\000\019>\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\001B\015z\000\000\007*\000\000\000\000\000\000\000\000\007.\001F\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\0076\000\000\000\000\012\222\000\000\000\000\000\000\000\000\028j\000\000\012\226\007r\000\000\000\000\000\n\012\230\028n\000\000\000\000\005}\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\bi\bi\015J\000\000\000\000\bi\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\002j\000\000\000\000\002\130\015v\000\000\002\134\000\000\001B\015z\000\000\002\002\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007z\000\000\000\000\000\000\002\158\000\n\002\162\000\000\000\000\002\022\005}\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\000\000\000\007.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\0076\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\b\245\001\250\000\000\000\000\000\000\002j\007F\000\000\002n\000\000\000\000\002r\002\238\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\002\146\002\142\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\002\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\000\000\002\218\000\000\000\000\000\000\000\000\001\225\002\230\000\000\001\225\000\000\001\225\000\000\000\000\000\000\000\000\002\246\000\000\001\133\001\133\001\133\001\133\002\238\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\000\000\001\133\000\000\001\133\001\225\001\133\001\133\001\133\001\133\000\000\012\218\000\000\000\000\023\182\000\000\012\222\000\000\000\000\000\000\000\000\028j\000\000\012\226\001\133\001\133\001\133\000\000\012\230\028n\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\001\225\007\130\001\133\001\225\000\000\023\186\000\000\001\225\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\019:\000\000\001\133\001\225\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\001\133\000\000\007\138\000\000\019>\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\015v\001\133\000\000\000\000\001B\015z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\001\133\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\023\190\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\n\000\000\000\000\000\000\000\000\005}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\174\t\182\000\170\000\000\000\174\024\130\t\250\n\002\n\n\nN\000\000\nV\n^\023\198\nn\000\000\nv\000\000\n~\n\170\001\238\n\178\000\000\000\000\000\000\023\202\n\141\n\141\000\000\000\000\000\000\n\141\000\000\000\000\000\000\000\000\023\206\n\186\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\027\142\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\n\210\000\000\000\000\000\000\000\000\025n\000\000\000\000\000\000\023\238\026\154\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\022\000\000\000\000\023\242\012\234\000\000\023\246\000\000\000\000\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\002j\r\002\023\250\015\246\000\000\000\000\015\250\023\254\000\n\024\002\000\000\024\006\024\n\016\014\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\002z\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\017\242\016R\000\000\000\000\000\000\017\194\000\000\000\000\024\026\000\000\002\158\000\000\002\162\024\030\024\"\000\000\000\000\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\000\000\000\000\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\012\234\000\000\018\002\016\138\000\000\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\002j\r\002\000\000\015\246\018\"\000\000\015\250\000\000\018&\018r\000\000\000\000\000\000\016\014\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\002z\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\016f\016R\000\000\000\000\002\238\017\194\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\000\000\000\000\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\000\000\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\012\t\012\t\012\t\012\t\002\238\012\t\000\000\012\t\012\t\012\t\012\t\000\000\012\t\012\t\000\000\012\t\000\000\012\t\000\000\012\t\012\t\012\t\012\t\000\000\000\000\016I\000\000\000\000\016I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\016I\016I\000\000\000\000\012\t\016I\000\000\024\146\003\006\016I\000\000\024\154\000\000\000\000\000\000\016I\000\000\012\t\016I\016I\000\000\016I\016I\000\000\012\t\003\014\000\000\016I\003\"\012\t\000\000\016I\000\000\000\000\016I\000\000\016I\016I\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\016I\012\t\016I\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016I\000\000\000\000\000\000\012\t\000\000\000\000\004n\000\000\012\t\000\000\012\t\000\000\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\012\t\000\000\000\000\012\t\016I\016I\000\000\016I\016I\004r\000\000\016I\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\004z\000\000\000\000\024\238\012\t\016I\000\000\000\000\016I\016I\016I\016I\016I\000\000\000\000\000\000\016I\016I\016I\000\000\016I\016I\016I\015\217\000\000\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\015\217\000\000\000\000\000\000\015\217\000\000\000\000\003\006\015\217\000\000\000\000\000\000\000\000\000\000\015\217\000\000\000\000\015\217\015\217\000\000\015\217\015\217\000\000\000\000\003\014\000\000\015\217\003\"\000\000\000\000\015\217\000\000\000\000\015\217\000\000\015\217\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\015\217\000\000\015\217\015\217\004r\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\004z\000\000\005\225\000\000\000\000\015\217\000\000\000\000\015\217\015\217\015\217\015\217\015\217\000\000\000\000\000\000\015\217\015\217\015\217\000\000\015\217\015\217\015\217\005\225\005\225\000\000\000\000\000\000\005\225\000\000\000\000\005\225\005\225\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\005\225\005\225\000\000\005\225\005\225\000\000\000\000\005\225\000\000\005\225\005\225\000\000\000\000\005\225\000\000\000\000\005\225\000\000\005\225\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\225\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\005\225\000\000\005\225\b\025\005\225\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\000\000\000\005\225\000\000\000\000\005\225\000\000\005\225\000\000\005\225\000\000\000\000\000\000\005\225\005\225\005\225\000\000\005\225\005\225\005\225\011\249\011\249\011\249\011\249\000\000\011\249\000\000\011\249\011\249\011\249\011\249\000\000\011\249\011\249\000\000\011\249\000\000\011\249\000\000\011\249\011\249\011\249\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\011\249\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\011\249\000\174\000\000\000\178\000\186\000\194\001\006\011\249\001\014\001\022\000\000\001&\011\249\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\011\249\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\011\249\000\000\000\000\011\249\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\011\249\000\000\011\249\002\018\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\011\249\000\000\000\000\011\249\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\011\249\000\000\000\000\000\000\024\150\011\249\011\253\011\253\011\253\011\253\000\000\011\253\000\000\011\253\011\253\011\253\011\253\000\000\011\253\011\253\000\000\011\253\000\000\011\253\000\000\011\253\011\253\011\253\011\253\000\000\000\n\005\229\000\000\000\000\005\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\005\229\005\229\000\000\000\000\011\253\005\229\000\000\024\242\005\229\005\229\000\000\000\000\000\000\000\000\000\000\005\229\000\000\011\253\005\229\005\229\000\000\005\229\005\229\000\000\011\253\005\229\000\000\005\229\005\229\011\253\000\000\005\229\000\000\000\000\005\229\000\000\005\229\005\229\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\005\229\011\253\005\229\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\229\000\000\000\000\000\000\011\253\000\000\000\000\005\229\000\000\011\253\000\000\011\253\000\000\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\011\253\000\000\000\000\011\253\005\229\005\229\000\000\005\229\b!\005\229\000\000\005\229\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\005\229\000\000\000\000\000\000\011\253\005\229\000\000\000\000\005\229\000\000\005\229\000\000\005\229\000\000\000\000\000\000\005\229\005\229\005\229\000\000\005\229\005\229\005\229\000R\t\174\t\182\000\170\000\000\000\174\000\000\t\250\n\002\n\n\nN\000\000\nV\n^\000\000\nn\000\000\nv\000\000\n~\n\170\001\238\n\178\000\000\000\000\016-\000\000\000\000\016-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\250\n\186\025\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\"\000\000\016-\016-\000\000\000\000\n\194\016-\000\000\000\000\016\178\016-\000\000\000\000\000\000\000\000\000\000\016-\000\000\025:\016-\016-\000\000\016-\016-\000\000\n\210\016\186\000\000\016-\016\198\025n\000\000\016-\000\000\000\000\016-\000\000\016-\016-\025\142\n\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\022\000\000\016-\025\154\016-\000\000\025\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016-\000\000\000\000\000\000\026\n\000\000\000\000\016\210\000\000\026\022\000\000\n\017\000\000\000\000\026F\000\000\000\000\000\000\000\000\000\000\000\000\026R\000\000\026^\000\000\000\000\027Z\016-\016-\000\000\016-\000\000\016\214\001\209\016-\000\000\001\209\000\000\000\000\000\000\000\000\027f\027~\016\222\000\000\001\209\000\000\027\138\001\209\000\000\000\000\016-\000\000\016-\000\000\000\000\000\000\001\209\001\209\016-\016-\016-\001\209\016-\016-\016-\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003*\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\0032\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\001Y\000\000\000\000\001Y\004^\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004R\001\209\001\209\000\000\001\209\001\209\001\209\000\000\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\001M\000\000\001Y\001M\000\000\000\000\001Y\000\000\000\000\003r\000\000\003\130\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\001Y\000\000\001Y\001M\000\000\000\000\001M\001M\000\000\001M\001M\000\000\000\000\001Y\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003r\000\000\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003z\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\001M\000\000\001Y\001Y\001Y\001Y\001Y\000\000\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003z\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\001U\000\000\001Q\001U\000\000\000\000\001Q\000\000\000\000\003r\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\001Q\000\000\001Q\003j\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\001Q\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003r\000\000\003\130\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003z\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\001U\000\000\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003z\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\001U\001U\001U\000\000\003b\003\138\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\001]\000\000\001e\001]\000\000\000\000\001e\000\000\000\000\003r\000\000\003\130\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\154\000\000\001e\003j\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001e\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003r\000\000\003\130\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003z\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\001]\000\000\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003z\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\003b\003\138\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\001i\000\000\001a\001i\000\000\000\000\001a\000\000\000\000\003r\000\000\003\130\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\154\000\000\001a\003j\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\001a\000\000\001i\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003z\000\000\003\154\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\001i\000\000\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001i\001i\000\000\001q\003z\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003b\003\138\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\003\242\000\000\001q\001m\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\003\154\000\000\001q\003j\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001q\000\000\001m\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001q\001q\000\000\000\000\003z\000\000\003\154\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\001m\000\000\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\170\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001m\001m\000\000\003\242\003z\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003b\003\138\000\000\001m\001m\001u\001m\003\170\001m\001u\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001u\001u\000\000\001u\003\250\000\000\000\000\003V\000\000\001u\003\178\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\210\003\218\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\000\000\000\000\003\154\000\000\001u\003\226\000\000\000\000\002-\002-\000\000\003\234\004\n\000\000\000\000\001u\000\000\002-\000\000\000\000\000\000\004\018\000\000\000\000\004\026\000\000\004\"\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001u\001u\000\000\000\000\003z\000\000\004*\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\002-\000\000\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\170\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0042\000\000\000\000\002-\002-\000\000\000\129\004:\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\000\000\000\000\003b\003\138\000\000\002-\002-\000\129\004B\004J\002-\000\129\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000i\000\000\000\129\000i\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\154\000\000\000\129\003j\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\129\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003r\000\000\003\130\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\129\000\129\000\000\000\000\003z\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000i\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003\170\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000e\003z\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000e\000e\000\000\000i\000i\000e\000i\000i\000i\000e\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000]\000\000\000e\000]\000\000\000\000\000e\000\000\000\000\003r\000\000\003\130\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000e\000\000\000e\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000e\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\003r\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003z\000\000\000]\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000]\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\003\242\003z\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\003b\003\138\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\137\000\137\000\000\000\137\003\250\000\000\000\000\003\242\000\000\000\137\000}\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\003\154\000\000\000\137\003j\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\137\000\000\000}\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\137\000\137\000\000\000\000\003z\000\000\003\154\000\000\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000}\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\004\002\003\170\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000}\000}\000\000\000u\003z\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\003b\003\138\000\000\000}\000}\000u\000}\003\170\000}\000u\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000a\000\000\000u\000a\000\000\000\000\000u\000\000\000\000\003r\000\000\003\130\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\154\000\000\000u\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000u\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003r\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\003z\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000a\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000m\003z\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\003b\003\138\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000q\000\000\000m\000q\000\000\000\000\000m\000\000\000\000\003r\000\000\003\130\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\000m\000\000\000m\003j\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000m\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003r\000\000\003\130\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003z\000\000\003\154\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000q\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\003\242\003z\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\003b\003\138\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\133\000\133\000\000\000\133\003\250\000\000\000\000\000y\000\000\000\133\000y\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\154\000\000\000\133\003j\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\133\000\133\000\000\000\000\003z\000\000\003\154\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003\170\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000y\000y\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\002j\000\000\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\rR\r^\000\000\000\000\r\254\014\022\014\026\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\rr\002\170\000\000\000\000\rv\014\030\002\178\000\000\000\000\rz\r~\002\022\000\000\r\130\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\022\r\026\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\006\197\000\000\014\"\000\000\014>\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\r:\000\000\r\154\r>\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\000\000\004\241\006\189\r\030\r\166\000\000\002z\000\000\000\000\000\000\002\238\000\000\000\000\006\189\000\000\rR\r^\000\000\006\189\r\254\014\022\014\026\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rr\002\170\000\000\000\000\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\002j\000\n\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\014\"\002z\014>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\r\154\r\254\014\022\014\026\000\000\000\000\r\162\002\158\000\000\002\162\000\000\000\000\t9\000\000\000\000\r\166\000\000\000\000\rr\002\170\000\000\002\238\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\002j\000\n\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\014\"\002z\014>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\r\154\r\254\014\022\014\250\000\000\000\000\r\162\002\158\000\000\002\162\000\000\000\000\002\129\000\000\000\000\r\166\000\000\000\000\rr\002\170\000\000\002\238\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\003\213\000\000\000\000\000\000\000j\003\213\000\000\000r\000\000\000\130\003\213\000\000\003\213\r\134\r\138\000\000\000\138\003\213\003\213\r\142\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\000\000\000\000\014>\000\000\000\000\000\146\003\213\000\000\000\000\000\000\003\213\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\000\000\tI\003\213\000\000\r\166\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\000\000\003\213\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003\213\014r\003\209\000\000\003\213\003\213\000\198\003\209\000\000\000\206\000\000\000\222\003\209\003\213\003\209\000\000\000\000\003\213\000\230\003\209\003\209\000\000\000\000\000\000\000\000\014z\014\130\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\014\138\000\000\000\000\003\213\000\000\000\000\014\146\014\154\000\000\000\238\003\209\000\000\000\000\000\000\003\209\000\000\014\162\000\000\000\000\014\170\000\000\014\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\003\209\003\213\000\254\000\000\014\186\000\000\003\213\003\213\000\000\003\209\000\000\003\213\000\000\003\209\003\209\000\000\001\233\000\000\000\000\001\233\000\000\000\000\003\209\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\001\233\001\233\000\000\000\000\014\194\001\233\000\000\003\209\000\000\001\233\000\000\014\202\003\209\000\000\000\000\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\006-\000\000\001\233\000\000\000\000\000\000\001\233\006-\000\000\001\233\000\000\001\233\001\233\000\000\000\000\014\210\014\218\000\000\000\000\000\000\003\209\000\000\000\000\003\209\003\209\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\209\003\209\000\000\000\000\001\233\003\209\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\001\233\016\242\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\002\138\002\142\000\000\002\150\000\000\r6\001\233\000\000\001\233\000\000\002\158\000\000\002\162\000\000\016\250\001\233\001\233\000\000\001\233\001\233\001\233\002\166\002\170\000\000\014.\002\174\001f\002\178\000\000\000\000\002\182\002\186\t\198\006\165\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\n\026\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\006\165\006\165\002\202\006\165\000\000\000\n\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\002\210\000\000\000\000\006\165\000\000\000\000\006\165\006\165\nb\006\165\006\165\002\214\n!\006\165\000\000\000\000\006\165\000\000\011\138\006\165\006\165\006\165\000\000\000\000\002\218\000\000\006\165\006\165\011Z\000\000\002\230\006\165\006\165\000Z\006\165\n!\000\000\006\165\006\165\002\246\011\222\006\165\006\165\000Z\006\165\002\238\000\000\012&\006\165\000\000\006\165\006\165\006\165\006\165\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\000\000\006\165\000Z\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000Z\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\012Z\006\165\006\165\012\154\006\165\000Z\000\000\006\165\000Z\006\165\006\165\006\165\006\165\006\165\006\165\000Z\000\000\006\165\006\165\012\198\006\165\000\000\006\165\006\165\000Z\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\002j\000\000\000\000\002n\006\165\006\165\002r\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\000\000\016\018\000\000\000\000\006\165\006\165\000\000\002z\006\165\000\000\002~\000\000\000\000\006\165\006\165\000\000\002\138\002\142\000\000\002\150\017&\000\000\000\000\017.\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\017>\017F\002\182\002\186\000\000\002=\002\190\002\194\000\000\002=\000\000\000\000\000\000\000\000\000\000\017N\000\000\000\000\002=\002=\000\000\017V\017^\000\000\002\198\000\000\000\000\002=\000\000\002\202\000\000\017f\000\n\000\000\017n\000\000\017v\002=\000\000\000\000\000\000\002\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017~\000\000\002=\000\000\002\218\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002=\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\134\000\000\000\000\002=\000\000\000\000\0015\017\142\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\003b\003\138\000\000\002=\002=\0015\017\150\017\158\002=\0015\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\001\029\000\000\0015\001\029\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003\154\000\000\0015\003j\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\0015\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003r\000\000\003\130\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\0015\000\000\000\000\000\000\003z\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\003\170\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\025\003z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\001\025\001\025\000\000\001\029\001\029\001\025\001\029\001\029\001\029\001\025\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\017\000\000\001\025\001\017\000\000\000\000\001\025\000\000\000\000\003r\000\000\003\130\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\001\025\000\000\001\025\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\001\025\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\003r\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003z\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\003\242\003z\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\003b\003\138\000\000\001\017\001\017\001=\001\017\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001=\001=\000\000\001=\003\250\000\000\000\000\003\242\000\000\001=\0011\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\000\000\003\154\000\000\001=\003j\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001=\000\000\0011\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001=\000\000\000\000\000\000\003z\000\000\003\154\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\004\002\003\170\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\0011\000\000\000\000\001)\003z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\003b\003\138\000\000\0011\0011\001)\0011\003\170\0011\001)\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001\021\000\000\001)\001\021\000\000\000\000\001)\000\000\000\000\003r\000\000\003\130\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\154\000\000\001)\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001)\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003r\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003z\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\001!\003z\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\003b\003\138\000\000\001\021\001\021\001!\001\021\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\001%\000\000\001!\001%\000\000\000\000\001!\000\000\000\000\003r\000\000\003\130\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\001!\000\000\001!\003j\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\001!\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003r\000\000\003\130\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003z\000\000\003\154\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\003\242\003z\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\003b\003\138\000\000\001%\001%\0019\001%\001%\001%\0019\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\0019\0019\000\000\0019\003\250\000\000\000\000\001-\000\000\0019\001-\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\000\000\003\154\000\000\0019\003j\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\0019\000\000\001-\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\0019\000\000\000\000\000\000\003z\000\000\003\154\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\0019\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\0019\0019\000\000\0019\003\170\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\003\162\002n\000\000\001-\002r\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\n!\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\001-\000\000\001-\000\000\000\000\002\138\002\142\000\000\002\150\001-\001-\000\000\001-\001-\001-\002\158\000\000\002\162\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\003j\000\000\002\202\000\000\000\000\000\n\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\002\210\000\000\003\146\002j\000\000\003r\002n\003\130\000\000\002r\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\000\000\000\000\002\218\002z\000\000\000\000\002~\000\000\002\230\000\000\003\154\n!\002\138\002\142\000\000\002\150\000\000\002\246\000\000\000\000\000\000\000\000\002\158\002\238\002\162\000\000\000\000\000\000\023\198\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\023\202\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\003\162\023\206\000\000\023\210\012a\012a\000\000\003z\000\000\000\000\000\000\023\214\000\000\000\000\002\198\000\000\000\000\023\218\000\000\002\202\023\226\000\189\000\n\000\000\023\230\000\000\000\000\000\000\000\189\000\000\023\234\002\210\000\000\000\000\000\000\000\000\000\189\003\170\000\000\000\000\000\000\023\198\002\214\000\000\012a\000\000\023\238\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\002\218\000\000\000\000\000\000\000\000\026\026\002\230\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\002\246\0125\000\000\012a\023\214\023\242\002\238\000\000\023\246\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\025F\000\000\023\250\000\000\023\234\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\026v\025\202\000\000\0125\000\000\023\238\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\012a\0125\000\000\023\242\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\0125\000R\000V\000f\000\170\000\000\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\002j\000\000\000\000\002n\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\002\002\000\000\000\000\002\138\t&\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\022\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\002\210\002v\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\002\214\000\000\005i\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\002\226\000\000\002\138\t\022\000\000\002\150\002\230\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\b\254\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\002\206\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\016\017\002\226\000\000\016\017\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\000\000\016\017\016\017\000\000\000\000\000\000\000\000\000\000\000\000\007^\000\000\000\000\000\000\002\198\000\000\000\000\016\017\000\000\002\222\000\000\016\017\000\n\016\017\016\017\000\000\000\000\007f\000\000\000\000\bj\002\210\000\000\016\017\000\000\000\000\016\017\000\000\016\017\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\000\000\000\000\002\230\000\000\016\017\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\b\202\000\000\000\000\000\000\bv\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\185\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\017\016\017\000\000\016\017\000\000\bz\000\000\016\017\004\185\000\000\000\000\004\185\000\000\000\000\000\000\000\000\b\130\004\185\004\185\000\000\004\185\016\017\000\000\000\000\000\000\016\017\016\017\004\185\000\000\004\185\000\000\000\000\016\017\000\000\000\000\000\000\016\017\016\017\004\185\004\185\000\000\000\000\004\185\004\185\004\185\000\000\000\000\004\185\004\185\000\000\000\000\004\185\004\185\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\185\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\004\185\002\138\rB\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\002\170\004\185\000\000\002\174\001f\002\178\000\000\004\185\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\004\185\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\015\254\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\026b\000\000\026j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\026r\000\000\002\198\000\000\006\165\026\146\000v\002\222\000\000\006\165\000\n\006\165\023\202\000\000\000\000\000\000\006\165\006\165\000\000\002\210\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\002\214\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\002\226\000\000\000\000\023\230\006\165\000\000\002\230\000\000\006\165\023\234\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\006\165\023\238\026\154\000\000\001\210\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\210\023\242\000\000\006\165\023\246\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\006\165\000\000\023\254\000\n\024\002\006\165\024\006\024\n\000\000\024\014\006\165\000\000\001\026\000\000\000\000\006\165\024\018\006\165\000\000\024\022\000\000\006\165\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\006\165\000\000\000\000\000\000\002\026\000\000\000\000\006\165\000\000\000Z\006\165\006\165\006\165\000\000\006\165\000\000\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\000\000\005\162\000\000\006\165\000\000\000\000\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\004\209\004\209\004\209\004\209\000\000\004\209\000\000\004\209\004\209\004\209\004\209\000\000\004\209\004\209\000\000\004\209\000\000\004\209\000\000\004\209\004\209\004\209\004\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002.\000\000\000\000\000\000\000\000\000\000\004\209\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\004\209\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\209\000\000\000\000\000\000\001\250\000\000\004\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\209\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\004\209\000\000\002\130\000\000\000\000\002\134\000\000\004\209\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\002\022\000\000\000\000\000\000\002\154\007\002\004\209\002\150\000\000\000\000\000\000\000\000\000\000\002\"\002\158\000\000\002\162\000\000\000\000\000\000\002&\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\000\000\007\030\007\"\006\165\006\165\007&\002\194\000\000\006\165\006\165\004\210\005&\000\n\006\165\006\165\006\165\006\165\000\000\004\209\000\000\006\165\006\165\006\165\007*\000\000\000\000\000\000\000\000\007.\000\000\000\000\000\n\002*\000\000\006\165\000\000\000\000\000\000\000\000\006\165\0076\005n\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\014\017\000\000\000\000\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\006\165\006\165\000\000\000\000\005\226\006\202\000\000\000\000\007F\000Z\000Z\006\165\006\165\006\165\002\238\006\165\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\006\165\000\000\000\000\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\"\000\000\006\022\000\000\000\000\000\000\000\000\002&\000\000\000\000\000\000\002\022\000\000\000\000\000\000\006\026\006\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\"\000\n\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\002*\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\006&\002\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\002\018\000\000\000\000\000\000\006\165\000\000\006\022\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\002\022\006\165\006\165\000\000\006\026\006\030\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\tV\000\000\000\000\002\002\000\000\000Z\000\000\000\000\006\165\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\002\018\023\198\000\000\000\000\000\000\000\000\006\022\006\165\tq\000\000\000\000\006\165\000\000\023\202\000\000\002\022\000\000\000\000\000\000\006\026\006\030\000\000\006\165\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\006\165\000\000\023\214\006\"\000\000\006\165\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025B\000\000\000\000\000\000\000\000\023\238\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006&\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0125\000\000\023\242\000\000\000\000\023\246\002\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\0125\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\029\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\029\022\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\029\030\001\014\001\022\001\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\004\249\000\000\029\030\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\029\022\000\000\tU\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\002\"\000\174\000\000\000\178\000\186\000\194\001\006\002&\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\030\000\000\000\000\000\000\000\n\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\002\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\006.\000\000\002\173\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\006\026\006\030\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\r:\000\000\001\250\r>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\002\158\000\000\002\162\000\000\000\000\029&\000\000\t\129\000\000\000\000\000\000\rr\002\170\000\000\002\022\rv\001f\002\178\029\026\006\030\rz\r~\000\000\002j\r\130\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\002z\000\000\r\142\000\000\000\000\000\n\000\000\000\000\000\000\016f\016R\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\n\025\000\000\000\000\000\000\000\000\016j\002\170\000\000\000\000\016n\001f\002\178\n\025\r\154\016r\016v\000\000\000\000\016z\r\162\000\000\000\000\000\000\n\025\000\000\n\025\000\000\000\000\r\166\000\000\000\000\te\000\000\n\025\002\238\r\134\016~\000\000\000\000\n\025\000\000\016\130\n\025\000\000\000\n\000\000\n\025\024\158\000\000\000\000\000\000\000\000\n\025\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\217\000\000\000\000\000\000\000\000\000\000\n\025\000\000\000\000\000\000\000\000\000\000\b\217\000\000\000\000\016\142\000\000\000\000\000\000\000\000\000\000\016\150\000\000\b\217\000\000\b\217\000\000\000\000\000\000\000\000\016\154\000\000\000\000\b\217\000\000\n\025\002\238\000\000\n\025\b\217\000\000\000\000\b\217\000\000\000\000\000\000\b\217\000\000\000\000\000\000\000\000\n\025\b\217\000\000\000\000\000\000\n\025\n\025\n\025\000\000\n\025\n\025\000\000\n\025\000\000\000\000\000\000\000\000\b\217\026\154\n\025\000\000\000\000\n\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\025\000\000\000\000\007\133\000\000\n\025\n\025\000\000\000\000\b\217\000\000\000\000\b\217\000\000\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\217\007\133\000\000\007\133\000\000\b\217\b\217\b\217\000\000\b\217\b\217\007\133\b\217\000\000\000\000\000\000\000\000\007\133\000\000\b\217\007\133\000\000\b\217\000\000\007\133\000\000\000\000\025&\000\000\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\b\217\000\000\023\202\000\000\027\158\b\217\b\217\000\000\000\000\007\133\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\007\133\000\000\000\000\007\133\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\000\000\023\238\007\133\007\133\007\133\000\000\007\133\007\133\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\007\133\000\000\000\000\000\000\000\000\025>\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\007\133\000\000\023\202\000\000\000\000\007\133\007\133\000\000\000\000\000\000\000\000\000\000\023\250\023\206\000\000\023\210\000\000\023\254\000\n\024\002\000\000\024\006\024\n\023\214\024\014\000\000\000\000\000\000\000\000\023\218\000\000\024\018\023\226\000\000\024\022\000\000\023\230\000\000\000\000\023\198\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\023\238\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\023\242\000\000\000\000\023\246\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\025\246\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\023\198\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\000\000\000\000\000\000\023\250\023\206\000\000\023\210\000\000\023\254\000\n\024\002\000\000\024\006\024\n\023\214\024\014\000\000\000\000\000\000\000\000\023\218\000\000\024\018\023\226\000\000\024\022\000\000\023\230\000\000\000\000\023\198\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\027j\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\023\242\000\000\000\000\023\246\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\023\238\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\024\026\000\000\000\000\000\000\000\000\024\030\024\"\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\027\150\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\007\186\001\014\001\022\007\194\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\210\007\218\000\000\001\250\000\249\000\000\000\000\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\226\000\000\000\000\002\002\0025\000\000\007\234\007\242\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\007\250\000\225\000\000\b\002\000\225\b\n\000\000\002\018\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\002\022\000\000\000\000\000\225\000\225\000\000\003\146\000\221\b\018\003r\000\221\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\n\214\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\225\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\b\026\000\000\000\221\0025\000\221\000\221\000\000\b\"\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\225\003r\000\000\003\130\000\000\0025\000\000\000\000\000\000\0025\0025\000\000\003\162\000\000\000\000\000\249\000\000\000\000\000\000\003z\b*\b2\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003z\000\249\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003z\000\225\000\225\000\000\000\000\000\213\000\213\000\000\000\000\003\242\000\000\000\000\001\001\000\000\000\221\000\000\000\000\000\000\000\221\000\221\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\221\000\221\000\000\000\000\003b\003\138\000\000\000\213\003\242\000\000\003r\000\245\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\001\001\000\000\001\001\003\250\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\003\146\000\237\000\213\003r\000\237\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\003\146\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\213\000\000\000\237\000\213\000\237\000\237\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\003\154\003r\000\000\003\130\000\000\000\213\000\000\000\000\000\000\000\213\000\213\000\000\003\162\000\000\000\000\001\001\000\000\000\000\000\000\003z\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\003\162\000\000\000\000\000\245\000\000\000\000\000\000\003z\004\002\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\245\000\000\000\000\000\000\000\245\000\245\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003z\000\245\003\170\000\000\000\000\000\217\000\217\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\237\000\237\000\000\000\000\003b\003\138\000\000\000\217\000\233\000\000\003r\000\233\000\217\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\229\003\242\000\217\003r\000\253\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\233\000\000\000\229\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\217\000\000\000\253\000\217\000\253\003\250\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\003\154\003r\000\000\003\130\000\000\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003z\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003z\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\241\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\165\003\162\000\000\000\000\000\253\000\000\000\000\000\000\003z\000\233\000\233\000\000\000\000\003b\003\138\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\253\000\000\000\165\000\165\000\253\000\253\003j\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\253\003\170\003j\000\000\000\161\000\161\000\153\003\146\000\165\000\165\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\165\003j\000\000\003r\000\000\003\130\000\000\000\161\000\161\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\161\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\165\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\003\242\000\000\003r\000\161\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\241\000\000\000\000\000\000\003z\000\000\003b\003\138\000\165\000\000\000\000\000\153\000\000\000\000\000\000\003z\000\000\000\000\000\241\000\000\000\000\003j\000\241\000\241\000\000\000\161\000\000\000\197\003\250\000\165\000\000\003\242\003z\000\241\000\241\000\177\000\165\003\146\000\000\000\000\003r\000\000\003\130\000\000\000\165\000\165\000\161\000\000\000\000\000\000\000\000\000\153\000\000\000\161\000\000\003b\003\138\000\000\003z\003b\003\138\000\161\000\161\000\000\000\000\000\000\000\000\003\154\000\000\000\000\003j\000\000\000\153\000\000\003j\000\000\000\185\000\185\000\000\000\153\000\177\000\177\000\000\000\000\000\000\000\000\003\146\000\153\000\153\003r\000\177\003\130\000\000\003r\000\157\003\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\000\000\000\000\000\000\003z\000\000\003\154\000\000\000\157\000\157\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\157\000\000\000\197\000\000\000\000\000\000\000\157\000\157\000\000\000\000\004\002\003\170\000\000\000\000\000\000\000\000\000\157\000\000\000\000\003r\000\000\000\157\000\000\003\162\000\000\000\000\000\000\000\177\000\000\000\000\003z\000\000\000\169\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\185\000\000\000\157\000\000\000\177\000\000\000\000\000\185\000\000\000\000\000\000\000\177\003b\003\138\000\000\000\185\003\170\000\000\000\000\000\177\000\177\000\000\000\000\003b\003\138\000\000\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\003\242\003j\000\000\000\000\000\181\000\157\000\169\000\173\000\173\003r\000\000\003\130\003z\000\000\000\000\000\000\000\000\000\173\000\000\000\000\003r\000\000\003\130\000\000\003b\003\138\000\157\000\000\003b\003\138\000\000\000\000\000\000\000\157\000\000\000\000\000\169\000\000\000\000\003j\000\000\000\157\000\157\003j\000\000\000\193\003\250\003\154\000\000\000\181\000\181\000\000\000\000\000\000\000\000\003\146\000\000\000\000\003r\003\146\003\130\000\000\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\003z\000\000\003\154\000\000\000\173\000\000\003\154\000\000\000\000\000\000\000\000\003z\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\169\000\169\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\003\162\000\000\000\000\000\000\003\162\000\000\000\000\003z\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\193\003\170\000\000\000\000\000\181\000\181")) let lhs = - (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\003\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\249\000\248\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\229\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\188\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\178\000\178\000\178\000\177\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\166\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000z\000y\000y\000y\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000q\000p\000p\000p\000o\000o\000n\000n\000n\000m\000m\000l\000k\000k\000k\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000X\000X\000X\000X\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000E\000D\000C\000B\000B\000A\000A\000@\000?\000?\000?\000>\000>\000=\000=\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\000:\000:\0009\0009\0008\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000%\000%\000%\000$\000$\000$\000$\000#\000#\000#\000#\000#\000\"\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013") + (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001$\001$\001$\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\029\001\029\001\029\001\029\001\028\001\027\001\027\001\027\001\026\001\026\001\026\001\025\001\025\001\025\001\024\001\024\001\024\001\023\001\022\001\021\001\020\001\020\001\019\001\019\001\018\001\018\001\017\001\017\001\016\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\248\000\248\000\248\000\248\000\247\000\247\000\247\000\247\000\246\000\246\000\246\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\244\000\243\000\243\000\243\000\243\000\243\000\242\000\242\000\241\000\240\000\239\000\239\000\239\000\239\000\238\000\238\000\238\000\238\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\236\000\235\000\235\000\234\000\234\000\234\000\233\000\233\000\232\000\232\000\232\000\231\000\230\000\229\000\229\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\222\000\221\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\215\000\215\000\214\000\214\000\214\000\214\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\210\000\210\000\209\000\209\000\208\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\206\000\205\000\205\000\205\000\205\000\204\000\204\000\204\000\204\000\203\000\203\000\203\000\203\000\202\000\201\000\201\000\200\000\200\000\200\000\199\000\198\000\198\000\198\000\197\000\196\000\196\000\195\000\195\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\191\000\191\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\180\000\180\000\180\000\180\000\180\000\180\000\179\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\148\000\147\000\147\000\146\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\144\000\144\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\131\000\131\000\131\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r") let goto = - ((16, "\000\193\000l\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001C\000\182\000\000\001\019\000\197\000\000\000\000\000\000\000\139\000\000\000[\000\252\000\000\000\000\001t\000\000\001\166\000\000\000\000\000\000\001\206\000\000\002\018\000\000\000\000\000\000\000\000\003@\000\000\003R\003\134\000\000\000\000\004\132\000\000\004\172\000\000\000\000\000\000\005\166\000\000\005\182\000\000\005\208\000\000\006\000\006(\000\000\000\000\006J\000\000\006\200\000\000\000\000\000\000\000\000\007f\000\000\007n\000\000\000\000\007\218\000\000\008\018\000\000\000\000\000\000\008\026\000\000\000\160\008P\000\011\000\000\000\000\000\000\0072\002@\002\240\000\000\000\000\008\170\000\000\000\236\000\000\000\168\000\247\000\023\000\000\000\000\013\196\000\000\002\246\000\000\0028\004\128\000\160\011\002\000\160\003\148\031<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\226\011\002\000\000\000\000\017\002\000\000\0188\000\000\001^\000\000\000\000\000\000\000\000\002R\000\000\018\144\000\000\000\000\014\156\000\000\023\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n,\000\000\011@\000\000\011D\000\000\015\144\000\000\019\236\000\000\019\240\000\000\023*\000\000\023>\000\000\028`\000\000!\030\000\000\006\026\000\000\006D\000\000\000\000\000\000\000\000\000\000#P\000\000)J\000\0006l\000\000\027v\000\000\000\000\028\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\008\228\000\000\000\000\t\"\000\000\t\132\t\202\000\000\000\000\t\208\000\000\t\218\000\000\000\000\000\000\t\222\000\000\t\224\000\000\000\000\t\230\000\000\t\246\n\016\000\000\000\000\n\024\000\000\n \000\000\000\000\000\000\n*\000\000\n,\000\000\n.\000\000\n2\nB\000\000\000\000\n\130\000\000\n\144\000\000\003\014\n\176\000\000\n\210\000\000\n\220\000\000\n\232\000\000\000\000\000\000\011\000\000\000\011\004\0056\000\000\011\014\000\000\000\194\006\154\000\000\002\216\000\000\004\006\000\000\000\000\007F\000\000\000\000\001\017\003z\000\000\000\000\000\000\000\000\003>\000\000\003P\000\000\008\168\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\008\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\0001\003\152\017\172\000\000\011\020\000\000\011\024\019\142\000\000\011\026\000\000\000\000\004\190\000\000\000\000\000\000\000\000\000\000\026\152\000\0000\026\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\006\160\031<\000\000\007\142\000\000\020\216\022\190\000\000\000\000\000\000\004@\000\000 2\000\000\000\0000r\000\000\000\000\000\000\005\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\000\000&\208\000\000\000\000\000\000\000\000\000\199\000\000\000\0000\186\000\000\000\000\000\000\000n\000s\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\004\144\000\000\005\158\000\000\n~\000\000\011^\000\000\012\016\000\000\012\146\000\000\016\142\000\000\027\210\000\000\0302\000\000\014\144\000\000\004\012\000\000\031n\000\000%\172\000\000-\178\000\000\000\000\000\000\000\000\000\000\000\1710\200\000\000\000:\000\000\000\000\000}\001\132\000\000\001\028\000\000\000\000\000\000\005\190\000\000\000\000\000\000'(\000\000\000\000\000\000\000\000\000\000(\n\000\000\000\000\000\000\000\000\000\000\000\000\001\028\000\000\000\000\000\000\011(\020\254\000\000\011*\000\000\000\000\000\000\000\000\000\000\011,\000\000\000\000\000\129\007\166\000\000\008H\000\000\000\000\000\000\000}\000\000\012\206\001\196\011.\000\000\000\000\011:\000\000\011B\011F\000\000\000\000\011J\000\000\011N\000\000\000\000\000\000\011T\000\000\011V\000\000\000\000\011^\000\000\011d\011f\000\000\000\000\011v\000\000\011~\000\000\000\000\000\000\011\128\000\000\011\146\000\000\011\150\000\000\011\152\011\160\000\000\000\000\011\162\000\000\011\166\000\000\005\218\011\172\000\000\011\174\000\000\011\176\000\000\011\192\000\000\000\000\000\000\011\198\000\000\006\020\000\000\000\000\011\206\023\164\000\000\011\210\000\000\000\000\000`\000\000\000\000\003J\000\000\000\000\000\000\000\000\000\000\006&\025\134\000\000\011\218\000\000\011\224\030\"\000\000\011\228\000\000\000\000\012\236\011\236\000\000\000\000\011\238\000\000\012\004\012\018\000\000\000\000\012\030\000\000\012(\000\000\000\000\000\000\012*\000\000\012,\000\000\000\000\0122\000\000\012:\012<\000\000\000\000\012@\000\000\012B\000\000\000\000\000\000\012R\000\000\012T\000\000\012V\000\000\012X\012Z\000\000\000\000\012b\000\000\012d\000\000\007\008\012v\000\000\012z\000\000\012\154\000\000\012\160\000\000\000\000\000\000\012\162\000\000\012\164\"\028\000\000\012\168\000\000\000\000\007x#d\000\000\012\170\000\000\012\174&\028\000\000\012\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\252\000\000#\240\000\0001>\000\000\000\000\000Z\000\000\000\000\001\188\000\214\000\000\000\000\020H%\136\000\000\017$\017\030\000\000\000\000((\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\028((\000\000\029\184\000\000$\240\0120(\156\000\000\016\214\000\000\000\000\000\000\007\168\000\000 \214\000\000\000\0001^\000\000\000\000\000\000\007\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\212\000\0002\008\000\000\000\000\000\000(\242\000\000\000\000\000\000\022~\000\000\000\000\000\000\000\000\007\206\000\000\000\000\000\000\000\000\031\132\000\000\000\0005t\000\000\000\157\000\000\000\000\000\000\000\025\000\000\001\248\000\000\002\140\000\000\0042\000\000\008\146\000\000\t\164\000\000\014R\000\000\014\170\000\000\017\128\000\000\022\\\000\000\024@\000\000\027*\000\000\031\008\000\000\000\000\000\000\000\000\000\000\007:\000\000)\246\000\000*82X\000\000*\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\005z\000\000\004\216\000\000\000\000\024<\000\000\000\000\000\000*:\000\000\000\000\000\000\000\000\000\000\0258\000\000\000\000\000\000\000\000*\134\000\000\000\000\000\000\000\000\004\004\004r\000\000*\224\000\000\000\000\000\000\000\000\008\176\000\000*\254\000\000\000\000\000\000\000\000\000~\000\000\007|\000\000\015\178\006t(\214\000\000\000\000\000\000\013F\000\000\000\000\000\000\000\000\000\000\000\000\018\246(\214\000\000\021\170\000\000\024\234\013\248\000\000\000\000\000\000\0080\000\000 \240\000\000\000\0002L\000\000\000\000\000\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\148\000\00060\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\016T\000\000\018\190\000\000\024h\000\000\025\152\000\000'\n\000\000-\170\000\000/r\000\000/\186\000\0005B\000\000+&\000\000\000&\000\0006\006\000\0006^\000\0006\186\000\000),\000\000\000\000\000\0002\152\000\000\000\000\000\000\004 \000\0002\158\000\000\000\000\000\0002\238\000\000\000\000\0010\000\000\024\200\000!\005\026\000\000\005:\000\000\013\144\002\n\008\014\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\"\000\000$<$\000\008\142\000\000\000\000\000\000+\158\000\000+\234\000\000,D\000\000%$%H\002\154\000\144\008\170\000\000\000\000\000\000\002>\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\162\000\000\000\000\000\000\000\000!<\000\000&\n\000\000\000\000\000\000\000\000\000\000\000\000\014\024\000\000\000\000\005\188\000\000\000\000\000\000\025v\002\164\000\000\026\016\000\000\000\000\008\176\000\000\002\196\000\000\000\000\014\198\000\000\026\206\000\000\000\000!\254\000\000\000\000\000\000\006\204\000\000\000\000\005\002\000\000\000\000\0266\000\000\000\000\000\000,j\000\000\000\000\000\000\027\222\000\000\000\000\000\000\000\000,\136\000\000\000\000\000\000\000\000\004>\011\144\000\000,\194\000\000\000\000\000\000\000\000\000\000\000\000\015N\000\000\000\000\002\238\000\000\015\204\000\000\006\204\000\000\000\000\001\130\tD\000\000\003\006\000\000\000\000\000\000\000\000\001 \000\000&$\000\000\026 \003H\027h\000\000\003h\000\000\016\192\000\000\017>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\028&\005\024\028\192\000\000\000\000\000\000\005\154\000\000\017\180\000\000\004\"\000\000\000\000\t\192\004\246\029n\000\000\006\136\000\000\0182\029~\000\000\000\000\019&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\0082\000\000\0064\000\000\000\000\000\000\000\000\006V\000\000\019\164\000\000\000\000\000\000\"\1643\176\000\000\000\000\000\000 \024\000\000\000\000\000\000\000\000\0070\006`\000\000\000\000-\008\000\000\000\000\002\236\000\000\007\024\000\000\000\000\030>\000\000\000\000\000\000-.\000\000\000\000\000\000\000\000.\012\000\000\000\000\006\236\008\150\000\000\000\000.\016\000\000\000\000\006\206#\006\000\000\008\194\000\000\000\000.X\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\"\000\000\000\000\000\000\000}\000\000\000\000\008\224\000\000\000\000\"n\000\000\000\000\000\000.\208\000\000\000\000\000\000\000\000.\238\000\000\000\000\008\182\t(\000\000\000\000/\024\000\000\000\000\008.\000\000\000\000\000\000\000\000\001 \000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002t\000\000\020,\000\000\000\000\000\00048\000\000\t\194\000\000\000\000\000\000\003\154\000\000\005\004\000\000\000\000\006\192\020\238\000\000\021v\000\000\000\000\000\000\008\008\000\0004F\00884`\000\0004\188\000\000\000\000\000\000\008l\000\0004\240\008t\000\000\000\000&\128\008\204&\230\000\000'B\000\000\000\000\000\000\t\020\000\0005\020\t\026\000\000\000\000\020\190\t\132!\192\000\000$\018\000\000\000\000\000\000\t\136\000\0005\128\t\184\000\000\000\000\000\000\000?\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\005\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002X\000\000\000\000\003\026\000\000\000\000\013h\000\000\000\000\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013l\000\000\000\000\013B\000\000\000%\000\000\000\000\000\134\000\000\0052\012\246\002\156\000\000\000\000\003\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\252\018\016\000\000\000\000\005\\\000\000\000\000\000\000\021\156\000\000\000\000\0224\023\014\000\000\000\000\000\000\000\000\023\172\027\254\000w\000\000\031\246\000\000\000\000\000\000\000\000\000\000\000\000\008*\000\000\000\000\006\164\000\000\000\000\012\190\000\000\000\000\003n\000\000\000\000\012\194\000\000\000w\000\000\000\000\000\000\000\000\011\n \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138 \196\000\000\000\000\000\000\000\000#L\000\000\000\000\003\022\000\000\013z\000\000\000\000\000\000\t\238\000\000\000\186\000\000\000\000\000\000\017X\000\000\000\000\015l$N\011~\000\000$\152\000\000\000\000\000\000\000\000\013>\000\000\000\000\000\000\n4\000\000\001\170\013\016\004\016\000\000\000\000\000\000\008|\008J\000\000\000\000\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\132\000\000\000\000\016^\000\000\000\029\013\142\003\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\144\000\000\000\000\0248%b\000\000\000\000\000\000\000\000\0026\000\000\005\008\011\198\000\000\028\202\000\000\000\000\000\000\000\000\000\000\000\146!\012\000\000\000\000&\176\000\000\000\000\000\000\000\000\nV\000\000)\240\000\000\000\000\000\000\000\000\007D\000\000\000\000\000\000\006\242\000\000\000\000\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\174\000\000\000\000\000\000\005\028\000\000\000\000\000\000\000\000\000\000\000\004\004\150\007\150\008\220\000\000\005\186\005\212\t\004\t\134\000\000\000\000\000\000\000\000\000\000\000\000\006b\021\244\000\000\030d\007X\000\000\000\000\008\248\000\000\022\232\000\000)\226\000\000\000\000\008\160\023f\000\000\030t\000\000\008\176\031\"\000\000\000\000\000\000\004\242\005\186\000\000\000\000\000\000\000\000\0088\000\000\011<\000\000\000\157\011z\000\000\000\000\000\000\003>\000\000\003P\000\000\t\002\000\000\000\000\0032\000\000\000\000\000\000\000\000\n8\000\000\000\000\t\238\000\000\023\220\000\000\020\236\013L\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000/\250\000\000\000R\000\000\000\000\000\000\000\000\000\000\001\148\000\000\n\182\t\136\011\200\000\000\002\170\012F\000\000\n\146\000\000\003\164\000\000\004D\000\000\005>\000\000\020\236\000\000\000\000\000\000\000\000\000\000\005\222\000\000\n\162\000\000\006\216\000\000\020\236\013\174\000\000\004\222\000\000\013\160\012\138\000\000\tH\000\000\n\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\168\000\000\011\020\000\000\000\000\000\000\000\000\000\000\000\000\013\166\012\158\000\000\000\000\012\196\000\000\000\000\012\166\t\218\013\226\000\000\013\232\000\000\000\000\t\186\011P\000\000\012\220\000\000\000\000\013\018\000\000\000\000\000\000\000\000\000\000\000\000\013\222\012\204\000\000\000\000\000\000\012\238\012\212\n\166\n\156\012\240\013&\000\000\000\000\012\222\n\176\n\170\012\252\0138\000\000\000\000\n\138\000\000\000\000\000\000\000\000\014\008\000\000\000\000\000\000\014\016\000\000\000\000"), (16, "\003l\003\131\005\196\005\197\002\193\000\138\005?\002\197\0017\000\147\003:\005\164\005n\005o\000\007\000\018\000_\006\017\003l\003\131\002\164\004Z\004B\001.\005|\006|\000\025\000_\000a\001\225\000e\006}\005\198\001\186\000_\003l\003m\000\005\006~\001\212\004\019\000\017\005\199\001g\001\140\001h\005}\006\018\001B\006\019\006\168\006\169\005\128\005n\005o\0010\004\020\001\192\003n\000\013\000\140\000\140\003o\001\188\002\198\000\024\000\141\000g\002\199\0026\000\142\001g\000J\001~\004\020\005p\003n\000_\006\020\002\246\003o\002\164\006\144\001\210\000\016\000\017\001\143\001\194\006\021\002:\001\234\000\140\001\237\003n\000\028\006'\000\138\003o\000\151\000\140\000\147\005t\001i\000\004\006\173\002=\001j\001\141\001\236\005\127\001\236\004\137\000_\003\136\001/\001\181\005p\003N\000 \006\007\0029\000h\006\128\000_\004/\006\176\000\005\000\140\006\177\000_\001i\005}\001\013\002\245\001j\005u\001w\005\128\005n\005o\006\129\006\008\001\213\006\011\005n\005o\001/\001\186\003\253\001\141\000_\000f\000\140\000e\005\196\005\197\000J\000\141\003|\002\166\006P\000\142\002\212\004\002\001w\004\225\003\253\004\003\004\021\000g\003}\004\139\004h\006\145\002\213\000\152\003|\001\187\006/\000J\006\181\004\002\004V\000K\005\220\004\003\004\021\006\130\003}\000\151\000g\000\138\000\182\003|\005\199\000\139\006\131\000\153\004\007\001\012\006\156\005p\004C\003U\004b\003}\004\247\005p\0062\004\029\001\179\001\181\004y\001x\004:\003\140\004\007\005\140\003l\003\131\004\024\006\158\000\183\001\015\005\005\0016\000_\004\029\003\231\004\021\006\160\006\182\004:\003\140\000_\005v\006P\003\141\006~\006\183\004\019\001x\003\142\002\247\006\002\000\155\003\143\000\140\0024\000\184\003\168\003\144\000\141\000\185\000_\003\141\000\142\002\250\002=\000\157\003\142\001\192\001\186\005\t\003\143\001\142\000\152\000h\002\193\003\144\004\029\002\197\003\141\004\"\004\020\004:\003n\003l\003\131\003\232\003o\001\145\002;\001\183\000\151\006\202\003\144\001\144\000\153\000\031\000h\001\193\003\139\000_\002\165\001\150\000\008\002\164\004Z\004B\001g\000_\001\203\002H\001\214\006'\006\003\004Q\001\189\001\145\000\203\001\215\0065\000\183\001\146\002=\006\004\006\005\001\147\001\229\005\007\000\203\001\012\001\148\000\140\001\015\001E\0016\002\198\006\007\006H\006I\002\199\004\020\002\167\003n\000\155\004S\006\203\003o\000\184\005\254\002\193\005b\000\185\002\197\001\015\006M\0016\000\"\000\157\006\008\003+\006\011\005n\005o\000\140\003l\003\131\001i\000J\000\152\005\251\001j\004\016\005`\003\253\001\"\004\252\000J\005c\005n\005o\000_\000$\004\017\003|\006~\006\188\004B\004\023\004\002\001\027\000\153\005\131\004\003\004\021\006\204\003}\004i\003\136\004\017\001\181\001w\000(\001g\006\131\001~\000\140\004\248\006\206\004H\002\198\006P\006'\000J\002\199\001\213\000_\000a\000b\000e\004\017\004\020\002=\003n\004\007\005p\006(\003o\004\024\006\208\001\191\004\250\000\203\003\253\002\212\004\029\000*\006\199\006\210\001Q\004:\003\140\005p\003|\000J\005j\002\213\005\215\004\002\000_\0026\003\233\004\003\004\021\003:\003}\000g\004k\003-\000\140\003F\005k\001i\003\141\002H\004\\\001j\004V\003\142\005\216\0028\000J\003\143\005\219\005n\005o\005\132\003\144\001x\001\217\005\252\004\\\001g\004\007\001~\000_\006-\004C\000\144\004b\003l\003\131\005\182\001\131\004\029\000J\001w\004y\001$\004:\003\140\0029\003\232\001\028\000J\001\029\000_\000\203\002\212\004Q\006~\006\188\004B\003\253\005\183\002\247\006\147\005\186\005n\005o\002\213\002H\003\141\003|\003\234\0067\000J\003\142\004\002\002\252\006+\003\143\004\003\004\021\006\194\003}\003\144\005p\000\140\004R\000J\001i\001g\006\131\001h\001j\004\020\004\005\003n\003\197\003\198\001\026\003o\000\004\0017\000h\003\237\003\238\003\240\000J\005\134\002\193\006\193\004\007\002\197\000h\001\027\004C\003;\006\196\003l\003\131\001\131\001x\004\029\001w\000\005\006\198\005\131\004:\003\140\005p\000\251\0017\001\204\005\135\000_\000/\001\012\002\247\006~\006\188\004B\004\250\003G\000J\0003\001\134\000\140\0014\000\138\001i\003\141\002\254\000\147\001j\001-\003\142\001g\004\182\001h\003\143\001\015\003)\0016\001(\003\144\000\140\004d\001\144\002H\002\198\0002\004;\000J\002\199\004\020\000_\003n\002\166\005\008\006Z\003o\000J\004_\001w\004v\003\234\003\253\006\149\005\221\001\145\006\195\006\140\005\132\006\141\001\146\000\203\003|\000J\001\147\001<\001x\004\002\004v\001\148\000\140\004\003\004\021\006\194\003}\000\141\005\132\001\132\000\140\000\142\004x\001i\006\131\003\236\001O\001j\004\005\000_\003\197\003\198\001\134\006Z\004\253\001\028\004{\001\029\000_\000\203\004w\005\200\002\164\000J\004\007\007\013\003\197\003\198\004C\000\151\006\196\003l\003\131\004n\001\144\004\029\000J\001w\006\198\007\014\004:\003\140\000h\000_\000a\001\t\000e\000_\001x\002\165\001\198\006~\006\188\004B\003\253\002\212\001\145\000J\003N\005]\005^\001\146\005\007\003\141\003|\001\147\000J\002\213\003\142\004\002\001\148\001l\003\143\004\003\004\021\006\194\003}\003\144\005\149\001g\000h\001h\006\014\000g\006\131\0005\001\018\004\020\004\005\003n\004\133\003\197\003\198\003o\001\172\000\138\000h\002\166\004n\000\139\005\147\005n\005o\006\197\004\007\0007\000\152\005\244\004C\005\138\006\196\003l\003\131\006_\001x\004\029\001\145\003:\006\198\006R\004:\003\140\006S\001\183\003*\006e\006_\000_\000\153\002\166\001\148\006~\006\188\004B\000h\000\140\002\247\006W\001i\003\200\003H\000\138\001j\003\141\005\n\000\147\005\139\000h\003\142\003:\003\000\000\140\003\143\000\183\000_\003\199\000\141\003\144\003L\006\\\000\142\000\203\000\138\007\022\005p\000J\000\139\004\020\000h\003n\004\021\006[\001w\003o\003\197\003\198\000\155\001u\001C\003\253\000\184\004\148\001\145\006\205\000\185\004p\003l\003\131\000\151\003|\000\157\0030\004\017\006P\004\002\004\142\001\152\000\140\004\003\004\021\006\194\003}\000\141\000J\005\t\006\127\000\142\003F\001g\006\131\001|\004\029\004&\004\005\004\"\001\012\004:\004{\000\140\000\179\004\011\000_\001\014\000\141\000e\004\144\000_\000\142\000h\004\007\000;\003;\000J\004C\000\151\006\196\003l\003\131\000=\001\015\004\029\0016\000\140\006\198\003n\004:\003\140\005\176\003o\001x\004s\000?\000_\002,\004\142\000\151\006~\006\188\004B\003\253\000h\000g\0017\003;\000\140\000\152\002\166\001i\003\141\003|\006c\001j\003@\003\142\004\002\000C\002\031\003\143\004\003\004\021\006\194\003}\003\144\006b\004\143\002\193\003:\000\153\002\197\006\131\003D\004~\004\020\004\005\003n\000B\000_\000_\003o\003\136\001\223\001w\004\188\006g\003@\003l\003m\000_\006\209\004\007\006k\000\152\000E\004C\002B\006\196\000J\001\145\003l\003\131\004\029\004\017\003D\006\198\000J\004:\003\140\001g\000\182\001{\004\237\001\154\000\152\000\153\000_\001\197\004\164\000g\002\164\004Z\004B\002\238\005_\000h\003|\002\198\006?\000_\003\141\002\199\001\189\006Z\000\203\003\142\000\153\000_\003}\003\143\000\183\005\017\004\239\000\140\003\144\003n\005`\006C\006D\003o\003\138\005c\005n\005o\000J\001\"\004\020\000G\003n\005\019\001x\000\181\003o\000\155\005m\000\140\003\253\000\184\001i\004\165\001\027\000\185\001j\003l\003\131\001\012\003|\000\157\000J\000h\005k\004\002\004/\003\140\000\155\004\003\004\021\006\194\003}\000_\000J\003l\003\131\002\164\004Z\004B\006\131\000J\000\157\001\015\004\005\0016\001w\000_\005\174\003\141\000\203\000_\002\239\002x\003\142\002\164\004Z\004B\003\143\005p\004\007\000h\000_\003\144\004C\006A\006\196\0044\005\173\002\212\003\024\004\029\003\022\004\020\006\198\003n\004:\003\140\002\242\003o\000L\002\213\005\250\002\193\000N\0048\002\197\003\197\003\198\003|\000J\004\020\003\253\003n\000\140\003\197\003\198\003o\000J\003\141\003\025\003}\003|\005\251\003\142\004\173\002\245\004\002\003\143\002\143\000_\004\003\004\021\003\144\003}\005\000\004h\0017\004\170\001\015\004\187\0016\001%\001x\0011\005v\004\005\001\028\005\251\001\029\000_\000\203\004\237\002\201\002\166\006d\000_\000J\000Q\000\140\006Z\000J\004\007\002\198\006n\002\210\004C\002\199\004b\005\020\002\247\000J\002\236\004\029\000J\004\017\004\"\004\231\004:\003\140\006_\005q\004\238\000J\002\248\003\253\000S\005\019\003\141\006\\\000W\000\203\003l\003\131\005\027\003|\001\"\001\231\000J\000\203\004\002\003\141\003\146\003\253\004\003\004\021\003\142\003}\004f\004h\003\143\001\027\005\029\003|\004P\003\144\001\"\001\228\004\002\004\005\005\030\003q\004\003\004\021\005!\003}\004\141\004h\006\133\003z\001g\001\027\001h\005\252\000J\004\007\006u\004\005\005\029\004C\002\193\004b\005\029\002\197\006z\006_\004\029\006\185\002\238\004\"\003n\004:\003\140\004\007\003o\003l\003\131\004C\006\001\004b\006\227\002\212\000d\005\174\004\029\000\203\005)\004\"\003\215\004:\003\140\000_\000h\002\213\003\141\002\164\004Z\004B\001\233\003\142\000\203\005\177\003\230\003\143\005+\000h\000\140\006\157\003\144\001i\002\166\000\205\003\141\001j\000h\005\255\000\140\003\142\004\017\006\200\002\198\003\143\005,\006\146\002\199\005\218\003\144\005/\000\138\000h\003:\004\020\000\139\003n\003l\003\131\004\189\003o\006[\001%\005+\001&\000\208\001w\001\028\005\029\001\029\005\216\000\203\003O\000_\005\219\005n\005o\002\164\004Z\004B\006a\004\198\001%\003\253\001+\002\247\005\240\001\028\000h\001\029\003S\000\203\001g\003|\001h\006\\\004\216\000\203\004\002\003\002\001\192\006\227\004\003\005\237\0057\003}\005:\000\140\005\238\005\241\005n\005o\000\141\004\020\000\212\003n\000\142\004\005\006\255\003o\003l\003\131\0059\006\185\0059\005\238\005\241\005n\005o\005=\001\194\006\185\004\232\004\007\006\234\006\252\000_\006\145\005p\007\030\006~\002\212\004\019\001x\000\151\006`\003\253\005\029\000\140\000\211\003\140\001i\000\214\002\213\007\031\001j\003|\000\216\000\138\000\220\000\222\004\002\000\147\000\225\000h\004\003\004\021\004/\003}\005\004\004h\000\229\003\141\005p\000_\006\191\004\020\003\142\003n\006\227\004\005\003\143\003o\006\207\000\228\001w\003\144\007\006\000\231\000\138\005p\000\138\000\233\000\139\006\201\000\139\004\007\000\237\000\239\000\241\004C\000\245\004b\000_\001g\003\253\001h\004\029\0044\000\244\004\"\001}\004:\003\140\000\140\003|\005\195\005n\005o\000\141\004\002\000\152\002\247\000\142\004\003\004\021\0048\003}\006\154\004h\006\254\007\018\006\228\006\227\000_\003\141\003\004\007\017\007\025\004\005\003\142\000\247\007\024\000\153\003\143\000\140\007\007\000\140\000\249\003\144\000\141\000\151\000\141\000\005\000\142\004\007\000\142\003l\003\131\004C\000\140\004b\001x\001i\000\252\002\166\004\029\001j\003\253\004\"\006\147\004:\003\140\000_\005\229\005n\005o\006~\003|\004\019\005p\000\254\000\151\004\002\000\151\000J\001\000\004\003\004\021\006\187\003}\000\155\001\002\001g\003\141\001h\006<\001w\006\131\003\142\007\006\006\139\006\190\003\143\001\006\000\159\001F\007\006\003\144\002\193\006\230\001\011\002\197\004\020\001;\003n\001A\001@\004\007\003o\003l\003\131\004\024\006\192\001\222\001\221\001\227\001\241\000\152\004\029\001\145\006\186\006\198\001\244\004:\003\140\000_\001\248\005p\001\247\006~\001\250\004\019\001\252\001\156\001T\002\000\002\002\007\007\000\140\000\153\002\005\001i\007\007\002\t\002\008\001j\003\141\001g\000\152\001h\000\152\003\142\002\011\006\232\000\140\003\143\002\013\002\017\002\198\001\195\003\144\000\203\002\199\001x\000\183\004\020\002\019\003n\002\021\002\025\000\153\003o\000\153\002\024\002\027\001w\002\029\003l\003\131\002 \002\"\002$\006\150\006\189\006\151\000h\006\140\000\155\006\141\002&\000\203\000\184\002*\000_\003\253\000\185\0023\002\164\0022\004\019\005\185\000\157\002A\000\140\003|\002G\001i\002F\002\138\004\002\001j\002J\002M\004\003\004\021\006\187\003}\006\140\000\155\006\141\000\155\000\203\005\183\002Q\006\131\005\186\005n\005o\006\190\004<\002P\001\145\000\161\004\020\000\163\003n\002S\003l\003m\003o\001w\002U\002Y\002[\004\007\001\158\002^\004@\004\024\006\192\002b\002a\001x\002d\002f\004\029\002\212\003\253\006\198\005\182\004:\003\140\002j\002l\002n\002r\002q\003|\002\213\005\012\002t\002v\004\002\004\136\003l\003\131\004\003\004\021\006\187\003}\002y\005\183\002{\003\141\005\186\005n\005o\006\131\003\142\005p\000_\006\190\003\143\000\140\002\164\003n\004\019\003\144\002}\003o\000\138\002\127\002\131\002\137\001\209\002\136\002\142\004\007\002\148\002\147\005h\004\024\006\192\005\144\005{\005\137\005\179\001x\004\029\005\214\001\145\006\198\005\236\004:\003\140\003\253\003l\003m\005\246\006\016\004\020\006\166\003n\006\212\001\160\003|\003o\002\215\006\216\006\235\004\002\006\239\003l\003\131\004\003\004\021\003\141\003}\005p\006\240\004\012\003\142\006\245\006\246\006\251\003\143\000\140\006\250\000_\004}\003\144\000\141\002\164\004\014\004\019\000\142\004\134\007\002\007\004\007\n\004\136\002\193\007\011\007\015\002\197\004\007\007\016\007\019\007\020\004\024\004\127\007\023\000\140\007\026\003n\001\145\004\029\007\027\003o\004\"\007#\004:\003\140\000\151\007'\003|\000\000\000\000\004\020\001\162\003n\000\000\000\138\000\000\003o\000\000\000\147\003}\000\138\000\000\000\000\000\000\000\149\000\000\003\141\002\193\000\000\000\000\002\197\003\142\000\000\000\000\003\253\003\143\000\000\000\000\000\000\000\140\003\144\003l\003\131\002\198\003|\000\000\000\000\002\199\000\000\004\002\004\026\000\000\000\000\004\003\004\021\000\138\003}\000_\000\000\001V\000\000\002\164\004\027\004B\005\206\000\000\000\000\000\000\004}\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\000\000\000\141\000\152\000\140\004\007\000\142\003\130\002\198\004\024\004\127\000\000\002\199\001\170\000\000\000\000\004\029\003|\004\020\004\"\003n\004:\003\140\003\253\003o\000\153\000\000\000\000\000\151\003}\003l\003\131\000\140\003|\000\151\000\000\000\000\000\141\004\002\004E\000\000\000\142\004\003\004\021\003\141\003}\000_\000\000\000\000\003\142\002\164\004\027\004B\003\143\000\000\000\000\000\000\004G\003\144\000\000\000\000\000\000\002\212\000\138\000\000\000\000\000\000\000\139\000\000\000\151\000\000\000\000\000\000\004\007\002\213\000\000\005\237\004\024\004I\000\000\003l\003\178\000\000\000\000\004\029\000\000\004\020\004K\003n\004:\003\140\000\000\003o\003l\003\131\000\000\003~\000\000\005\238\005\241\005n\005o\004J\000\000\000\000\000\152\002\212\000\000\000\000\000_\003\253\000\152\003\141\002\164\004\027\004B\000\000\003\142\002\213\000\140\003|\003\143\000\182\000\000\000\141\004\002\003\144\000\153\000\142\004\003\004\021\000\000\003}\000\153\006\006\000\000\000\140\000\000\003n\000\000\000\000\000\000\003o\002\247\004\005\000\000\000\152\000\000\000\000\004\020\000\000\003n\000\183\000\000\000\000\003o\000\151\003\006\000\154\000\000\004\007\003l\003m\005p\004C\000\000\004D\000\000\000\153\000\000\000\000\004\029\000\000\000\000\004\"\000\155\004:\003\140\003\253\000\184\000\000\000\155\000\000\000\185\000\000\000\000\000\194\002\247\003|\000\157\001g\000\000\001h\004\002\000\000\000\157\006\n\004\003\004\021\003\141\003}\003\008\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\004\005\003\144\000\000\003l\003\131\000\140\006\008\003n\006\011\005n\005o\003o\000\000\000\000\002\193\000\000\004\007\002\197\000\000\000_\004C\000\152\004D\002\164\004Z\004B\003|\004\029\000\000\003\253\004\"\000\000\004:\003\140\000\140\000\000\000\138\001i\003}\003|\001S\001j\000\000\000\153\004\002\000\000\000\000\000\000\004\003\004\021\000\138\003}\000\000\002\193\000\147\003\141\002\219\006\024\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\140\001w\005p\000\000\002\198\000\000\000\000\000\000\002\199\004\007\000\000\000\000\000_\004C\000\000\004D\002\164\004Z\004B\000\000\004\029\000\155\000\140\004\"\000\000\004:\003\140\000\141\000\000\002\193\000\000\000\142\002\197\000\000\000\000\000\165\000\140\003|\005\182\000\140\000\000\000\141\000\000\002\198\000\000\000\142\000\000\002\199\003\141\003}\000\000\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\005\183\000\000\003\144\005\186\005n\005o\000\000\000_\000a\0019\000e\000_\000\000\000\151\000\000\002\164\004Z\004B\001x\000\000\000\000\003\253\000\000\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003|\000\000\002\199\002\173\000\000\004\002\000\000\000\000\000\000\004\003\004\021\002\212\003}\000\000\004a\000\000\000g\000\000\000\000\000\000\004\020\000\000\003n\002\213\004\005\003\141\003o\003l\003\131\000\000\000\138\000\000\000\000\000\000\001R\000\000\005p\000\000\000\000\003\148\004\007\000\000\005\146\000_\004C\000\152\004b\002\164\004\128\004B\002\212\004\029\000\000\003\253\004\"\001\145\004:\003\140\000\000\000\152\000\000\000\000\002\213\003|\005\147\005n\005o\000\153\004\002\001\164\000\000\000\000\004\003\004\021\000\138\003}\001\183\004c\000\147\003\141\000\000\000\153\000\000\004\020\003\142\003n\000\140\004\005\003\143\003o\000_\000\141\002\214\003\144\000\000\000\142\002\212\003l\003m\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\183\004C\002\213\004b\000\000\000\000\003\253\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\130\003|\000\151\000\000\003l\003\129\004\002\005p\000\155\000\140\004\003\004\021\000\184\003}\000\141\004u\000\185\000\000\000\142\005\224\000\000\003\141\000\157\000\000\000\000\004\005\003\142\001\012\003l\003\131\003\143\000\000\000\140\000\000\003n\003\144\000\000\000\000\003o\000\000\000\000\004\007\000\000\000\000\000_\004C\000\151\004b\002\164\004\128\004B\001\015\004\029\0016\003\253\004\"\002\247\004:\003\140\000\000\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\004\002\003\n\000\000\000\000\004\003\004\021\000\000\003}\000\000\000\000\000\152\003\141\000\000\000\000\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\000\000_\000a\001>\000e\004\150\000\153\000\000\000\000\004\007\000\000\000\000\000_\004C\000\000\004\131\002\164\004\027\004B\005\150\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\132\000\152\000\000\000\000\000\000\000\138\000\000\000\138\000\000\000\139\000\000\000\139\003|\000\000\000g\000\197\000\198\000\200\000\201\000\000\000\000\003\141\000\000\000\153\003}\004\020\003\142\003n\000\000\000\000\003\143\003o\000\000\000\000\000\000\003\144\000\000\003l\003\131\000\000\003|\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\138\003}\000_\003\253\000\147\000\000\002\164\000\000\004\019\000\000\000\140\000\000\000\140\003|\000\000\000\141\000\000\000\141\004\002\000\142\000\155\000\142\004\003\004\021\000\184\003}\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\004\005\000\000\000\000\003\141\000\000\004\020\000\000\003n\000\000\000\000\000\151\003o\000\151\000\000\000\000\000\000\004\007\003\150\000\000\000\140\004C\000\000\004\131\000\000\000\141\000\000\000\000\004\029\000\142\003\253\004\"\000\000\004:\003\140\000\000\001g\000\000\001z\000_\003|\000\000\004\254\002\164\000\000\004\002\004\136\003l\003\131\004\003\004\021\000\000\003}\000\000\000\000\000\000\003\141\000\151\000\000\001\012\000\000\003\142\000\000\000_\004\005\003\143\006_\002\164\000\000\004\019\003\144\000_\000a\001\219\000e\000\000\000\000\000\000\000\000\003N\004\007\000\000\002\166\001\015\004C\0016\004D\000\000\000\152\000\000\000\152\004\029\000\140\000\000\004\"\001i\004:\003\140\003\253\001j\000\000\000\000\003:\004\020\000\000\003n\000\000\000\000\003|\003o\000\153\000g\000\153\004\002\000\000\003l\003\131\004\003\004\021\003\141\003}\000\000\000\000\000\000\003\142\000\000\003&\000\000\003\143\001w\000\000\000_\004}\003\144\000\152\002\164\000\000\004\019\000\000\005\014\000\000\003l\003\128\004\136\000\000\000\000\000\000\000\000\004\007\000\000\000\000\002\234\004\024\004\127\000\000\000\000\000\153\000\000\000\155\004\029\000\155\000\000\004\"\000\000\004:\003\140\005\146\000\000\000\000\000\000\000\000\004\020\000\167\003n\000\169\000\000\000\000\003o\003l\003\131\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\141\005\147\005n\005o\004\021\003\142\000\000\000_\003\253\003\143\000\140\002\164\003n\004\019\003\144\000\000\003o\000\155\003|\001x\005\016\000\184\000\000\004\002\004\136\000\185\000h\004\003\004\021\004/\003}\000\157\000\000\000\000\000\000\000\000\006c\000\000\0052\000\000\000\000\000\000\004}\002\193\000\000\004\029\002\197\004\020\004\"\003n\004:\000\000\000\000\003o\000\000\005\146\001\012\000\000\004\007\000\000\000\138\000\000\004\024\004\127\000\147\005p\000\000\000\000\000\000\004\029\0044\000\000\004\"\000\000\004:\003\140\003\253\005\147\005n\005o\001\015\000\000\0016\006h\000\000\000\000\003|\004\136\0048\000\000\000\000\004\002\001g\006\007\001h\004\003\004\021\003\141\003}\000\140\000\000\000\000\003\142\002\198\000\000\000\000\003\143\002\199\000\000\000\000\004}\003\144\003|\003l\003\131\006\008\000\140\006\011\005n\005o\000\000\000\141\006p\000\000\003}\000\142\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\004\027\004B\000\000\004\029\000\000\003\253\004\"\005p\004:\003\140\000\000\000\000\000\138\000\000\000\140\003|\000\139\001i\000\000\000\151\004\002\001j\000\138\000\000\004\003\004\021\000\139\003}\000\000\000\000\005\146\003\141\000\000\000\000\000\000\004\020\003\142\003n\005\153\004}\003\143\003o\003l\003\131\000\000\003\144\000\000\005p\000\000\000\000\000\000\001w\005\147\005n\005o\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\000\000\004\019\000\000\004\029\002\212\000\140\004\"\000\000\004:\003\140\000\141\000\000\000\000\000\000\000\142\000\140\002\213\000\138\000\000\000\000\000\141\000\149\000\000\000\000\000\142\002\232\000_\000a\0020\000e\000\000\003\141\000\000\000\152\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\000\000\000\000\003\144\005\146\006\159\000\000\000\000\002\234\005\159\000\151\005p\000_\000\153\000\000\000\000\002\164\004\027\004B\000\000\000\000\000\000\003\253\001x\000g\000\000\005\147\005n\005o\006v\000\000\000\140\003|\004\136\000\000\000\000\000\141\004\002\000\183\000\000\000\142\004\003\004\021\002\247\003}\000\000\002\193\006\022\000\000\002\197\000\000\000\000\004\020\000\000\003n\000\000\004\005\003\012\003o\000\000\000_\000\155\000\000\000\000\000\000\000\184\003l\003m\000\151\000\185\000\000\005\182\004\007\000\000\000\000\000\157\004C\000\152\004D\000\000\000\000\000\000\000\000\004\029\000\000\003\253\004\"\000\152\004:\003\140\005p\001y\000\000\005\183\000\000\003|\005\186\005n\005o\000\153\004\002\000\000\000\140\000\000\004\003\004\021\002\198\003}\000\000\000\153\002\199\003\141\000\000\004\145\003l\003\131\003\142\000\000\005\157\004}\003\143\000\000\000\140\000\000\003n\003\144\001\"\000\000\003o\000\000\000_\003l\003\127\000\000\002\164\004\007\004B\000\000\000\000\004\024\004\127\001\027\000\000\000\000\003\253\000\152\004\029\000\155\000\000\004\"\000\000\004:\003\140\000\000\003|\000\000\001\012\000\155\000\000\004\002\005p\000\171\000\000\004\003\004\021\000\000\003}\000\153\000\000\000\000\004\020\000\173\003n\000\000\003\141\000\000\003o\000\000\004\005\003\142\001\015\000\000\0016\003\143\000\000\000\000\000_\000\140\003\144\003n\000\000\000\000\000\154\003o\004\007\000\000\000\000\005\170\004C\000\000\004D\003l\003\131\000\000\002\212\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\004F\000\000\000\155\002\213\000_\003l\003m\000\156\002\164\000\000\004\019\003|\000_\000a\002?\000e\000\157\000\000\000\000\000\000\003\141\000\000\000\000\003}\000\000\003\142\000\000\000\000\000\000\003\143\000\000\006\007\000\000\000\000\003\144\000\000\001%\000\000\0033\001\"\000\000\001\028\000\000\001\029\004\020\000\203\003n\000\000\000\000\003\253\003o\006!\000g\006\008\001\027\006\011\005n\005o\000\000\003|\000\000\000\140\000\000\003n\004\002\003l\003\131\003o\004\003\004\021\000\000\003}\002\247\003l\003\131\000\000\003|\004\018\000\000\000\000\000\000\000_\000\000\004\147\000\000\002\164\003\014\004\019\003}\000_\003\141\000\000\000\000\002\164\000\000\004\019\000\000\000\000\000\000\004\007\000_\000\000\000\000\004C\003\152\004\149\000\000\000\000\000\000\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\000\005p\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\000\000\004\020\000\000\003n\000\000\000\138\000\000\003o\003\253\000\147\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\001%\003|\003=\000\000\001\"\001\028\000\000\001\029\004\022\000\203\004\028\000\000\000\000\003}\000_\000\000\000\000\000\000\002\164\001\027\004\019\000\000\001\012\000\000\004\007\000\000\000\000\000\140\004\024\004\025\000\000\000\000\000\141\000\000\000\000\004\029\000\142\000\000\004\"\000\000\004:\003\140\000\000\000\000\002\193\000\000\001\015\002\197\0016\000\000\000\000\003\253\000\000\000\000\004\020\000\000\003n\000\000\000\000\003\253\003o\003|\006\027\003\141\000\151\000\000\004\002\000\000\003\142\003|\004\003\004\021\003\143\003}\004\002\003l\003\131\003\144\004\003\004\021\003\141\003}\000\138\000\000\000\000\004\022\000\149\004e\000\000\000\000\000\000\000_\000\000\004^\003\154\002\164\000\000\004\019\000\000\000\000\000\140\004\007\000\000\000\000\002\198\004\024\004\025\000\000\002\199\004\007\000\000\000\000\004\029\004\024\004`\004\"\000\000\004:\003\140\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\001%\001g\004)\001h\004\020\001\028\003n\001\029\000\000\000\203\003o\000\140\000\000\003\141\000\152\000\000\000\141\000\000\003\142\003\253\000\142\003\141\003\143\000_\000\000\000\000\003\142\003\144\001I\003|\003\143\000\201\000\000\000\000\004\002\003\144\000\153\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\004\022\000\000\005\146\000\202\000\140\000\203\000_\001i\000\183\000\000\002\164\001j\004\019\000\000\000\000\000\000\004\007\000\000\000\000\000\138\004\024\004\025\002\212\000\139\005\147\005n\005o\004\029\000\000\000\000\004\"\000\155\004:\003\140\002\213\000\184\001\"\000\000\000\000\000\185\000\000\001w\000\000\003\253\000\000\000\157\004\020\001G\003n\000\000\000\000\001\027\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\003l\003\131\003\144\000\000\004]\000\152\000\000\000\138\000\140\000\000\004^\000\149\000\000\000\141\000\000\000\000\000_\000\142\000\000\000\000\002\164\005p\004\019\000\000\000\000\000\000\004\007\000\153\000\000\000\000\004\024\004`\000\000\000\000\000\000\006\007\002\247\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\151\002\193\000\000\000\000\002\218\003\016\001x\000\154\000\000\000\000\000\000\004\020\006\008\003n\006\011\005n\005o\003o\000\140\000\000\003\141\000\000\000\000\000\141\000\000\003\142\003\253\000\142\000\000\003\143\000\155\000\000\000\000\000\000\003\144\000\193\003|\000\000\000\000\000\000\000\000\004\002\003l\003\131\000\157\004\003\004\021\001%\003}\0041\003l\003\131\001\028\004q\001\029\000\151\000\203\000\140\000_\000\000\004r\002\198\002\164\000\000\004\019\002\199\000_\000\000\000\000\000\000\002\164\000\000\004\019\000\000\001\145\000\000\004\007\000\152\005p\002\193\004\024\004t\002\217\005\168\000\000\000\000\000\000\004\029\001\166\000\000\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\004\020\000\153\003n\000\000\000\000\003\253\003o\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\000\000\000\000\003\144\000\000\004o\000\152\000\000\000\000\000\140\000\000\004^\004|\002\198\001g\000\000\001h\002\199\000\000\000\000\004\129\000\155\000_\000a\002D\000e\000\000\004\007\000\153\000\000\000\000\004\024\004`\002\212\000\000\000\175\000_\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\002\213\000\000\003l\003\131\000\000\006l\000\000\000\000\000\154\000\000\000_\000\000\006)\006x\002\164\000\000\004\019\000g\000_\003\253\000\000\003\141\002\164\000\000\004\019\000\140\003\142\003\253\001i\003|\003\143\000\155\001j\000\000\004\002\003\144\000\196\003|\004\003\004\021\000\000\003}\004\002\000\000\000\000\000\157\004\003\004\021\000\000\003}\004\020\000\000\003n\004}\000\000\000\000\003o\001\"\004\020\000\000\003n\004}\001w\000\000\003o\000\000\002\212\000\000\000\000\004\007\000\000\000\000\001\027\004\024\004\127\000\000\002\193\004\007\002\213\002\197\004\029\004\024\004\127\004\"\000\000\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\000\000\006{\000\000\000\138\000\000\000\000\000_\000\147\000\000\003\141\002\164\000\000\004\019\000\000\003\142\000\000\000\000\003\141\003\143\000_\000\000\000\000\003\142\003\144\000\000\000\000\003\143\000\000\001g\000\000\001h\003\144\000\000\000\140\000\000\000\000\000\000\002\198\000\000\002\193\001x\002\199\002\197\003\253\000\000\000\000\004\020\000\000\003n\000\000\001\012\003\253\003o\003|\000\000\000\000\000\000\000\000\004\002\000\140\000\000\003|\004\003\004\021\000\141\003}\004\002\000\000\000\142\000\000\004\003\004\021\000\000\003}\001\015\000\000\0016\006m\000\000\000\000\000\000\001%\000\000\004\176\000\140\006m\001\028\001i\001\029\000\000\000\203\001j\000\000\004\007\000\000\002\238\000\151\004\024\006o\002\198\000\000\004\007\000\000\002\199\004\029\004\024\006o\004\"\001\145\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\001w\001\168\000\000\000\000\000\000\000\138\000\000\005\146\000_\000\147\000\000\003\141\004\163\000\000\002\212\000\000\003\142\003\253\000\000\003\141\003\143\000_\005\146\000\000\003\142\003\144\002\213\003|\003\143\005\147\005n\005o\004\002\003\144\000\000\004\194\004\003\004\021\000\000\003}\000\000\000\000\000\000\000\000\005\147\005n\005o\000\000\004\197\000\000\003n\006m\000\152\000\000\003o\000\000\000\000\000\000\000\000\002\239\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\007\000\000\001W\000\142\004\024\006o\004\203\000\153\000\000\002\212\001x\004\029\002\241\000\000\004\"\000\000\004:\003\140\002\242\000\000\000\138\002\213\000\000\000\000\000\147\000\000\005p\001Y\002\247\000\203\000\000\000\151\000\183\000\138\000\000\004\240\000_\000\147\003\136\003\141\001\181\005p\003\018\005\146\003\142\000\000\002\245\000\000\003\143\000_\000\000\000\000\000\000\003\144\000\000\000\155\000\138\000\000\000\000\000\184\000\139\000\000\000\000\000\185\000\000\005\147\005n\005o\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000\140\006\007\001\145\000\000\000\000\000\141\000\000\003|\000\000\000\142\000\000\000_\000\000\000\140\002\247\000\000\001\174\004\204\000\141\003}\000\000\000\000\000\142\006\008\000\000\006\011\005n\005o\002\248\000\138\000\000\004\242\000\152\000\149\000\000\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\151\000\140\000\000\005p\000\153\000\000\000\141\005\166\004\207\000\000\000\142\004\243\000\000\004\230\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\193\000\151\000\202\000\000\000\203\000_\000\000\000\183\000\000\002\164\000\000\000\000\000\000\000\140\003\141\000\000\000\151\005p\000\141\003\142\000\138\000\000\000\142\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000_\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\003N\001G\000\000\000\000\000\000\000\151\000_\000a\002\134\000e\000\152\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\000\000\000\140\000\153\000\152\000\000\000\000\000\141\000\000\000\000\000\202\000\142\000\203\000\000\005\204\000\183\000\000\000g\000_\000\152\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\003l\003\131\000\000\000\000\000\197\003\255\000\200\000\201\000\000\000\155\000\151\000\000\000\153\000\184\000\000\000\000\000_\000\185\000\000\0060\004\163\000\000\000\155\000\157\000\152\001G\000\184\000\000\000\000\000\000\000\185\000\000\000\202\000\000\000\203\000\000\000\157\000\183\001G\000\000\000\000\000\000\000\000\004\244\000\000\000\155\000\153\000\000\000\000\003l\003\131\000\000\000\000\000\000\004\021\001\"\004\197\000\000\003n\000\177\000\155\000\000\003o\000\138\000\184\000_\000\000\000\147\000\185\004\163\001\027\000\154\000\000\000\000\000\157\000\000\001G\000\000\000\000\000_\000\000\004\203\000\000\000\000\000\000\000\000\000\138\000\152\0054\000\000\000\139\000\000\004\196\000\000\000\155\004\029\000\000\000\000\004\"\001\128\004:\000\197\004\031\000\200\000\201\004\197\000\000\003n\000\157\000\153\000\000\003o\000_\000a\002\140\000e\005\146\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\202\004\203\000\203\000\000\000\000\000\183\000\000\000\000\000\000\005\147\005n\005o\000\000\000\140\000\000\001\015\000\000\0016\000\141\000\000\000\000\000\000\000\142\000g\000\000\000\000\000\000\000\151\000\155\003|\000\000\000\000\000\184\000\000\000\000\000\000\000\185\003l\003\131\004\204\000\000\003}\000\157\000\000\001G\003l\003\131\000\000\000\000\001%\000\151\004\219\000\000\004\205\001\028\000\000\001\029\000\000\000\203\003\246\005\011\000\000\000\000\000\000\000\000\000\000\000\000\004N\000\000\000\000\000_\000\000\000\000\005p\002\164\003l\003\131\000\000\003|\000\000\004\207\000\000\000\000\004\212\000\000\004\230\003\140\000\000\004\204\000\000\003}\000\000\000\000\002\238\000\000\003n\000\000\003\246\004W\003o\000\000\002\238\004\205\003n\000\152\000\000\000\000\003o\003\141\000\000\003N\000\000\000\000\003\142\000\000\000\000\005\146\003\143\000\197\004\209\000\200\000\201\003\144\000\000\000\000\000\000\000\153\000\152\000\000\004\207\000\000\002\238\004\212\003n\004\230\003\140\000\000\003o\005\147\005n\005o\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\000\000\005\146\004T\001\012\000\000\003\141\003\136\000\000\000\000\000\000\003\142\000\000\000\000\002\193\003\143\000\000\002\216\000\000\000\000\003\144\000\000\000\000\000\155\005\147\005n\005o\000\184\001\015\005\209\0016\000\185\000\000\000\000\003\253\000\000\000\000\000\157\000\000\001G\003l\003\131\003\253\000\000\003|\000\000\000\155\000\000\000\000\004\002\000\000\005p\003|\004\003\000\000\000\000\003}\004\002\003l\003\131\000\187\004\003\003\246\004M\003}\000\000\000\000\000\000\004\005\000\000\000\140\004\021\003\253\000\000\002\198\000\000\004V\000\000\002\199\000\000\003\246\003\247\003|\000\000\004\007\000\000\000\000\004\002\005p\000\000\002\193\004\003\004\007\002\197\003}\000\000\002\238\000\000\003n\000\000\000\000\003\140\003o\005\146\000\000\0056\004\005\000\000\001g\003\140\001h\000\000\004\029\000\000\002\238\004\"\003n\004:\000\000\000\000\003o\000\000\004\007\003\141\000\000\005\147\005n\005o\003\142\000\000\000\000\003\141\003\143\000\000\000\000\000\000\003\142\003\144\000\000\003\140\003\143\000\000\000\000\000\000\000\000\003\144\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\003l\003\131\000\000\005\233\000\000\000\000\003\141\000\000\000\000\000\140\000\000\003\142\001i\003l\003\131\003\143\001j\002\212\000\000\000\000\003\144\000\000\003\246\004\001\000\000\000_\000a\002\145\000e\002\213\000\000\000\000\000\000\003\253\005p\003\246\004Y\000\000\000\000\000\000\005\231\000\000\000\000\003|\000\000\000\000\001w\000\000\004\002\000\000\000\000\003\253\004\003\000\000\000\000\003}\002\238\000\000\003n\003l\003\131\003|\003o\000\000\000\000\000g\004\002\004\005\000\000\002\238\004\003\003n\000\000\003}\000\000\003o\002\239\000\000\000\000\000\000\000\000\003\246\005$\004\007\000\000\004\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\003\019\003$\003\022\000\000\000\000\000\138\003\140\004\007\002\242\000\149\000\000\002\213\000\000\000\000\000\000\000\000\003l\003\131\000\000\006\007\000\000\002\238\000\000\003n\003\140\000\000\000\000\003o\003\141\001x\003\025\000\000\000\000\003\142\003l\003m\002\245\003\143\003\246\005&\000\000\006\008\003\144\006\011\005n\005o\003\141\006\031\000\000\000\138\000\000\003\142\000\000\000\147\003\253\003\143\000\000\000\000\000\000\000\000\003\144\000\140\003l\003\131\003|\000_\000\141\003\253\000\000\004\002\000\142\000\000\002\238\004\003\003n\000\000\003}\003|\003o\000\000\002\247\000\000\004\002\000\000\003\246\005(\004\003\000\000\004\005\003}\000\140\000\000\003n\000\000\002\248\000\000\003o\001\145\000\151\000\000\000\000\004\005\000\000\001\012\004\007\000\140\000\000\005p\000\000\000\000\000\141\001\176\000\000\003\253\000\142\000\000\000\000\004\007\002\238\000\000\003n\003\140\000\000\003|\003o\000\000\000\000\001\015\004\002\0016\000\000\000\000\004\003\000\000\003\140\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\141\000\000\000\000\000\000\004\005\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\000\000\003\142\000\138\004\007\003\253\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003|\000\152\000\000\000\138\000_\004\002\003\140\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\003|\000_\000\000\000\000\000\000\000\153\004\005\000\000\000\000\000\000\003\141\000\000\003}\000\000\000\000\003\142\000\000\000\000\003\253\003\143\0063\000\000\004\007\000\000\003\144\000\000\000\140\000\152\003|\000\000\000\154\000\141\000\000\004\002\000\000\000\142\000\000\004\003\000\000\003\140\003}\000\140\000\000\000\138\001W\000\000\000\141\000\147\000\000\000\153\000\142\000\000\004\005\000\155\000\000\000\000\000\000\000\000\001\130\000_\000\000\003\141\000\000\000\151\000\000\000\000\003\142\000\157\004\007\001\201\003\143\000\203\000\138\000\000\000\183\003\144\000\147\000\000\000\151\003\141\000\000\000\000\000\000\000\000\000\000\003\140\002\193\000\000\000_\002\197\000\000\000\000\000\000\003\156\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\000\000\000\000\141\000\185\000\000\003\141\000\142\000\000\000\000\000\157\003\142\000\000\000\000\000\138\003\143\000\000\000\000\000\147\000\000\003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000_\000\000\000\141\000\139\000\000\000\151\000\142\000\000\000\000\000\152\000\000\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\152\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\001\207\000\000\000\203\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\178\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\151\002\197\000\155\000\000\000\000\000\152\000\184\000\000\002\193\000\000\000\185\002\197\000\000\000\000\000\000\000\151\000\157\000\155\000\000\002\239\000\000\000\184\002\176\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\006\007\002\212\003\019\003\020\003\022\000\000\002\193\000\138\000\000\002\197\002\242\000\147\002\195\002\213\000\203\000\000\003\\\000\183\000\000\002\238\000\000\000\153\006\008\002\198\006\011\005n\005o\002\199\000\000\002\238\000\000\000\000\003\025\002\198\000\000\000\000\000\000\002\199\002\245\000\000\000\155\003^\000\152\000\203\000\184\000\138\000\183\002\193\000\185\000\147\002\197\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\003\\\000\000\000\000\002\238\000\140\000\153\000\000\002\198\000\000\000\141\000\155\002\199\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\153\000\000\000\000\002\247\000\157\003\176\000\000\000\203\000\000\005p\000\183\000\138\000\000\000\000\000\000\000\147\000\000\002\248\000\000\000\000\000\000\000\151\000\140\000\000\002\238\002\239\000\138\000\141\002\198\000\000\000\147\000\142\002\199\000\155\000\000\002\239\000\000\000\184\000\000\000\000\000\000\000\185\002\212\003\019\006r\003\022\000\138\000\157\000\155\000\000\000\147\002\242\002\212\000\000\002\213\003\026\000\000\000\000\000\000\000\151\000\000\002\242\000\189\000\000\002\213\000\000\000\000\000\140\002\239\000\000\000\000\000\000\000\141\003\025\000\000\000\000\000\142\000\000\000\000\002\245\000\000\000\000\000\140\003\028\000\000\002\212\000\000\000\141\003\026\002\245\0037\000\142\000\000\000\000\002\242\000\000\000\000\002\213\000\152\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\138\000\141\000\000\002\239\000\147\000\142\000\000\000\000\006:\002\234\003\028\000\000\000\000\000\151\000\153\000\000\002\245\002\247\003\166\000\000\002\212\003\"\003B\003\026\000\000\000\000\000\000\002\247\000\000\002\242\000\152\002\248\002\213\000\151\000\000\000\000\000\000\000\000\000\138\000\183\000\000\002\248\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\003\028\000\153\000\000\003!\000\000\000\140\002\245\000\000\000\000\002\247\000\141\000\155\000\000\000\000\000\142\000\184\003J\000\000\000\000\000\185\000\000\000\000\000\000\002\248\000\152\000\157\000\183\003\219\000\000\000\000\000\000\003Q\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\152\000\000\002\234\000\151\000\140\003\031\000\000\000\153\000\000\000\141\000\155\002\247\000\138\000\142\000\184\000\000\000\147\002\234\000\185\000\000\000\152\000\000\000\153\000\000\000\157\002\248\003\221\000\138\000\000\000\000\000\000\000\147\000\183\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\000\000\000\000\000\000\000\000\000\183\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\155\000\138\000\000\000\142\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\183\000\140\000\157\000\155\003\223\000\000\000\141\000\184\000\000\000\000\000\142\000\185\000\000\000\152\000\000\000\000\000\140\000\157\000\000\000\151\000\000\000\141\000\000\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\182\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\000\000\000\000\000\000\000\000\138\000\000\000\140\000\000\000\147\000\000\000\000\000\141\000\152\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\140\000\000\000\000\000\000\000\000\000\141\003l\003m\004-\000\142\001g\000\000\001h\000\000\000\182\000\000\000\152\000\000\000\151\000\153\000\000\000\000\000\155\0046\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\002\234\000\000\000\000\000\157\000\151\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\002\234\000\000\000\000\000\000\004>\000\153\000\000\000\138\000\000\000\138\000\000\000\147\000\152\000\147\000\140\000\183\003n\000\000\000\140\000\155\003o\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\002\234\000\183\000\000\000\000\000\157\000\153\000\000\000\000\000\000\000\155\004\168\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\152\000\000\000\147\000\000\000\000\000\157\000\155\000\000\001w\000\000\000\184\004\180\000\183\000\000\000\185\000\000\000\140\002\234\000\140\000\152\000\157\000\141\000\153\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\002\234\000\000\000\000\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\151\000\140\000\151\000\000\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\003|\000\155\000\000\000\000\000\138\000\184\000\000\000\000\000\147\000\185\000\000\000\000\003}\000\000\000\000\000\157\001x\000\000\000\000\000\000\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\004\185\000\142\004\192\000\000\000\000\000\000\000\000\000\140\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\002\234\003\141\002\234\000\140\000\151\000\153\001\145\000\153\000\141\000\000\000\000\000\000\000\142\004\201\000\000\003\158\000\000\000\000\000\000\000\151\001\178\000\152\000\138\000\000\000\000\000\000\000\147\000\000\003l\003m\000\183\000\000\000\183\000\000\000\000\000\000\006N\000\000\002\234\000\000\000\151\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\140\000\000\003n\000\000\000\000\000\155\003o\000\155\000\000\000\184\000\000\000\184\000\138\000\185\000\000\000\185\000\147\000\000\000\000\000\157\000\183\000\157\000\000\000\000\000\000\004\223\006\174\000\000\000\138\000\000\000\140\000\000\000\147\000\152\000\000\000\141\000\140\000\000\003n\000\142\004\228\000\000\003o\000\155\000\000\000\000\000\000\000\184\000\152\000\000\002\234\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\004\235\000\000\000\000\000\000\002\234\000\000\000\151\000\140\000\152\000\153\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\000\000\000\140\000\000\002\234\000\000\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\003}\000\138\000\183\000\157\000\155\000\147\000\000\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\000\000\000\000\142\003|\000\155\000\000\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\003}\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006O\000\000\000\000\000\140\000\151\000\153\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\003\141\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\003\160\000\000\000\140\000\152\006O\000\000\000\151\000\141\000\000\000\153\000\000\000\142\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\155\001K\000\000\003\141\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\140\003\162\000\000\000\000\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\183\000\140\000\000\000\000\000\138\000\000\000\141\000\155\000\147\000\000\000\142\000\184\000\000\000\000\001q\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\000\000\152\000\147\000\000\000\000\000\157\000\151\000\000\000\152\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\153\000\000\001\185\000\000\000\000\000\140\000\000\000\153\000\000\000\138\000\141\000\152\000\155\000\147\000\142\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\183\000\157\000\000\002\155\000\000\000\000\000\140\000\183\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\152\000\000\000\000\000\138\000\155\000\000\000\138\000\147\000\184\000\000\000\147\000\155\000\185\000\000\000\183\000\184\000\152\002\159\000\157\000\185\000\000\000\140\000\153\000\000\000\151\000\157\000\141\002\238\000\000\000\000\000\142\002\198\000\000\002\206\000\000\002\199\000\000\000\155\000\153\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\183\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\183\000\141\000\000\000\000\000\141\000\142\000\000\000\155\000\142\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\184\000\000\002\221\000\000\000\185\000\000\000\151\000\153\000\000\000\151\000\157\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\239\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\000\000\000\000\140\002\212\000\000\000\000\003\029\000\141\000\000\000\152\000\138\000\142\002\242\000\151\000\147\002\213\000\000\000\138\000\000\000\155\000\000\000\147\000\183\000\184\000\000\000\000\003v\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\151\002\245\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\183\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003\181\000\000\000\140\003\186\000\000\000\153\000\000\000\141\000\153\000\140\000\000\000\142\000\000\003 \000\141\000\155\000\000\000\000\000\142\000\184\002\247\000\138\000\000\000\185\000\000\000\147\000\152\000\000\000\138\000\157\000\183\000\000\000\147\000\183\002\248\000\000\000\000\000\000\000\000\000\151\000\000\000\138\000\000\003\190\000\000\000\147\000\151\000\000\000\153\000\000\000\000\000\000\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\003\211\000\157\000\000\000\000\000\183\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\000\000\000\000\000\155\000\140\000\000\000\183\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\151\000\000\000\152\000\147\000\000\000\000\000\000\000\151\000\155\000\152\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\000\003\250\000\151\000\147\000\157\000\000\000\153\000\000\004\156\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\193\000\151\000\000\002\197\000\000\000\000\000\138\000\155\000\140\000\000\000\147\000\184\000\152\000\141\000\155\000\185\000\138\000\142\000\184\000\152\000\149\000\157\000\185\000\000\000\000\000\000\000\000\000\151\000\157\005\002\000\000\000\140\000\152\003n\000\153\000\000\005\022\003o\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\151\000\000\000\000\000\000\005\024\000\000\000\000\000\000\000\000\000\153\000\000\002\238\000\000\000\000\000\183\002\198\000\000\000\140\000\000\002\199\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\140\003l\003m\000\000\000\000\000\141\000\152\000\183\000\000\000\142\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\138\005\026\000\157\000\185\000\149\000\151\000\153\000\000\000\155\000\157\000\152\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003l\003m\000\000\000\000\005 \000\152\000\000\000\138\000\183\000\153\000\000\000\139\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\000\000\005.\000\000\002\239\000\000\000\000\000\153\003}\000\000\000\000\000\155\000\000\000\140\000\183\000\184\000\000\000\000\000\141\000\185\000\000\002\212\000\142\000\000\002\244\000\157\003l\003m\000\000\000\000\002\242\000\000\000\183\002\213\000\000\000\000\000\140\000\155\003n\000\152\000\000\000\184\003o\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\151\000\157\000\142\000\000\000\000\000\155\005<\000\000\002\245\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\153\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\151\000\000\000\140\000\000\003n\000\000\000\183\000\000\003o\003\164\000\000\000\000\000\000\000\000\003|\000\000\000\154\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\000\000\003}\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\002\248\000\185\000\000\000\155\000\000\000\000\000\000\000\157\003\133\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\154\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003|\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\155\000\000\000\000\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\174")) + ((16, "\000\193\001\128\000\000\000\000\000\000\000K\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\000\000\001?\003\192\000\000\001\r\000\225\000\000\000\000\000\000\000G\000\000\000\020\000\176\000\000\000\000\000\250\000\000\001\022\000\000\000\000\000\000\001\150\000\000\001\188\000\000\000\000\000\000\002\028\000\000\002\128\000\000\000\000\003\182\000\000\003\198\003\238\000\000\000\000\003\244\000\000\0048\000\000\000\000\000\000\005F\000\000\005\240\000\000\006T\000\000\006\\\000\000\006\130\006\164\000\000\000\000\006\218\000\000\007\b\000\000\000Z\002P\001~\000\000\000\000\000\000\000\000\000x\000\000\000\000\001\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\216\000\000\000\000\002\172\n\226\000\000\000\000\012\026\000\000\000\000\000\000\000\000\007f\000\000\007n\003n\000\000\007x\000\000\000\000\007\176\000\000\000\000\007\198\000\000\b4\000\000\000\000\000\000\bP\000\000\0018\b\192\000F\000\000\000\000\000\000\000\000\000\000\001\170\000z\000\000\000\218\000\000\000\000\000\000\t\020\000\000\t\160\000\000\003\006\001]\027.\000\000\000\000\000\168\006Z\000\000\023\186\000\000\007\012\005D\020\246\018\196 <#\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bt\020\246\000\000\000\000\012\006\014L\017\170\000\000\019\202\000\000\003\204\020\168\000\000\000\000\000\000\000U\000\000 \136#\180\011\246\000\000\000\0003\018\000\000\000\226\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005t\000\000\000\000\n\b\000\000\012\248\000\000\015,\000\000\021\240\000\000\024\"\000\000\025j\000\000\026\166\000\000\026\236\000\000\"\006\000\000#\182\000\000!\016\000\0004\234\000\000\000\000\000\000\000\000\000\000*j\000\000,\"\000\000<:\000\000<\228\000\000=\016\000\000=X\000\000=x\000\000=\214\000\000>\n\000\000>\030\000\000>>\000\000>R\000\000>\146\000\000>\194\000\000?\016\000\000?J\000\000\015N\000\000\000\000&d\000\000\000\000\000\000\000\000\000I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\2335\018\000\000\000`\000\000\000\000\000|\004j\000\000\000=\t4\000\000\000\000\tp\000\000\t\162\t\202\000\000\000\000\n\022\000\000\n \000\000\000\000\000\000\nn\000\000\np\000\000\n~\000\000\n\146\000\000\000\000\n\158\000\000\n\190\n\196\000\000\000\000\n\212\000\000\011\004\000\000\000\000\000\000\011 \000\000\011\"\000\000\011T\000\000\011\164\000\000\011\170\011\192\000\000\000\000\011\198\000\000\011\200\000\000\001(\007\194\000\000\011\214\000\000\011\228\b\254\000\000\011\230\000\000\000\000\011\244\000\000\011\250\000\000\012\000\000\000\000\000\000\000\012\018\000\000\012\024\003~\000\000\012\030\000\000\002\200\t\222\000\000\004R\000\000\004\130\000\000\000\000\004\206\000\"\000\000\000\000\000\000\000\000\003\144\003\214\000\000\004\194\000\000\000\000\000\000\002 \000\000\003\\\000\000\005\216\000\000\000\000\000\000\000\000\000\000\000\000\006X\000\000\000\000\000\000\000\000\000\000\005\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\004\202\t\254\000\000\012&\000\000\012(\012\232\000\000\012.\000\000\000\000\000\000\005\246\000\000\000\000\000\000\000\000\0014\000\000\000\000(\168\000\000\000\000\000\000\016p\000\000\000\000\000\000\000\000\000\000\000\000\023,\000\000\000\000\026\134\000\000\000\000\026\188\000\000\018\132\000\000\000\000\000\000\001\226\000\000 \168'z\000\000\000\000'\148'\182\000\000;\132\000\000;\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\218\000\000,\190\000\0005B\000\000?\230\000\000@\002\000\000@\018\000\000@\"\000\000@J\000\000@\242\000\000A\n\000\000A\026\000\000A\174\000\000A\190\000\000A\210\000\000A\240\000\000B\000\000\000\000\000(@\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\0005\144\000\000\000\000\000\000\005\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\0006\002\000\000\000\000\000\000\022\016\001t\000\000\000\000\000\000\000\000\016\234\000\000)\216\000\000\000\000\000\000\000\000\000\000* \000\000\000\000\000\000*n\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\012J\r\190\000\000\012N\000\000\000\000\000\000\000\000\000\000\012R\000\000\000\000\000?\006\024\000\000\006\240\000\000\000\000\000\000\002.\000\000\011\194\000%\012T\000\000\000\000\012f\000\000\012l\012v\000\000\000\000\012z\000\000\012\144\000\000\000\000\000\000\012\146\000\000\012\150\000\000\012\158\000\000\012\172\000\000\000\000\012\176\000\000\012\178\012\180\000\000\000\000\012\186\000\000\012\190\000\000\000\000\000\000\012\194\000\000\012\196\000\000\012\198\000\000\012\212\000\000\012\214\012\234\000\000\000\000\012\240\000\000\012\242\000\000\004\\\0160\000\000\012\244\000\000\012\248\016J\000\000\r\n\000\000\000\000\r\016\000\000\r\024\000\000\r\026\000\000\000\000\000\000\r\"\000\000\b\198\000\000\000\000\000\000\002\166\001\144\000\000\000\000\003\224\000\000\000\000\r&\014\026\000\000\r(\000\000\000\000\000\000\005\160\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\005\012\016\236\000\000\r2\000\000\r6\024@\000\000\r:\000\000\000\000\014\\\rB\000\000\000\000\rT\000\000\r^\rd\000\000\000\000\rl\000\000\rn\000\000\000\000\000\000\rp\000\000\rv\000\000\rx\000\000\rz\000\000\000\000\r\128\000\000\r\144\r\156\000\000\000\000\r\158\000\000\r\194\000\000\000\000\000\000\r\196\000\000\r\198\000\000\r\202\000\000\r\204\000\000\r\206\r\216\000\000\000\000\r\220\000\000\r\234\000\000\004v\017\012\000\000\r\244\000\000\r\250\018\200\000\000\r\254\000\000\000\000\014\000\000\000\014\002\000\000\014\004\000\000\000\000\000\000\014\b\000\000\014\012\030\138\000\000\014\022\000\000\000\000\006\"!\164\000\000\014\028\000\000\014\"\"\208\000\000\014,\000\000\000\000\000\000\000\000\000\000\000\000\000\0006>\000\000#\234\000\000\000\000\000\0006B\000\000\000\000\000)\000\000\000\000\000\000\003\228\002\140\000\000\000\000-:\007f\000\000 >*\242\000\000\000\000\000\000-N\000\000\000\000*\246\000\000\000\000\000\000\n4\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\224\000\000\000\000%\020\000\000\000\000)\190\000\000\r\144\000\000\000\000\000\000\006D\000\000!\182\000\000\000\0006\144\000\000\000\000\000\000\007\020\000\000\000\000\000\000\000\000\000\000\000\0006\146\000\0007D\000\000\000\000\000\000+\142\021\168\000\000\000\000\000\000-z\000\000\000\000\000\000\000\000\0074\000\000\000\000\000\000\000\0006\\\000\000:\198\000\000\002\128\000\000\000\000\000\000B\012\000\000BZ\000\000B\148\000\000B\184\000\000B\236\000\000C\b\000\000Cj\000\000C\150\000\000C\152\000\000C\178\000\000C\194\000\000C\210\000\000C\230\000\000D,\000\000\000\000\000\000.0\000\000\000\0006\210.~\000\000\000\000.\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\000\000\000\000\006\236\000\000\007h\000\000\000\000\b~\000\000\000\000\000\000.\234\000\000\000\000\000\000\000\000\001]\000\000\014t\000\000\000\000\000\000\000\000/*\000\000\000\000\000\000\000\000\005h\n\"\000\000/L\000\000\000\000\000\000\000\000\n\214\000\000/\166\000\000\000\000\000\000\000\000\003.\000\000\005\240\000\000*:+\188\000\000\000\000\000\0007x\000\000\000\000\000\000\000H\000\0008\004\000\000\000\000\000\0008@\000\000\000\000\002x\000\000\023\220\000!,@\000\000\000\000\000\000\001\216\028p\000\000\000\000\000\000\000\000\000\000\000\000.\192\000\000\000\0001x\000\000\000\0001\144\000\000\020\220\000\000\000\000\000\000\007\178\000\000!\242\000\000\000\0008z\000\000\000\000\000\000\b(\000\000\000\000\000\000\000\000\000\000\000\000<\020\000\000\000\000\027>\000\000\000\000\000\000\003 \000\000\000\000\004j\000\000\000u\000\000\000\000\000\000\000\000\000\129\027\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\214\028\004\000\000\000\000\000\000\000\000\030X\000\000\000\000\t\014\000\000\015\022\000\000\000\000\000\000\011X\000\000\012J\000\000\000\000\000\000\nf\000\000\000\000\031L\000\000\000\000\000\006\014R\000\000\014V\000\000 \210\006\002\000\000\"\150\000\000\000\000\000\000\000\000\014b\000\000\014\226\000\000\000\000\000\000\007\236\000\000\000\200\014\170\002\226\000\000\000\000\000\000\004\014\0001\000\000\000\000\000\000\000\000\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\166\000\000\001\224\015F\004\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\234\000\000\000\000\n\212\"\156\000\000\000\000\000\000\000\000#\014\000\000\000\000\000P\000\000\b\196\r\"\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\000#\021\146\000\000\000\000\028\254\000\000\000\000\000\000\000\000\000>\000\000\000\000\t\162\000\000\000\000\000\000\003 \000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\022\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\b\t\194\n\224\r\026\000\000\007\222\b\210\t\254\n@\000\000\000\000\000\000\000\000\000\000\000\000\t\226\021\030\000\000\029\160\nn\000\000\000\000\011\200\000\000\021\170\000\000+\186\000\000\000\000\011\006\022\194\000\000\030\166\000\000\012\244\031h\000\000\000\000\000\000\bV\007\222\000\000\000\000\000\000\000\000\003\164\000\000\000\000\000\020\006\194\000\000\000\000\011\006\014\188\000\000\016\148\000\000\000\000\002 \000\000\003\\\000\000\000\000\017\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\244\000\000\000\000\011\242\000\000\023\162\000\000\016L\014\248\000\000\000\000\000\000\000\000\000\000\001\216\000\000\000\000\000\000\000\000\000\0004\\\000\000\002\160\000\000\000\000\000\000\000\000\000\000\001\n\000\000\t\202\n\146\n\192\000\000\0024\n\236\000\000\011\202\000\000\002\174\000\000\003J\000\000\004L\000\000\016L\000\000\000\000\000\000\000\000\000\000\004\232\000\000\012\006\000\000\005b\000\000\016L\015d\000\000\000R\000\000\015Z\007\128\000\000\0058\000\000\t\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\\\000\000\n\140\000\000\000\000\000\000\014\"\000\000\000\000\000\000\000\000\000\000\015^\014*\000\000\000\000\014^\000\000\000\000\0144\b\150\015\150\000\000\015\152\000\000\000\000\001\142\004\216\000\000\014f\000\000\000\000\014\158\000\000\000\000\000\000\000\000\000\000\000\000\015\128\014J\000\000\000\000\000\000\014\128\014R\011l\n\248\014~\014\182\000\000\000\000\014Z\011v\011F\014\132\014\188\000\000\000\000\011\214\015\154\000\000\015\158\000\000\015\194\000\000\000\000\015\166\000\000\000\000\015\174\000\000\000\000\000\000\000\000\015\178\000\000\015\216\000\000\000\000\000\000\015\218\000\000\000\000\000\000\015\224\000\000\000\000\000\000"), (16, "\004)\002P\004<\006C\001\173\002\199\006\231\006w\006x\000\018\006v\006\028\006\029\001(\000\142\000\007\002\209\002\209\000\142\003I\004)\005\236\004<\003I\005\006\004\238\006A\006\028\006\029\007:\006\182\000\017\006\196\007\016\000V\007;\007\017\006y\000\142\000\005\000V\005'\000\025\007<\000\142\004\191\001\185\006z\001*\004l\004m\000\142\006\183\006\169\007\021\006\197\003\244\006\200\006\028\006\029\004\192\006-\004+\006\231\000\024\006\012\004,\007\006\007\007\000\142\000\145\000\146\002]\000\150\002\209\000\r\006\170\006\173\006\028\006\029\004\192\006\169\004+\006\030\006+\002U\004,\007\011\006\r\006\196\006.\006\028\006\029\006\016\006\028\006\029\000\016\000\017\006\241\006\030\000\189\002M\000\195\007\211\006\170\006\173\006\028\006\029\001\030\007\014\002Q\000\152\006\197\007K\006\200\006\028\006\029\007\212\006\194\001\141\007X\000_\0051\0055\0061\004A\001\166\001#\004\169\000\198\006\030\006\244\006\199\006\190\000\204\007>\000V\000V\000V\002f\001\144\000\028\007\014\000\142\000\145\000\146\000\147\000\150\004\169\004)\006\030\004<\006\024\003\251\002h\006\197\007?\006\200\006\028\006\029\000_\004\171\0027\006\030\007y\000\192\006\030\000\142\006\025\000\193\006\184\0049\007<\007z\004\191\004\176\004\193\001(\006\030\000\207\004\193\004\171\004:\0057\005\020\000\152\000 \006\030\006\234\000_\000\142\0049\001\190\005\170\000\192\004\176\005\002\006\191\000\200\000\207\004\193\007@\004:\000\206\000W\001\184\003\224\006\192\006\193\004\192\007A\004+\001)\006\195\005\b\004,\007_\005\182\0062\004\179\007\141\004\239\004\201\005\014\000_\004\206\004\201\001\192\007Y\005%\006\030\0028\000\206\004\230\000\142\002\220\002\220\004\230\004E\004\179\000t\004\196\007a\006\187\000\004\006\247\004\201\000\142\002[\007c\007\220\007Z\004)\007N\004*\007O\004F\004\230\004E\001}\001\145\004G\001\146\001.\000\031\004H\006\213\000V\000\005\004\219\001.\004I\004)\006\206\004<\000b\004F\004\169\006\031\000\207\001\128\004G\000\208\007\142\001\190\004H\002R\002\202\001\172\000\152\000\142\004I\000_\002\220\006\250\003I\005\006\004\238\004)\001#\004<\000\"\006\237\000d\0068\006\207\005\142\006\208\000\207\002\204\004\171\000\208\000_\000\209\004+\000$\000\142\000V\004,\001\191\0049\007<\007\127\004\238\004\176\007k\007l\006\015\000\207\004\193\007\143\004:\004\192\001}\004+\000W\006\209\0065\004,\007A\006\196\002\205\000\209\001h\002:\007\145\006\210\000\198\000_\002\187\006\r\0069\000\204\007\197\001\128\006\016\006\028\006\029\004\192\004)\004+\004<\001\172\006\197\004,\006\200\006\028\006\029\004\179\000\210\004\196\007\147\000V\005\164\007\138\004\201\005\016\000\142\007\149\000(\004\188\003K\007<\007\127\004\238\001\217\004\230\004E\000\211\007p\000\142\000\145\004\189\001\023\001~\002Q\005\021\004A\000*\001#\004\169\001+\000V\000\213\000V\004F\000e\000_\000p\001.\004G\000`\000\192\0028\004H\003\206\000\200\000h\000V\004\192\004I\004+\0061\0049\007s\004,\004\169\007t\006\030\007\204\000a\000\207\000\152\004\171\004:\007\132\000V\004)\006\030\004<\000W\004\153\005\026\0049\007\014\002\188\000.\004\176\006i\002i\000\206\000\207\004\193\001.\004:\000\142\005\023\000\b\001\128\004\171\007<\007\127\004\238\000V\002h\002\189\001\172\001\160\005\002\0049\000\153\006j\004\144\004\176\006m\006\028\006\029\000\207\004\193\007\133\004:\000\142\000\145\000\146\001z\000\150\000W\004\169\007A\007x\000\142\004\179\003\154\004\239\004\177\005\014\0000\004\192\004\201\004+\002\191\005%\000\198\004,\000\153\005\169\000_\000\199\004j\004\230\004E\000e\000q\007\134\000\142\000V\0062\004\179\005\b\004\239\004\171\007\135\000h\000\152\004\201\000\142\000\207\007\137\004F\000\208\0049\000\153\000\142\004G\004\176\004\230\004E\004H\000\207\004\193\007\133\004:\000V\004I\007\014\007\001\007\002\006\030\004\154\007A\006\196\000p\003\153\006\211\004F\004\177\004\145\000l\001\162\004G\000\209\006\231\000_\004H\004\155\004\169\004)\000\192\004<\004I\003L\000\200\002\209\006\197\003J\006\200\006\028\006\029\004\179\001\144\004\239\005\178\007\135\000W\000\142\004\201\005\165\000\210\007\137\007<\007\127\004\238\000o\001\141\003\208\006\183\004\230\004E\004\171\000\142\001\161\001\128\001\188\005\028\003\207\000\206\000\211\005\167\0049\001\172\007C\000\212\004\176\006l\001\144\004F\000\207\004\193\007\133\004:\004G\000\213\002\189\000V\004H\001\155\004\192\007A\004+\000V\004I\002S\004,\004\177\000_\006\176\006j\001\178\006\239\006m\006\028\006\029\007\136\000\142\004)\000\142\004<\000_\006\030\000\142\003I\0003\005\026\000V\000e\000v\004\179\002\190\004\239\0007\007\135\006{\000\142\004\201\000\004\000h\007\137\007<\007\127\004\238\002\214\001}\007\196\007D\004\230\004E\006S\006\028\006\029\0006\005\011\000\207\0009\005\180\000\208\006$\006\249\003\244\000\005\000V\000\198\004\144\001\128\004F\004\169\000\202\000\005\000\153\004G\001\145\001\172\001\146\004H\001\165\004\192\004)\004+\004<\004I\001.\004,\001\141\006\030\006\189\000\198\000\209\000;\001\141\001\143\000\199\007\144\000\153\000V\000\142\001\151\002a\001\173\004\171\007<\007\127\004\238\003K\001\144\001.\001\145\006\"\001\146\0049\001\144\005\167\000V\004\176\002\202\003\210\001.\000\207\004\193\007\133\004:\006\030\000_\003\236\000V\002\165\007\166\000\192\007A\001\184\006T\000\200\000\142\002&\004\177\006\216\002\206\004\192\003\022\004+\003\237\006#\000\142\004,\004\169\005\190\000_\004\148\004)\004\152\004<\000\192\0064\007\148\000\142\000\200\005\183\004\179\006\027\004\239\005\192\007\135\001\184\002\220\004\201\000\206\000\142\007\137\002\205\001\170\004\151\003I\005\006\004\238\006\025\004\230\004E\004\171\001\190\004\193\004\144\0031\001-\000V\005Q\005\031\000\142\0049\002;\000\206\001.\004\176\003\224\001\131\004F\000\207\004\193\007\133\004:\004G\001\141\000\189\002I\004H\001\152\004\169\007A\001\164\004\192\004I\004+\000V\004\177\001\192\004,\006S\006\028\006\029\000\142\004\195\005\182\001\144\001\141\000?\001\145\004\201\001\146\001\167\004\206\001\151\001\145\004\189\001\146\000V\001.\004\179\004\230\004\239\004\171\007\135\001.\000\207\004\201\001\144\000\208\007\137\0062\006$\0049\006\203\000V\002 \004\176\004\230\004E\004\219\000\207\004\193\007\133\004:\004)\000_\004<\001\173\004\145\000\207\000\192\007A\000\208\001%\000\193\000\142\004F\004\177\007\173\000\209\004\169\004G\000\142\000\153\005\181\004H\001(\003I\005\006\004\238\001\141\004I\006\030\000V\000\189\002C\004\224\001\151\000\142\005\193\004\179\006\159\004\239\000\209\007\135\001\184\000\241\004\201\000\206\004\231\007\137\001\144\000A\004\171\005\192\004\253\004\244\003K\004\230\004E\004\228\004D\003q\0049\004\192\000\211\004+\004\176\004\189\000\242\004,\000\207\004\193\000\243\004:\005\173\005\020\004F\000V\003l\000\213\001\152\004G\003m\007K\001\145\004H\001\146\004\177\000\215\004\255\007W\004I\002\207\000_\001.\004\253\005W\000V\000\192\000\216\003\224\000C\000\193\001\153\005h\000E\001\145\001\173\001\146\004)\004\179\004<\004\239\000V\005\014\005\"\001.\004\201\004l\004m\004\206\006\186\001\186\000\207\000I\005\180\000\208\000\142\004\230\004E\004\254\004\169\003I\005\006\004\238\004)\000\206\004<\003\146\000V\002c\000H\003n\006\183\001\152\003\224\003o\004F\001.\005i\005$\007\174\004G\000\142\004l\004m\004H\000\209\003I\005\006\004\238\007\029\004I\003\225\004\171\003z\006i\001\158\000K\004\192\001\145\004+\001\146\003\197\0049\004,\000V\003K\004\176\006\172\001.\003\145\000\207\004\193\000V\004:\005\018\005\020\006*\006j\005'\000M\006m\006\028\006\029\004\192\005\"\004+\000V\004\177\005c\004,\006\170\006\173\006\028\006\029\003\148\000\153\003\225\004l\004m\006+\000\207\000\189\002-\000\208\000\142\006.\006\028\006\029\000p\007\024\004\179\007N\004\239\007O\005\014\005@\005\200\004\201\006@\005#\004\206\001.\003\150\000V\000\142\004\169\000s\004\189\004\230\004E\000y\005\202\004.\003\230\000\209\000x\002e\003|\003\201\003\186\000W\006A\006\028\006\029\001.\000\207\003J\004F\003}\006\184\004o\004\169\004G\006\030\003\224\001\173\004H\003\234\004\171\005*\000\142\000_\004I\000{\006\030\004)\000\192\004<\0049\003\200\000\193\007\029\004\176\005:\000~\003\189\000\207\004\193\006\030\004:\0059\005\020\003\153\000\142\004\171\004)\004n\004<\003I\005\006\004\238\0047\001\141\004\177\0049\003\213\007\177\005\148\004\176\001\151\006\n\006\011\000\207\004\193\000\206\004:\005\177\005\020\005<\006\138\004\250\000e\001e\001\144\006\030\007!\004\179\003\225\004\239\004\177\005\014\005:\000h\004\201\003\155\004\192\004\206\004+\005\154\000\128\000V\004,\006\139\005\203\004\230\004E\006\142\006\028\006\029\003\156\005\206\004\183\004\179\000\132\004\239\003\146\005\014\004+\005\202\004\201\005\154\004,\004\206\004F\003\230\005\202\005;\007\194\004G\000V\004\230\004E\004H\005\156\002\183\000\142\000p\006\129\004I\000\142\000\145\000\151\004)\000\150\004<\002\185\007\025\005\214\003\234\004F\000\207\004l\004m\000\208\004G\005\155\000\142\006]\004H\006:\000\142\007\024\005\216\004\169\004I\007<\004\143\004\191\000W\002`\000\142\000\145\001\127\000\198\000\150\005\000\000V\001\152\000\199\006\030\004A\000\152\006\253\004\169\000\209\007=\000\142\000\145\000\146\001\175\000\150\007\029\000V\003\236\000V\003l\004\171\004\144\006@\003m\003\216\006D\004\192\001\145\004+\001\146\0049\007 \004,\000V\004\176\000\149\000\152\001.\000\207\004\193\004\171\004:\007]\005\020\007\140\006A\006\028\006\029\007\029\003K\0049\0010\000\152\004\147\004\176\004\177\005\217\000_\000\207\007\166\007)\004:\000\192\000e\001j\002\188\000\200\007\205\004\127\000g\000V\005\216\004\189\001.\000h\005\002\006i\005\220\004\179\000_\004\239\0013\005\014\003n\004\144\004\201\000\153\003o\004\206\004)\007|\004<\005\202\000V\004\169\000V\004\230\004E\004\179\006j\000\206\000W\006m\006\028\006\029\004\145\0017\000\142\006\255\007\166\005\228\004)\007<\004<\004\191\004F\006\144\004E\006\030\007%\004G\004l\004m\000\142\004H\005\230\0016\004\171\007\024\000\142\004I\006i\004\150\007\166\007<\004F\004\191\0049\000\153\003K\004G\004\176\000\142\007\139\004H\000\207\004\193\007~\004:\004\192\004I\004+\007#\001}\006j\004,\007A\006m\006\028\006\029\000V\000\153\007\129\004\144\0019\005\231\000V\007}\004\145\001;\006^\004\192\000e\004+\001\128\006\030\000\207\004,\001.\000\208\005\230\007\031\001\172\000h\001}\004\179\004\210\004\196\007\131\007\128\003|\007\026\004\201\000\142\006a\007\137\006\141\005\234\000\207\001.\001}\003}\000k\004\230\004E\001\128\000V\007\167\001?\001A\000\209\007S\005\202\001\172\007\030\006`\001C\004\169\004)\006\139\004<\001\128\004F\006\142\006\028\006\029\001E\004G\000\153\001\172\006\030\004H\001H\007,\000W\006G\000\142\004I\003\238\004\169\004)\003I\004<\004\191\000\198\004\189\007|\004\145\001L\000\199\004\171\001K\000\189\002*\007`\007\216\000\215\007\169\000\142\001N\0049\005R\003\242\005P\004\176\0073\004\189\000\218\000\207\004\193\007~\004:\004\171\007\252\000\153\000V\007|\003\127\004\192\007A\004+\007\171\0049\001P\004,\007\129\004\176\005\161\007\253\006\147\000\207\004\193\007~\004:\007\223\007\"\006\030\001T\001V\007\130\005r\007A\004+\000V\000_\000e\004,\007\129\004\179\000\192\004\196\007\131\000_\000\200\007\215\004\201\000h\000\192\007\137\007\222\005\185\000\193\000V\001X\0054\005x\004\230\004E\003\245\007\146\004\179\007\204\004\196\007\131\007\026\006w\006x\004\201\003K\004)\007\137\004<\001.\000\153\006\222\004F\004\169\000\206\004\230\004E\004G\007N\003\249\007O\004H\000\206\007V\000\142\000n\000V\004I\001.\003I\001Z\004\191\006\143\001^\004F\004l\004m\007\204\000\153\004G\000\198\005Z\006z\004H\001]\000\199\004\171\001`\001b\004I\000\142\000\145\000\146\001\180\000\150\001g\0049\000W\000V\004)\004\176\004<\001m\001l\000\207\004\193\004\192\004:\004+\004\184\001o\006^\004,\001q\000V\000\142\001s\000\142\0049\001.\007\024\005)\003I\004\186\004\191\001w\000\207\005y\001\189\004:\000\207\001|\000\152\000\208\000\153\001\177\001\183\007\205\000\207\001\182\000_\000\208\007\205\005z\004\179\000\192\004\196\005+\0052\000\200\005j\004\201\0054\002Z\004\206\002Y\003l\002_\002m\004\192\003m\004+\004\230\004E\000\209\004,\000\153\002p\000e\004)\002t\004<\000\209\005|\004\169\002s\005\129\002v\005s\000h\004\198\004F\000\153\000\206\005\147\004E\004G\000\142\002x\002|\004H\002~\003I\004\199\004\238\002\128\004I\000\142\000\145\000\146\002W\000\150\002\130\004F\002\133\002\137\002\136\004\171\004G\002\139\001 \002\141\004H\002\145\002\147\002\149\000_\0049\004I\0078\003n\004\176\002\151\002\155\003o\000\207\004\193\004\169\004:\004\192\004)\004+\004<\002\154\004\232\004,\002\157\002\159\002\164\000\152\002\170\004\241\005)\000\142\000\145\000\146\002\194\000\150\000\142\002\169\000\189\002)\002\172\003I\004\199\004\238\002\174\002\176\004\236\000\207\004\171\002\180\000\208\002\197\002\196\004\179\005\133\004\196\005+\002\213\0049\002\219\004\201\002\218\004\176\004\206\003,\002\222\000\207\004\193\001}\004:\005\149\004\230\004E\000\152\002\225\007\025\000\142\006@\004\192\002\229\004+\000\209\002\228\004\243\004,\004\169\002\231\002\233\002\237\001\128\004F\002\239\002\241\002\243\006\196\004G\002\246\001\172\000_\004H\006A\006\028\006\029\000\192\002\250\004I\004\179\000\193\004\196\004\245\002\249\002\252\000\142\004\201\007\026\003|\004\247\006\197\004\171\006\200\006\028\006\029\001.\000\207\004\230\004E\003}\000\215\0049\002\254\003\002\003\004\004\176\003\006\003\b\003\012\000\207\004\193\000\220\004:\003\011\000\206\003\014\004F\001\141\004)\004\169\004<\004G\003\016\000\198\001\151\004H\004\177\003\021\000\199\004\246\003\027\004I\003\026\003\029\003\031\003!\000\142\003%\001\144\003+\000\198\003I\004\199\004\238\003*\000\204\006\030\0030\001}\004\179\0036\004\239\004\171\004\240\007K\0035\004\201\006\021\006>\004\206\006)\007R\0049\0067\006c\006\030\004\176\004\230\004E\001\128\000\207\004\193\006\137\004:\006\154\003~\006\156\001\172\004\192\004)\004+\004<\006\166\000_\004,\006\168\004F\004\177\000\192\006\178\000\207\004G\000\200\000\208\001}\004H\006\205\000\142\007i\007\151\000_\004I\003I\005\006\004\238\000\192\007\155\007\175\007\181\000\200\004\179\007\182\004\239\007\187\004\240\001\128\007\188\004\201\007\193\007\192\004\206\007\200\007\202\001\172\000\209\007\208\000\206\007\209\004\230\004E\007\213\007\214\001\152\007\217\007\218\007\221\007\224\007\225\007\242\004\192\007\231\004+\007\240\000\206\007\236\004,\004\169\004F\007\239\004)\007\248\004<\004G\007\246\007\250\003\227\004H\007\255\001\145\000\000\001\146\000\000\004I\006M\000\000\000\000\000\000\000\142\001.\000\000\000\000\000\000\003I\005\006\004\238\000\000\000\000\000\000\000\000\004\171\006\235\000\000\000\000\000\000\000\000\001\212\000\000\000\000\001\213\0049\007\029\000\000\000\000\004\176\007N\000\000\007O\000\207\004\193\000\000\004:\000\000\000\207\000\000\001.\000\208\003K\004\169\000\000\004\192\004)\004+\004<\000V\004\177\004,\000\000\000\000\000\000\000\207\000\000\000\142\000\208\000\000\000\000\000\000\000V\000V\000\142\000\000\000\000\000\000\000\000\003I\005\006\004\238\000\209\004\179\000\000\004\239\004\171\004\240\000\000\000\000\004\201\000_\000\198\004\206\001\214\000p\0049\000\199\001\215\000\209\004\176\004\230\004E\000\000\000\207\004\193\000\000\004:\000p\005\r\000\000\000\142\000\145\000\146\002\211\000\150\004\192\000\000\004+\000\000\004F\004\177\004,\004\169\000\142\004G\000\210\000W\000\215\004H\000\000\000\000\000\000\000\000\001\230\004I\007K\000\000\000\000\000\222\000W\003\224\000\000\007M\004\179\000\211\004\239\000\000\005\014\000\000\001\022\004\201\000_\000\152\004\206\000\000\004\171\000\192\000\000\000\000\000\213\000\200\004\230\004E\000\000\000\000\0049\000\000\000\000\000V\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\005\015\000\000\004F\000\000\004)\004\169\004<\004G\000\000\000\189\002(\004H\004\177\000\000\007K\000\000\000\206\004I\000\000\000e\002\162\007U\000\142\007!\000\000\004\219\000p\003I\005,\004\238\000h\000\207\000e\002\167\001\231\004\179\000\000\004\239\004\171\005\014\000\000\000\000\004\201\000h\000\000\004\206\000\000\000\000\0049\000\000\000\000\000\000\004\176\004\230\004E\000\000\000\207\004\193\000W\004:\000\000\005!\004\224\000\000\004\192\004)\004+\004<\000\000\000_\004,\000\000\004F\004\177\000\192\000\000\000\000\004G\000\193\000\000\000\000\004H\000\000\000\142\000\000\000\000\004\228\004I\003I\005,\004\238\000\000\000\207\000\000\000\000\000\208\004\179\007N\004\239\007O\005\014\000\000\000\000\004\201\000\000\000\000\004\206\001.\005.\002#\000\000\000\000\000\206\000\000\004\230\004E\000\000\000\000\001\212\000\000\000\000\001\213\001}\000\000\000\000\004\192\000\209\004+\000\000\000e\003\019\004,\004\169\004F\000\000\004)\000\000\004<\004G\000\000\000h\000\000\004H\001\128\000\000\000\000\005B\000\000\004I\000\000\000\198\001\172\000\000\000\142\007N\000\202\007O\000\142\003I\004\199\004\238\000\000\003I\000\000\001.\004\171\000\000\000\000\000\142\0050\000\000\000\000\002?\000\000\000\000\0049\000\000\000\000\000_\004\176\000\000\001\214\000\000\000\207\004\193\001\215\004:\000\000\000\207\000\000\000\000\000\208\000\000\004\169\000\000\004\192\000\000\004+\000\000\003\244\004\177\004,\000\000\000\000\000\142\000\000\004)\000\000\004<\003I\000_\000\000\000V\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\001\230\000\209\004\179\000\142\004\239\004\171\005/\000\000\003I\004\201\004\191\006@\004\206\000\000\000\000\0049\000\000\000\000\000\000\004\176\004\230\004E\000\000\000\207\004\193\003\244\004:\000p\000\000\000\000\000\000\000\000\000\206\000\000\006A\006\028\006\029\000\000\000\000\004F\004\177\000\000\004\169\000\000\004G\004\192\000\000\004+\004H\000\000\000\000\004,\000\000\000\000\004I\002;\001#\000\000\000\000\000W\000\189\002'\000\000\004\179\000\000\004\239\000\000\005/\000\000\000\000\004\201\000\000\004)\004\206\004<\004\171\000\207\000\000\000\000\001\231\000\000\004\230\004E\000\000\000\000\0049\000\000\005\171\000\000\004\176\000\142\0054\000\000\000\207\004\193\003I\004:\004\191\004\193\006@\004F\000\000\000\000\000\000\000\000\004G\000\000\006\030\000\207\004H\004\177\000\208\000\000\004\169\000\000\004I\000\000\000\000\000\000\000\000\000_\000\000\006A\006\028\006\029\000\192\000\000\000\000\000\000\000\193\000e\003\024\004\192\004\179\004+\004\239\001%\004\240\004,\005\223\004\201\000h\000\209\004\206\004\201\004\193\004\171\004\206\000\000\000\000\000\000\004\230\004E\000\000\002\"\004\230\0049\000\000\001+\004)\004\176\004<\000\000\000\206\000\207\004\193\001.\004:\000\000\000\241\004F\000\189\000\191\000\000\005\187\004G\000\000\000\142\0054\004H\000\000\005)\003I\000\000\004\191\004I\005\225\000\000\000\211\000\000\000\000\004\201\000\242\006@\004\206\006\030\000\243\004)\000\000\004*\004\169\000\000\004\230\000\213\004\179\000\000\004\196\005+\000\000\000\000\000\198\004\201\000\000\000\000\004\206\000\202\006A\006\028\006\029\004\192\000\000\004+\004\230\004E\006K\004,\000\000\000\000\000\142\000\000\004)\000_\004<\004\171\000\000\000\000\000\192\000\000\000\000\000\207\000\193\004F\000\208\0049\000\000\000\000\004G\004\176\000\142\000\000\004H\000\207\004\193\003I\004:\004\191\004I\000_\000\000\004+\000\000\005\189\000\000\004,\000\000\0054\000\000\000\000\005)\000\000\000_\000\000\000\000\000\209\000\206\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\169\000\000\006\030\004\192\004\179\004+\004\196\005+\000\000\004,\000\000\004\201\003l\004)\004\206\004<\003m\000\000\000\000\000\000\000\000\000\000\004\230\004E\007.\006Z\000\206\000\000\000\000\000\000\000\000\000\142\000\000\004\171\006\196\000\000\003I\004\199\004\238\000\000\000\000\004F\000\000\0049\000\000\007&\004G\004\176\000\198\0054\004H\000\207\004\193\000\199\004:\000\000\004I\006\197\000\000\006\200\006\028\006\029\000\000\000\207\001\212\000\000\000\208\001\224\005)\000\000\000\000\004\169\003\146\004\192\000\000\004+\003n\000\000\000\000\004,\003o\0049\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\004\179\004:\004\196\005+\000\000\000\000\000\209\004\201\000\000\000\000\004\206\000\207\000\000\004\171\000\208\000\000\003\147\000_\004\230\004E\000\000\000\000\000\192\0049\000\000\000\000\000\200\004\176\006X\000\000\000\000\000\207\004\193\000_\004:\000\000\001\214\004F\000\000\002+\001\215\006\030\004G\000\000\000\000\000\209\004H\000\000\005)\003\148\004\169\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\002=\004)\000\000\004<\000\000\000\000\000\000\000\000\001.\000\000\004\179\000\241\004\196\005+\004;\001\230\003\150\004\201\000\000\000\142\004\206\000\000\004\171\000\000\003I\000\000\004\191\000\000\004\230\004E\000\211\003|\0049\003\186\000\242\000\000\004\176\000\000\000\243\000\207\000\207\004\193\003}\004:\000\000\000\213\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\189\001\205\004H\004\177\000\000\000\000\000\000\004\192\004I\004+\000\000\000\000\000\000\004,\000\000\003\189\000\000\000\000\000\142\000\000\000\000\000\207\003\153\000\000\000\208\000\000\004\179\000\000\004\239\000\000\004\240\000\000\000\000\004\201\000\000\000\000\004\206\000\207\000\000\000\000\001\231\006\242\000\000\000\000\004\230\004E\000\000\000\000\000\000\0074\000\000\000\000\000\000\0054\000\000\000\209\000\000\000\000\000\000\004)\000_\004<\000\000\004F\003\155\000\192\000\000\000\000\004G\000\193\007b\001\212\004H\0029\001\224\004\169\000\000\000\142\004I\003\156\000\000\000\000\003I\004\199\004\238\000\000\001\141\005=\004)\000\000\004<\000\000\000\000\001\151\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\215\000\000\000\206\000\000\000\000\000\142\001\144\004\171\000\000\000\000\003I\000\224\004\238\000\000\001\235\000\000\000\000\0049\004\192\001\236\004+\004\176\000\198\001\237\004,\000\207\004\193\000\199\004:\001\238\000_\000\000\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\000\000\000\000\004,\000\000\000\142\000\145\000\146\002\216\000\150\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005+\000\000\002.\000\000\004\201\001\230\000\000\004\206\000\000\000\000\000\207\000\000\000\000\000\208\000_\004\230\004E\000\000\004\169\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\001\152\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\209\000\000\000\000\004\169\004)\004I\004<\004\171\000\000\000\000\000\000\004\213\000\000\000\206\001\145\000\000\001\146\0049\004\242\000\000\000\000\004\176\000\142\000\000\001.\000\207\004\193\003I\004:\004\191\000\000\000\000\000\000\004)\000\000\004<\004\171\000\207\000\000\000\000\001\231\000\000\004\177\000\000\000\000\000\000\0049\004\190\000\000\000\000\004\176\000\142\000\000\002D\000\207\004\193\003I\004:\004\191\000\000\000\000\000\000\000\000\000\000\004\192\004\179\004+\004\239\000\000\004\240\004,\005?\004\201\0021\000\198\004\206\000\000\000\000\000\000\000\199\000\000\000\000\000\000\004\230\004E\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\004\192\004\179\004+\004\239\001\234\005A\004,\000\000\004\201\004F\000\000\004\206\000\000\000\000\004G\000\000\000\000\000\000\004H\004\230\004E\000\000\001\235\000\000\004I\000\000\000\000\001\236\000\000\000\000\000\209\001\237\000\000\000\000\000\000\000\000\000\000\001\238\004F\004\169\001}\000_\004)\004G\004<\000\000\000\192\004H\000\000\000\000\000\200\000\000\000\000\004I\000\000\000\000\004\200\000\000\000\000\000\000\000\142\001\128\000\000\000\000\000\000\003I\000\000\004\191\004\169\001\172\000\000\000\000\004\171\000\000\000\000\000\142\000\215\000\000\000\000\000\000\003I\000\000\0049\000\000\000\206\000\000\004\176\000\226\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\171\004\192\000\000\004+\000\000\000\000\004\194\004,\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\003\244\006@\000\207\004\193\000\000\004:\000\189\001\208\000\000\000\000\000\000\000\000\004)\004\179\004<\004\196\004\197\000\000\000\000\004\194\004\201\000\000\000\198\004\206\006A\006\028\006\029\000\199\000\000\000\000\000\142\004\230\004E\000\189\001\211\003I\000\000\004\191\000\000\000\000\000\000\000\000\004\179\000\207\004\196\004\197\000\208\000\000\000\000\004\201\004F\000\000\004\206\004\169\000\000\004G\000\000\000\198\000\000\004H\004\230\004E\000\199\000\000\000\000\004I\000_\000\000\000\000\000\000\000\000\000\192\004\192\000\000\004+\000\193\000\000\000\209\004,\004F\000\000\000\000\000_\004)\004G\004<\004\171\000\192\004H\000\000\000\198\000\200\000\000\000_\004I\000\202\0049\006\030\000\192\000\000\004\176\000\142\000\193\000\000\000\207\004\193\003I\004:\004\191\000\206\000\000\000\000\000\000\000\000\004)\000\000\004<\000_\000\000\000\000\004\193\004\194\000\192\000\215\000\000\000\206\000\200\000\000\000\000\000\000\000\000\000\000\000\142\006@\000\228\000\000\000\206\003I\000\000\004\191\004\169\000\000\000\000\004\192\004\179\004+\004\196\004\197\000\000\004,\000_\004\201\000\000\000\000\004\206\000\192\006A\006\028\006\029\000\200\000\206\005\227\004\230\004E\000\000\000\000\004\201\000\000\000\000\004\206\000\000\000\000\002N\004\171\004\192\000\000\004+\004\230\000\000\000\000\004,\004F\006@\0049\000\000\000\207\004G\004\176\000\208\000\000\004H\000\207\004\193\000\206\004:\000\000\004I\000\000\000\000\000\000\005\017\000\207\000\000\000\000\000\208\006A\006\028\006\029\005\n\000\000\000\000\004\169\000\207\000\000\006V\000\208\000\000\000\000\000\000\000\209\000\000\000\000\004)\000\000\004<\000\000\000\000\000\000\000\000\006\030\000\000\004\179\006@\004\196\005\012\000\209\000\207\000\000\004\201\000\208\000\142\004\206\004\169\000\000\004\171\003I\000\209\004\191\000\000\004\230\004E\004)\000\000\004<\0049\006A\006\028\006\029\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\004F\000\207\000\209\005\t\000\208\004G\000\000\004\171\000\000\004H\006\030\005\n\000\000\000\215\004\192\004I\004+\0049\000\000\000\000\004,\004\176\000\000\000\000\000\230\000\207\004\193\000\000\004:\000\244\000\000\000\000\000\000\005\029\004\179\000\209\004\196\005\012\004)\000\000\004<\004\201\005\030\000_\004\206\004+\000\000\000\000\000\215\004,\000\000\000\000\004\230\004E\000\000\000\000\000\142\000\000\000\000\000\232\006\030\003I\000\241\004\191\000\000\004\179\000\000\004\196\005 \000\000\000\000\004F\004\201\000\000\000\000\004\206\004G\000\000\006e\000\000\004H\000\211\004\169\004\230\004E\000\242\004I\006\196\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\004\192\000\000\004+\000\000\004F\000\000\004,\000\000\000\000\004G\004A\000\000\006\197\004H\006\200\006\028\006\029\004\171\000\000\004I\000\000\000\000\000\000\000\000\004)\000\000\004<\0049\000\000\006t\000\000\004\176\000\000\000\000\000\000\000\207\004\193\004)\004:\004<\000\000\000\000\000\142\000\000\005\027\000\000\005(\003I\000\000\004\191\007*\000\000\005\n\000\000\000\000\000\142\0049\000\000\000\000\000\000\003I\000\000\004\191\000\000\000\207\000\000\000\000\004:\004\169\000\000\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005\012\006\127\000\000\004C\004\201\000\000\004\192\004\206\004+\006\030\000\000\000\000\004,\000\000\000\000\004\230\004E\000\000\000\000\004\192\000\000\004+\000\000\004\171\000\000\004,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0049\004F\000\000\000\000\004\176\000\000\004G\000\000\000\207\004\193\004H\004:\004E\000\000\000\000\000\000\004I\000\000\000\000\005-\000\000\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\000\004\169\000\000\000\000\000\000\004I\000\000\000\000\004\179\000\000\004\196\005+\000\000\006@\004\169\004\201\000\000\004)\004\206\004<\000\000\000\142\000\145\000\146\003(\000\150\004\230\004E\000\000\000\000\0076\000\000\000\000\000\000\004\171\000\142\006A\006\028\006\029\000\000\003I\000\000\004\191\000\000\0049\004F\000\000\004\171\004\176\000\000\004G\006\245\000\207\004\193\004H\004:\000\000\0049\000\000\000\000\004I\004\176\000\000\000\152\000\000\000\207\004\193\000\000\004:\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\000\000\007+\004,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005+\000\000\000\000\000\000\004\201\000\000\000\000\004\206\000\000\000\000\004\179\000\000\004\196\007-\006\030\004\230\004E\004\201\000\000\004)\004\206\004<\000\000\000\000\000\000\000\000\000\000\000\000\004\230\004E\000\000\000\000\0079\000\000\004F\000\000\000\000\000\142\000\000\004G\006@\000\000\003I\004H\004\191\000\000\000\000\004F\000\000\004I\004\169\000\000\004G\000\000\000\000\000\000\004H\000\000\000\000\000\000\000\000\000\000\004I\006A\006\028\006\029\000\000\000\142\000\000\000\000\000\000\000\000\004)\000\000\004<\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\004\171\000\000\004,\000\000\000\000\000\000\000\000\000\142\000\000\004)\0049\004<\005P\000\000\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\000\005P\001}\000\000\007+\005q\000\000\000\000\000\000\000\000\000\000\001\212\000\189\003T\001\224\000\000\000\000\006\132\005r\000\000\004+\001\141\006\030\001\128\004,\005o\000\000\004\179\001\151\004\196\007-\001\172\000\000\004\169\004\201\000\000\000\000\004\206\005r\000\000\004+\000\000\001\144\005x\004,\004\230\004E\000\000\000\000\001\212\000\000\000\000\001\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005x\004F\001\212\004\171\000\142\001\224\004G\000\000\000_\000_\004H\001\214\000\000\0049\000\192\001\215\004I\004\176\000\193\000\000\000\142\000\207\004\193\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\157\000\000\007+\000\000\004A\000\000\001#\000\000\000\000\000\000\000_\000\000\002.\001\214\000\000\001\230\000\206\001\215\000\198\000\000\000\000\000\000\006@\000\202\000\000\004\179\000_\004\196\007-\001\214\0049\000\000\004\201\001\215\000\000\004\206\000\000\001\152\000\207\005y\006\150\004:\000\000\004\230\004E\006A\006\028\006\029\002\023\000\000\0049\000\000\000\000\001\230\000\000\005z\000\000\000\000\000\207\005y\004\221\004:\004F\001\145\002\023\001\146\000\000\004G\000\000\001\230\000\000\004H\000\000\001.\000\000\005\159\000\000\004I\000_\000\000\000\000\000\000\000\000\000\192\000\000\005|\000\000\000\200\005\129\000\000\000\000\000\207\000\207\000\000\001\231\000\208\005\147\004E\000\000\000\000\000\238\001\212\000\000\000\000\001\224\005|\000\000\002/\005\160\000\000\000\142\000\145\000\146\003.\000\150\004F\005\147\004E\006\030\000\142\004G\000\206\000\000\000\000\004H\000\000\000\209\0021\000\000\000\207\004I\001\212\001\231\000\000\001\224\004F\000\000\000\000\000\000\000\000\004G\000\198\000\000\000\000\004H\000\207\000\199\000\000\001\231\000\142\004I\001\234\000\152\000\000\000\000\002\024\002$\000\000\000\000\000\000\000\000\000_\000\000\000\000\001\214\001\232\000\000\000\000\001\215\001\235\000\000\002\024\002\025\000\000\001\236\000\000\000\000\000\000\001\237\001\233\000\000\001\232\000\000\000\000\001\238\000\000\000\000\001.\000\000\001\234\001\212\000_\000\000\001\224\001\214\001\233\000\000\000\207\001\215\002\023\000\208\000_\000\000\001.\001\230\001\234\000\192\001\235\000\142\000\000\000\200\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\000\000\000\001\238\001\235\000\000\000\244\002\015\000\000\001\236\002\023\000\000\000\209\001\237\000\000\001\230\006\163\001\212\000\000\001\238\001\224\000\000\000\000\002\015\000\000\000\206\000\000\000\000\000\000\006@\000\000\000_\006@\001\212\001\214\000\142\001\224\000\000\001\215\000\241\000\000\000\142\000\145\000\146\0033\000\150\000\000\000\000\000\000\000\000\000\000\000\142\006A\006\028\006\029\006A\006\028\006\029\000\211\000\000\000\000\000\207\000\242\000\000\001\231\000\000\000\243\000\000\000\000\002\023\000\000\000\000\000\000\000\213\001\230\000\000\000\000\000_\000\000\000\000\001\214\001}\000\000\000\152\001\215\000\000\000\000\002\024\003s\006@\000\000\000\207\000\000\000_\001\231\000\000\001\214\001\232\000\000\000\000\001\215\000\207\001\128\000\000\000\208\000\000\000\000\000\000\000\000\000\000\001\172\001\233\006A\006\028\006\029\002\023\000\000\002\024\0040\001.\001\230\001\234\000\000\000\000\000\000\006\030\000\000\001\232\006\030\000\000\000\000\002\023\000\000\000\000\000\000\000\209\001\230\000\198\000\198\001\235\000\000\001\233\000\202\000\199\001\236\000\000\000\000\000\000\001\237\001.\000\207\001\234\000\000\001\231\001\238\000\142\000\000\000\000\002\015\000\000\000\000\000\000\000\000\000\000\004)\000\000\004<\000\000\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\000\002\024\004\173\001\237\000\000\000\000\000\215\000\000\000\000\001\238\006\030\001\232\000\000\002\015\004\162\005\184\000\000\000\234\004)\000\000\004<\000\207\000_\000_\001\231\001\233\000\000\000\192\000\192\000\000\000\000\000\200\000\200\001.\004)\001\234\004<\000\207\000\000\000\000\001\231\000\000\000\000\004\162\005\003\000\000\000\000\002\024\004\203\003\146\000\000\004+\000\000\001\235\000\000\004,\001}\001\232\001\236\004\162\004\249\000\000\001\237\002\024\005~\000\206\000\206\006\161\001\238\000\000\006\220\001\233\002\015\001\232\000\000\000\000\000\000\001\128\003\146\001.\004+\001\234\000\000\000\000\004,\001\172\000\000\001\233\001!\001#\000\000\000\000\000\000\000\000\003\146\001.\004+\001\234\000\000\001\235\004,\000\000\000\000\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\189\003e\001\238\001\235\000\000\004\169\002\015\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\006\225\000\000\000\000\001\238\000\000\000\000\000\000\002\015\000\000\000\000\000\000\000\189\003h\000\000\000\207\000\207\000\000\000\208\000\208\004\169\000\000\000\000\000\000\004\171\000\000\000\000\000\000\000\000\000\000\000\000\004)\000\000\004<\0049\000\000\004\169\000\000\004\176\000\000\000\000\000\000\000\207\001%\000\000\004:\000_\000\000\000\000\000\209\000\209\000\192\000\000\004\171\000\000\000\193\004\162\004\163\000\000\004\177\004)\000\000\004<\0049\000\000\001+\000\000\004\176\000\000\004\171\000\000\000\207\000_\001.\004:\000\000\000\241\000\192\000\000\0049\000\000\000\193\004\179\004\176\000\000\004\162\004\175\000\207\004\177\000\206\004:\003\146\004)\004+\004<\000\211\000\215\004,\000\000\000\242\000\000\004E\000\000\000\243\004\177\000\000\000\000\000\236\000\000\000\000\000\213\004\179\000\000\000\000\000\000\000\206\000\000\004\162\005\005\004F\003\146\000\000\004+\000\000\004G\000\000\004,\004\179\004H\000\000\004E\000\000\000\000\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\004F\000\000\000\000\000\000\003\146\004G\004+\000\142\000\000\004H\004,\004\169\000\000\000\000\000\000\004I\004F\000\207\000\000\000\000\000\208\004G\000\000\000\000\004)\004H\004<\000\000\000\000\000\000\000\000\004I\000\198\000\000\000\000\000\000\000\000\000\204\000\000\000\000\004\169\000\000\000\000\000\207\004\171\000\000\000\208\000\000\000\000\004\162\005\209\000\209\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\000\000\000\000\000\207\000\000\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\004\169\004\171\000\000\001\141\000\000\000\209\000\000\004\177\000\000\000\000\001\151\0049\003\146\000\000\004+\004\176\000\000\000\000\004,\000\207\000_\000\000\004:\000\000\001\144\000\192\000\000\000\000\000\000\000\200\004\179\000\000\004)\004\171\004<\000\000\004\177\000\000\000\000\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\004E\000\000\000\207\000\000\000\000\004:\000\000\000\000\004\162\005\211\004\179\004)\000\000\004<\000\206\000\000\000\000\000\000\004F\004\177\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\000\004E\000\000\004\169\000\142\004I\000\000\000\000\004\162\005\213\000\000\000\000\000\000\000\000\004\179\003\146\000\000\004+\000\000\004F\000\000\004,\001\212\000\000\004G\001\224\000\000\000\000\004H\000\000\000\000\000\000\000\000\004E\004I\001\212\004\171\000\000\001\224\000\000\000\142\001\152\000\000\003\146\000\000\004+\0049\000\000\000\000\004,\004\176\004F\001\212\000\142\000\207\001\224\004G\004:\000\000\000\000\004H\000\000\000\207\000\000\005]\000\208\004I\001\145\000\000\001\146\000\142\004\177\001\141\000\000\000\000\000\000\000\000\001.\000\000\001\151\000\000\000\000\000_\004\169\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\001\144\004\179\000_\000\209\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\169\000_\004E\000\000\001\214\004\171\000\000\000\000\001\215\002\022\001\212\000\000\000\210\001\224\001\230\0049\000\000\000\000\000\000\004\176\004F\000\000\000\000\000\207\000\000\004G\004:\001\230\000\142\004H\000\000\000\211\000\000\004\171\000\000\004I\001\025\000\000\000\000\001\229\004\177\000\000\000\000\0049\001\230\000\000\000\213\004\176\000\000\000\000\000\000\000\207\000\000\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\004\179\000\000\000\000\000\000\000\202\004\177\001\212\000_\000\000\001\224\001\214\000\000\000\000\001\152\001\215\000\000\000\000\000\142\000\000\004E\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\207\004\179\000\000\001\231\000\000\000\000\000\000\000\000\000\000\005\136\004F\000\000\001\145\000\207\001\146\004G\001\231\000\000\002\017\004H\004E\000\000\001.\001\230\000\000\004I\000\000\000\000\000\000\000\000\000\207\000\000\000_\001\231\000\000\000\000\001\232\000\192\004F\000_\000\000\000\200\001\214\004G\000\000\000\000\001\215\004H\000\000\001\232\001\233\000\000\000\000\004I\000\000\000\000\000\000\000\000\001.\000\000\001\234\000\000\000\000\001\233\000\000\000\000\001\232\000\000\000\000\000\000\002\018\001.\000\000\001\234\000\000\000\206\000\000\002\021\001\235\004)\001\233\004<\001\230\001\236\000\000\000\000\000\000\001\237\001.\000\000\001\234\001\235\000\000\001\238\000\000\000\000\001\236\002\015\000\000\000\207\001\237\000\000\001\231\000\000\004\252\000\000\001\238\000\000\001\235\000\000\002\019\000\189\003k\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\000\000\000\001\238\000\198\000\000\000\000\002\015\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\000\000\003\146\000\000\004+\000\142\000\000\000\000\004,\000\000\000\000\000\000\001\233\000\000\000\207\000\000\000\000\000\208\000\000\000\000\001.\000\207\001\234\000\198\001\231\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\189\004\003\000\000\000\192\001\235\000\142\001\194\000\193\000\000\001\236\000\000\000_\000\209\001\237\000\000\000\000\000\192\000\000\000\000\001\238\000\200\001\232\000\000\002\015\000\198\000\000\000\198\000\000\001\196\000\199\000\000\000\202\000\000\000\000\004\169\001\233\001.\000\000\000\000\000\241\000\000\000\206\000\000\001.\000\142\001\234\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\211\000\000\000_\000\000\000\242\001\235\000\000\000\192\000\243\004\171\001\236\000\193\000\000\000\000\001\237\000\213\000\000\000\000\000\000\0049\001\238\000\000\000\000\004\176\002\015\000\000\000_\000\207\000_\000\000\004:\000\192\000\206\000\192\000\198\000\200\000\198\000\200\000\000\000\202\000\000\000\202\000\000\000\000\004\177\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\004\179\000\000\000\206\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000_\000\000\000_\000\000\000\000\000\192\002+\000\192\000\000\000\200\004F\000\200\000\209\000\000\000\207\004G\000\000\000\208\003l\004H\000\000\000\000\003m\000\000\000\000\004I\000\000\000\207\002A\000\000\000\208\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\000\241\003l\000\198\002+\000\206\003m\000\206\000\202\000\000\000\209\000\000\000\000\000\207\000\000\000\207\000\208\000\000\000\208\000\000\000\211\000\142\000\000\000\209\000\242\000\000\002G\000\000\000\243\000\000\000\000\000\000\000\000\000\000\001.\000\213\000\000\000\241\000\000\000\000\003\146\000\000\000\000\002+\003n\000\000\000\000\000\209\003o\000\209\000\000\000\000\000\000\000\000\000\198\000\000\000\211\000\000\000\000\000\199\000\242\000\000\003\146\000_\000\243\002K\003n\000\000\000\192\000\198\003o\000\213\000\200\001.\000\202\003\197\000\241\000\000\000\000\000\000\000\000\000\207\000\000\000\207\000\208\000\000\000\208\000\142\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\211\000\000\003\197\000\000\000\242\000\000\000\000\000\000\000\243\000\246\000\000\000\206\000\000\003\148\002+\000\213\003Y\000\000\000\000\000_\000\209\000\000\000\209\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000_\003\148\003R\000\198\003[\000\192\000\000\003\150\000\202\000\200\001.\000\000\001.\000\241\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\003|\003\198\003\186\000\000\000\000\000\000\000\206\003\150\000\207\000\000\000\211\003}\000\211\000\000\000\242\000\000\000\242\000\000\000\243\000\000\000\243\000\206\003|\0070\003\186\000\213\000\000\000\213\000\000\000\000\000\207\000\207\003\200\003}\000\208\000\000\000\000\000\000\003\189\000\000\000\000\000_\000\000\000\198\000\000\003\153\000\192\000\000\000\202\000\000\000\200\000\000\000\000\000\198\003\200\000\000\000\000\000\000\000\202\002+\003\189\000\000\000\000\001\242\000\000\000\209\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\004\001\000\207\000\000\000\206\000\208\000\000\003\155\000\000\001.\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\003\156\000_\000\000\000\000\000\000\000\000\000\192\003\155\000\000\000\211\000\200\000_\000\000\000\242\000\209\000\000\000\192\000\243\000\000\000\000\000\200\000\000\003\156\004\022\000\213\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\206\004\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\206\000\000\000\241\000\000\000\207\000\000\000\215\000\208\000\000\000\000\003l\000\000\000\000\000\000\003m\000\000\000\000\000\248\000\000\000\000\000\000\000\211\000\206\003V\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\244\000\000\000\000\000\000\000\213\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003l\000\000\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\241\000\207\000\000\000\000\000\208\003\146\000\000\000\000\000\000\003n\000\000\000\207\000\000\003o\000\208\000\000\003l\000\189\004\"\000\211\003m\000\000\000\000\000\242\000\000\000\000\000\000\000\243\003\141\003\143\000\000\000\000\000\000\000\207\000\213\000\209\000\208\000\000\000\198\001%\003\188\000\000\000\000\000\202\003\146\000\209\000\000\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\143\000\241\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\198\000\000\000\241\003\148\000\000\000\202\003\146\000_\000\000\003\192\003n\000\211\000\192\000\000\003o\000\242\000\193\000\198\000\000\000\243\000\000\000\211\000\202\000\000\000\241\000\242\000\213\000\000\000_\000\243\000\000\003\150\000\000\000\192\000\000\000\000\000\213\000\200\000\000\000\000\000\000\003\195\003\148\000\211\000\000\000\000\003|\000\242\003\186\000\000\000\206\000\243\000\000\000\000\000\207\000\000\000\000\003}\000\213\000\000\000_\000\000\000\198\000\000\000\000\000\192\000\000\000\202\000\000\000\200\003\150\000\206\000\000\000\000\003\148\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\003\189\003|\000\200\003\186\000\000\000\000\000\000\003\153\000\000\000\207\000\000\000\000\003}\000\000\000\000\000\198\000\000\000\000\003\150\000\206\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\003|\000\000\003\186\000\206\000\000\000_\003\189\000\000\000\207\000\207\000\192\003}\000\208\003\153\000\200\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\003\220\000\000\000\000\000\202\000\000\000\207\003\156\000\000\000\208\000\000\000\198\000\000\000\000\003\189\000\000\000\202\000\000\000_\000\209\000\000\003\153\000\000\000\192\000\206\000\000\000\000\000\200\000\000\000\000\000_\003\155\000\000\003\232\003\143\000\192\000\000\000\000\000\207\000\200\000\209\000\208\000\000\000\000\000\000\000\000\003\156\000\000\000\198\000\000\003\240\000\000\004M\000\202\000\000\000\207\000\000\000\000\000\208\000_\000\000\000\206\000\000\003\155\000\192\000\000\003\143\000\241\000\200\000\000\000\000\000_\000\209\000\206\000\000\000\000\000\192\000\000\003\156\000\000\000\200\004\131\000\000\003\143\000\000\000\000\000\211\000\000\000\000\000\209\000\242\000\000\000\000\004\133\000\243\003\247\000\000\000\000\000\000\000\241\000\207\000\213\000\206\000\208\000\000\000\000\000\000\000\000\000_\000\000\000\198\000\000\000\000\000\192\000\206\000\202\000\241\000\200\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\003\143\000\000\004\135\000\198\004\217\000\213\000\209\000\211\000\202\000\207\000\000\000\242\000\208\000\000\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\207\000\213\000\206\000\208\000\000\000\189\004%\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\003\143\000\189\004(\000\000\000\000\000_\000\209\000\000\000\000\000\000\000\192\000\000\000\244\000\207\000\200\000\211\000\208\000\000\000\209\000\242\000\000\000\000\000\000\000\243\000\000\000\207\000_\000\000\000\208\000\000\000\213\000\192\000\000\000\241\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\241\000\000\000\209\000\206\000_\000\000\000\000\000\211\000\244\000\192\000\000\000\242\000\000\000\193\000\209\000\243\000_\000\207\000\000\000\211\000\208\000\192\000\213\000\242\000\206\000\193\000\000\000\243\000\000\000\241\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\000\000\000\000\241\000\000\000\000\000\000\000\244\000\000\000\206\000\211\000\198\000\198\000\209\000\242\000\000\000\202\000\202\000\243\000\000\000\000\000\206\000\211\000\000\000\198\000\213\000\242\000\000\000\000\000\202\000\243\000\000\000\000\000\000\000\000\000\000\004\226\000\213\000\000\000\000\000\241\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\000\000\000_\000\000\004\234\000\000\000\211\000\192\000\000\000\207\000\242\000\200\000\208\000\000\000\243\000\000\003\143\000\000\000_\000_\000\000\000\213\000\209\000\192\000\192\000\000\000\000\000\200\000\200\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\003\143\000\000\000\000\000\200\000\000\000\000\000\209\000\207\000\206\000\000\000\208\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\206\000\206\000\202\000\200\000\000\000\209\000\000\000\211\000\000\000\241\000\000\000\242\000\000\000\206\000\000\000\243\000\000\000\209\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\000\000\211\000\000\000\000\000\000\000\242\000\198\000\000\000\000\000\243\000\206\000\202\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005U\000\000\000_\000\000\000\000\000\207\000\000\000\192\000\208\000\000\000\198\000\200\000\000\000\000\000\000\000\202\005a\005f\000\000\000\000\000\000\000\207\000\207\000\000\000\208\000\208\000_\000\000\000\000\005m\000\000\000\192\000\000\003\143\000\207\000\200\000\000\000\208\000_\000\209\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\000\003\143\003\143\000\000\000\000\005v\000\000\000\209\000\209\000\000\000\207\000\000\000\000\000\208\003\143\000\000\000\000\000\000\000\241\000\000\000\209\000\206\000_\000\000\000\198\000\000\000\000\000\192\000\000\000\202\000\000\000\200\000\000\000\206\000\241\000\241\000\000\000\211\003\143\000\000\007\012\000\242\000\000\000\000\000\209\000\243\000\000\000\241\000\000\000\000\000\000\000\000\000\213\000\211\000\211\000\000\000\000\000\242\000\242\000\198\000\000\000\243\000\243\000\000\000\202\000\206\000\211\000\000\000\213\000\213\000\242\000\241\000\000\000\207\000\243\007q\000\208\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\211\000\000\005\140\000\200\000\242\000\000\000\000\000\207\000\243\000\000\000\208\001\026\000\000\000\000\005\145\000\213\000\000\000\209\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\003\143\000\000\000\206\000\200\000\000\000\198\000\209\000\000\000\000\000\241\000\202\005\152\003\143\000\000\000\000\000\000\000\207\000\000\000\209\000\208\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\211\000\000\000\202\000\000\000\242\000\241\000\000\000\000\000\243\000\206\000\000\000\000\000\000\000\000\000\000\000\213\003\143\000\241\000\000\000\000\000\000\000\198\000\209\000\000\000\211\000\000\000\202\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\000\000\211\000_\000\000\000\213\000\242\000\000\000\192\000\000\000\243\000\000\000\200\000\000\000\000\000\241\000\207\000\213\000\000\000\208\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\000\000\000\000\202\000\200\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\007\r\000\000\000\206\000_\000\000\000\213\000\209\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\007\r\000\000\000\000\000\000\000\198\000\000\000\209\000_\000\000\000\202\000\000\000\206\000\192\000\000\000\000\000\000\000\200\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\241\000\198\000\000\000\198\000\000\000\000\000\202\000\000\000\202\000\000\000\207\000\000\000\000\000\208\000\000\000\000\003l\000\206\000\000\000\211\003m\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\207\000_\000\000\000\208\000\213\000\000\000\192\000\000\000\240\000\000\000\200\000\000\000\198\000\198\000\209\000\000\000\000\000\202\000\202\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\001'\000\000\000\000\000_\000\000\000_\000\209\000\000\000\192\000\000\000\192\000\000\000\200\000\241\000\200\000\000\000\206\003l\003\146\000\000\000\000\003m\003n\000\000\001\244\000\000\003o\000\000\000\000\000\000\000\209\000\000\000\211\000\241\000\000\000\207\000\242\000\000\000\208\000\000\000\243\000\000\000\000\000\000\000_\000_\000\206\000\213\000\206\000\192\000\192\000\000\000\211\000\200\000\200\000\000\000\242\000\241\000\000\000\000\000\243\000\000\000\000\002\028\000\000\000\000\000\000\000\213\000\000\000\209\000\000\000\000\000\000\000\000\000\198\000\000\000\211\003\146\000\000\000\202\000\242\003n\000\000\000\000\000\243\003o\003\148\000\206\000\206\000\000\000\000\000\213\000\207\000\000\000\000\000\208\000\241\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\211\000\000\000\000\000\000\000\242\0025\000\000\000\207\000\243\000\207\000\208\000\209\000\208\000\000\003|\000\213\003\185\000\000\000\000\000_\000\000\000\000\000\207\000\000\000\192\003}\000\000\000\000\000\200\000\000\003\148\000\000\000\000\000\000\000\000\003=\000\000\003C\000\241\000\000\000\000\000\209\000\000\000\209\000\000\000_\000\000\000\000\000\207\000\207\000\192\000\208\000\208\000\000\000\200\000\198\000\000\000\211\003\150\003\153\000\202\000\242\000\206\000\000\000\000\000\243\000\000\000\000\000\241\000\000\000\241\000\000\000\213\003|\000\000\003\193\003v\003\129\000\000\000\000\000\000\000\207\000\209\000\209\003}\000\198\000\000\000\211\000\206\000\211\000\202\000\242\000\000\000\242\000\000\000\243\000\000\000\243\000\000\000\000\000\000\003\155\000\213\000\000\000\213\000\000\000\000\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\198\000_\003\156\000\000\003\153\000\202\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000\000\000\211\000\211\000\000\000\202\000\242\000\242\000\000\003\196\000\243\000\243\000\207\000\000\000\000\000\208\000\000\000\213\000\213\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\000\000\003\155\000\000\000\000\000\198\000\207\000\000\003\131\000\208\000\202\000\000\000\000\000\000\000\209\000\000\000_\003\156\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000_\000\000\000\206\000\000\000\202\000\192\004\006\000\000\000\000\000\200\000\000\000\000\000\209\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\211\000\000\000\000\000\000\000\242\000_\000\000\000\241\000\243\000\000\000\192\000\206\000\000\000\000\000\200\000\213\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000_\000\000\000\000\000\242\000\000\000\192\000\000\000\243\000\000\000\200\000\000\000\000\000\000\000\000\000\213\000\000\000\000\004\011\000\000\000\207\000\000\000\206\000\208\000\209\000\000\000\000\000\198\000\198\000\000\000\000\000\000\000\202\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\004\015\000\207\000\000\000\241\000\208\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\0043\000\243\000\000\000\000\000\241\000\000\000\209\000\000\000\213\000\000\000_\000_\004O\000\000\000\000\000\192\000\192\000\000\000\209\000\200\000\200\000\207\000\000\000\211\000\208\000\198\000\000\000\242\000\000\000\000\000\202\000\243\000\000\000\241\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\207\000\000\000\241\000\208\000\000\000\000\004{\000\000\000\000\000\211\000\206\000\206\000\209\000\242\000\198\000\000\000\000\000\243\000\000\000\202\000\000\000\211\000\000\000\000\000\213\000\242\000\000\000\000\004\166\000\243\000\000\000\000\000\000\000\000\000\209\000\000\000\213\000\000\000\000\000\241\000\000\000\000\000_\000\000\003l\000\000\000\000\000\192\003m\000\000\000\000\000\200\000\000\000\000\000_\000\000\000\000\000\000\000\211\000\192\000\000\000\241\000\242\000\200\000\000\000\198\000\243\000\000\000\000\000\000\000\202\000\000\000\000\000\213\000_\000\000\000\000\000\000\000\000\000\192\000\211\000\000\000\000\000\200\000\242\000\206\000\207\000\207\000\243\000\208\000\208\000\000\000\000\000\000\000\000\000\213\000\000\000\206\000\000\000\000\000\198\000\000\000\000\000\000\003\146\000\202\000\000\000\000\003n\000\000\000\000\000\000\003o\000\000\005H\005\175\000\000\000\206\000\000\000\000\000\209\000\209\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\198\000\000\000\198\000\000\000\000\000\202\000\000\000\204\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\000\211\000\211\000\206\000\200\000\242\000\242\003\148\000\207\000\243\000\243\000\208\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\198\000\000\000\000\005\195\000\000\000\204\000\000\000\207\000\000\000\209\000\208\000_\000\000\000_\003\150\005\197\000\192\000\206\000\192\000\000\000\200\000\209\000\200\000\000\000\000\000\198\000\000\000\000\000\000\003|\000\204\003\152\000\000\000\000\000\000\005\199\000\241\000\207\000\000\000\000\003}\000\209\000\000\000\000\000\198\000\000\000\000\000\000\000\241\000\199\000\000\000\000\000\000\000\000\000\206\000\211\000\206\000\198\000\207\000\242\000_\000\208\000\204\000\243\000\000\000\192\000\000\000\211\000\241\000\200\000\213\000\242\000\000\000\000\003\153\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000_\005\205\000\211\000\000\000\000\000\192\000\242\000\209\000\207\000\200\000\243\000\208\000\000\000\000\000\000\000\000\000\000\000\213\000\206\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\003\155\000_\000\000\000\241\000\000\005\219\000\192\000\000\000\000\000\000\000\200\000\209\000\206\000\198\000\207\003\156\000\207\000\208\000\199\000\208\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\206\000\000\000\000\000\000\000\198\000\000\000\213\000\241\000\000\000\199\000\000\005\233\000\000\000\206\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\207\000\000\000\243\000\208\000\000\000\000\000\000\000\000\000\198\000\213\000_\000\000\000\241\000\199\000\210\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\198\000\207\000\000\000\000\000\208\000\199\000\000\000\211\000_\000\211\000\209\000\242\000\000\000\192\001\226\000\243\000\000\000\200\000\000\000\000\000\207\000\000\000\213\000\208\000\213\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\207\000\000\000\209\000\208\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\000\000\206\000\199\000\200\000\209\000\000\000\211\000\000\000\000\000\000\000_\001\228\000\210\000\000\000\000\000\192\000\000\000\209\000\000\000\200\000\000\000\213\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\211\000\000\000\198\000\000\000\000\004>\000\206\000\199\000\000\000\000\000\000\000\000\000\000\000\210\000\000\000\213\000\000\000\000\000\198\000\215\000\000\000\000\000\206\000\199\000\207\000\000\000_\000\208\000\198\000\000\000\250\000\192\000\211\000\199\000\000\000\200\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\213\000\000\000\208\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\209\000\000\000\198\000\200\000_\000\000\000\000\000\199\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\209\000\000\000\207\000\192\000\198\000\208\000\000\000\200\000_\000\199\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\207\000\000\000\000\000\208\000\000\000\000\000\215\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000_\000\206\000\000\000\198\000\000\000\192\000\215\000\000\000\199\000\200\000\000\000\206\000\209\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\000\000\000\000\000\198\000\200\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\215\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\001\000\000\208\000\000\000\000\000\000\000\215\000\209\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\206\000\192\001\002\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\207\000\000\000\000\000\208\000\000\000_\000\000\000\000\000\209\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\198\000\215\000\206\000\000\000\000\000\199\000\198\000\209\000\000\000\000\000\000\000\199\001\004\000\000\000\000\000\207\000\000\000\209\000\208\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\215\000\198\000\000\000\000\000\206\000\000\000\199\000\000\000\000\000\198\000\215\001\006\000\207\000\000\000\199\000\208\000\000\000\000\000\000\000\000\000\000\001\b\000\209\000\000\000\000\000\000\000\215\000\000\000\000\000\198\000\000\000\000\000\000\000_\000\199\000\000\000\215\001\n\000\192\000_\000\000\000\000\000\200\000\000\000\192\000\000\000\209\001\012\000\200\000\000\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\000\000\192\000\000\000\000\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\215\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\001\014\000\207\000\000\000\206\000\208\000\000\000\209\000\000\000\000\000\000\000_\000\000\000\000\000\215\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\000\000\000\000\000\001\016\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\198\000\209\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\206\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\207\000\000\000\215\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\020\000\207\000_\000\000\000\208\000\000\000\000\000\192\000\000\000\207\000\000\000\200\000\208\000\000\000_\000\209\000\000\000\207\000\000\000\192\000\208\000\209\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\209\000\198\000\207\000\000\000\000\000\208\000\199\000\000\000\209\000\198\000\206\000\000\000\000\000\000\000\199\000\000\000\209\000\000\000\000\000\198\000\000\000\000\000\206\000\000\000\199\000\000\000\215\000\000\000\000\000\000\000\206\000\000\000\215\000\000\000\198\000\000\000\209\001\240\000\000\000\199\000\000\000\000\000\198\001\246\000\000\000\000\000\215\000\199\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\000\000\000\001\248\000\000\000\000\000\000\000_\000\215\000\000\000\000\001\250\000\192\000\000\000\000\000_\000\200\000\000\000\000\001\252\000\192\000\000\000\000\000\000\000\200\000_\000\000\000\000\000\215\000\000\000\192\000\000\000\207\000\198\000\200\000\208\000\000\000\000\000\199\001\254\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000_\000\200\000\206\000\000\000\207\000\192\000_\000\208\000\000\000\200\000\206\000\192\000\000\000\000\000\198\000\200\000\000\000\000\000\209\000\199\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\198\000\000\000\000\000\206\000\000\000\199\000\209\000\000\000\000\000\000\000\000\000\206\000\000\000_\000\000\000\000\000\000\000\206\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000_\002\000\000\215\000\199\000\207\000\192\000\000\000\208\000\000\000\200\000\215\000\000\000\207\002\002\000\206\000\208\000\000\000\000\000_\000\000\000\000\002\004\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\209\000\000\000\208\000\000\000\000\000\206\000_\000\207\000\209\000\198\000\208\000\192\000\000\000\207\000\199\000\200\000\208\000\000\000\209\000\000\000_\000\000\000\000\000\206\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000\198\000\209\000\000\000\000\000\199\000\199\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\198\000\215\000\209\000\000\000\206\000\199\000\000\000\207\000\198\000\215\000\208\000\000\002\006\000\199\000\000\000\000\000\198\000\000\000\206\000\215\002\b\000\199\000\000\000\000\000_\000\000\000\198\000\000\000\000\000\192\002\n\000\199\000\000\000\200\000\215\000\000\000\207\000\000\000\000\000\208\000\000\000\209\000\215\000\000\000\000\002\012\000_\000_\000\215\000\000\000\000\000\192\000\192\002\014\000\207\000\200\000\200\000\208\000\000\003\158\000_\000\198\000\000\000\000\000\000\000\192\000\199\000\206\000_\000\200\000\209\000\000\000\000\000\192\000\000\000\000\000_\000\200\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\000_\000\215\000\209\000\206\000\206\000\192\000\000\000\000\000\207\000\200\000\000\000\208\003\160\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\209\000\198\000\215\000\000\000\000\000\206\000\199\000_\000\000\000\000\000\000\000\000\000\192\003\162\000\209\000\206\000\200\000\000\000\198\000\000\000\215\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\207\000\000\003\164\000\208\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\215\000\000\000\199\000\000\000\206\000\207\000\207\000\000\000\208\000\208\000\000\003\166\000\000\000\198\000\215\000_\000\000\000\209\000\199\000\207\000\192\000\000\000\208\000\000\000\200\003\168\000\000\000\207\000\000\000\000\000\208\000\000\000_\000\000\000\000\000\207\000\000\000\192\000\208\000\209\000\209\000\200\000\000\000\000\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\000\000\192\000\209\000\000\000\000\000\200\000_\000\206\000\000\000\000\000\209\000\192\000\215\000\000\000\000\000\200\000\000\000\000\000\209\000\000\000\000\000\000\000_\003\170\000\206\000\000\000\000\000\192\000\209\000\207\000\000\000\200\000\208\000\198\000\215\000\215\000\000\000\000\000\199\000\206\000\000\000\000\000\000\000\000\000\000\003\172\003\174\000\198\000\215\000\206\000\000\000\000\000\199\000\000\000\000\000\000\000\215\000\000\000\000\003\176\000\000\000\198\000\000\000\209\000\215\000\206\000\199\003\178\000\000\000\000\000\000\000\000\000\000\000\198\000\215\003\180\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\207\000\000\003\182\000\208\000\198\000\000\000\000\000\000\000\000\000\199\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\207\000\198\000\200\000\208\000\000\000\000\000\199\000_\000\198\000\215\000\000\000\000\000\192\000\199\000\000\000\207\000\200\000\209\000\208\000\000\003\184\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000_\000\209\000\000\000\206\000\000\000\192\000\000\000\000\000\207\000\200\000\000\000\208\000\000\000\000\000_\000\198\000\209\000\206\000\000\000\192\000\199\000\000\000\000\000\200\000\000\000\000\000\209\000\000\000_\000\198\000\215\000\206\000\000\000\192\000\199\000_\000\000\000\200\000\000\000\000\000\192\004K\000\209\000\206\000\200\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\004Q\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\215\004S\000\000\000_\000\000\000\000\000\206\000\207\000\192\000\000\000\208\004U\000\200\000\000\000\000\000\000\000\215\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\004W\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\209\000\207\000\000\000\000\000\208\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\004Y\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\004[\000\000\000\000\000\215\000\209\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\004]\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\004_\000\208\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004a\000\000\000\000\000\215\000\209\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\004c\000\000\000\000\000\000\000\209\000\000\000\000\004e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004g\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004i")) let semantic_action = [| @@ -1562,13 +1717,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_eexpr = Obj.magic _1 in + let _1 : 'tv_dexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1952 "parser_cocci_menhir.mly" - ( Ast0.set_arg_exp _1 ) -# 1572 "parser_cocci_menhir.ml" +# 2162 "parser_cocci_menhir.mly" + ( Ast0.set_arg_exp _1 ) +# 1727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1587,22 +1742,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1593 "parser_cocci_menhir.ml" +# 1748 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1954 "parser_cocci_menhir.mly" +# 2164 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1606 "parser_cocci_menhir.ml" +# 1762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1624,9 +1780,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1962 "parser_cocci_menhir.mly" +# 2173 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1630 "parser_cocci_menhir.ml" +# 1786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1646,9 +1802,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2006 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1652 "parser_cocci_menhir.ml" +# 1808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1668,9 +1824,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2007 "parser_cocci_menhir.mly" +# 2210 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1674 "parser_cocci_menhir.ml" +# 1830 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1690,9 +1846,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2008 "parser_cocci_menhir.mly" +# 2211 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1696 "parser_cocci_menhir.ml" +# 1852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1712,9 +1868,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2009 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1718 "parser_cocci_menhir.ml" +# 1874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1736,9 +1892,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1426 "parser_cocci_menhir.mly" ( _1 ) -# 1742 "parser_cocci_menhir.ml" +# 1898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1766,19 +1922,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 1774 "parser_cocci_menhir.ml" +# 1930 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1315 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1782 "parser_cocci_menhir.ml" +# 1938 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1806,19 +1962,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1814 "parser_cocci_menhir.ml" +# 1970 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1317 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1822 "parser_cocci_menhir.ml" +# 1978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1846,19 +2002,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 1854 "parser_cocci_menhir.ml" +# 2010 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1319 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1862 "parser_cocci_menhir.ml" +# 2018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1886,19 +2042,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 1894 "parser_cocci_menhir.ml" +# 2050 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1321 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1902 "parser_cocci_menhir.ml" +# 2058 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1926,19 +2082,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 119 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1934 "parser_cocci_menhir.ml" +# 2090 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1323 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1942 "parser_cocci_menhir.ml" +# 2098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1966,19 +2122,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 118 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2130 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_eexpr_dot_expressions_ = +# 1438 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2138 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 162 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 1974 "parser_cocci_menhir.ml" +# 2170 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1325 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 1982 "parser_cocci_menhir.ml" +# 2178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2006,19 +2202,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2014 "parser_cocci_menhir.ml" +# 2210 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1327 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2022 "parser_cocci_menhir.ml" +# 2218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2046,19 +2242,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2054 "parser_cocci_menhir.ml" +# 2250 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1329 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2062 "parser_cocci_menhir.ml" +# 2258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2086,19 +2282,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 116 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 2094 "parser_cocci_menhir.ml" +# 2290 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1331 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2102 "parser_cocci_menhir.ml" +# 2298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2126,19 +2322,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 114 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 2134 "parser_cocci_menhir.ml" +# 2330 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1333 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2142 "parser_cocci_menhir.ml" +# 2338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2166,19 +2362,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 115 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 2174 "parser_cocci_menhir.ml" +# 2370 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1335 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2182 "parser_cocci_menhir.ml" +# 2378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2206,19 +2402,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 113 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 2214 "parser_cocci_menhir.ml" +# 2410 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1337 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2222 "parser_cocci_menhir.ml" +# 2418 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2246,19 +2442,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 156 "parser_cocci_menhir.mly" (Data.clt) -# 2254 "parser_cocci_menhir.ml" +# 2450 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1339 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2262 "parser_cocci_menhir.ml" +# 2458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2280,9 +2476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1426 "parser_cocci_menhir.mly" ( _1 ) -# 2286 "parser_cocci_menhir.ml" +# 2482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2310,19 +2506,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2318 "parser_cocci_menhir.ml" +# 2514 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1315 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2326 "parser_cocci_menhir.ml" +# 2522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2350,19 +2546,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2358 "parser_cocci_menhir.ml" +# 2554 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1317 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2366 "parser_cocci_menhir.ml" +# 2562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2390,19 +2586,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 2398 "parser_cocci_menhir.ml" +# 2594 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1319 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2406 "parser_cocci_menhir.ml" +# 2602 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2430,19 +2626,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 2438 "parser_cocci_menhir.ml" +# 2634 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1321 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2446 "parser_cocci_menhir.ml" +# 2642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2470,19 +2666,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 119 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2478 "parser_cocci_menhir.ml" +# 2674 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1323 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2486 "parser_cocci_menhir.ml" +# 2682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2510,19 +2706,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 118 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2714 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1438 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2722 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 162 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2518 "parser_cocci_menhir.ml" +# 2754 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1325 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2526 "parser_cocci_menhir.ml" +# 2762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2550,19 +2786,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2558 "parser_cocci_menhir.ml" +# 2794 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1327 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2566 "parser_cocci_menhir.ml" +# 2802 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2590,19 +2826,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2598 "parser_cocci_menhir.ml" +# 2834 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1329 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2606 "parser_cocci_menhir.ml" +# 2842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2630,19 +2866,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 116 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 2638 "parser_cocci_menhir.ml" +# 2874 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1331 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2646 "parser_cocci_menhir.ml" +# 2882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2670,19 +2906,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 114 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 2678 "parser_cocci_menhir.ml" +# 2914 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1333 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2686 "parser_cocci_menhir.ml" +# 2922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2710,19 +2946,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 115 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 2718 "parser_cocci_menhir.ml" +# 2954 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1335 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2726 "parser_cocci_menhir.ml" +# 2962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2750,19 +2986,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 113 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 2758 "parser_cocci_menhir.ml" +# 2994 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1337 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2766 "parser_cocci_menhir.ml" +# 3002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2790,19 +3026,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 156 "parser_cocci_menhir.mly" (Data.clt) -# 2798 "parser_cocci_menhir.ml" +# 3034 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1339 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2806 "parser_cocci_menhir.ml" +# 3042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2824,9 +3060,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1426 "parser_cocci_menhir.mly" ( _1 ) -# 2830 "parser_cocci_menhir.ml" +# 3066 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2854,19 +3090,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2862 "parser_cocci_menhir.ml" +# 3098 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1315 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2870 "parser_cocci_menhir.ml" +# 3106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2894,19 +3130,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2902 "parser_cocci_menhir.ml" +# 3138 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1317 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2910 "parser_cocci_menhir.ml" +# 3146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2934,19 +3170,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 2942 "parser_cocci_menhir.ml" +# 3178 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1319 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2950 "parser_cocci_menhir.ml" +# 3186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2974,19 +3210,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 2982 "parser_cocci_menhir.ml" +# 3218 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1321 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2990 "parser_cocci_menhir.ml" +# 3226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3014,19 +3250,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 119 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3022 "parser_cocci_menhir.ml" +# 3258 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1323 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3030 "parser_cocci_menhir.ml" +# 3266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3054,19 +3290,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 118 "parser_cocci_menhir.mly" - (Ast_cocci.logicalOp * Data.clt) -# 3062 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3298 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1325 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3070 "parser_cocci_menhir.ml" +# 1438 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3094,19 +3330,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" - (Data.clt) -# 3102 "parser_cocci_menhir.ml" +# 162 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 3338 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1327 "parser_cocci_menhir.mly" - ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3110 "parser_cocci_menhir.ml" +# 1440 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 3346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3134,19 +3370,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3142 "parser_cocci_menhir.ml" +# 3378 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1329 "parser_cocci_menhir.mly" - ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3150 "parser_cocci_menhir.ml" +# 1442 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 3386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3174,19 +3410,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 116 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3182 "parser_cocci_menhir.ml" +# 3418 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1331 "parser_cocci_menhir.mly" - ( P.arith_op Ast.And _1 _2 _3 ) -# 3190 "parser_cocci_menhir.ml" +# 1444 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 3426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3214,19 +3450,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 114 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 3222 "parser_cocci_menhir.ml" +# 3458 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1333 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Or _1 _2 _3 ) -# 3230 "parser_cocci_menhir.ml" +# 1446 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 3466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3254,19 +3490,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 115 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 3262 "parser_cocci_menhir.ml" +# 3498 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1335 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3270 "parser_cocci_menhir.ml" +# 1448 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 3506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3294,19 +3530,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 113 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 3302 "parser_cocci_menhir.ml" +# 3538 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1337 "parser_cocci_menhir.mly" - ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3310 "parser_cocci_menhir.ml" +# 1450 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 3546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3334,43 +3570,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 3342 "parser_cocci_menhir.ml" +# 3578 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1339 "parser_cocci_menhir.mly" - ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3350 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1313 "parser_cocci_menhir.mly" - ( _1 ) -# 3374 "parser_cocci_menhir.ml" +# 1452 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 3586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3398,19 +3610,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 122 "parser_cocci_menhir.mly" +# 156 "parser_cocci_menhir.mly" (Data.clt) -# 3406 "parser_cocci_menhir.ml" +# 3618 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1315 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3414 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1454 "parser_cocci_menhir.mly" + ( P.logic_op Ast.OrLog _1 _2 _3 ) +# 3626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3422,35 +3634,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 120 "parser_cocci_menhir.mly" - (Ast_cocci.arithOp * Data.clt) -# 3446 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in + let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1317 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3454 "parser_cocci_menhir.ml" +# 1426 "parser_cocci_menhir.mly" + ( _1 ) +# 3650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3478,19 +3674,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 3486 "parser_cocci_menhir.ml" +# 3682 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1319 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3494 "parser_cocci_menhir.ml" +# 1428 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 3690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3518,19 +3714,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 121 "parser_cocci_menhir.mly" - (Data.clt) -# 3526 "parser_cocci_menhir.ml" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3722 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1321 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3534 "parser_cocci_menhir.ml" +# 1430 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3558,19 +3754,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 119 "parser_cocci_menhir.mly" - (Ast_cocci.arithOp * Data.clt) -# 3566 "parser_cocci_menhir.ml" +# 165 "parser_cocci_menhir.mly" + (Data.clt) +# 3762 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1323 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3574 "parser_cocci_menhir.ml" +# 1432 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 3770 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3598,19 +3794,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 118 "parser_cocci_menhir.mly" - (Ast_cocci.logicalOp * Data.clt) -# 3606 "parser_cocci_menhir.ml" +# 165 "parser_cocci_menhir.mly" + (Data.clt) +# 3802 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1325 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3614 "parser_cocci_menhir.ml" +# 1434 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 3810 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3638,19 +3834,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" - (Data.clt) -# 3646 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3842 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1327 "parser_cocci_menhir.mly" - ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3654 "parser_cocci_menhir.ml" +# 1436 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3678,19 +3874,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 117 "parser_cocci_menhir.mly" - (Data.clt) -# 3686 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3882 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1329 "parser_cocci_menhir.mly" - ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3694 "parser_cocci_menhir.ml" +# 1438 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3718,19 +3914,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 116 "parser_cocci_menhir.mly" - (Data.clt) -# 3726 "parser_cocci_menhir.ml" +# 162 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 3922 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1331 "parser_cocci_menhir.mly" - ( P.arith_op Ast.And _1 _2 _3 ) -# 3734 "parser_cocci_menhir.ml" +# 1440 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 3930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3758,19 +3954,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 114 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3766 "parser_cocci_menhir.ml" +# 3962 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1333 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Or _1 _2 _3 ) -# 3774 "parser_cocci_menhir.ml" +# 1442 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 3970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3798,19 +3994,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 115 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3806 "parser_cocci_menhir.ml" +# 4002 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1335 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3814 "parser_cocci_menhir.ml" +# 1444 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 4010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3838,19 +4034,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 113 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 3846 "parser_cocci_menhir.ml" +# 4042 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1337 "parser_cocci_menhir.mly" - ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3854 "parser_cocci_menhir.ml" +# 1446 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 4050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3878,19 +4074,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 3886 "parser_cocci_menhir.ml" +# 4082 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1339 "parser_cocci_menhir.mly" - ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3894 "parser_cocci_menhir.ml" +# 1448 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 4090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3902,17 +4098,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 159 "parser_cocci_menhir.mly" + (Data.clt) +# 4122 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 519 "parser_cocci_menhir.mly" - ( Ast.UNIQUE ) -# 3916 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1450 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 4130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3924,17 +4138,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 157 "parser_cocci_menhir.mly" + (Data.clt) +# 4162 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 520 "parser_cocci_menhir.mly" - ( Ast.OPT ) -# 3938 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1452 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 4170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3946,17 +4178,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 156 "parser_cocci_menhir.mly" + (Data.clt) +# 4202 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 521 "parser_cocci_menhir.mly" - ( Ast.MULTI ) -# 3960 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1454 "parser_cocci_menhir.mly" + ( P.logic_op Ast.OrLog _1 _2 _3 ) +# 4210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3967,13 +4217,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_arity = -# 522 "parser_cocci_menhir.mly" - ( Ast.NONE ) -# 3977 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_arith_expr_bis = +# 1459 "parser_cocci_menhir.mly" + ( _1 ) +# 4234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3985,39 +4242,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : ( -# 125 "parser_cocci_menhir.mly" - (Data.clt) -# 4008 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let i : 'tv_option_eexpr_ = Obj.magic i in - let l : ( -# 125 "parser_cocci_menhir.mly" + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 4014 "parser_cocci_menhir.ml" - ) = Obj.magic l in - let _startpos = _startpos_l_ in - let _endpos = _endpos_r_ in - let _v : 'tv_array_dec = -# 1120 "parser_cocci_menhir.mly" - ( (l,i,r) ) -# 4021 "parser_cocci_menhir.ml" +# 4266 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1461 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 4274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4029,19 +4282,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4306 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1285 "parser_cocci_menhir.mly" - ( _1 ) -# 4045 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1463 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4314 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4069,21 +4338,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 131 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4077 "parser_cocci_menhir.ml" +# 165 "parser_cocci_menhir.mly" + (Data.clt) +# 4346 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1287 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4087 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1465 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 4354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4111,21 +4378,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 4119 "parser_cocci_menhir.ml" +# 4386 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1291 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4129 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1467 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 4394 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4137,19 +4402,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4426 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1285 "parser_cocci_menhir.mly" - ( _1 ) -# 4153 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1469 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4177,21 +4458,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 131 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4185 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4466 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1287 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4195 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1471 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4474 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4219,21 +4498,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 4227 "parser_cocci_menhir.ml" +# 162 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 4506 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1291 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4237 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1473 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 4514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4245,19 +4522,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 161 "parser_cocci_menhir.mly" + (Data.clt) +# 4546 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1285 "parser_cocci_menhir.mly" - ( _1 ) -# 4261 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1475 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 4554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4285,21 +4578,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 131 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4293 "parser_cocci_menhir.ml" +# 161 "parser_cocci_menhir.mly" + (Data.clt) +# 4586 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1287 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4303 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1477 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 4594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4327,21 +4618,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 4335 "parser_cocci_menhir.ml" +# 4626 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1291 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4345 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1479 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 4634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4353,19 +4642,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 158 "parser_cocci_menhir.mly" + (Data.clt) +# 4666 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_bis = -# 1296 "parser_cocci_menhir.mly" - ( _1 ) -# 4369 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1481 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 4674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4393,21 +4698,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 131 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4401 "parser_cocci_menhir.ml" +# 159 "parser_cocci_menhir.mly" + (Data.clt) +# 4706 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_bis = -# 1298 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4411 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1483 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 4714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4435,21 +4738,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 4443 "parser_cocci_menhir.ml" +# 4746 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_bis = -# 1302 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4453 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1485 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 4754 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4462,18 +4763,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1282 "parser_cocci_menhir.mly" - ( _1 ) -# 4477 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 593 "parser_cocci_menhir.mly" + ( Ast.UNIQUE ) +# 4776 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4486,18 +4785,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1282 "parser_cocci_menhir.mly" - ( _1 ) -# 4501 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 594 "parser_cocci_menhir.mly" + ( Ast.OPT ) +# 4798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4510,18 +4807,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_expr_invalid_ = -# 1282 "parser_cocci_menhir.mly" - ( _1 ) -# 4525 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 595 "parser_cocci_menhir.mly" + ( Ast.MULTI ) +# 4820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4532,41 +4827,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_fun_start = Obj.magic _3 in - let _2 : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 4557 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 79 "parser_cocci_menhir.mly" - (Data.clt) -# 4562 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_case_line = -# 984 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4570 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_arity = +# 596 "parser_cocci_menhir.mly" + ( Ast.NONE ) +# 4837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4578,45 +4845,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = l; + MenhirLib.EngineTypes.startp = _startpos_l_; + MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let _4 : 'tv_fun_start = Obj.magic _4 in - let _3 : ( -# 99 "parser_cocci_menhir.mly" + let r : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 4607 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_eexpr = Obj.magic _2 in - let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 4868 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let i : 'tv_option_eexpr_ = Obj.magic i in + let l : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 4613 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : 'tv_case_line = -# 987 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4620 "parser_cocci_menhir.ml" +# 4874 "parser_cocci_menhir.ml" + ) = Obj.magic l in + let _startpos = _startpos_l_ in + let _endpos = _endpos_r_ in + let _v : 'tv_array_dec = +# 1250 "parser_cocci_menhir.mly" + ( (l,i,r) ) +# 4881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4634,13 +4895,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1342 "parser_cocci_menhir.mly" - ( _1 ) -# 4644 "parser_cocci_menhir.ml" + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1398 "parser_cocci_menhir.mly" + ( _1 ) +# 4905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4652,70 +4913,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 4681 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 4687 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1344 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4695 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 4937 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1342 "parser_cocci_menhir.mly" - ( _1 ) -# 4719 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1400 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 4947 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4727,46 +4955,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 4756 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 99 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 4762 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1344 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4770 "parser_cocci_menhir.ml" +# 4979 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1404 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 4989 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4784,13 +5003,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1342 "parser_cocci_menhir.mly" - ( _1 ) -# 4794 "parser_cocci_menhir.ml" + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1398 "parser_cocci_menhir.mly" + ( _1 ) +# 5013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4802,70 +5021,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 4831 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 4837 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1344 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4845 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5045 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_expr_invalid_ = -# 1342 "parser_cocci_menhir.mly" - ( _1 ) -# 4869 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1400 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5055 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4877,114 +5063,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 4906 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 4912 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_expr_invalid_ = -# 1344 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4920 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_choose_iso = -# 260 "parser_cocci_menhir.mly" - ( List.map P.id2name _2 ) -# 4948 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 4974 "parser_cocci_menhir.ml" +# 5087 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 4979 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1747 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); - dot_builder _2] ) -# 4988 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1404 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4996,30 +5105,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in - let _1 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 5015 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1751 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5023 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1398 "parser_cocci_menhir.mly" + ( _1 ) +# 5121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5031,35 +5129,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 5049 "parser_cocci_menhir.ml" +# 175 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5153 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 5054 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1747 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); - dot_builder _2] ) -# 5063 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1400 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5071,30 +5171,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in - let _1 : ( -# 130 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 5090 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in +# 5195 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1751 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5098 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1404 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5105,43 +5212,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1173 "parser_cocci_menhir.mly" - ( [] ) -# 5115 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { + let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; } = _menhir_stack in - let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1175 "parser_cocci_menhir.mly" - ( (function dot_builder -> [dot_builder d])::r ) -# 5145 "parser_cocci_menhir.ml" + let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_assign_expr_bis = +# 1409 "parser_cocci_menhir.mly" + ( _1 ) +# 5229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5153,53 +5237,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let c : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 5177 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let i : 'tv_initialize2 = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1177 "parser_cocci_menhir.mly" - ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: - r ) -# 5186 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1181 "parser_cocci_menhir.mly" - ( [] ) -# 5203 "parser_cocci_menhir.ml" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5261 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_bis = +# 1411 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5211,60 +5279,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let c : ( -# 130 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 5235 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let i : 'tv_initialize2 = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1183 "parser_cocci_menhir.mly" - ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: - r ) -# 5244 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in +# 5303 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_any_strict_ = -# 1984 "parser_cocci_menhir.mly" - ( _1 ) -# 5268 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_bis = +# 1415 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5282,13 +5327,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_ctype_ = -# 1984 "parser_cocci_menhir.mly" - ( _1 ) -# 5292 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_eexpr_dot_expressions_ = +# 1395 "parser_cocci_menhir.mly" + ( _1 ) +# 5337 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5306,13 +5351,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_d_ident_ = -# 1984 "parser_cocci_menhir.mly" - ( _1 ) -# 5316 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_eexpr_nest_expressions_ = +# 1395 "parser_cocci_menhir.mly" + ( _1 ) +# 5361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5330,13 +5375,532 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_ident_or_const_ = -# 1984 "parser_cocci_menhir.mly" - ( _1 ) -# 5340 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_expr_invalid_ = +# 1395 "parser_cocci_menhir.mly" + ( _1 ) +# 5385 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_fun_start = Obj.magic _3 in + let _2 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5417 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : ( +# 123 "parser_cocci_menhir.mly" + (Data.clt) +# 5422 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_case_line = +# 1112 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) +# 5430 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let _4 : 'tv_fun_start = Obj.magic _4 in + let _3 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5467 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_eexpr = Obj.magic _2 in + let _1 : ( +# 123 "parser_cocci_menhir.mly" + (Data.clt) +# 5473 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_case_line = +# 1115 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) +# 5480 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_dot_expressions_ = +# 1490 "parser_cocci_menhir.mly" + ( _1 ) +# 5504 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5541 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5547 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_dot_expressions_ = +# 1492 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5555 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_invalid_ = +# 1490 "parser_cocci_menhir.mly" + ( _1 ) +# 5579 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5616 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5622 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_invalid_ = +# 1492 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5630 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_nest_expressions_ = +# 1490 "parser_cocci_menhir.mly" + ( _1 ) +# 5654 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5691 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5697 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_nest_expressions_ = +# 1492 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5705 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_expr_invalid_ = +# 1490 "parser_cocci_menhir.mly" + ( _1 ) +# 5729 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5766 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 5772 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_expr_invalid_ = +# 1492 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5780 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_choose_iso = +# 306 "parser_cocci_menhir.mly" + ( List.map P.id2name _2 ) +# 5808 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_any_strict_ = +# 2187 "parser_cocci_menhir.mly" + ( _1 ) +# 5832 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_ctype_ = +# 2187 "parser_cocci_menhir.mly" + ( _1 ) +# 5856 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_d_ident_ = +# 2187 "parser_cocci_menhir.mly" + ( _1 ) +# 5880 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_ident_or_const_ = +# 2187 "parser_cocci_menhir.mly" + ( _1 ) +# 5904 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5358,9 +5922,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5364 "parser_cocci_menhir.ml" +# 5928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5382,9 +5946,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5388 "parser_cocci_menhir.ml" +# 5952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5406,9 +5970,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5412 "parser_cocci_menhir.ml" +# 5976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5430,9 +5994,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5436 "parser_cocci_menhir.ml" +# 6000 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5454,9 +6018,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5460 "parser_cocci_menhir.ml" +# 6024 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5478,9 +6042,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5484 "parser_cocci_menhir.ml" +# 6048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5502,9 +6066,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5508 "parser_cocci_menhir.ml" +# 6072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5526,9 +6090,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5532 "parser_cocci_menhir.ml" +# 6096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5550,9 +6114,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5556 "parser_cocci_menhir.ml" +# 6120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5574,9 +6138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 1984 "parser_cocci_menhir.mly" +# 2187 "parser_cocci_menhir.mly" ( _1 ) -# 5580 "parser_cocci_menhir.ml" +# 6144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5598,9 +6162,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1307 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( _1 ) -# 5604 "parser_cocci_menhir.ml" +# 6168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5638,26 +6202,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5646 "parser_cocci_menhir.ml" +# 6210 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5652 "parser_cocci_menhir.ml" +# 6216 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1309 "parser_cocci_menhir.mly" +# 1422 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5661 "parser_cocci_menhir.ml" +# 6225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5679,9 +6243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1307 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( _1 ) -# 5685 "parser_cocci_menhir.ml" +# 6249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5719,26 +6283,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5727 "parser_cocci_menhir.ml" +# 6291 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5733 "parser_cocci_menhir.ml" +# 6297 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1309 "parser_cocci_menhir.mly" +# 1422 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5742 "parser_cocci_menhir.ml" +# 6306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5760,9 +6324,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1307 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( _1 ) -# 5766 "parser_cocci_menhir.ml" +# 6330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5800,26 +6364,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5808 "parser_cocci_menhir.ml" +# 6372 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 5814 "parser_cocci_menhir.ml" +# 6378 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1309 "parser_cocci_menhir.mly" +# 1422 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5823 "parser_cocci_menhir.ml" +# 6387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5838,16 +6402,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 5844 "parser_cocci_menhir.ml" +# 6408 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 893 "parser_cocci_menhir.mly" +# 1020 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5851 "parser_cocci_menhir.ml" +# 6415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5866,16 +6430,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 5872 "parser_cocci_menhir.ml" +# 6436 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 894 "parser_cocci_menhir.mly" +# 1021 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5879 "parser_cocci_menhir.ml" +# 6443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5886,13 +6450,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_continue_struct_decl_list = -# 643 "parser_cocci_menhir.mly" - ( [] ) -# 5896 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5915,14 +6486,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in - let _1 : 'tv_struct_decl = Obj.magic _1 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6493 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_continue_struct_decl_list = -# 644 "parser_cocci_menhir.mly" - ( _1@_2 ) -# 5926 "parser_cocci_menhir.ml" + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5934,19 +6510,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_struct_decl = Obj.magic _1 in + let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6534 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_continue_struct_decl_list = -# 645 "parser_cocci_menhir.mly" - ( _1 ) -# 5950 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6544 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5958,63 +6552,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 5982 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 5987 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 5999 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6005 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6012 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6018 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 6572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6026,63 +6580,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6050 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6055 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6067 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6073 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6080 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6086 "parser_cocci_menhir.ml" + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6094,63 +6604,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6118 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6123 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 533 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6135 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6141 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6148 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6154 "parser_cocci_menhir.ml" + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6622 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6631 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6162,64 +6639,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 6186 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6191 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r = r0 in - let ty = - let p = p0 in - -# 535 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6204 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6210 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6217 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6223 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6663 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6231,84 +6681,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 6264 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r00 : ( -# 69 "parser_cocci_menhir.mly" - (string) -# 6269 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let r1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6274 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in - let _startpos = _startpos_r1_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r0 = r00 in - let r = r1 in - let ty = - let p = p0 in - let r = r0 in - -# 538 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 6293 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6299 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6306 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6312 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 6701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6320,63 +6709,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6344 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6349 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 545 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6361 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6367 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6374 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6380 "parser_cocci_menhir.ml" + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6388,78 +6733,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6417 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6422 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6427 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let r = r0 in - let ty = - let ty2 = ty20 in - let ty1 = ty10 in - -# 547 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6444 "parser_cocci_menhir.ml" - - in - -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6450 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6457 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6463 "parser_cocci_menhir.ml" + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6751 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6471,63 +6768,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 6495 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 6500 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6512 "parser_cocci_menhir.ml" - - in - -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6518 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6525 "parser_cocci_menhir.ml" - - in - -# 589 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6531 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6792 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6802 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6539,14 +6810,568 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 6830 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6854 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6880 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6889 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 6921 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6931 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 6959 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6983 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 7009 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 7018 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 7050 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 7060 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 7088 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 1963 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 7112 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 7138 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 1965 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 7147 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 7179 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 1968 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 7189 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 1971 "parser_cocci_menhir.mly" + ( _2 ) +# 7217 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_continue_struct_decl_list = +# 738 "parser_cocci_menhir.mly" + ( [] ) +# 7234 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_struct_decl_list = +# 739 "parser_cocci_menhir.mly" + ( _1@_2 ) +# 7264 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_struct_decl_list = +# 740 "parser_cocci_menhir.mly" + ( _1 ) +# 7288 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 7320 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7325 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 7337 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7343 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 7350 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 7356 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = r0; MenhirLib.EngineTypes.startp = _startpos_r0_; @@ -6557,14 +7382,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6563 "parser_cocci_menhir.ml" +# 7388 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6568 "parser_cocci_menhir.ml" +# 7393 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6574,28 +7399,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6580 "parser_cocci_menhir.ml" +# 7405 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6586 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7411 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6593 "parser_cocci_menhir.ml" +# 7418 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6599 "parser_cocci_menhir.ml" +# 7424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6625,14 +7450,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6631 "parser_cocci_menhir.ml" +# 7456 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6636 "parser_cocci_menhir.ml" +# 7461 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6642,28 +7467,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6648 "parser_cocci_menhir.ml" +# 7473 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6654 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7479 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6661 "parser_cocci_menhir.ml" +# 7486 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6667 "parser_cocci_menhir.ml" +# 7492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6693,14 +7518,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6699 "parser_cocci_menhir.ml" +# 7524 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6704 "parser_cocci_menhir.ml" +# 7529 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6710,29 +7535,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6717 "parser_cocci_menhir.ml" +# 7542 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6723 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7548 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6730 "parser_cocci_menhir.ml" +# 7555 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6736 "parser_cocci_menhir.ml" +# 7561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6771,19 +7596,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 6777 "parser_cocci_menhir.ml" +# 7602 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 6782 "parser_cocci_menhir.ml" +# 7607 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6787 "parser_cocci_menhir.ml" +# 7612 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6795,33 +7620,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 6806 "parser_cocci_menhir.ml" +# 7631 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6812 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7637 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6819 "parser_cocci_menhir.ml" +# 7644 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6825 "parser_cocci_menhir.ml" +# 7650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6851,14 +7676,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6857 "parser_cocci_menhir.ml" +# 7682 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6862 "parser_cocci_menhir.ml" +# 7687 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6868,28 +7693,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6874 "parser_cocci_menhir.ml" +# 7699 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6880 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7705 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6887 "parser_cocci_menhir.ml" +# 7712 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6893 "parser_cocci_menhir.ml" +# 7718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6924,19 +7749,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6930 "parser_cocci_menhir.ml" +# 7755 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6935 "parser_cocci_menhir.ml" +# 7760 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6940 "parser_cocci_menhir.ml" +# 7765 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6948,31 +7773,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6957 "parser_cocci_menhir.ml" +# 7782 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6963 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7788 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6970 "parser_cocci_menhir.ml" +# 7795 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6976 "parser_cocci_menhir.ml" +# 7801 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6988,48 +7813,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7003 "parser_cocci_menhir.ml" +# 7833 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7838 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7014 "parser_cocci_menhir.ml" +# 7850 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7020 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 7856 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7027 "parser_cocci_menhir.ml" +# 7863 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7033 "parser_cocci_menhir.ml" +# 7869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7045,48 +7881,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7060 "parser_cocci_menhir.ml" +# 7901 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7906 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7071 "parser_cocci_menhir.ml" +# 7918 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7077 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 7924 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7084 "parser_cocci_menhir.ml" +# 7931 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7090 "parser_cocci_menhir.ml" +# 7937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7102,48 +7949,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7117 "parser_cocci_menhir.ml" +# 7969 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7974 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7128 "parser_cocci_menhir.ml" +# 7986 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7134 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 7992 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7141 "parser_cocci_menhir.ml" +# 7999 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7147 "parser_cocci_menhir.ml" +# 8005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7159,49 +8017,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = p00; MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7174 "parser_cocci_menhir.ml" +# 8037 "parser_cocci_menhir.ml" ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8042 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in + let r = r0 in let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7186 "parser_cocci_menhir.ml" +# 8055 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7192 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8061 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7199 "parser_cocci_menhir.ml" +# 8068 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7205 "parser_cocci_menhir.ml" +# 8074 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7221,65 +8090,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 7241 "parser_cocci_menhir.ml" +# 8115 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 7246 "parser_cocci_menhir.ml" +# 8120 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let _startpos = _startpos_r00_ in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8125 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in + let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in let r0 = r00 in + let r = r1 in let ty = let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 7264 "parser_cocci_menhir.ml" +# 8144 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7270 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8150 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7277 "parser_cocci_menhir.ml" +# 8157 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7283 "parser_cocci_menhir.ml" +# 8163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7295,48 +8175,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7310 "parser_cocci_menhir.ml" +# 8195 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8200 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7321 "parser_cocci_menhir.ml" +# 8212 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7327 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8218 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7334 "parser_cocci_menhir.ml" +# 8225 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7340 "parser_cocci_menhir.ml" +# 8231 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7356,59 +8247,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty200_; MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty100; MenhirLib.EngineTypes.startp = _startpos_ty100_; MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7372 "parser_cocci_menhir.ml" +# 8268 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7377 "parser_cocci_menhir.ml" +# 8273 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in - let _startpos = _startpos_ty100_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8278 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty20 = ty200 in let ty10 = ty100 in + let r = r0 in let ty = let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7393 "parser_cocci_menhir.ml" +# 8295 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 7399 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8301 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7406 "parser_cocci_menhir.ml" +# 8308 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7412 "parser_cocci_menhir.ml" +# 8314 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7433,9 +8335,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 72 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7439 "parser_cocci_menhir.ml" +# 8341 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7444,28 +8346,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 555 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 7450 "parser_cocci_menhir.ml" +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 8352 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7456 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8358 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7463 "parser_cocci_menhir.ml" +# 8365 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7469 "parser_cocci_menhir.ml" +# 8371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7490,9 +8392,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7496 "parser_cocci_menhir.ml" +# 8398 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7501,28 +8403,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 7507 "parser_cocci_menhir.ml" +# 605 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 8409 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7513 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8415 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7520 "parser_cocci_menhir.ml" +# 8422 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7526 "parser_cocci_menhir.ml" +# 8428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7547,9 +8449,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7553 "parser_cocci_menhir.ml" +# 8455 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7558,28 +8460,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 7564 "parser_cocci_menhir.ml" +# 607 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 8466 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7570 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8472 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7577 "parser_cocci_menhir.ml" +# 8479 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7583 "parser_cocci_menhir.ml" +# 8485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7595,56 +8497,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : ( -# 72 "parser_cocci_menhir.mly" - (Data.clt) -# 7616 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 8512 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in -# 561 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 7629 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 8524 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7635 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8530 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7642 "parser_cocci_menhir.ml" +# 8537 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7648 "parser_cocci_menhir.ml" +# 8543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7660,52 +8555,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 8579 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r00 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 8584 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in + let r0 = r00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in + let r = r0 in -# 563 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 7690 "parser_cocci_menhir.ml" +# 612 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 8602 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7696 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8608 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7703 "parser_cocci_menhir.ml" +# 8615 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7709 "parser_cocci_menhir.ml" +# 8621 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7721,87 +8633,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7751 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7757 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8648 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in - let i = - -# 39 "standard.mly" - ( None ) -# 7776 "parser_cocci_menhir.ml" - - in + let ty = ty0 in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 7786 "parser_cocci_menhir.ml" +# 619 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 8659 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7792 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8665 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7799 "parser_cocci_menhir.ml" +# 8672 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7805 "parser_cocci_menhir.ml" +# 8678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7817,96 +8690,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x000; - MenhirLib.EngineTypes.startp = _startpos_x000_; - MenhirLib.EngineTypes.endp = _endpos_x000_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7852 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7858 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8710 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8715 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let x00 = x000 in - let s0 = s00 in + let ty20 = ty200 in + let ty10 = ty100 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let x0 = x00 in - let s = s0 in - let i = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 7881 "parser_cocci_menhir.ml" - - in + let ty2 = ty20 in + let ty1 = ty10 in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 7891 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 8731 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 7897 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 8737 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7904 "parser_cocci_menhir.ml" +# 8744 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7910 "parser_cocci_menhir.ml" +# 8750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7922,82 +8762,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7952 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 7958 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 7963 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 8777 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in + let ty = ty0 in -# 572 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = s in - let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in - Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 7982 "parser_cocci_menhir.ml" +# 629 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 8788 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 7988 "parser_cocci_menhir.ml" +# 8794 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7995 "parser_cocci_menhir.ml" +# 8801 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8001 "parser_cocci_menhir.ml" +# 8807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8014,47 +8820,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 8028 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8834 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 576 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 8039 "parser_cocci_menhir.ml" +# 631 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 8845 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 8045 "parser_cocci_menhir.ml" +# 8851 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8052 "parser_cocci_menhir.ml" +# 8858 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8058 "parser_cocci_menhir.ml" +# 8864 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8070,66 +8876,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8095 "parser_cocci_menhir.ml" +# 8891 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 8100 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8113 "parser_cocci_menhir.ml" +# 633 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 8902 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8119 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 8908 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8127 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 8915 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8133 "parser_cocci_menhir.ml" +# 8921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8145,66 +8933,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8170 "parser_cocci_menhir.ml" +# 8948 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 8175 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8188 "parser_cocci_menhir.ml" +# 635 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 8959 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8194 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 8965 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8202 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 8972 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8208 "parser_cocci_menhir.ml" +# 8978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8220,66 +8990,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8245 "parser_cocci_menhir.ml" +# 9005 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 8250 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8263 "parser_cocci_menhir.ml" +# 637 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 9016 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8269 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9022 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8277 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9029 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8283 "parser_cocci_menhir.ml" +# 9035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8295,67 +9047,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 8320 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8325 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9062 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r = r0 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 535 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8339 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 9073 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8345 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9079 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8353 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9086 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8359 "parser_cocci_menhir.ml" +# 9092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8371,87 +9104,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 8405 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r00 : ( -# 69 "parser_cocci_menhir.mly" - (string) -# 8410 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let r1 : ( -# 73 "parser_cocci_menhir.mly" + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8415 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9125 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r0 = r00 in - let r = r1 in + let i0 = i00 in + let s0 = s00 in let ty = - let p = p0 in - let r = r0 in + let i = i0 in + let s = s0 in -# 538 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 8435 "parser_cocci_menhir.ml" +# 641 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 9138 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8441 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9144 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8449 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9151 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8455 "parser_cocci_menhir.ml" +# 9157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8467,66 +9169,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 8492 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9199 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9205 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8497 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9210 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in let ty = - let ty = ty0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 9228 "parser_cocci_menhir.ml" + + in -# 545 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8510 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 9237 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8516 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9243 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8524 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9250 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8530 "parser_cocci_menhir.ml" +# 9256 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8542,81 +9268,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 8572 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 8577 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9303 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9309 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8582 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9315 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let r = r0 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in let ty = - let ty2 = ty20 in - let ty1 = ty10 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9336 "parser_cocci_menhir.ml" + + in -# 547 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8600 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 9345 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8606 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9351 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8614 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9358 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8620 "parser_cocci_menhir.ml" +# 9364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8632,66 +9376,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 8657 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 8662 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let i00 : 'tv_type_ident = Obj.magic i00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in + let i0 = i00 in + let s0 = s00 in let ty = - let ty = ty0 in + let i = i0 in + let s = s0 in -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8675 "parser_cocci_menhir.ml" +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) +# 9406 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8681 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9412 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8689 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9419 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8695 "parser_cocci_menhir.ml" +# 9425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8707,66 +9437,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 8732 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 8737 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9467 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9473 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in let ty = - let ty = ty0 in + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 9492 "parser_cocci_menhir.ml" + + in -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8750 "parser_cocci_menhir.ml" +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 9502 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8756 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9508 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8764 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9515 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8770 "parser_cocci_menhir.ml" +# 9521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8782,33 +9533,436 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9568 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9574 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_type_ident = Obj.magic x000 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9597 "parser_cocci_menhir.ml" + + in + +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 9607 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9613 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9620 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9626 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9668 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 9674 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 9679 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + +# 657 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = s in + let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in + Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) +# 9698 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9704 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9711 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9717 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 9744 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let _startpos = _startpos_p00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let p0 = p00 in + let ty = + let p = p0 in + +# 661 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) +# 9755 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 9761 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9768 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9774 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8807 "parser_cocci_menhir.ml" +# 9811 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 9816 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 9829 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 9835 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9843 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9849 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 9886 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 9891 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 605 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 9904 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 9910 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9918 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9924 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 9961 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8812 "parser_cocci_menhir.ml" +# 9966 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8819,15 +9973,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8825 "parser_cocci_menhir.ml" +# 9979 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8831 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 9985 "parser_cocci_menhir.ml" in let cv = @@ -8835,13 +9989,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8839 "parser_cocci_menhir.ml" +# 9993 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8845 "parser_cocci_menhir.ml" +# 9999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8876,14 +10030,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8882 "parser_cocci_menhir.ml" +# 10036 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8887 "parser_cocci_menhir.ml" +# 10041 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8894,16 +10048,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8901 "parser_cocci_menhir.ml" +# 10055 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8907 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10061 "parser_cocci_menhir.ml" in let cv = @@ -8911,13 +10065,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8915 "parser_cocci_menhir.ml" +# 10069 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8921 "parser_cocci_menhir.ml" +# 10075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8961,19 +10115,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 8967 "parser_cocci_menhir.ml" +# 10121 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 8972 "parser_cocci_menhir.ml" +# 10126 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8977 "parser_cocci_menhir.ml" +# 10131 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8986,20 +10140,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 8997 "parser_cocci_menhir.ml" +# 10151 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9003 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10157 "parser_cocci_menhir.ml" in let cv = @@ -9007,13 +10161,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9011 "parser_cocci_menhir.ml" +# 10165 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9017 "parser_cocci_menhir.ml" +# 10171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9048,14 +10202,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9054 "parser_cocci_menhir.ml" +# 10208 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 9059 "parser_cocci_menhir.ml" +# 10213 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9066,15 +10220,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9072 "parser_cocci_menhir.ml" +# 10226 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9078 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10232 "parser_cocci_menhir.ml" in let cv = @@ -9082,13 +10236,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9086 "parser_cocci_menhir.ml" +# 10240 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9092 "parser_cocci_menhir.ml" +# 10246 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9128,19 +10282,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9134 "parser_cocci_menhir.ml" +# 10288 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9139 "parser_cocci_menhir.ml" +# 10293 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 9144 "parser_cocci_menhir.ml" +# 10298 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9153,18 +10307,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9162 "parser_cocci_menhir.ml" +# 10316 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9168 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10322 "parser_cocci_menhir.ml" in let cv = @@ -9172,13 +10326,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9176 "parser_cocci_menhir.ml" +# 10330 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9182 "parser_cocci_menhir.ml" +# 10336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9198,37 +10352,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9214 "parser_cocci_menhir.ml" +# 10373 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10378 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9226 "parser_cocci_menhir.ml" +# 10391 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9232 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10397 "parser_cocci_menhir.ml" in let cv = @@ -9236,13 +10401,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9240 "parser_cocci_menhir.ml" +# 10405 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9246 "parser_cocci_menhir.ml" +# 10411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9262,37 +10427,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9278 "parser_cocci_menhir.ml" +# 10448 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10453 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9290 "parser_cocci_menhir.ml" +# 10466 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9296 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10472 "parser_cocci_menhir.ml" in let cv = @@ -9300,13 +10476,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9304 "parser_cocci_menhir.ml" +# 10480 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9310 "parser_cocci_menhir.ml" +# 10486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9326,37 +10502,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9342 "parser_cocci_menhir.ml" +# 10523 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10528 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9354 "parser_cocci_menhir.ml" +# 10541 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9360 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10547 "parser_cocci_menhir.ml" in let cv = @@ -9364,13 +10551,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9368 "parser_cocci_menhir.ml" +# 10555 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9374 "parser_cocci_menhir.ml" +# 10561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9390,38 +10577,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9406 "parser_cocci_menhir.ml" +# 10598 "parser_cocci_menhir.ml" ) = Obj.magic p00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10603 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in + let r = r0 in let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9419 "parser_cocci_menhir.ml" +# 10617 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9425 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10623 "parser_cocci_menhir.ml" in let cv = @@ -9429,13 +10627,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9433 "parser_cocci_menhir.ml" +# 10631 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9439 "parser_cocci_menhir.ml" +# 10637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9455,18 +10653,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -9474,39 +10677,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 9480 "parser_cocci_menhir.ml" +# 10683 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 9485 "parser_cocci_menhir.ml" +# 10688 "parser_cocci_menhir.ml" ) = Obj.magic r00 in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10693 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in let r0 = r00 in + let r = r1 in let ty = let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 9504 "parser_cocci_menhir.ml" +# 10713 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9510 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10719 "parser_cocci_menhir.ml" in let cv = @@ -9514,13 +10723,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9518 "parser_cocci_menhir.ml" +# 10727 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9524 "parser_cocci_menhir.ml" +# 10733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9540,37 +10749,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9556 "parser_cocci_menhir.ml" +# 10770 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10775 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9568 "parser_cocci_menhir.ml" +# 10788 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9574 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10794 "parser_cocci_menhir.ml" in let cv = @@ -9578,13 +10798,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9582 "parser_cocci_menhir.ml" +# 10802 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9588 "parser_cocci_menhir.ml" +# 10808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9608,48 +10828,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty100_; MenhirLib.EngineTypes.endp = _endpos_ty100_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9625 "parser_cocci_menhir.ml" +# 10850 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9630 "parser_cocci_menhir.ml" +# 10855 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10860 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty20 = ty200 in let ty10 = ty100 in + let r = r0 in let ty = let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9647 "parser_cocci_menhir.ml" +# 10878 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 9653 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10884 "parser_cocci_menhir.ml" in let cv = @@ -9657,13 +10888,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9661 "parser_cocci_menhir.ml" +# 10892 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9667 "parser_cocci_menhir.ml" +# 10898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9693,9 +10924,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 72 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9699 "parser_cocci_menhir.ml" +# 10930 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9705,15 +10936,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 555 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9711 "parser_cocci_menhir.ml" +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 10942 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 9717 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 10948 "parser_cocci_menhir.ml" in let cv = @@ -9721,13 +10952,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9725 "parser_cocci_menhir.ml" +# 10956 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9731 "parser_cocci_menhir.ml" +# 10962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9757,9 +10988,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9763 "parser_cocci_menhir.ml" +# 10994 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9769,15 +11000,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9775 "parser_cocci_menhir.ml" +# 605 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 11006 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 9781 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11012 "parser_cocci_menhir.ml" in let cv = @@ -9785,13 +11016,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9789 "parser_cocci_menhir.ml" +# 11020 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9795 "parser_cocci_menhir.ml" +# 11026 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9821,9 +11052,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9827 "parser_cocci_menhir.ml" +# 11058 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9833,15 +11064,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9839 "parser_cocci_menhir.ml" +# 607 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 11070 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 9845 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11076 "parser_cocci_menhir.ml" in let cv = @@ -9849,13 +11080,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9853 "parser_cocci_menhir.ml" +# 11084 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9859 "parser_cocci_menhir.ml" +# 11090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9871,49 +11102,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : ( -# 72 "parser_cocci_menhir.mly" - (Data.clt) -# 9897 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 11122 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in -# 561 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 9911 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 11135 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 9917 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11141 "parser_cocci_menhir.ml" in let cv = @@ -9921,13 +11145,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9925 "parser_cocci_menhir.ml" +# 11149 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9931 "parser_cocci_menhir.ml" +# 11155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9943,45 +11167,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 11196 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r00 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 11201 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in + let r0 = r00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in + let r = r0 in -# 563 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 9979 "parser_cocci_menhir.ml" +# 612 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 11220 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 9985 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11226 "parser_cocci_menhir.ml" in let cv = @@ -9989,13 +11230,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9993 "parser_cocci_menhir.ml" +# 11234 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9999 "parser_cocci_menhir.ml" +# 11240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10011,80 +11252,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10046 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10052 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11272 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in - let i = - -# 39 "standard.mly" - ( None ) -# 10072 "parser_cocci_menhir.ml" - - in + let ty = ty0 in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 10082 "parser_cocci_menhir.ml" +# 619 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 11284 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 10088 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11290 "parser_cocci_menhir.ml" in let cv = @@ -10092,13 +11294,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10096 "parser_cocci_menhir.ml" +# 11298 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10102 "parser_cocci_menhir.ml" +# 11304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10114,89 +11316,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x000; - MenhirLib.EngineTypes.startp = _startpos_x000_; - MenhirLib.EngineTypes.endp = _endpos_x000_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10154 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10160 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11341 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11346 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let x00 = x000 in - let s0 = s00 in + let ty20 = ty200 in + let ty10 = ty100 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let x0 = x00 in - let s = s0 in - let i = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 10184 "parser_cocci_menhir.ml" - - in + let ty2 = ty20 in + let ty1 = ty10 in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 10194 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 11363 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 10200 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 11369 "parser_cocci_menhir.ml" in let cv = @@ -10204,13 +11373,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10208 "parser_cocci_menhir.ml" +# 11377 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10214 "parser_cocci_menhir.ml" +# 11383 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10226,75 +11395,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10261 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 10267 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 10272 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11415 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in + let ty = ty0 in -# 572 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = s in - let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in - Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 10292 "parser_cocci_menhir.ml" +# 629 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 11427 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 10298 "parser_cocci_menhir.ml" +# 11433 "parser_cocci_menhir.ml" in let cv = @@ -10302,13 +11437,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10306 "parser_cocci_menhir.ml" +# 11441 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10312 "parser_cocci_menhir.ml" +# 11447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10324,9 +11459,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = x0; @@ -10337,28 +11472,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 10344 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11479 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 576 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10356 "parser_cocci_menhir.ml" +# 631 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 11491 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 10362 "parser_cocci_menhir.ml" +# 11497 "parser_cocci_menhir.ml" in let cv = @@ -10366,13 +11501,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10370 "parser_cocci_menhir.ml" +# 11505 "parser_cocci_menhir.ml" in -# 589 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10376 "parser_cocci_menhir.ml" +# 11511 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10384,23 +11519,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let r : ( -# 73 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 10397 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let _startpos = _startpos_r_ in - let _endpos = _endpos_r_ in - let _v : 'tv_ctype = -# 591 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 10404 "parser_cocci_menhir.ml" +# 11543 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 633 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 11555 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11561 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11569 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10412,23 +11583,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let r : ( -# 73 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 10425 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let _startpos = _startpos_r_ in - let _endpos = _endpos_r_ in - let _v : 'tv_ctype = -# 593 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 10432 "parser_cocci_menhir.ml" +# 11607 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 635 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 11619 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11625 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11633 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10440,41 +11647,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 10463 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in - let lp : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 10469 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_rp_ in - let _v : 'tv_ctype = -# 595 "parser_cocci_menhir.mly" - ( let (mids,code) = t in - Ast0.wrap - (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 10478 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 11671 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 637 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 11683 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11689 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11697 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10486,32 +11711,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_list_array_dec_ = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_d_ident = -# 1111 "parser_cocci_menhir.mly" - ( (_1, - function t -> - List.fold_right - (function (l,i,r) -> - function rest -> - Ast0.wrap - (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) - _2 t) ) -# 10515 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 11735 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 639 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 11747 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11753 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11761 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10523,25 +11775,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let i : 'tv_ident = Obj.magic i in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_i_ in - let _v : 'tv_decl = -# 867 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 10545 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11805 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 641 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 11819 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11825 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11833 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11839 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10553,19 +11847,101 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; } = _menhir_stack in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_t_ in - let _v : 'tv_decl = -# 868 "parser_cocci_menhir.mly" - ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 10569 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 11886 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 11892 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11897 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 11916 "parser_cocci_menhir.ml" + + in + +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 11925 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 11931 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11939 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10577,40 +11953,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -10618,45 +11989,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let rp1 : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 10625 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp1 : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 10631 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 10636 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let i : 'tv_ident = Obj.magic i in - let s : ( -# 122 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 10642 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let lp : ( -# 99 "parser_cocci_menhir.mly" +# 11997 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 10647 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_rp1_ in - let _v : 'tv_decl = -# 871 "parser_cocci_menhir.mly" - ( let fnptr = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, - P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in - Ast0.wrap(Ast0.Param(fnptr, Some i)) ) -# 10660 "parser_cocci_menhir.ml" +# 12003 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 12009 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12031 "parser_cocci_menhir.ml" + + in + +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 12040 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12046 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12054 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10668,24 +12068,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; } = _menhir_stack in - let _1 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 10681 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl = -# 878 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 10689 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_type_ident = Obj.magic i00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) +# 12108 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12114 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12122 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10697,23 +12136,98 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 10710 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_ident = -# 1696 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 10717 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12175 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12181 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 12201 "parser_cocci_menhir.ml" + + in + +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 12211 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12217 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12225 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12231 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10725,41 +12239,107 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; } = _menhir_stack in - let _1 : ( -# 85 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 10738 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_ident = -# 1698 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 10746 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_decl_list_decl_ = -# 1718 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 10763 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12283 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12289 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_type_ident = Obj.magic x000 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12313 "parser_cocci_menhir.ml" + + in + +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 12323 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12329 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12337 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10771,23 +12351,93 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; } = _menhir_stack in - let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_decl_ = -# 1720 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10791 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12390 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 12396 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12401 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + +# 657 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = s in + let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in + Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) +# 12421 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12427 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12435 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10798,13 +12448,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_decl_list_name_opt_decl_ = -# 1718 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 10808 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 12473 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let p0 = p00 in + let ty = + let p = p0 in + +# 661 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) +# 12485 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 12491 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12499 "parser_cocci_menhir.ml" + + in + +# 674 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10817,22 +12514,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_name_opt_decl_ = -# 1720 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10836 "parser_cocci_menhir.ml" + let r : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 12526 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let _startpos = _startpos_r_ in + let _endpos = _endpos_r_ in + let _v : 'tv_ctype = +# 676 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) +# 12533 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10845,18 +12542,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_start_decl_ = -# 1727 "parser_cocci_menhir.mly" - ( [_1] ) -# 10860 "parser_cocci_menhir.ml" + let r : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 12554 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let _startpos = _startpos_r_ in + let _endpos = _endpos_r_ in + let _v : 'tv_ctype = +# 678 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) +# 12561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10868,35 +12569,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in - let _2 : ( -# 130 "parser_cocci_menhir.mly" + let rp : ( +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 10892 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_decl_list_start_decl_ = -# 1729 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10900 "parser_cocci_menhir.ml" +# 12592 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 12598 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_ctype = +# 680 "parser_cocci_menhir.mly" + ( let (mids,code) = t in + Ast0.wrap + (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) +# 12607 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10919,43 +12626,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in - let _1 : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 10927 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _2 : 'tv_list_array_dec_ = Obj.magic _2 in + let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_decl_list_start_decl_ = -# 1731 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: - (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10935 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1727 "parser_cocci_menhir.mly" - ( [_1] ) -# 10959 "parser_cocci_menhir.ml" + let _v : 'tv_d_ident = +# 1241 "parser_cocci_menhir.mly" + ( (_1, + function t -> + List.fold_right + (function (l,i,r) -> + function rest -> + Ast0.wrap + (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) + _2 t) ) +# 12644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10967,35 +12652,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in - let _2 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 10991 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1729 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10999 "parser_cocci_menhir.ml" + let i : 'tv_ident = Obj.magic i in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_i_ in + let _v : 'tv_decl = +# 993 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Param(t, Some i)) ) +# 12674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11007,30 +12682,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in - let _1 : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 11026 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1731 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: - (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 11034 "parser_cocci_menhir.ml" + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_t_ in + let _v : 'tv_decl = +# 994 "parser_cocci_menhir.mly" + ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) +# 12698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11042,24 +12706,285 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 11055 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let rp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 12754 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp1 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 12760 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 12765 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let i : 'tv_ident = Obj.magic i in + let s : ( +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 12771 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 12776 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_rp1_ in + let _v : 'tv_decl = +# 997 "parser_cocci_menhir.mly" + ( let fnptr = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, + P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in + Ast0.wrap(Ast0.Param(fnptr, Some i)) ) +# 12789 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12810 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl = +# 1004 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) +# 12818 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12839 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl = +# 1006 "parser_cocci_menhir.mly" + ( tmeta_to_param _1 ) +# 12846 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 12867 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_ident = +# 1887 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 12874 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 129 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 12895 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_ident = +# 1889 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 12903 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_list_decl_ = +# 1911 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) + (fun c -> Ast0.PComma c))) ) +# 12931 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_list_name_opt_decl_ = +# 1911 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) + (fun c -> Ast0.PComma c))) ) +# 12959 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12980 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1189 "parser_cocci_menhir.mly" +# 1299 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11063 "parser_cocci_menhir.ml" +# 12988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11081,13 +13006,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1192 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11091 "parser_cocci_menhir.ml" +# 13016 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11109,9 +13034,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1197 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( [_1] ) -# 11115 "parser_cocci_menhir.ml" +# 13040 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11140,20 +13065,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 11146 "parser_cocci_menhir.ml" +# 13071 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 11152 "parser_cocci_menhir.ml" +# 13077 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1206 "parser_cocci_menhir.mly" +# 1316 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -11163,7 +13088,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 11167 "parser_cocci_menhir.ml" +# 13092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11182,17 +13107,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11188 "parser_cocci_menhir.ml" +# 13113 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1219 "parser_cocci_menhir.mly" +# 1329 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11196 "parser_cocci_menhir.ml" +# 13121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11214,13 +13139,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1222 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11224 "parser_cocci_menhir.ml" +# 13149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11242,9 +13167,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1227 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( [_1] ) -# 11248 "parser_cocci_menhir.ml" +# 13173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11273,20 +13198,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 11279 "parser_cocci_menhir.ml" +# 13204 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 11285 "parser_cocci_menhir.ml" +# 13210 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1236 "parser_cocci_menhir.mly" +# 1346 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -11295,7 +13220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids, P.clt2mcode ")" _3))] ) -# 11299 "parser_cocci_menhir.ml" +# 13224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11319,17 +13244,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11325 "parser_cocci_menhir.ml" +# 13250 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 999 "parser_cocci_menhir.mly" +# 1127 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 11333 "parser_cocci_menhir.ml" +# 13258 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 13279 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_var = +# 1128 "parser_cocci_menhir.mly" + ( [P.meta_decl _1] ) +# 13286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11358,9 +13311,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11364 "parser_cocci_menhir.ml" +# 13317 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11370,16 +13323,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11374 "parser_cocci_menhir.ml" +# 13327 "parser_cocci_menhir.ml" in -# 1001 "parser_cocci_menhir.mly" +# 1130 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11383 "parser_cocci_menhir.ml" +# 13336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11413,9 +13366,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11419 "parser_cocci_menhir.ml" +# 13372 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11427,16 +13380,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11431 "parser_cocci_menhir.ml" +# 13384 "parser_cocci_menhir.ml" in -# 1001 "parser_cocci_menhir.mly" +# 1130 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11440 "parser_cocci_menhir.ml" +# 13393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11458,9 +13411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 1005 "parser_cocci_menhir.mly" +# 1134 "parser_cocci_menhir.mly" ( [f] ) -# 11464 "parser_cocci_menhir.ml" +# 13417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11499,15 +13452,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11505 "parser_cocci_menhir.ml" +# 13458 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11511 "parser_cocci_menhir.ml" +# 13464 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11517,14 +13470,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11521 "parser_cocci_menhir.ml" +# 13474 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1136 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11528 "parser_cocci_menhir.ml" +# 13481 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11568,15 +13521,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11574 "parser_cocci_menhir.ml" +# 13527 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11580 "parser_cocci_menhir.ml" +# 13533 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11588,14 +13541,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11592 "parser_cocci_menhir.ml" +# 13545 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1136 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11599 "parser_cocci_menhir.ml" +# 13552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11624,9 +13577,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11630 "parser_cocci_menhir.ml" +# 13583 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11636,25 +13589,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11640 "parser_cocci_menhir.ml" +# 13593 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11647 "parser_cocci_menhir.ml" +# 13600 "parser_cocci_menhir.ml" in -# 1012 "parser_cocci_menhir.mly" +# 1141 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11658 "parser_cocci_menhir.ml" +# 13611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11688,9 +13641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11694 "parser_cocci_menhir.ml" +# 13647 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11702,25 +13655,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11706 "parser_cocci_menhir.ml" +# 13659 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11713 "parser_cocci_menhir.ml" +# 13666 "parser_cocci_menhir.ml" in -# 1012 "parser_cocci_menhir.mly" +# 1141 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11724 "parser_cocci_menhir.ml" +# 13677 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11754,9 +13707,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11760 "parser_cocci_menhir.ml" +# 13713 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11767,7 +13720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11771 "parser_cocci_menhir.ml" +# 13724 "parser_cocci_menhir.ml" in let s = @@ -11775,18 +13728,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11779 "parser_cocci_menhir.ml" +# 13732 "parser_cocci_menhir.ml" in -# 1012 "parser_cocci_menhir.mly" +# 1141 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11790 "parser_cocci_menhir.ml" +# 13743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11825,9 +13778,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11831 "parser_cocci_menhir.ml" +# 13784 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11840,7 +13793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11844 "parser_cocci_menhir.ml" +# 13797 "parser_cocci_menhir.ml" in let s = @@ -11848,18 +13801,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11852 "parser_cocci_menhir.ml" +# 13805 "parser_cocci_menhir.ml" in -# 1012 "parser_cocci_menhir.mly" +# 1141 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11863 "parser_cocci_menhir.ml" +# 13816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11898,15 +13851,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11904 "parser_cocci_menhir.ml" +# 13857 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11910 "parser_cocci_menhir.ml" +# 13863 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11916,24 +13869,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11920 "parser_cocci_menhir.ml" +# 13873 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11927 "parser_cocci_menhir.ml" +# 13880 "parser_cocci_menhir.ml" in -# 1020 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 11937 "parser_cocci_menhir.ml" +# 13890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11977,15 +13930,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11983 "parser_cocci_menhir.ml" +# 13936 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 11989 "parser_cocci_menhir.ml" +# 13942 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11997,24 +13950,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12001 "parser_cocci_menhir.ml" +# 13954 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 12008 "parser_cocci_menhir.ml" +# 13961 "parser_cocci_menhir.ml" in -# 1020 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12018 "parser_cocci_menhir.ml" +# 13971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12058,15 +14011,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12064 "parser_cocci_menhir.ml" +# 14017 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12070 "parser_cocci_menhir.ml" +# 14023 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12077,7 +14030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12081 "parser_cocci_menhir.ml" +# 14034 "parser_cocci_menhir.ml" in let s = @@ -12085,17 +14038,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12089 "parser_cocci_menhir.ml" +# 14042 "parser_cocci_menhir.ml" in -# 1020 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12099 "parser_cocci_menhir.ml" +# 14052 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12144,15 +14097,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12150 "parser_cocci_menhir.ml" +# 14103 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12156 "parser_cocci_menhir.ml" +# 14109 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12165,7 +14118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12169 "parser_cocci_menhir.ml" +# 14122 "parser_cocci_menhir.ml" in let s = @@ -12173,17 +14126,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12177 "parser_cocci_menhir.ml" +# 14130 "parser_cocci_menhir.ml" in -# 1020 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12187 "parser_cocci_menhir.ml" +# 14140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12242,36 +14195,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12248 "parser_cocci_menhir.ml" +# 14201 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12253 "parser_cocci_menhir.ml" +# 14206 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12259 "parser_cocci_menhir.ml" +# 14212 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12264 "parser_cocci_menhir.ml" +# 14217 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 12270 "parser_cocci_menhir.ml" +# 14223 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12275 "parser_cocci_menhir.ml" +# 14228 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12280,11 +14233,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12284 "parser_cocci_menhir.ml" +# 14237 "parser_cocci_menhir.ml" in -# 1030 "parser_cocci_menhir.mly" +# 1159 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12292,7 +14245,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12296 "parser_cocci_menhir.ml" +# 14249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12356,36 +14309,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12362 "parser_cocci_menhir.ml" +# 14315 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12367 "parser_cocci_menhir.ml" +# 14320 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12373 "parser_cocci_menhir.ml" +# 14326 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12378 "parser_cocci_menhir.ml" +# 14331 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 12384 "parser_cocci_menhir.ml" +# 14337 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12389 "parser_cocci_menhir.ml" +# 14342 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12396,11 +14349,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12400 "parser_cocci_menhir.ml" +# 14353 "parser_cocci_menhir.ml" in -# 1030 "parser_cocci_menhir.mly" +# 1159 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12408,7 +14361,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12412 "parser_cocci_menhir.ml" +# 14365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12447,29 +14400,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12453 "parser_cocci_menhir.ml" +# 14406 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12458 "parser_cocci_menhir.ml" +# 14411 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12464 "parser_cocci_menhir.ml" +# 14417 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_decl_var = -# 1038 "parser_cocci_menhir.mly" +# 1167 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 12473 "parser_cocci_menhir.ml" +# 14426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12538,42 +14491,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12544 "parser_cocci_menhir.ml" +# 14497 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12550 "parser_cocci_menhir.ml" +# 14503 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12555 "parser_cocci_menhir.ml" +# 14508 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12561 "parser_cocci_menhir.ml" +# 14514 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12566 "parser_cocci_menhir.ml" +# 14519 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 12572 "parser_cocci_menhir.ml" +# 14525 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12577 "parser_cocci_menhir.ml" +# 14530 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12582,11 +14535,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12586 "parser_cocci_menhir.ml" +# 14539 "parser_cocci_menhir.ml" in -# 1044 "parser_cocci_menhir.mly" +# 1173 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12594,7 +14547,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12598 "parser_cocci_menhir.ml" +# 14551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12668,42 +14621,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12674 "parser_cocci_menhir.ml" +# 14627 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12680 "parser_cocci_menhir.ml" +# 14633 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12685 "parser_cocci_menhir.ml" +# 14638 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12691 "parser_cocci_menhir.ml" +# 14644 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12696 "parser_cocci_menhir.ml" +# 14649 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 12702 "parser_cocci_menhir.ml" +# 14655 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 12707 "parser_cocci_menhir.ml" +# 14660 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12714,11 +14667,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12718 "parser_cocci_menhir.ml" +# 14671 "parser_cocci_menhir.ml" in -# 1044 "parser_cocci_menhir.mly" +# 1173 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12726,7 +14679,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12730 "parser_cocci_menhir.ml" +# 14683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12760,27 +14713,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 12766 "parser_cocci_menhir.ml" +# 14719 "parser_cocci_menhir.ml" ) = Obj.magic pv in let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in let t : 'tv_typedef_ctype = Obj.magic t in let s : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 12773 "parser_cocci_menhir.ml" +# 14726 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1052 "parser_cocci_menhir.mly" +# 1181 "parser_cocci_menhir.mly" ( let s = P.clt2mcode "typedef" s in List.map (function id -> Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))) id ) -# 12784 "parser_cocci_menhir.ml" +# 14737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12798,158 +14751,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_define_param_list_start = Obj.magic _1 in + let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list = -# 769 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 12812 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_define_param_list = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list_option = -# 793 "parser_cocci_menhir.mly" - ( _1 ) -# 12836 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in let _v : 'tv_define_param_list_option = -# 794 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 12853 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list_start = -# 776 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.DParam _1)] ) -# 12877 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_define_param_list_start = Obj.magic _3 in - let _2 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 12909 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_define_param_list_start = -# 778 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DParam _1):: - Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 ) -# 12918 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in - let d : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 12945 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_define_param_list_start = -# 781 "parser_cocci_menhir.mly" - ( (P.mkdpdots "..." d):: - (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) ) -# 12953 "parser_cocci_menhir.ml" +# 916 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d))) + (fun c -> Ast0.DPComma c))) ) +# 14765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12968,14 +14780,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (Data.clt * token) -# 12974 "parser_cocci_menhir.ml" +# 14786 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 728 "parser_cocci_menhir.mly" +# 872 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -12992,7 +14804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 12996 "parser_cocci_menhir.ml" +# 14808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13021,20 +14833,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 13027 "parser_cocci_menhir.ml" +# 14839 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 13033 "parser_cocci_menhir.ml" +# 14845 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 745 "parser_cocci_menhir.mly" +# 889 "parser_cocci_menhir.mly" ( let (clt,ident,parenoff,parencol) = _1 in (* clt is the start of the #define itself *) let (arity,line,lline,offset,col,strbef,straft,pos) = clt in @@ -13055,7 +14867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 13059 "parser_cocci_menhir.ml" +# 14871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13077,9 +14889,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = -# 248 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( _1 ) -# 13083 "parser_cocci_menhir.ml" +# 14895 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13111,9 +14923,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 249 "parser_cocci_menhir.mly" +# 295 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) -# 13117 "parser_cocci_menhir.ml" +# 14929 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13145,9 +14957,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 250 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) -# 13151 "parser_cocci_menhir.ml" +# 14963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13162,9 +14974,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_depends = -# 244 "parser_cocci_menhir.mly" +# 290 "parser_cocci_menhir.mly" ( Ast.NoDep ) -# 13168 "parser_cocci_menhir.ml" +# 14980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13194,9 +15006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_parents_ in let _v : 'tv_depends = -# 245 "parser_cocci_menhir.mly" +# 291 "parser_cocci_menhir.mly" ( parents ) -# 13200 "parser_cocci_menhir.ml" +# 15012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13219,18 +15031,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_ident = Obj.magic _2 in + let _2 : 'tv_mident = Obj.magic _2 in let _1 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 13227 "parser_cocci_menhir.ml" +# 15039 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1153 "parser_cocci_menhir.mly" +# 1285 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 13234 "parser_cocci_menhir.ml" +# 15046 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13259,22 +15071,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 13265 "parser_cocci_menhir.ml" +# 15077 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 13271 "parser_cocci_menhir.ml" +# 15083 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1155 "parser_cocci_menhir.mly" +# 1287 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 13278 "parser_cocci_menhir.ml" +# 15090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13313,29 +15125,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 13319 "parser_cocci_menhir.ml" +# 15131 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13325 "parser_cocci_menhir.ml" +# 15137 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 13331 "parser_cocci_menhir.ml" +# 15143 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1157 "parser_cocci_menhir.mly" +# 1289 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 13339 "parser_cocci_menhir.ml" +# 15151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13357,9 +15169,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1256 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( _1 ) -# 13363 "parser_cocci_menhir.ml" +# 15175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13385,9 +15197,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 263 "parser_cocci_menhir.mly" +# 309 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 13391 "parser_cocci_menhir.ml" +# 15203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13406,16 +15218,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13412 "parser_cocci_menhir.ml" +# 15224 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1265 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 13419 "parser_cocci_menhir.ml" +# 15231 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13437,9 +15249,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1266 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( _1 ) -# 13443 "parser_cocci_menhir.ml" +# 15255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13451,34 +15263,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dparam = +# 912 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DParam _1) ) +# 15279 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = d; MenhirLib.EngineTypes.startp = _startpos_d_; MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13469 "parser_cocci_menhir.ml" +# 15300 "parser_cocci_menhir.ml" ) = Obj.magic d in - let c : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 13474 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let _startpos = _startpos_c_ in + let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in - let _v : 'tv_dp_comma_args_TEllipsis_ = -# 786 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] ) -# 13482 "parser_cocci_menhir.ml" + let _v : 'tv_edots_when_TEllipsis_eexpr_ = +# 2197 "parser_cocci_menhir.mly" + ( (d,None) ) +# 15307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13490,31 +15315,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = w; + MenhirLib.EngineTypes.startp = _startpos_w_; + MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_ident = Obj.magic _2 in - let _1 : ( -# 130 "parser_cocci_menhir.mly" + let w : 'tv_eexpr = Obj.magic w in + let d : ( +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13509 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_dp_comma_args_TEllipsis_ = -# 789 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1)); - Ast0.wrap(Ast0.DParam _2)] ) -# 13518 "parser_cocci_menhir.ml" +# 15346 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__5_ in + let _v : 'tv_edots_when_TEllipsis_eexpr_ = +# 2198 "parser_cocci_menhir.mly" + ( (d,Some w) ) +# 15353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13533,16 +15368,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13539 "parser_cocci_menhir.ml" +# 15374 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in - let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1994 "parser_cocci_menhir.mly" + let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = +# 2197 "parser_cocci_menhir.mly" ( (d,None) ) -# 13546 "parser_cocci_menhir.ml" +# 15381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13577,18 +15412,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let w : 'tv_eexpr = Obj.magic w in + let w : 'tv_enum_decl_one = Obj.magic w in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13585 "parser_cocci_menhir.ml" +# 15420 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in - let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1995 "parser_cocci_menhir.mly" + let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = +# 2198 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13592 "parser_cocci_menhir.ml" +# 15427 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13607,16 +15442,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13613 "parser_cocci_menhir.ml" +# 15448 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1994 "parser_cocci_menhir.mly" +# 2197 "parser_cocci_menhir.mly" ( (d,None) ) -# 13620 "parser_cocci_menhir.ml" +# 15455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13653,16 +15488,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_initialize = Obj.magic w in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13659 "parser_cocci_menhir.ml" +# 15494 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1995 "parser_cocci_menhir.mly" +# 2198 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13666 "parser_cocci_menhir.ml" +# 15501 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13681,16 +15516,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13687 "parser_cocci_menhir.ml" +# 15522 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in - let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1994 "parser_cocci_menhir.mly" + let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = +# 2197 "parser_cocci_menhir.mly" ( (d,None) ) -# 13694 "parser_cocci_menhir.ml" +# 15529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13725,18 +15560,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let w : 'tv_struct_decl = Obj.magic w in + let w : 'tv_struct_decl_one = Obj.magic w in let d : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 13733 "parser_cocci_menhir.ml" +# 15568 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in - let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1995 "parser_cocci_menhir.mly" + let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = +# 2198 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13740 "parser_cocci_menhir.ml" +# 15575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13758,9 +15593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1254 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( _1 ) -# 13764 "parser_cocci_menhir.ml" +# 15599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13778,22 +15613,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_eexpr_list_start = Obj.magic _1 in + let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list = -# 1938 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in - let star x = - match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else - if List.exists star _1 - then Ast0.wrap(Ast0.STARS(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 13797 "parser_cocci_menhir.ml" + let _v : 'tv_eexpr_list_option = +# 2177 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None))) + (fun c -> Ast0.EComma c))) ) +# 15627 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = +# 1939 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13811,13 +15658,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_eexpr_list = Obj.magic _1 in + let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list_option = -# 1977 "parser_cocci_menhir.mly" - ( _1 ) -# 13821 "parser_cocci_menhir.ml" + let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = +# 1940 "parser_cocci_menhir.mly" + ( _1 ) +# 15668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13831,10 +15678,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_eexpr_list_option = -# 1978 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 13838 "parser_cocci_menhir.ml" + let _v : 'tv_empty_list_start_dparam_TEllipsis_ = +# 1939 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13852,13 +15699,184 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_aexpr = Obj.magic _1 in + let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list_start = -# 1965 "parser_cocci_menhir.mly" - ( [_1] ) -# 13862 "parser_cocci_menhir.ml" + let _v : 'tv_empty_list_start_dparam_TEllipsis_ = +# 1940 "parser_cocci_menhir.mly" + ( _1 ) +# 15709 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1939 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15726 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1940 "parser_cocci_menhir.mly" + ( _1 ) +# 15750 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = +# 1939 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15767 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = +# 1940 "parser_cocci_menhir.mly" + ( _1 ) +# 15791 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1939 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15808 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1940 "parser_cocci_menhir.mly" + ( _1 ) +# 15832 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_decl_list = +# 776 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) +# 15856 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_decl_one = +# 747 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(_1)) ) +# 15880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13886,19 +15904,194 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_eexpr_list_start = Obj.magic _3 in + let _3 : 'tv_enum_val = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 13894 "parser_cocci_menhir.ml" +# 15912 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_aexpr = Obj.magic _1 in + let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_eexpr_list_start = -# 1967 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 ) -# 13902 "parser_cocci_menhir.ml" + let _v : 'tv_enum_decl_one = +# 749 "parser_cocci_menhir.mly" + ( let id = Ast0.wrap(Ast0.Ident(_1)) in + Ast0.wrap + (Ast0.Assignment + (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3, + false)) ) +# 15924 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 756 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(_1)) ) +# 15948 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 154 "parser_cocci_menhir.mly" + (string * Data.clt) +# 15969 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 758 "parser_cocci_menhir.mly" + ( let (x,clt) = _1 in + Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) +# 15977 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 15998 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 760 "parser_cocci_menhir.mly" + ( tmeta_to_exp _1 ) +# 16005 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 134 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16026 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 762 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) +# 16035 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 134 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16056 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 766 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) +# 16065 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 134 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16086 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 770 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) +# 16095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13918,9 +16111,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 266 "parser_cocci_menhir.mly" +# 312 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 13924 "parser_cocci_menhir.ml" +# 16117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13940,9 +16133,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 267 "parser_cocci_menhir.mly" +# 313 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 13946 "parser_cocci_menhir.ml" +# 16139 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13957,9 +16150,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_exists = -# 268 "parser_cocci_menhir.mly" +# 314 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 13963 "parser_cocci_menhir.ml" +# 16156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13981,9 +16174,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1252 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( _1 ) -# 13987 "parser_cocci_menhir.ml" +# 16180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14005,9 +16198,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1434 "parser_cocci_menhir.mly" +# 1601 "parser_cocci_menhir.mly" ( r ) -# 14011 "parser_cocci_menhir.ml" +# 16204 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let m : 'tv_nonempty_list_TMul_ = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 542 "parser_cocci_menhir.mly" + ( P.ty_pointerify Type_cocci.Unknown m ) +# 16228 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 544 "parser_cocci_menhir.mly" + ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) +# 16256 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 546 "parser_cocci_menhir.mly" + ( P.ty_pointerify + (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) +# 16285 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 549 "parser_cocci_menhir.mly" + ( P.ty_pointerify + (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) +# 16314 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14022,9 +16325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_extends = -# 239 "parser_cocci_menhir.mly" +# 285 "parser_cocci_menhir.mly" ( () ) -# 14028 "parser_cocci_menhir.ml" +# 16331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14047,16 +16350,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let parent : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 14053 "parser_cocci_menhir.ml" +# 16356 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = -# 241 "parser_cocci_menhir.mly" +# 287 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 14060 "parser_cocci_menhir.ml" +# 16363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14080,23 +16383,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 106 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (string * Data.clt) -# 14086 "parser_cocci_menhir.ml" +# 16389 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (string * Data.clt) -# 14091 "parser_cocci_menhir.ml" +# 16394 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 683 "parser_cocci_menhir.mly" +# 813 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 14100 "parser_cocci_menhir.ml" +# 16403 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1859 "parser_cocci_menhir.mly" + ( _1 ) +# 16427 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 16448 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1861 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 16456 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 16477 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1864 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap + (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 16486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14111,9 +16497,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo = -# 822 "parser_cocci_menhir.mly" +# 948 "parser_cocci_menhir.mly" ( [] ) -# 14117 "parser_cocci_menhir.ml" +# 16503 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14141,13 +16527,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 824 "parser_cocci_menhir.mly" +# 950 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate storage") with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14151 "parser_cocci_menhir.ml" +# 16537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14175,9 +16561,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 829 "parser_cocci_menhir.mly" +# 955 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 14181 "parser_cocci_menhir.ml" +# 16567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14202,19 +16588,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 14208 "parser_cocci_menhir.ml" +# 16594 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 831 "parser_cocci_menhir.mly" +# 957 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14218 "parser_cocci_menhir.ml" +# 16604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14239,19 +16625,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 14245 "parser_cocci_menhir.ml" +# 16631 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 836 "parser_cocci_menhir.mly" +# 962 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "multiple attributes") with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14255 "parser_cocci_menhir.ml" +# 16641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14266,9 +16652,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo_nt = -# 842 "parser_cocci_menhir.mly" +# 968 "parser_cocci_menhir.mly" ( [] ) -# 14272 "parser_cocci_menhir.ml" +# 16658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14296,13 +16682,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 844 "parser_cocci_menhir.mly" +# 970 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate storage") with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14306 "parser_cocci_menhir.ml" +# 16692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14327,19 +16713,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 14333 "parser_cocci_menhir.ml" +# 16719 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 850 "parser_cocci_menhir.mly" +# 976 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14343 "parser_cocci_menhir.ml" +# 16729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14364,19 +16750,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 14370 "parser_cocci_menhir.ml" +# 16756 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 855 "parser_cocci_menhir.mly" +# 981 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate init") with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14380 "parser_cocci_menhir.ml" +# 16766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14391,9 +16777,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots = -# 1886 "parser_cocci_menhir.mly" +# 2110 "parser_cocci_menhir.mly" ([]) -# 14397 "parser_cocci_menhir.ml" +# 16783 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14419,9 +16805,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1887 "parser_cocci_menhir.mly" +# 2111 "parser_cocci_menhir.mly" (_2) -# 14425 "parser_cocci_menhir.ml" +# 16811 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14449,9 +16835,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1888 "parser_cocci_menhir.mly" +# 2112 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14455 "parser_cocci_menhir.ml" +# 16841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14479,9 +16865,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1889 "parser_cocci_menhir.mly" +# 2113 "parser_cocci_menhir.mly" (_1@_2) -# 14485 "parser_cocci_menhir.ml" +# 16871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14496,9 +16882,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots_or = -# 1896 "parser_cocci_menhir.mly" +# 2120 "parser_cocci_menhir.mly" ([]) -# 14502 "parser_cocci_menhir.ml" +# 16888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14524,9 +16910,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1897 "parser_cocci_menhir.mly" +# 2121 "parser_cocci_menhir.mly" (_2) -# 14530 "parser_cocci_menhir.ml" +# 16916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14554,9 +16940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1898 "parser_cocci_menhir.mly" +# 2122 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14560 "parser_cocci_menhir.ml" +# 16946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14584,9 +16970,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1899 "parser_cocci_menhir.mly" +# 2123 "parser_cocci_menhir.mly" (_1@_2) -# 14590 "parser_cocci_menhir.ml" +# 16976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14614,9 +17000,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1892 "parser_cocci_menhir.mly" +# 2116 "parser_cocci_menhir.mly" (_1::_2) -# 14620 "parser_cocci_menhir.ml" +# 17006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14631,9 +17017,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_exp_or = -# 1902 "parser_cocci_menhir.mly" +# 2126 "parser_cocci_menhir.mly" ([]) -# 14637 "parser_cocci_menhir.ml" +# 17023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14661,9 +17047,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1903 "parser_cocci_menhir.mly" +# 2127 "parser_cocci_menhir.mly" (_1::_2) -# 14667 "parser_cocci_menhir.ml" +# 17053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14678,9 +17064,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_stm = -# 1881 "parser_cocci_menhir.mly" +# 2105 "parser_cocci_menhir.mly" ([]) -# 14684 "parser_cocci_menhir.ml" +# 17070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14708,9 +17094,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1882 "parser_cocci_menhir.mly" +# 2106 "parser_cocci_menhir.mly" (_1::_2) -# 14714 "parser_cocci_menhir.ml" +# 17100 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14738,9 +17124,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1883 "parser_cocci_menhir.mly" +# 2107 "parser_cocci_menhir.mly" (_1@_2) -# 14744 "parser_cocci_menhir.ml" +# 17130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14762,9 +17148,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1878 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 14768 "parser_cocci_menhir.ml" +# 17154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14782,42 +17168,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pure_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_func_ident = -# 1676 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14792 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 84 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 14813 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1678 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 14821 "parser_cocci_menhir.ml" +# 1850 "parser_cocci_menhir.mly" + ( _1 ) +# 17178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14836,17 +17193,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14842 "parser_cocci_menhir.ml" +# 17199 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1681 "parser_cocci_menhir.mly" +# 1852 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14850 "parser_cocci_menhir.ml" +# 17207 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14865,18 +17222,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14871 "parser_cocci_menhir.ml" +# 17228 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1684 "parser_cocci_menhir.mly" +# 1855 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14880 "parser_cocci_menhir.ml" +# 17237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14934,33 +17291,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rb : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 14940 "parser_cocci_menhir.ml" +# 17297 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 14946 "parser_cocci_menhir.ml" +# 17303 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 14951 "parser_cocci_menhir.ml" +# 17308 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 14957 "parser_cocci_menhir.ml" +# 17314 "parser_cocci_menhir.ml" ) = Obj.magic lp in - let i : 'tv_func_ident = Obj.magic i in + let i : 'tv_fn_ident = Obj.magic i in let f : 'tv_fninfo = Obj.magic f in let _startpos = _startpos_f_ in let _endpos = _endpos_rb_ in let _v : 'tv_fundecl = -# 813 "parser_cocci_menhir.mly" +# 939 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -14968,7 +17325,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 14972 "parser_cocci_menhir.ml" +# 17329 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15012,22 +17369,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 15018 "parser_cocci_menhir.ml" +# 17375 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 15023 "parser_cocci_menhir.ml" +# 17380 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 15029 "parser_cocci_menhir.ml" +# 17386 "parser_cocci_menhir.ml" ) = Obj.magic lp in - let id : 'tv_func_ident = Obj.magic id in + let id : 'tv_fn_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pt_ in @@ -15035,11 +17392,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15039 "parser_cocci_menhir.ml" +# 17396 "parser_cocci_menhir.ml" in -# 801 "parser_cocci_menhir.mly" +# 927 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15047,7 +17404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15051 "parser_cocci_menhir.ml" +# 17408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15096,22 +17453,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 15102 "parser_cocci_menhir.ml" +# 17459 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 15107 "parser_cocci_menhir.ml" +# 17464 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 15113 "parser_cocci_menhir.ml" +# 17470 "parser_cocci_menhir.ml" ) = Obj.magic lp in - let id : 'tv_func_ident = Obj.magic id in + let id : 'tv_fn_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -15121,11 +17478,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15125 "parser_cocci_menhir.ml" +# 17482 "parser_cocci_menhir.ml" in -# 801 "parser_cocci_menhir.mly" +# 927 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15133,7 +17490,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15137 "parser_cocci_menhir.ml" +# 17494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15155,9 +17512,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1689 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 15161 "parser_cocci_menhir.ml" +# 17518 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15176,17 +17533,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 15182 "parser_cocci_menhir.ml" +# 17539 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1691 "parser_cocci_menhir.mly" +# 1871 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 15190 "parser_cocci_menhir.ml" +# 17547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15208,9 +17565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1649 "parser_cocci_menhir.mly" +# 1824 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 15214 "parser_cocci_menhir.ml" +# 17571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15229,17 +17586,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 15235 "parser_cocci_menhir.ml" +# 17592 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1651 "parser_cocci_menhir.mly" +# 1826 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15243 "parser_cocci_menhir.ml" +# 17600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15258,16 +17615,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string * Data.clt) -# 15264 "parser_cocci_menhir.ml" +# 17621 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 279 "parser_cocci_menhir.mly" +# 325 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 15271 "parser_cocci_menhir.ml" +# 17628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15290,16 +17647,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 15296 "parser_cocci_menhir.ml" +# 17653 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 280 "parser_cocci_menhir.mly" +# 326 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) -# 15303 "parser_cocci_menhir.ml" +# 17660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15322,16 +17679,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 146 "parser_cocci_menhir.mly" (string) -# 15328 "parser_cocci_menhir.ml" +# 17685 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 281 "parser_cocci_menhir.mly" +# 327 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 15335 "parser_cocci_menhir.ml" +# 17692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15357,14 +17714,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 283 "parser_cocci_menhir.mly" +# 329 "parser_cocci_menhir.mly" ( let names = List.map P.id2name _2 in + Iteration.parsed_virtual_rules := + Common.union_set names !Iteration.parsed_virtual_rules; (* ensure that the names of virtual and real rules don't overlap *) List.iter (function name -> Hashtbl.add Data.all_metadecls name []) names; Data.Virt(names) ) -# 15368 "parser_cocci_menhir.ml" +# 17727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15390,13 +17749,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 169 "parser_cocci_menhir.mly" +# 215 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15396 "parser_cocci_menhir.ml" +# 17755 "parser_cocci_menhir.ml" ) = -# 275 "parser_cocci_menhir.mly" +# 321 "parser_cocci_menhir.mly" ( _1 ) -# 15400 "parser_cocci_menhir.ml" +# 17759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15422,13 +17781,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 169 "parser_cocci_menhir.mly" +# 215 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15428 "parser_cocci_menhir.ml" +# 17787 "parser_cocci_menhir.ml" ) = -# 276 "parser_cocci_menhir.mly" +# 322 "parser_cocci_menhir.mly" ( _1 ) -# 15432 "parser_cocci_menhir.ml" +# 17791 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15447,14 +17806,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string * Data.clt) -# 15453 "parser_cocci_menhir.ml" +# 17812 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 689 "parser_cocci_menhir.mly" +# 819 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15465,7 +17824,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15469 "parser_cocci_menhir.ml" +# 17828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15484,14 +17843,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string * Data.clt) -# 15490 "parser_cocci_menhir.ml" +# 17849 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 700 "parser_cocci_menhir.mly" +# 830 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15502,7 +17861,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15506 "parser_cocci_menhir.ml" +# 17865 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _1 : ( +# 148 "parser_cocci_menhir.mly" + (Data.clt * token) +# 17890 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_includes = +# 841 "parser_cocci_menhir.mly" + ( let (clt,ident) = _1 in + Ast0.wrap + (Ast0.Undef + (P.clt2mcode "#undef" clt, + (match ident with + TMetaId((nm,constraints,pure,clt)) -> + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) + | TIdent(nm_pure) -> + Ast0.wrap(Ast0.Id(P.id2mcode nm_pure)) + | _ -> + raise + (Semantic_cocci.Semantic + "unexpected name for a #define")))) ) +# 17909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15528,9 +17931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 711 "parser_cocci_menhir.mly" +# 855 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) -# 15534 "parser_cocci_menhir.ml" +# 17937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15562,10 +17965,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 713 "parser_cocci_menhir.mly" +# 857 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 15569 "parser_cocci_menhir.ml" +# 17972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15597,7 +18000,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 716 "parser_cocci_menhir.mly" +# 860 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -15607,7 +18010,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 15611 "parser_cocci_menhir.ml" +# 18014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15629,9 +18032,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1124 "parser_cocci_menhir.mly" +# 1254 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15635 "parser_cocci_menhir.ml" +# 18038 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15660,62 +18063,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 15666 "parser_cocci_menhir.ml" +# 18069 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 15672 "parser_cocci_menhir.ml" +# 18075 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1126 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15679 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 15705 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 15710 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize = -# 1128 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), - P.clt2mcode "}" _2)) ) -# 15719 "parser_cocci_menhir.ml" +# 1256 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 18087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15734,17 +18102,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 15740 "parser_cocci_menhir.ml" +# 18108 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1132 "parser_cocci_menhir.mly" +# 1263 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 15748 "parser_cocci_menhir.ml" +# 18116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15766,9 +18134,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1138 "parser_cocci_menhir.mly" +# 1269 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15772 "parser_cocci_menhir.ml" +# 18140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15797,62 +18165,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 15803 "parser_cocci_menhir.ml" +# 18171 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 15809 "parser_cocci_menhir.ml" +# 18177 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1140 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15816 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 15842 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 15847 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize2 = -# 1142 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), - P.clt2mcode "}" _2)) ) -# 15856 "parser_cocci_menhir.ml" +# 1271 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 18189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15882,17 +18215,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 15888 "parser_cocci_menhir.ml" +# 18221 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_list_designator_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1147 "parser_cocci_menhir.mly" +# 1279 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 15896 "parser_cocci_menhir.ml" +# 18229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15922,17 +18255,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 15928 "parser_cocci_menhir.ml" +# 18261 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in + let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1149 "parser_cocci_menhir.mly" +# 1281 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 15936 "parser_cocci_menhir.ml" +# 18269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15950,118 +18283,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_initialize_list_start = Obj.magic _1 in + let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1161 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 15960 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 15986 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_initialize2 = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize_list_start = -# 1164 "parser_cocci_menhir.mly" - ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] ) -# 15994 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_initialize_list_start = Obj.magic _3 in - let _2 : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 16026 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_initialize2 = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize_list_start = -# 1166 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 ) -# 16034 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_initialize_list_start = -# 1169 "parser_cocci_menhir.mly" - ( (P.mkidots "..." d):: - (List.concat(List.map (function x -> x (P.mkidots "...")) r)) ) -# 16065 "parser_cocci_menhir.ml" +# 1294 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) +# 18293 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16081,9 +18309,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1262 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 16087 "parser_cocci_menhir.ml" +# 18315 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16098,9 +18326,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_is_expression = -# 271 "parser_cocci_menhir.mly" +# 317 "parser_cocci_menhir.mly" ( false ) -# 16104 "parser_cocci_menhir.ml" +# 18332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16120,9 +18348,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 272 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( true ) -# 16126 "parser_cocci_menhir.ml" +# 18354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16148,9 +18376,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2050 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16154 "parser_cocci_menhir.ml" +# 18382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16176,9 +18404,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2051 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16182 "parser_cocci_menhir.ml" +# 18410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16204,9 +18432,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2050 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16210 "parser_cocci_menhir.ml" +# 18438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16232,9 +18460,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2051 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16238 "parser_cocci_menhir.ml" +# 18466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16260,9 +18488,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2050 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16266 "parser_cocci_menhir.ml" +# 18494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16288,9 +18516,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2051 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16294 "parser_cocci_menhir.ml" +# 18522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16316,9 +18544,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2050 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16322 "parser_cocci_menhir.ml" +# 18550 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16344,9 +18572,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2051 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16350 "parser_cocci_menhir.ml" +# 18578 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16372,9 +18600,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2050 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16378 "parser_cocci_menhir.ml" +# 18606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16400,9 +18628,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2051 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16406 "parser_cocci_menhir.ml" +# 18634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16438,13 +18666,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16444 "parser_cocci_menhir.ml" +# 18672 "parser_cocci_menhir.ml" ) = -# 2018 "parser_cocci_menhir.mly" +# 2221 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) -# 16448 "parser_cocci_menhir.ml" +# 18676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16480,13 +18708,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16486 "parser_cocci_menhir.ml" +# 18714 "parser_cocci_menhir.ml" ) = -# 2020 "parser_cocci_menhir.mly" +# 2223 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) -# 16490 "parser_cocci_menhir.ml" +# 18718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16522,13 +18750,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16528 "parser_cocci_menhir.ml" +# 18756 "parser_cocci_menhir.ml" ) = -# 2022 "parser_cocci_menhir.mly" +# 2225 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) -# 16532 "parser_cocci_menhir.ml" +# 18760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16564,15 +18792,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16570 "parser_cocci_menhir.ml" +# 18798 "parser_cocci_menhir.ml" ) = -# 2024 "parser_cocci_menhir.mly" +# 2227 "parser_cocci_menhir.mly" ( let ffn x = Ast0.ExprTag x in let fn x = Ast0.TestExprTag x in P.iso_adjust ffn fn e1 el ) -# 16576 "parser_cocci_menhir.ml" +# 18804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16608,13 +18836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16614 "parser_cocci_menhir.ml" +# 18842 "parser_cocci_menhir.ml" ) = -# 2028 "parser_cocci_menhir.mly" +# 2231 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) -# 16618 "parser_cocci_menhir.ml" +# 18846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16650,13 +18878,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16656 "parser_cocci_menhir.ml" +# 18884 "parser_cocci_menhir.ml" ) = -# 2030 "parser_cocci_menhir.mly" +# 2233 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) -# 16660 "parser_cocci_menhir.ml" +# 18888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16692,13 +18920,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16698 "parser_cocci_menhir.ml" +# 18926 "parser_cocci_menhir.ml" ) = -# 2032 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) -# 16702 "parser_cocci_menhir.ml" +# 18930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16734,11 +18962,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16740 "parser_cocci_menhir.ml" +# 18968 "parser_cocci_menhir.ml" ) = -# 2034 "parser_cocci_menhir.mly" +# 2237 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -16753,7 +18981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Common.Right x -> Common.Right(check_one x)) dl in let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl ) -# 16757 "parser_cocci_menhir.ml" +# 18985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16775,13 +19003,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 188 "parser_cocci_menhir.mly" +# 234 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 16781 "parser_cocci_menhir.ml" +# 19009 "parser_cocci_menhir.ml" ) = -# 205 "parser_cocci_menhir.mly" +# 251 "parser_cocci_menhir.mly" ( m "" ) -# 16785 "parser_cocci_menhir.ml" +# 19013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16807,13 +19035,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_nm_ in let _endpos = _endpos__2_ in let _v : ( -# 172 "parser_cocci_menhir.mly" +# 218 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 16813 "parser_cocci_menhir.ml" +# 19041 "parser_cocci_menhir.ml" ) = -# 220 "parser_cocci_menhir.mly" +# 266 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 16817 "parser_cocci_menhir.ml" +# 19045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16832,16 +19060,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 16838 "parser_cocci_menhir.ml" +# 19066 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1703 "parser_cocci_menhir.mly" +# 1894 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16845 "parser_cocci_menhir.ml" +# 19073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16860,17 +19088,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16866 "parser_cocci_menhir.ml" +# 19094 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1705 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16874 "parser_cocci_menhir.ml" +# 19102 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16887,7 +19115,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 16891 "parser_cocci_menhir.ml" +# 19119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16912,16 +19140,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_list_TMul_ = Obj.magic xs in let x : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 16918 "parser_cocci_menhir.ml" +# 19146 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_list_TMul_ = # 116 "standard.mly" ( x :: xs ) -# 16925 "parser_cocci_menhir.ml" +# 19153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16938,7 +19166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 16942 "parser_cocci_menhir.ml" +# 19170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16968,7 +19196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 16972 "parser_cocci_menhir.ml" +# 19200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16985,7 +19213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 16989 "parser_cocci_menhir.ml" +# 19217 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17015,101 +19243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 17019 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_comma_decls_TEllipsis_decl__ = -# 114 "standard.mly" - ( [] ) -# 17036 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in - let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_comma_decls_TEllipsis_decl__ = -# 116 "standard.mly" - ( x :: xs ) -# 17066 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = -# 114 "standard.mly" - ( [] ) -# 17083 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in - let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = -# 116 "standard.mly" - ( x :: xs ) -# 17113 "parser_cocci_menhir.ml" +# 19247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17126,7 +19260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 17130 "parser_cocci_menhir.ml" +# 19264 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17156,7 +19290,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 17160 "parser_cocci_menhir.ml" +# 19294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17173,7 +19307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 17177 "parser_cocci_menhir.ml" +# 19311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17203,7 +19337,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 17207 "parser_cocci_menhir.ml" +# 19341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17217,10 +19351,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_dp_comma_args_TEllipsis__ = + let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 17224 "parser_cocci_menhir.ml" +# 19358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17243,14 +19377,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in - let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in + let xs : 'tv_list_incl_ = Obj.magic xs in + let x : 'tv_incl = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_dp_comma_args_TEllipsis__ = + let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 17254 "parser_cocci_menhir.ml" +# 19388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17264,10 +19398,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_incl_ = + let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 17271 "parser_cocci_menhir.ml" +# 19405 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17290,14 +19424,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_incl_ = Obj.magic xs in - let x : 'tv_incl = Obj.magic x in + let xs : 'tv_list_iso_ctype__ = Obj.magic xs in + let x : 'tv_iso_ctype_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_incl_ = + let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17301 "parser_cocci_menhir.ml" +# 19435 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17311,10 +19445,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_ctype__ = + let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 17318 "parser_cocci_menhir.ml" +# 19452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17337,14 +19471,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_ctype__ = Obj.magic xs in - let x : 'tv_iso_ctype_ = Obj.magic x in + let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in + let x : 'tv_iso_decl_var_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_ctype__ = + let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 17348 "parser_cocci_menhir.ml" +# 19482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17358,10 +19492,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_decl_var__ = + let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 17365 "parser_cocci_menhir.ml" +# 19499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17384,14 +19518,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in - let x : 'tv_iso_decl_var_ = Obj.magic x in + let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in + let x : 'tv_iso_eexpr_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_decl_var__ = + let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17395 "parser_cocci_menhir.ml" +# 19529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17405,10 +19539,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_eexpr__ = + let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 17412 "parser_cocci_menhir.ml" +# 19546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17431,14 +19565,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in - let x : 'tv_iso_eexpr_ = Obj.magic x in + let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in + let x : 'tv_iso_nest_start_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_eexpr__ = + let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 17442 "parser_cocci_menhir.ml" +# 19576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17452,10 +19586,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_nest_start__ = + let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 17459 "parser_cocci_menhir.ml" +# 19593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17478,14 +19612,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in - let x : 'tv_iso_nest_start_ = Obj.magic x in + let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in + let x : 'tv_iso_single_statement_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_nest_start__ = + let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17489 "parser_cocci_menhir.ml" +# 19623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17499,10 +19633,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_single_statement__ = + let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 17506 "parser_cocci_menhir.ml" +# 19640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17525,14 +19659,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in - let x : 'tv_iso_single_statement_ = Obj.magic x in + let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in + let x : 'tv_mzl_ctype_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_single_statement__ = + let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17536 "parser_cocci_menhir.ml" +# 19670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17546,10 +19680,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_mzl_ctype__ = + let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 17553 "parser_cocci_menhir.ml" +# 19687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17572,14 +19706,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in - let x : 'tv_mzl_ctype_ = Obj.magic x in + let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in + let x : 'tv_mzl_eexpr_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_ctype__ = + let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17583 "parser_cocci_menhir.ml" +# 19717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17593,10 +19727,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_mzl_eexpr__ = + let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 17600 "parser_cocci_menhir.ml" +# 19734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17619,14 +19753,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in - let x : 'tv_mzl_eexpr_ = Obj.magic x in + let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in + let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_eexpr__ = + let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 17630 "parser_cocci_menhir.ml" +# 19764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17640,10 +19774,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_mzl_fun_after_dots_or__ = + let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 17647 "parser_cocci_menhir.ml" +# 19781 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17666,14 +19800,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in - let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in + let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in + let x : 'tv_mzl_fun_start_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_fun_after_dots_or__ = + let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 17677 "parser_cocci_menhir.ml" +# 19811 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17687,10 +19821,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_mzl_fun_start__ = + let _v : 'tv_list_mzl_mctype__ = # 114 "standard.mly" ( [] ) -# 17694 "parser_cocci_menhir.ml" +# 19828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17713,14 +19847,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in - let x : 'tv_mzl_fun_start_ = Obj.magic x in + let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in + let x : 'tv_mzl_mctype_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_fun_start__ = + let _v : 'tv_list_mzl_mctype__ = # 116 "standard.mly" ( x :: xs ) -# 17724 "parser_cocci_menhir.ml" +# 19858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17737,7 +19871,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 17741 "parser_cocci_menhir.ml" +# 19875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17767,7 +19901,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17771 "parser_cocci_menhir.ml" +# 19905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17784,7 +19918,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 17788 "parser_cocci_menhir.ml" +# 19922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17814,7 +19948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17818 "parser_cocci_menhir.ml" +# 19952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17831,7 +19965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 17835 "parser_cocci_menhir.ml" +# 19969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17870,13 +20004,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 17874 "parser_cocci_menhir.ml" +# 20008 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 17880 "parser_cocci_menhir.ml" +# 20014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17893,7 +20027,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 17897 "parser_cocci_menhir.ml" +# 20031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17923,7 +20057,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 17927 "parser_cocci_menhir.ml" +# 20061 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_list_len = +# 400 "parser_cocci_menhir.mly" + ( Common.Left _1 ) +# 20085 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 154 "parser_cocci_menhir.mly" + (string * Data.clt) +# 20106 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_list_len = +# 401 "parser_cocci_menhir.mly" + ( let (x,clt) = _1 in Common.Right (int_of_string x) ) +# 20113 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17940,7 +20126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 17944 "parser_cocci_menhir.ml" +# 20130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17964,7 +20150,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 17968 "parser_cocci_menhir.ml" +# 20154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17981,7 +20167,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 17985 "parser_cocci_menhir.ml" +# 20171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18005,7 +20191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 18009 "parser_cocci_menhir.ml" +# 20195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18022,7 +20208,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 18026 "parser_cocci_menhir.ml" +# 20212 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18046,7 +20232,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 18050 "parser_cocci_menhir.ml" +# 20236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18063,7 +20249,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 18067 "parser_cocci_menhir.ml" +# 20253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18087,7 +20273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 18091 "parser_cocci_menhir.ml" +# 20277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18104,7 +20290,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 18108 "parser_cocci_menhir.ml" +# 20294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18128,7 +20314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 18132 "parser_cocci_menhir.ml" +# 20318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18145,7 +20331,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 18149 "parser_cocci_menhir.ml" +# 20335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18169,7 +20355,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 18173 "parser_cocci_menhir.ml" +# 20359 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 20380 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mctype = +# 685 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 20387 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_ctype = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mctype = +# 686 "parser_cocci_menhir.mly" + (_1) +# 20411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18191,9 +20429,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 513 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 18197 "parser_cocci_menhir.ml" +# 20435 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let t : 'tv_typedef_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos__3_ in + let _v : 'tv_meta_exp_type = +# 587 "parser_cocci_menhir.mly" + ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) +# 20467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18229,11 +20499,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 515 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 18237 "parser_cocci_menhir.ml" +# 20507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18262,16 +20532,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 18268 "parser_cocci_menhir.ml" +# 20538 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1472 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 18275 "parser_cocci_menhir.ml" +# 20545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18300,16 +20570,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 18306 "parser_cocci_menhir.ml" +# 20576 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1473 "parser_cocci_menhir.mly" +# 1640 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 18313 "parser_cocci_menhir.ml" +# 20583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18331,13 +20601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 180 "parser_cocci_menhir.mly" +# 226 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18337 "parser_cocci_menhir.ml" +# 20607 "parser_cocci_menhir.ml" ) = -# 204 "parser_cocci_menhir.mly" +# 250 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 18341 "parser_cocci_menhir.ml" +# 20611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18380,17 +20650,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 362 "parser_cocci_menhir.mly" +# 412 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in + !Data.add_meta_meta name pure; tok) ) +# 20658 "parser_cocci_menhir.ml" + + in + +# 341 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 20664 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 416 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaParamDecl(arity,name)) in !Data.add_param_meta name pure; tok) ) -# 18388 "parser_cocci_menhir.ml" +# 20711 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18394 "parser_cocci_menhir.ml" +# 20717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18437,17 +20760,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 366 "parser_cocci_menhir.mly" +# 420 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in - !Data.add_paramlist_meta name None pure; tok) ) -# 18445 "parser_cocci_menhir.ml" + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in + !Data.add_paramlist_meta name len pure; tok) ) +# 20769 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18451 "parser_cocci_menhir.ml" +# 20775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18494,17 +20818,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 370 "parser_cocci_menhir.mly" +# 425 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in - !Data.add_explist_meta name None pure; tok) ) -# 18502 "parser_cocci_menhir.ml" + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in + !Data.add_explist_meta name len pure; tok) ) +# 20827 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18508 "parser_cocci_menhir.ml" +# 20833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18547,17 +20872,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 374 "parser_cocci_menhir.mly" +# 430 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in !Data.add_type_meta name pure; tok) ) -# 18555 "parser_cocci_menhir.ml" +# 20880 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18561 "parser_cocci_menhir.ml" +# 20886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18600,17 +20925,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 378 "parser_cocci_menhir.mly" +# 434 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaInitDecl(arity,name)) in !Data.add_init_meta name pure; tok) ) -# 18608 "parser_cocci_menhir.ml" +# 20933 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18614 "parser_cocci_menhir.ml" +# 20939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18653,17 +20978,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 382 "parser_cocci_menhir.mly" +# 438 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmDecl(arity,name)) in !Data.add_stm_meta name pure; tok) ) -# 18661 "parser_cocci_menhir.ml" +# 20986 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18667 "parser_cocci_menhir.ml" +# 20992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18675,29 +21000,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.semv = ids; MenhirLib.EngineTypes.startp = _startpos_ids_; MenhirLib.EngineTypes.endp = _endpos_ids_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -18707,20 +21028,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in + let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 386 "parser_cocci_menhir.mly" +# 442 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in - !Data.add_stmlist_meta name pure; tok) ) -# 18718 "parser_cocci_menhir.ml" + let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in + !Data.add_decl_meta name pure; tok) ) +# 21039 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18724 "parser_cocci_menhir.ml" +# 21045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18763,76 +21084,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 390 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_type_name name; []) - else raise (Semantic_cocci.Semantic "bad typedef")) ) -# 18772 "parser_cocci_menhir.ml" - - in - -# 293 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18778 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 395 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_declarer_name name; []) - else raise (Semantic_cocci.Semantic "bad declarer")) ) -# 18830 "parser_cocci_menhir.ml" +# 446 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in + !Data.add_field_meta name pure; tok) ) +# 21092 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18836 "parser_cocci_menhir.ml" +# 21098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18879,63 +21141,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 400 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_iterator_name name; []) - else raise (Semantic_cocci.Semantic "bad iterator")) ) -# 18888 "parser_cocci_menhir.ml" +# 450 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in + !Data.add_stmlist_meta name pure; tok) ) +# 21149 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 341 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18894 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : 'tv_metadec = let kindfn = - -# 355 "parser_cocci_menhir.mly" - ( (fun name check_meta seed -> - let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in - !Data.add_fresh_id_meta name; tok) ) -# 18933 "parser_cocci_menhir.ml" - - in - -# 296 "parser_cocci_menhir.mly" - ( P.create_fresh_metadec kindfn ids ) -# 18939 "parser_cocci_menhir.ml" +# 21155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18971,38 +21187,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in let ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 407 "parser_cocci_menhir.mly" - ( - let idfn arity name pure check_meta constraints = - let tok = check_meta(Ast.MetaIdDecl(arity,name)) in - !Data.add_id_meta name constraints pure; tok in - let virtfn arity name pure check_meta virtual_env = - try - let vl = List.assoc name virtual_env in - !Data.add_virt_id_meta_found name vl; [] - with Not_found -> - let name = ("virtual",name) in - let tok = check_meta(Ast.MetaIdDecl(arity,name)) in - !Data.add_virt_id_meta_not_found name pure; tok in - (idfn,virtfn) ) -# 18996 "parser_cocci_menhir.ml" +# 454 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_type_name name; []) + else raise (Semantic_cocci.Semantic "bad typedef")) ) +# 21203 "parser_cocci_menhir.ml" in -# 302 "parser_cocci_menhir.mly" - ( let (normal,virt) = Common.partition_either (fun x -> x) ids in - let (idfn,virtfn) = kindfn in - function cr -> - (P.create_metadec_with_constraints ar ispure idfn normal cr) @ - (P.create_metadec_virt ar ispure virtfn virt cr) ) -# 19006 "parser_cocci_menhir.ml" +# 341 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19014,48 +21217,279 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.semv = ids; MenhirLib.EngineTypes.startp = _startpos_ids_; MenhirLib.EngineTypes.endp = _endpos_ids_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in let ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in + let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 423 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in - !Data.add_func_meta name constraints pure; tok) ) -# 19053 "parser_cocci_menhir.ml" +# 459 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_declarer_name name; []) + else raise (Semantic_cocci.Semantic "bad declarer")) ) +# 21261 "parser_cocci_menhir.ml" in -# 311 "parser_cocci_menhir.mly" - ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19059 "parser_cocci_menhir.ml" +# 341 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21267 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 464 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_iterator_name name; []) + else raise (Semantic_cocci.Semantic "bad iterator")) ) +# 21319 "parser_cocci_menhir.ml" + + in + +# 341 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21325 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_metadec = let kindfn = + +# 405 "parser_cocci_menhir.mly" + ( (fun name check_meta seed -> + let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in + !Data.add_fresh_id_meta name; tok) ) +# 21364 "parser_cocci_menhir.ml" + + in + +# 344 "parser_cocci_menhir.mly" + ( P.create_fresh_metadec kindfn ids ) +# 21370 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 471 "parser_cocci_menhir.mly" + ( + let idfn arity name pure check_meta constraints = + let tok = check_meta(Ast.MetaIdDecl(arity,name)) in + !Data.add_id_meta name constraints pure; tok in + let virtfn arity name pure check_meta virtual_env = + try + let vl = List.assoc name virtual_env in + !Data.add_virt_id_meta_found name vl; [] + with Not_found -> + Iteration.parsed_virtual_identifiers := + Common.union_set [name] + !Iteration.parsed_virtual_identifiers; + let name = ("virtual",name) in + let tok = check_meta(Ast.MetaIdDecl(arity,name)) in + !Data.add_virt_id_meta_not_found name pure; tok in + (idfn,virtfn) ) +# 21430 "parser_cocci_menhir.ml" + + in + +# 350 "parser_cocci_menhir.mly" + ( let (normal,virt) = Common.partition_either (fun x -> x) ids in + let (idfn,virtfn) = kindfn in + function cr -> + (P.create_metadec_with_constraints ar ispure idfn normal cr) @ + (P.create_metadec_virt ar ispure virtfn virt cr) ) +# 21440 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 490 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in + !Data.add_func_meta name constraints pure; tok) ) +# 21487 "parser_cocci_menhir.ml" + + in + +# 359 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 21493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19102,18 +21536,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 427 "parser_cocci_menhir.mly" +# 494 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in !Data.add_local_func_meta name constraints pure; tok) ) -# 19111 "parser_cocci_menhir.ml" +# 21545 "parser_cocci_menhir.ml" in -# 311 "parser_cocci_menhir.mly" +# 359 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19117 "parser_cocci_menhir.ml" +# 21551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19156,17 +21590,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 432 "parser_cocci_menhir.mly" +# 499 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in !Data.add_declarer_meta name constraints pure; tok) ) -# 19164 "parser_cocci_menhir.ml" +# 21598 "parser_cocci_menhir.ml" in -# 311 "parser_cocci_menhir.mly" +# 359 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19170 "parser_cocci_menhir.ml" +# 21604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19209,17 +21643,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 436 "parser_cocci_menhir.mly" +# 503 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in !Data.add_iterator_meta name constraints pure; tok) ) -# 19217 "parser_cocci_menhir.ml" +# 21651 "parser_cocci_menhir.ml" in -# 311 "parser_cocci_menhir.mly" +# 359 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19223 "parser_cocci_menhir.ml" +# 21657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19262,17 +21696,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 442 "parser_cocci_menhir.mly" +# 509 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaErrDecl(arity,name)) in !Data.add_err_meta name constraints pure; tok) ) -# 19270 "parser_cocci_menhir.ml" +# 21704 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19276 "parser_cocci_menhir.ml" +# 21710 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19325,11 +21759,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19329 "parser_cocci_menhir.ml" +# 21763 "parser_cocci_menhir.ml" in -# 446 "parser_cocci_menhir.mly" +# 513 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19338,13 +21772,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19342 "parser_cocci_menhir.ml" +# 21776 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19348 "parser_cocci_menhir.ml" +# 21782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19405,11 +21839,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19409 "parser_cocci_menhir.ml" +# 21843 "parser_cocci_menhir.ml" in -# 446 "parser_cocci_menhir.mly" +# 513 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19418,13 +21852,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19422 "parser_cocci_menhir.ml" +# 21856 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19428 "parser_cocci_menhir.ml" +# 21862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19481,7 +21915,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 455 "parser_cocci_menhir.mly" +# 522 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in match l with @@ -19491,13 +21925,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19495 "parser_cocci_menhir.ml" +# 21929 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19501 "parser_cocci_menhir.ml" +# 21935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19516,9 +21950,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ids_; MenhirLib.EngineTypes.endp = _endpos_ids_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = m0; - MenhirLib.EngineTypes.startp = _startpos_m0_; - MenhirLib.EngineTypes.endp = _endpos_m0_; + MenhirLib.EngineTypes.semv = ty0; + MenhirLib.EngineTypes.startp = _startpos_ty0_; + MenhirLib.EngineTypes.endp = _endpos_ty0_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.startp = _startpos__3_; MenhirLib.EngineTypes.endp = _endpos__3_; @@ -19539,91 +21973,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in - let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in + let ty0 : 'tv_expression_type = Obj.magic ty0 in let ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in let _startpos = _startpos_ar_ in let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = - let m = m0 in - -# 465 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in - let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in - !Data.add_exp_meta ty name constraints pure; tok) ) -# 19556 "parser_cocci_menhir.ml" - - in - -# 316 "parser_cocci_menhir.mly" - ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19562 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = vl0; - MenhirLib.EngineTypes.startp = _startpos_vl0_; - MenhirLib.EngineTypes.endp = _endpos_vl0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in - let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__7_ in - let _v : 'tv_metadec = let kindfn = - let vl = vl0 in + let ty = ty0 in -# 470 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> - let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in + let ty = Some [ty] in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19621 "parser_cocci_menhir.ml" +# 21990 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19627 "parser_cocci_menhir.ml" +# 21996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19669,21 +22038,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19673 "parser_cocci_menhir.ml" +# 22042 "parser_cocci_menhir.ml" in -# 475 "parser_cocci_menhir.mly" +# 537 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) -# 19681 "parser_cocci_menhir.ml" +# 22050 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19687 "parser_cocci_menhir.ml" +# 22056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19737,21 +22106,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19741 "parser_cocci_menhir.ml" +# 22110 "parser_cocci_menhir.ml" in -# 475 "parser_cocci_menhir.mly" +# 537 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) -# 19749 "parser_cocci_menhir.ml" +# 22118 "parser_cocci_menhir.ml" in -# 316 "parser_cocci_menhir.mly" +# 364 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19755 "parser_cocci_menhir.ml" +# 22124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19794,17 +22163,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 481 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in !Data.add_exp_meta None name constraints pure; tok) ) -# 19802 "parser_cocci_menhir.ml" +# 22171 "parser_cocci_menhir.ml" in -# 321 "parser_cocci_menhir.mly" +# 369 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19808 "parser_cocci_menhir.ml" +# 22177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19850,7 +22219,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 485 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -19875,13 +22244,1519 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19879 "parser_cocci_menhir.ml" +# 22248 "parser_cocci_menhir.ml" in -# 321 "parser_cocci_menhir.mly" +# 369 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19885 "parser_cocci_menhir.ml" +# 22254 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in + let a : 'tv_option_TPosAny_ = Obj.magic a in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = +# 375 "parser_cocci_menhir.mly" + ( (if !Data.in_generating + then failwith "position variables not allowed in a generated rule file"); + let kindfn arity name pure check_meta constraints = + let tok = check_meta(Ast.MetaPosDecl(arity,name)) in + let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in + !Data.add_pos_meta name constraints any; tok in + P.create_metadec_with_constraints ar false kindfn ids ) +# 22304 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 385 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in + !Data.add_paramlist_meta name lenname pure; tok) + len ids ) +# 22370 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 393 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in + !Data.add_explist_meta name lenname pure; tok) + len ids ) +# 22436 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_pure_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1875 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 22460 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 22481 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1876 "parser_cocci_menhir.mly" + ( tmeta_to_ident _1 ) +# 22488 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 22509 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1878 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 22517 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_ctype__ = Obj.magic b in + let a : 'tv_ctype = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_ctype_ctype_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22547 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_eexpr__ = Obj.magic b in + let a : 'tv_eexpr = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_eexpr_eexpr_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22577 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_eexpr__ = Obj.magic b in + let a : 'tv_expr = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_expr_eexpr_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22607 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in + let a : 'tv_fun_after_stm = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22637 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_fun_start__ = Obj.magic b in + let a : 'tv_fun_start = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_fun_start_fun_start_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22667 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_mctype__ = Obj.magic b in + let a : 'tv_mctype = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_mctype_mctype_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22697 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in + let a : 'tv_rule_elem_statement = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22727 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_statement__ = Obj.magic b in + let a : 'tv_statement = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_statement_statement_ = +# 2191 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 22757 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = f; + MenhirLib.EngineTypes.startp = _startpos_f_; + MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_loption_minus_start_ = Obj.magic b in + let f : 'tv_loption_filespec_ = Obj.magic f in + let _startpos = _startpos_f_ in + let _endpos = _endpos_b_ in + let _v : 'tv_minus_body = +# 787 "parser_cocci_menhir.mly" + ( match f@b(*@ew*) with + [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") + | code -> Top_level.top_level code ) +# 22789 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = f; + MenhirLib.EngineTypes.startp = _startpos_f_; + MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_top_eexpr = Obj.magic b in + let f : 'tv_loption_filespec_ = Obj.magic f in + let _startpos = _startpos_f_ in + let _endpos = _endpos_b_ in + let _v : 'tv_minus_exp_body = +# 801 "parser_cocci_menhir.mly" + ( match f@[b](*@ew*) with + [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") + | code -> Top_level.top_level code ) +# 22821 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _1 : 'tv_minus_exp_body = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 206 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 22849 "parser_cocci_menhir.ml" + ) = +# 246 "parser_cocci_menhir.mly" + ( _1 ) +# 22853 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_minus_exp_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 206 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 22881 "parser_cocci_menhir.ml" + ) = +# 246 "parser_cocci_menhir.mly" + ( m ) +# 22885 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_minus_exp_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 206 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 22913 "parser_cocci_menhir.ml" + ) = +# 247 "parser_cocci_menhir.mly" + ( m ) +# 22917 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _1 : 'tv_minus_body = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 203 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 22945 "parser_cocci_menhir.ml" + ) = +# 242 "parser_cocci_menhir.mly" + ( _1 ) +# 22949 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_minus_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 203 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 22977 "parser_cocci_menhir.ml" + ) = +# 242 "parser_cocci_menhir.mly" + ( m ) +# 22981 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_minus_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 203 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23009 "parser_cocci_menhir.ml" + ) = +# 243 "parser_cocci_menhir.mly" + ( m ) +# 23013 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_fundecl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2016 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.DECL(_1))] ) +# 23037 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_ctype = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2017 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) +# 23061 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_top_init = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2018 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) +# 23085 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2020 "parser_cocci_menhir.mly" + ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) +# 23109 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_ctype = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23136 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_ctype_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23143 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_eexpr = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23170 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_eexpr_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23177 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_fun_after_dots_or = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23204 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_fun_after_dots_or_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23211 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_fun_start = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23238 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_fun_start_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23245 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_mctype = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23272 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_mctype_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23279 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_rule_elem_statement = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23306 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_rule_elem_statement_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23313 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_statement = Obj.magic b in + let a : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23340 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_statement_ = +# 2194 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23347 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_name_opt_decl = +# 1009 "parser_cocci_menhir.mly" + ( _1 ) +# 23371 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let rp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23422 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp1 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 23428 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23433 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let s : ( +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 23438 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 23443 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_rp1_ in + let _v : 'tv_name_opt_decl = +# 1012 "parser_cocci_menhir.mly" + ( let fnptr = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, + P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in + Ast0.wrap(Ast0.Param(fnptr, None)) ) +# 23456 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2136 "parser_cocci_menhir.mly" + (_1@_2) +# 23486 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2137 "parser_cocci_menhir.mly" + (_2) +# 23514 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _1 : 'tv_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2138 "parser_cocci_menhir.mly" + ((Ast0.wrap(Ast0.Exp(_1)))::_2) +# 23544 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_nest_after_exp = +# 2146 "parser_cocci_menhir.mly" + ([]) +# 23561 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_exp = +# 2147 "parser_cocci_menhir.mly" + (_1::_2) +# 23591 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_nest_after_stm = +# 2141 "parser_cocci_menhir.mly" + ([]) +# 23608 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_stm = +# 2142 "parser_cocci_menhir.mly" + (_1::_2) +# 23638 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nest_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_stm = +# 2143 "parser_cocci_menhir.mly" + (_1@_2) +# 23668 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let c : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 23699 "parser_cocci_menhir.ml" + ) = Obj.magic c in + let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in + let _1 : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 23705 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos_c_ in + let _v : 'tv_nest_expressions = +# 1383 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, + Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), + P.clt2mcode "...>" c, None, false)) ) +# 23714 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let c : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 23745 "parser_cocci_menhir.ml" + ) = Obj.magic c in + let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in + let _1 : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 23751 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos_c_ in + let _v : 'tv_nest_expressions = +# 1387 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, + Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), + P.clt2mcode "...+>" c, None, true)) ) +# 23760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19893,45 +23768,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in - let a : 'tv_option_TPosAny_ = Obj.magic a in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = -# 327 "parser_cocci_menhir.mly" - ( (if !Data.in_generating - then failwith "position variables not allowed in a generated rule file"); - let kindfn arity name pure check_meta constraints = - let tok = check_meta(Ast.MetaPosDecl(arity,name)) in - let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in - !Data.add_pos_meta name constraints any; tok in - P.create_metadec_with_constraints ar false kindfn ids ) -# 19935 "parser_cocci_menhir.ml" + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 23781 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nest_expressions = +# 1390 "parser_cocci_menhir.mly" + ( tmeta_to_exp _1 ) +# 23788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19943,62 +23796,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__9_; - MenhirLib.EngineTypes.endp = _endpos__9_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__9_ in - let _v : 'tv_metadec = -# 337 "parser_cocci_menhir.mly" - ( P.create_len_metadec ar ispure - (fun lenname arity name pure check_meta -> - let tok = - check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in - !Data.add_paramlist_meta name (Some lenname) pure; tok) - id ids ) -# 20002 "parser_cocci_menhir.ml" + let _1 : 'tv_nest_after_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nest_start = +# 2133 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1)) ) +# 23812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20010,62 +23820,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__9_; - MenhirLib.EngineTypes.endp = _endpos__9_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__9_ in - let _v : 'tv_metadec = -# 346 "parser_cocci_menhir.mly" - ( P.create_len_metadec ar ispure - (fun lenname arity name pure check_meta -> - let tok = - check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in - !Data.add_explist_meta name (Some lenname) pure; tok) - id ids ) -# 20069 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : ( +# 237 "parser_cocci_menhir.mly" + (unit) +# 23834 "parser_cocci_menhir.ml" + ) = +# 2261 "parser_cocci_menhir.mly" + ( () ) +# 23838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20077,25 +23846,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_ctype__ = Obj.magic b in - let a : 'tv_ctype = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_ctype_ctype_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20099 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 237 "parser_cocci_menhir.mly" + (unit) +# 23864 "parser_cocci_menhir.ml" + ) = +# 2262 "parser_cocci_menhir.mly" + ( () ) +# 23868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20107,25 +23876,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_eexpr__ = Obj.magic b in - let a : 'tv_eexpr = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20129 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : ( +# 237 "parser_cocci_menhir.mly" + (unit) +# 23890 "parser_cocci_menhir.ml" + ) = +# 2263 "parser_cocci_menhir.mly" + ( () ) +# 23894 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20137,25 +23902,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = dg; + MenhirLib.EngineTypes.startp = _startpos_dg_; + MenhirLib.EngineTypes.endp = _endpos_dg_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = g; + MenhirLib.EngineTypes.startp = _startpos_g_; + MenhirLib.EngineTypes.endp = _endpos_g_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_eexpr__ = Obj.magic b in - let a : 'tv_expr = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_expr_eexpr_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20159 "parser_cocci_menhir.ml" + let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in + let g : 'tv_dexpr = Obj.magic g in + let _startpos = _startpos_g_ in + let _endpos = _endpos_dg_ in + let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = +# 1606 "parser_cocci_menhir.mly" + ( function dot_builder -> + g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) +# 23925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20167,25 +23933,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in - let a : 'tv_fun_after_stm = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20189 "parser_cocci_menhir.ml" + let x : ( +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 23946 "parser_cocci_menhir.ml" + ) = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_nonempty_list_TMul_ = +# 124 "standard.mly" + ( [ x ] ) +# 23953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20197,25 +23961,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_fun_start__ = Obj.magic b in - let a : 'tv_fun_start = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20219 "parser_cocci_menhir.ml" + let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in + let x : ( +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 23980 "parser_cocci_menhir.ml" + ) = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_nonempty_list_TMul_ = +# 126 "standard.mly" + ( x :: xs ) +# 23987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20227,25 +23995,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in - let a : 'tv_rule_elem_statement = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20249 "parser_cocci_menhir.ml" + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24011 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20257,25 +24019,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_statement__ = Obj.magic b in - let a : 'tv_statement = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_statement_statement_ = -# 1988 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20279 "parser_cocci_menhir.ml" + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24037 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24046 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20287,27 +24054,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = f; - MenhirLib.EngineTypes.startp = _startpos_f_; - MenhirLib.EngineTypes.endp = _endpos_f_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_loption_minus_start_ = Obj.magic b in - let f : 'tv_loption_filespec_ = Obj.magic f in - let _startpos = _startpos_f_ in - let _endpos = _endpos_b_ in - let _v : 'tv_minus_body = -# 657 "parser_cocci_menhir.mly" - ( match f@b(*@ew*) with - [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") - | code -> Top_level.top_level code ) -# 20311 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24078 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20319,27 +24096,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = f; - MenhirLib.EngineTypes.startp = _startpos_f_; - MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_top_eexpr = Obj.magic b in - let f : 'tv_loption_filespec_ = Obj.magic f in - let _startpos = _startpos_f_ in - let _endpos = _endpos_b_ in - let _v : 'tv_minus_exp_body = -# 671 "parser_cocci_menhir.mly" - ( match f@[b](*@ew*) with - [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") - | code -> Top_level.top_level code ) -# 20343 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 24116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20351,27 +24124,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_minus_exp_body = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : ( -# 160 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20371 "parser_cocci_menhir.ml" - ) = -# 200 "parser_cocci_menhir.mly" - ( _1 ) -# 20375 "parser_cocci_menhir.ml" + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24137 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20383,27 +24152,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_minus_exp_body = Obj.magic m in - let _startpos = _startpos_m_ in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24170 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24175 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in - let _v : ( -# 160 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20403 "parser_cocci_menhir.ml" - ) = -# 200 "parser_cocci_menhir.mly" - ( m ) -# 20407 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24183 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20415,27 +24191,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let m : 'tv_minus_exp_body = Obj.magic m in - let _startpos = _startpos_m_ in - let _endpos = _endpos__2_ in - let _v : ( -# 160 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20435 "parser_cocci_menhir.ml" - ) = -# 201 "parser_cocci_menhir.mly" - ( m ) -# 20439 "parser_cocci_menhir.ml" + let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24215 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24220 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24230 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24254 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20447,6 +24262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { @@ -20457,17 +24273,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _1 : 'tv_minus_body = Obj.magic _1 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24280 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 157 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20467 "parser_cocci_menhir.ml" - ) = -# 196 "parser_cocci_menhir.mly" - ( _1 ) -# 20471 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24289 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20479,27 +24297,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let m : 'tv_minus_body = Obj.magic m in - let _startpos = _startpos_m_ in - let _endpos = _endpos__2_ in - let _v : ( -# 157 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20499 "parser_cocci_menhir.ml" - ) = -# 196 "parser_cocci_menhir.mly" - ( m ) -# 20503 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24321 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20511,27 +24339,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_minus_body = Obj.magic m in - let _startpos = _startpos_m_ in + let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 157 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20531 "parser_cocci_menhir.ml" - ) = -# 197 "parser_cocci_menhir.mly" - ( m ) -# 20535 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 24359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20544,18 +24368,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_fundecl = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1797 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.DECL(_1))] ) -# 20559 "parser_cocci_menhir.ml" + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24380 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20567,19 +24395,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_ctype = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1798 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 20583 "parser_cocci_menhir.ml" + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24413 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24418 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20591,19 +24434,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_top_init = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1799 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 20607 "parser_cocci_menhir.ml" + let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24458 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 24463 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20621,13 +24487,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1801 "parser_cocci_menhir.mly" - ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 20631 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20639,29 +24505,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_ctype = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 20658 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_ctype_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20665 "parser_cocci_menhir.ml" +# 24523 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20673,29 +24540,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_eexpr = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" + let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 20692 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_eexpr_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20699 "parser_cocci_menhir.ml" +# 24564 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20707,29 +24582,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_fun_after_dots_or = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 20726 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_fun_after_dots_or_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20733 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 24602 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20741,29 +24610,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_fun_start = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 20760 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_fun_start_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20767 "parser_cocci_menhir.ml" + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20775,29 +24634,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_rule_elem_statement = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 20794 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_rule_elem_statement_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20801 "parser_cocci_menhir.ml" +# 24652 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20809,29 +24669,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_statement = Obj.magic b in - let a : ( -# 100 "parser_cocci_menhir.mly" + let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 20828 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_statement_ = -# 1991 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20835 "parser_cocci_menhir.ml" +# 24693 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20849,98 +24718,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_decl = Obj.magic _1 in + let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_name_opt_decl = -# 882 "parser_cocci_menhir.mly" - ( _1 ) -# 20859 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - } = _menhir_stack in - let rp1 : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 20910 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp1 : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 20916 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let rp : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 20921 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let s : ( -# 122 "parser_cocci_menhir.mly" - (Data.clt) -# 20926 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let lp : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 20931 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_rp1_ in - let _v : 'tv_name_opt_decl = -# 885 "parser_cocci_menhir.mly" - ( let fnptr = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, - P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in - Ast0.wrap(Ast0.Param(fnptr, None)) ) -# 20944 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20963,14 +24747,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24754 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1912 "parser_cocci_menhir.mly" - (_1@_2) -# 20974 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20982,23 +24771,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24795 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1913 "parser_cocci_menhir.mly" - (_2) -# 21002 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21015,20 +24818,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_exp = Obj.magic _2 in - let _1 : 'tv_expr = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1914 "parser_cocci_menhir.mly" - ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 21032 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 24833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21039,13 +24840,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_nest_after_exp = -# 1922 "parser_cocci_menhir.mly" - ([]) -# 21049 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21062,20 +24870,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in - let _startpos = _startpos__1_ in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24883 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_exp = -# 1923 "parser_cocci_menhir.mly" - (_1::_2) -# 21079 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24892 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21086,13 +24899,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_nest_after_stm = -# 1917 "parser_cocci_menhir.mly" - ([]) -# 21096 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24924 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21104,25 +24943,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_nest_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_stm = -# 1918 "parser_cocci_menhir.mly" - (_1::_2) -# 21126 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24959 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21145,14 +24978,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement = Obj.magic _1 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 24985 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_stm = -# 1919 "parser_cocci_menhir.mly" - (_1@_2) -# 21156 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21164,13 +25002,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = _1; @@ -21180,25 +25018,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let c : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 21187 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in - let _1 : ( -# 96 "parser_cocci_menhir.mly" + let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 21193 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in +# 25026 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos_c_ in - let _v : 'tv_nest_expressions = -# 1271 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, - Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), - P.clt2mcode "...>" c, None, false)) ) -# 21202 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21210,41 +25044,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let c : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 21233 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in - let _1 : ( -# 96 "parser_cocci_menhir.mly" - (Data.clt) -# 21239 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos_c_ in - let _v : 'tv_nest_expressions = -# 1275 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, - Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), - P.clt2mcode "...+>" c, None, true)) ) -# 21248 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 25064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21257,18 +25073,108 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_nest_after_dots = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_nest_start = -# 1909 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 21272 "parser_cocci_menhir.ml" + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 25085 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25092 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 25118 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 25123 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25131 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 25163 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 25168 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21281,20 +25187,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : ( -# 191 "parser_cocci_menhir.mly" - (unit) -# 21294 "parser_cocci_menhir.ml" - ) = -# 2058 "parser_cocci_menhir.mly" - ( () ) -# 21298 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1943 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 25202 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21306,25 +25210,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 25228 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 191 "parser_cocci_menhir.mly" - (unit) -# 21324 "parser_cocci_menhir.ml" - ) = -# 2059 "parser_cocci_menhir.mly" - ( () ) -# 21328 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1945 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21336,21 +25245,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 25269 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : ( -# 191 "parser_cocci_menhir.mly" - (unit) -# 21350 "parser_cocci_menhir.ml" - ) = -# 2060 "parser_cocci_menhir.mly" - ( () ) -# 21354 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1948 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21362,26 +25287,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = dg; - MenhirLib.EngineTypes.startp = _startpos_dg_; - MenhirLib.EngineTypes.endp = _endpos_dg_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = g; - MenhirLib.EngineTypes.startp = _startpos_g_; - MenhirLib.EngineTypes.endp = _endpos_g_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in - let g : 'tv_dexpr = Obj.magic g in - let _startpos = _startpos_g_ in - let _endpos = _endpos_dg_ in - let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1439 "parser_cocci_menhir.mly" - ( function dot_builder -> - g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 21385 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1951 "parser_cocci_menhir.mly" + ( _2 ) +# 25307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21394,22 +25316,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : ( -# 122 "parser_cocci_menhir.mly" + let d : ( +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 21406 "parser_cocci_menhir.ml" - ) = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_nonempty_list_TMul_ = -# 124 "standard.mly" - ( [ x ] ) -# 21413 "parser_cocci_menhir.ml" +# 25328 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1952 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21421,29 +25343,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in - let x : ( -# 122 "parser_cocci_menhir.mly" + let _2 : ( +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 21440 "parser_cocci_menhir.ml" - ) = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_nonempty_list_TMul_ = -# 126 "standard.mly" - ( x :: xs ) -# 21447 "parser_cocci_menhir.ml" +# 25361 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 25366 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1954 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25374 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in + let _2 : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 25406 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 140 "parser_cocci_menhir.mly" + (Data.clt) +# 25411 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1957 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25421 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21469,13 +25443,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1612 "parser_cocci_menhir.mly" +# 1787 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); [i] ) -# 21479 "parser_cocci_menhir.ml" +# 25453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21509,13 +25483,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1618 "parser_cocci_menhir.mly" +# 1793 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); l ) -# 21519 "parser_cocci_menhir.ml" +# 25493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21537,9 +25511,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1588 "parser_cocci_menhir.mly" +# 1763 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) -# 21543 "parser_cocci_menhir.ml" +# 25517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21561,9 +25535,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1589 "parser_cocci_menhir.mly" +# 1764 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 21567 "parser_cocci_menhir.ml" +# 25541 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21589,14 +25563,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1593 "parser_cocci_menhir.mly" +# 1768 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))] ) -# 21600 "parser_cocci_menhir.ml" +# 25574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21630,7 +25604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1600 "parser_cocci_menhir.mly" +# 1775 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21640,7 +25614,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 21644 "parser_cocci_menhir.ml" +# 25618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21666,7 +25640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1550 "parser_cocci_menhir.mly" +# 1725 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21680,7 +25654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in Ast.IdNegIdSet([],[i]) | (None,i) -> Ast.IdNegIdSet([i],[])) ) -# 21684 "parser_cocci_menhir.ml" +# 25658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21714,7 +25688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1564 "parser_cocci_menhir.mly" +# 1739 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21732,7 +25706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ([],[]) l in Ast.IdNegIdSet(str,meta) ) -# 21736 "parser_cocci_menhir.ml" +# 25710 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21758,7 +25732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1656 "parser_cocci_menhir.mly" +# 1831 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21767,7 +25741,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in [i] ) -# 21771 "parser_cocci_menhir.ml" +# 25745 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21801,7 +25775,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1665 "parser_cocci_menhir.mly" +# 1840 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21811,7 +25785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv))) l ) -# 21815 "parser_cocci_menhir.ml" +# 25789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21833,9 +25807,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1735 "parser_cocci_menhir.mly" +# 1918 "parser_cocci_menhir.mly" ( _1 ) -# 21839 "parser_cocci_menhir.ml" +# 25813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21854,22 +25828,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21860 "parser_cocci_menhir.ml" +# 25834 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1737 "parser_cocci_menhir.mly" +# 1920 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in - let lenname = - match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + let lenname = + match lenname with + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21873 "parser_cocci_menhir.ml" +# 25848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21891,9 +25866,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1735 "parser_cocci_menhir.mly" +# 1918 "parser_cocci_menhir.mly" ( _1 ) -# 21897 "parser_cocci_menhir.ml" +# 25872 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21912,22 +25887,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21918 "parser_cocci_menhir.ml" +# 25893 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1737 "parser_cocci_menhir.mly" +# 1920 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in - let lenname = - match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + let lenname = + match lenname with + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21931 "parser_cocci_menhir.ml" +# 25907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21951,17 +25927,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 21957 "parser_cocci_menhir.ml" +# 25933 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = -# 1060 "parser_cocci_menhir.mly" +# 1189 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 21965 "parser_cocci_menhir.ml" +# 25941 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 25962 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_one_decl_var = +# 1190 "parser_cocci_menhir.mly" + ( P.meta_decl _1 ) +# 25969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21990,9 +25994,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 21996 "parser_cocci_menhir.ml" +# 26000 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22002,14 +26006,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22006 "parser_cocci_menhir.ml" +# 26010 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1192 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22013 "parser_cocci_menhir.ml" +# 26017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22043,9 +26047,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22049 "parser_cocci_menhir.ml" +# 26053 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22057,14 +26061,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22061 "parser_cocci_menhir.ml" +# 26065 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1192 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22068 "parser_cocci_menhir.ml" +# 26072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22086,9 +26090,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1064 "parser_cocci_menhir.mly" +# 1194 "parser_cocci_menhir.mly" ( f ) -# 22092 "parser_cocci_menhir.ml" +# 26096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22127,15 +26131,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22133 "parser_cocci_menhir.ml" +# 26137 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22139 "parser_cocci_menhir.ml" +# 26143 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22145,14 +26149,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22149 "parser_cocci_menhir.ml" +# 26153 "parser_cocci_menhir.ml" in -# 1066 "parser_cocci_menhir.mly" +# 1196 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22156 "parser_cocci_menhir.ml" +# 26160 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22196,15 +26200,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22202 "parser_cocci_menhir.ml" +# 26206 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22208 "parser_cocci_menhir.ml" +# 26212 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22216,14 +26220,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22220 "parser_cocci_menhir.ml" +# 26224 "parser_cocci_menhir.ml" in -# 1066 "parser_cocci_menhir.mly" +# 1196 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22227 "parser_cocci_menhir.ml" +# 26231 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22252,9 +26256,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22258 "parser_cocci_menhir.ml" +# 26262 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22264,22 +26268,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22268 "parser_cocci_menhir.ml" +# 26272 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22275 "parser_cocci_menhir.ml" +# 26279 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1201 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22283 "parser_cocci_menhir.ml" +# 26287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22313,9 +26317,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22319 "parser_cocci_menhir.ml" +# 26323 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22327,22 +26331,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22331 "parser_cocci_menhir.ml" +# 26335 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22338 "parser_cocci_menhir.ml" +# 26342 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1201 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22346 "parser_cocci_menhir.ml" +# 26350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22376,9 +26380,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22382 "parser_cocci_menhir.ml" +# 26386 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22389,7 +26393,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22393 "parser_cocci_menhir.ml" +# 26397 "parser_cocci_menhir.ml" in let s = @@ -22397,15 +26401,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22401 "parser_cocci_menhir.ml" +# 26405 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1201 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22409 "parser_cocci_menhir.ml" +# 26413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22444,9 +26448,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22450 "parser_cocci_menhir.ml" +# 26454 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22459,7 +26463,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22463 "parser_cocci_menhir.ml" +# 26467 "parser_cocci_menhir.ml" in let s = @@ -22467,15 +26471,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22471 "parser_cocci_menhir.ml" +# 26475 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1201 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22479 "parser_cocci_menhir.ml" +# 26483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22514,15 +26518,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22520 "parser_cocci_menhir.ml" +# 26524 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22526 "parser_cocci_menhir.ml" +# 26530 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22532,24 +26536,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22536 "parser_cocci_menhir.ml" +# 26540 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22543 "parser_cocci_menhir.ml" +# 26547 "parser_cocci_menhir.ml" in -# 1076 "parser_cocci_menhir.mly" +# 1206 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22553 "parser_cocci_menhir.ml" +# 26557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22593,15 +26597,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22599 "parser_cocci_menhir.ml" +# 26603 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22605 "parser_cocci_menhir.ml" +# 26609 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22613,24 +26617,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22617 "parser_cocci_menhir.ml" +# 26621 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22624 "parser_cocci_menhir.ml" +# 26628 "parser_cocci_menhir.ml" in -# 1076 "parser_cocci_menhir.mly" +# 1206 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22634 "parser_cocci_menhir.ml" +# 26638 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22674,15 +26678,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22680 "parser_cocci_menhir.ml" +# 26684 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22686 "parser_cocci_menhir.ml" +# 26690 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22693,7 +26697,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22697 "parser_cocci_menhir.ml" +# 26701 "parser_cocci_menhir.ml" in let s = @@ -22701,17 +26705,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22705 "parser_cocci_menhir.ml" +# 26709 "parser_cocci_menhir.ml" in -# 1076 "parser_cocci_menhir.mly" +# 1206 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22715 "parser_cocci_menhir.ml" +# 26719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22760,15 +26764,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22766 "parser_cocci_menhir.ml" +# 26770 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22772 "parser_cocci_menhir.ml" +# 26776 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22781,7 +26785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22785 "parser_cocci_menhir.ml" +# 26789 "parser_cocci_menhir.ml" in let s = @@ -22789,17 +26793,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22793 "parser_cocci_menhir.ml" +# 26797 "parser_cocci_menhir.ml" in -# 1076 "parser_cocci_menhir.mly" +# 1206 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22803 "parser_cocci_menhir.ml" +# 26807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22858,36 +26862,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22864 "parser_cocci_menhir.ml" +# 26868 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22869 "parser_cocci_menhir.ml" +# 26873 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 22875 "parser_cocci_menhir.ml" +# 26879 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22880 "parser_cocci_menhir.ml" +# 26884 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 22886 "parser_cocci_menhir.ml" +# 26890 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 22891 "parser_cocci_menhir.ml" +# 26895 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -22896,11 +26900,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22900 "parser_cocci_menhir.ml" +# 26904 "parser_cocci_menhir.ml" in -# 1086 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22908,7 +26912,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22912 "parser_cocci_menhir.ml" +# 26916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22972,36 +26976,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 22978 "parser_cocci_menhir.ml" +# 26982 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22983 "parser_cocci_menhir.ml" +# 26987 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 22989 "parser_cocci_menhir.ml" +# 26993 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22994 "parser_cocci_menhir.ml" +# 26998 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 23000 "parser_cocci_menhir.ml" +# 27004 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23005 "parser_cocci_menhir.ml" +# 27009 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23012,11 +27016,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23016 "parser_cocci_menhir.ml" +# 27020 "parser_cocci_menhir.ml" in -# 1086 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23024,7 +27028,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 23028 "parser_cocci_menhir.ml" +# 27032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23063,29 +27067,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 23069 "parser_cocci_menhir.ml" +# 27073 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23074 "parser_cocci_menhir.ml" +# 27078 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23080 "parser_cocci_menhir.ml" +# 27084 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1094 "parser_cocci_menhir.mly" +# 1224 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 23089 "parser_cocci_menhir.ml" +# 27093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23154,42 +27158,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 23160 "parser_cocci_menhir.ml" +# 27164 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 23166 "parser_cocci_menhir.ml" +# 27170 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23171 "parser_cocci_menhir.ml" +# 27175 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23177 "parser_cocci_menhir.ml" +# 27181 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23182 "parser_cocci_menhir.ml" +# 27186 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 23188 "parser_cocci_menhir.ml" +# 27192 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23193 "parser_cocci_menhir.ml" +# 27197 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -23198,11 +27202,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23202 "parser_cocci_menhir.ml" +# 27206 "parser_cocci_menhir.ml" in -# 1100 "parser_cocci_menhir.mly" +# 1230 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23210,7 +27214,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23214 "parser_cocci_menhir.ml" +# 27218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23284,42 +27288,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 23290 "parser_cocci_menhir.ml" +# 27294 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 23296 "parser_cocci_menhir.ml" +# 27300 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23301 "parser_cocci_menhir.ml" +# 27305 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23307 "parser_cocci_menhir.ml" +# 27311 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23312 "parser_cocci_menhir.ml" +# 27316 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 23318 "parser_cocci_menhir.ml" +# 27322 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 23323 "parser_cocci_menhir.ml" +# 27327 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23330,11 +27334,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23334 "parser_cocci_menhir.ml" +# 27338 "parser_cocci_menhir.ml" in -# 1100 "parser_cocci_menhir.mly" +# 1230 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23342,7 +27346,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23346 "parser_cocci_menhir.ml" +# 27350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23359,7 +27363,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 23363 "parser_cocci_menhir.ml" +# 27367 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23383,7 +27387,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 23387 "parser_cocci_menhir.ml" +# 27391 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23400,7 +27404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 23404 "parser_cocci_menhir.ml" +# 27408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23424,7 +27428,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 23428 "parser_cocci_menhir.ml" +# 27432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23441,7 +27445,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 23445 "parser_cocci_menhir.ml" +# 27449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23465,7 +27469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 23469 "parser_cocci_menhir.ml" +# 27473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23482,7 +27486,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 29 "standard.mly" ( None ) -# 23486 "parser_cocci_menhir.ml" +# 27490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23506,7 +27510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 31 "standard.mly" ( Some x ) -# 23510 "parser_cocci_menhir.ml" +# 27514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23523,7 +27527,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 29 "standard.mly" ( None ) -# 23527 "parser_cocci_menhir.ml" +# 27531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23547,7 +27551,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 31 "standard.mly" ( Some x ) -# 23551 "parser_cocci_menhir.ml" +# 27555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23564,7 +27568,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 23568 "parser_cocci_menhir.ml" +# 27572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23588,7 +27592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 23592 "parser_cocci_menhir.ml" +# 27596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23603,9 +27607,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 1859 "parser_cocci_menhir.mly" +# 2083 "parser_cocci_menhir.mly" ([]) -# 23609 "parser_cocci_menhir.ml" +# 27613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23631,9 +27635,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1860 "parser_cocci_menhir.mly" +# 2084 "parser_cocci_menhir.mly" (_2) -# 23637 "parser_cocci_menhir.ml" +# 27641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23661,9 +27665,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1862 "parser_cocci_menhir.mly" +# 2086 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23667 "parser_cocci_menhir.ml" +# 27671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23691,9 +27695,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1863 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23697 "parser_cocci_menhir.ml" +# 27701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23721,9 +27725,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1865 "parser_cocci_menhir.mly" +# 2089 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23727 "parser_cocci_menhir.ml" +# 27731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23738,9 +27742,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 1855 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ([]) -# 23744 "parser_cocci_menhir.ml" +# 27748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23768,9 +27772,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1856 "parser_cocci_menhir.mly" +# 2080 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23774 "parser_cocci_menhir.ml" +# 27778 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23785,9 +27789,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 1868 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ([]) -# 23791 "parser_cocci_menhir.ml" +# 27795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23815,9 +27819,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1869 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23821 "parser_cocci_menhir.ml" +# 27825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23845,9 +27849,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1870 "parser_cocci_menhir.mly" +# 2094 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23851 "parser_cocci_menhir.ml" +# 27855 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23875,9 +27879,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1872 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23881 "parser_cocci_menhir.ml" +# 27885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23905,9 +27909,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 665 "parser_cocci_menhir.mly" +# 795 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 23911 "parser_cocci_menhir.ml" +# 27915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23935,9 +27939,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 679 "parser_cocci_menhir.mly" +# 809 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 23941 "parser_cocci_menhir.ml" +# 27945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23963,13 +27967,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 166 "parser_cocci_menhir.mly" +# 212 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23969 "parser_cocci_menhir.ml" +# 27973 "parser_cocci_menhir.ml" ) = -# 202 "parser_cocci_menhir.mly" +# 248 "parser_cocci_menhir.mly" ( _1 ) -# 23973 "parser_cocci_menhir.ml" +# 27977 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23995,13 +27999,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 166 "parser_cocci_menhir.mly" +# 212 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24001 "parser_cocci_menhir.ml" +# 28005 "parser_cocci_menhir.ml" ) = -# 202 "parser_cocci_menhir.mly" +# 248 "parser_cocci_menhir.mly" ( p ) -# 24005 "parser_cocci_menhir.ml" +# 28009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24027,13 +28031,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 166 "parser_cocci_menhir.mly" +# 212 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24033 "parser_cocci_menhir.ml" +# 28037 "parser_cocci_menhir.ml" ) = -# 203 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( p ) -# 24037 "parser_cocci_menhir.ml" +# 28041 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24059,13 +28063,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 209 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24065 "parser_cocci_menhir.ml" +# 28069 "parser_cocci_menhir.ml" ) = -# 198 "parser_cocci_menhir.mly" +# 244 "parser_cocci_menhir.mly" ( _1 ) -# 24069 "parser_cocci_menhir.ml" +# 28073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24091,13 +28095,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 209 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24097 "parser_cocci_menhir.ml" +# 28101 "parser_cocci_menhir.ml" ) = -# 198 "parser_cocci_menhir.mly" +# 244 "parser_cocci_menhir.mly" ( p ) -# 24101 "parser_cocci_menhir.ml" +# 28105 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24123,13 +28127,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 209 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24129 "parser_cocci_menhir.ml" +# 28133 "parser_cocci_menhir.ml" ) = -# 199 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( p ) -# 24133 "parser_cocci_menhir.ml" +# 28137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24151,9 +28155,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1844 "parser_cocci_menhir.mly" +# 2068 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 24157 "parser_cocci_menhir.ml" +# 28161 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24175,9 +28179,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1845 "parser_cocci_menhir.mly" +# 2069 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 24181 "parser_cocci_menhir.ml" +# 28185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24205,9 +28209,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1847 "parser_cocci_menhir.mly" +# 2071 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 24211 "parser_cocci_menhir.ml" +# 28215 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24235,9 +28239,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1849 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 24241 "parser_cocci_menhir.ml" +# 28245 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24265,9 +28269,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1850 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 24271 "parser_cocci_menhir.ml" +# 28275 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24295,9 +28299,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1852 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 24301 "parser_cocci_menhir.ml" +# 28305 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24316,16 +28320,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24322 "parser_cocci_menhir.ml" +# 28326 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 253 "parser_cocci_menhir.mly" +# 299 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 24329 "parser_cocci_menhir.ml" +# 28333 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24348,16 +28352,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24354 "parser_cocci_menhir.ml" +# 28358 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 254 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) -# 24361 "parser_cocci_menhir.ml" +# 28365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24380,16 +28384,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24386 "parser_cocci_menhir.ml" +# 28390 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 255 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) -# 24393 "parser_cocci_menhir.ml" +# 28397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24412,16 +28416,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24418 "parser_cocci_menhir.ml" +# 28422 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 256 "parser_cocci_menhir.mly" +# 302 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 24425 "parser_cocci_menhir.ml" +# 28429 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24451,9 +28455,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 257 "parser_cocci_menhir.mly" +# 303 "parser_cocci_menhir.mly" ( _2 ) -# 24457 "parser_cocci_menhir.ml" +# 28461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24475,9 +28479,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1372 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( _1 ) -# 24481 "parser_cocci_menhir.ml" +# 28485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24511,24 +28515,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 24517 "parser_cocci_menhir.ml" +# 28521 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 24523 "parser_cocci_menhir.ml" +# 28527 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1374 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24532 "parser_cocci_menhir.ml" +# 28536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24556,19 +28560,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 24564 "parser_cocci_menhir.ml" +# 28568 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1377 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24572 "parser_cocci_menhir.ml" +# 28576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24596,20 +28600,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 127 "parser_cocci_menhir.mly" +# 171 "parser_cocci_menhir.mly" (Data.clt) -# 24604 "parser_cocci_menhir.ml" +# 28608 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1379 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24613 "parser_cocci_menhir.ml" +# 28617 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24633,17 +28637,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 24639 "parser_cocci_menhir.ml" +# 28643 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1382 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24647 "parser_cocci_menhir.ml" +# 28651 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24667,17 +28671,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 24673 "parser_cocci_menhir.ml" +# 28677 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1384 "parser_cocci_menhir.mly" +# 1551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24681 "parser_cocci_menhir.ml" +# 28685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24711,25 +28715,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 24717 "parser_cocci_menhir.ml" +# 28721 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 24723 "parser_cocci_menhir.ml" +# 28727 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1386 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24733 "parser_cocci_menhir.ml" +# 28737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24751,9 +28755,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1372 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( _1 ) -# 24757 "parser_cocci_menhir.ml" +# 28761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24787,24 +28791,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 24793 "parser_cocci_menhir.ml" +# 28797 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 24799 "parser_cocci_menhir.ml" +# 28803 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1374 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24808 "parser_cocci_menhir.ml" +# 28812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24832,19 +28836,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 24840 "parser_cocci_menhir.ml" +# 28844 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1377 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24848 "parser_cocci_menhir.ml" +# 28852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24872,20 +28876,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 127 "parser_cocci_menhir.mly" +# 171 "parser_cocci_menhir.mly" (Data.clt) -# 24880 "parser_cocci_menhir.ml" +# 28884 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1379 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24889 "parser_cocci_menhir.ml" +# 28893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24909,17 +28913,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 24915 "parser_cocci_menhir.ml" +# 28919 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1382 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24923 "parser_cocci_menhir.ml" +# 28927 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24943,17 +28947,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 24949 "parser_cocci_menhir.ml" +# 28953 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1384 "parser_cocci_menhir.mly" +# 1551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24957 "parser_cocci_menhir.ml" +# 28961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24987,25 +28991,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 24993 "parser_cocci_menhir.ml" +# 28997 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 24999 "parser_cocci_menhir.ml" +# 29003 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1386 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25009 "parser_cocci_menhir.ml" +# 29013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25027,9 +29031,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1372 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( _1 ) -# 25033 "parser_cocci_menhir.ml" +# 29037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25063,24 +29067,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 25069 "parser_cocci_menhir.ml" +# 29073 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 25075 "parser_cocci_menhir.ml" +# 29079 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1374 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25084 "parser_cocci_menhir.ml" +# 29088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25108,19 +29112,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 25116 "parser_cocci_menhir.ml" +# 29120 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1377 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25124 "parser_cocci_menhir.ml" +# 29128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25148,20 +29152,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 127 "parser_cocci_menhir.mly" +# 171 "parser_cocci_menhir.mly" (Data.clt) -# 25156 "parser_cocci_menhir.ml" +# 29160 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1379 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25165 "parser_cocci_menhir.ml" +# 29169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25185,17 +29189,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 25191 "parser_cocci_menhir.ml" +# 29195 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1382 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25199 "parser_cocci_menhir.ml" +# 29203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25219,17 +29223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 25225 "parser_cocci_menhir.ml" +# 29229 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1384 "parser_cocci_menhir.mly" +# 1551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25233 "parser_cocci_menhir.ml" +# 29237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25263,25 +29267,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25269 "parser_cocci_menhir.ml" +# 29273 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 25275 "parser_cocci_menhir.ml" +# 29279 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1386 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25285 "parser_cocci_menhir.ml" +# 29289 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25303,9 +29307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1372 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( _1 ) -# 25309 "parser_cocci_menhir.ml" +# 29313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25339,24 +29343,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 25345 "parser_cocci_menhir.ml" +# 29349 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 125 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 25351 "parser_cocci_menhir.ml" +# 29355 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1374 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25360 "parser_cocci_menhir.ml" +# 29364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25384,19 +29388,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 25392 "parser_cocci_menhir.ml" +# 29396 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1377 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25400 "parser_cocci_menhir.ml" +# 29404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25424,20 +29428,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_mident = Obj.magic _3 in let _2 : ( -# 127 "parser_cocci_menhir.mly" +# 171 "parser_cocci_menhir.mly" (Data.clt) -# 25432 "parser_cocci_menhir.ml" +# 29436 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1379 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25441 "parser_cocci_menhir.ml" +# 29445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25461,17 +29465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 25467 "parser_cocci_menhir.ml" +# 29471 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1382 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25475 "parser_cocci_menhir.ml" +# 29479 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25495,17 +29499,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 25501 "parser_cocci_menhir.ml" +# 29505 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1384 "parser_cocci_menhir.mly" +# 1551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25509 "parser_cocci_menhir.ml" +# 29513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25539,25 +29543,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25545 "parser_cocci_menhir.ml" +# 29549 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 25551 "parser_cocci_menhir.ml" +# 29555 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1386 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25561 "parser_cocci_menhir.ml" +# 29565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25579,9 +29583,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1391 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25585 "parser_cocci_menhir.ml" +# 29589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25600,17 +29604,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 25606 "parser_cocci_menhir.ml" +# 29610 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1393 "parser_cocci_menhir.mly" +# 1560 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25614 "parser_cocci_menhir.ml" +# 29618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25629,17 +29633,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 25635 "parser_cocci_menhir.ml" +# 29639 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1396 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25643 "parser_cocci_menhir.ml" +# 29647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25658,17 +29662,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 25664 "parser_cocci_menhir.ml" +# 29668 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1399 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25672 "parser_cocci_menhir.ml" +# 29676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25687,17 +29691,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 25693 "parser_cocci_menhir.ml" +# 29697 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1402 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25701 "parser_cocci_menhir.ml" +# 29705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25716,18 +29720,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25722 "parser_cocci_menhir.ml" +# 29726 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1405 "parser_cocci_menhir.mly" +# 1572 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 25731 "parser_cocci_menhir.ml" +# 29735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25746,17 +29750,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25752 "parser_cocci_menhir.ml" +# 29756 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1409 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25760 "parser_cocci_menhir.ml" +# 29764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25775,18 +29779,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25781 "parser_cocci_menhir.ml" +# 29785 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1412 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 25790 "parser_cocci_menhir.ml" +# 29794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25805,18 +29809,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25811 "parser_cocci_menhir.ml" +# 29815 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1416 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 25820 "parser_cocci_menhir.ml" +# 29824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25835,18 +29839,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25841 "parser_cocci_menhir.ml" +# 29845 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1420 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 25850 "parser_cocci_menhir.ml" +# 29854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25875,23 +29879,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25881 "parser_cocci_menhir.ml" +# 29885 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 25887 "parser_cocci_menhir.ml" +# 29891 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1424 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 25895 "parser_cocci_menhir.ml" +# 29899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25920,25 +29924,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25926 "parser_cocci_menhir.ml" +# 29930 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 25932 "parser_cocci_menhir.ml" +# 29936 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1427 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 25942 "parser_cocci_menhir.ml" +# 29946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25960,9 +29964,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1431 "parser_cocci_menhir.mly" +# 1598 "parser_cocci_menhir.mly" ( _1 ) -# 25966 "parser_cocci_menhir.ml" +# 29970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25984,9 +29988,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1391 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25990 "parser_cocci_menhir.ml" +# 29994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26005,17 +30009,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26011 "parser_cocci_menhir.ml" +# 30015 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1393 "parser_cocci_menhir.mly" +# 1560 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26019 "parser_cocci_menhir.ml" +# 30023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26034,17 +30038,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26040 "parser_cocci_menhir.ml" +# 30044 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1396 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26048 "parser_cocci_menhir.ml" +# 30052 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26063,17 +30067,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26069 "parser_cocci_menhir.ml" +# 30073 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1399 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26077 "parser_cocci_menhir.ml" +# 30081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26092,17 +30096,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26098 "parser_cocci_menhir.ml" +# 30102 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1402 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26106 "parser_cocci_menhir.ml" +# 30110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26121,18 +30125,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26127 "parser_cocci_menhir.ml" +# 30131 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1405 "parser_cocci_menhir.mly" +# 1572 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26136 "parser_cocci_menhir.ml" +# 30140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26151,17 +30155,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26157 "parser_cocci_menhir.ml" +# 30161 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1409 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26165 "parser_cocci_menhir.ml" +# 30169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26180,18 +30184,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26186 "parser_cocci_menhir.ml" +# 30190 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1412 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26195 "parser_cocci_menhir.ml" +# 30199 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26210,18 +30214,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26216 "parser_cocci_menhir.ml" +# 30220 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1416 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26225 "parser_cocci_menhir.ml" +# 30229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26240,18 +30244,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26246 "parser_cocci_menhir.ml" +# 30250 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1420 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26255 "parser_cocci_menhir.ml" +# 30259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26280,23 +30284,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26286 "parser_cocci_menhir.ml" +# 30290 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 26292 "parser_cocci_menhir.ml" +# 30296 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1424 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26300 "parser_cocci_menhir.ml" +# 30304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26325,25 +30329,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26331 "parser_cocci_menhir.ml" +# 30335 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 26337 "parser_cocci_menhir.ml" +# 30341 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1427 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26347 "parser_cocci_menhir.ml" +# 30351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26365,9 +30369,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1431 "parser_cocci_menhir.mly" +# 1598 "parser_cocci_menhir.mly" ( _1 ) -# 26371 "parser_cocci_menhir.ml" +# 30375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26389,9 +30393,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1391 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26395 "parser_cocci_menhir.ml" +# 30399 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26410,17 +30414,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26416 "parser_cocci_menhir.ml" +# 30420 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1393 "parser_cocci_menhir.mly" +# 1560 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26424 "parser_cocci_menhir.ml" +# 30428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26439,17 +30443,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26445 "parser_cocci_menhir.ml" +# 30449 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1396 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26453 "parser_cocci_menhir.ml" +# 30457 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26468,17 +30472,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26474 "parser_cocci_menhir.ml" +# 30478 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1399 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26482 "parser_cocci_menhir.ml" +# 30486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26497,17 +30501,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26503 "parser_cocci_menhir.ml" +# 30507 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1402 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26511 "parser_cocci_menhir.ml" +# 30515 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26526,18 +30530,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26532 "parser_cocci_menhir.ml" +# 30536 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1405 "parser_cocci_menhir.mly" +# 1572 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26541 "parser_cocci_menhir.ml" +# 30545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26556,17 +30560,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26562 "parser_cocci_menhir.ml" +# 30566 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1409 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26570 "parser_cocci_menhir.ml" +# 30574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26585,18 +30589,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26591 "parser_cocci_menhir.ml" +# 30595 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1412 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26600 "parser_cocci_menhir.ml" +# 30604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26615,18 +30619,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26621 "parser_cocci_menhir.ml" +# 30625 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1416 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26630 "parser_cocci_menhir.ml" +# 30634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26645,18 +30649,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26651 "parser_cocci_menhir.ml" +# 30655 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1420 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26660 "parser_cocci_menhir.ml" +# 30664 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26685,23 +30689,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26691 "parser_cocci_menhir.ml" +# 30695 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 26697 "parser_cocci_menhir.ml" +# 30701 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1424 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26705 "parser_cocci_menhir.ml" +# 30709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26730,25 +30734,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26736 "parser_cocci_menhir.ml" +# 30740 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 26742 "parser_cocci_menhir.ml" +# 30746 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1427 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26752 "parser_cocci_menhir.ml" +# 30756 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26770,9 +30774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1431 "parser_cocci_menhir.mly" +# 1598 "parser_cocci_menhir.mly" ( _1 ) -# 26776 "parser_cocci_menhir.ml" +# 30780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26794,9 +30798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1391 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26800 "parser_cocci_menhir.ml" +# 30804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26815,17 +30819,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26821 "parser_cocci_menhir.ml" +# 30825 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1393 "parser_cocci_menhir.mly" +# 1560 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26829 "parser_cocci_menhir.ml" +# 30833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26844,17 +30848,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26850 "parser_cocci_menhir.ml" +# 30854 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1396 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26858 "parser_cocci_menhir.ml" +# 30862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26873,17 +30877,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26879 "parser_cocci_menhir.ml" +# 30883 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1399 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26887 "parser_cocci_menhir.ml" +# 30891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26902,17 +30906,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 26908 "parser_cocci_menhir.ml" +# 30912 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1402 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26916 "parser_cocci_menhir.ml" +# 30920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26931,18 +30935,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26937 "parser_cocci_menhir.ml" +# 30941 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1405 "parser_cocci_menhir.mly" +# 1572 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26946 "parser_cocci_menhir.ml" +# 30950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26961,17 +30965,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26967 "parser_cocci_menhir.ml" +# 30971 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1409 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26975 "parser_cocci_menhir.ml" +# 30979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26990,18 +30994,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26996 "parser_cocci_menhir.ml" +# 31000 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1412 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 27005 "parser_cocci_menhir.ml" +# 31009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27020,18 +31024,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27026 "parser_cocci_menhir.ml" +# 31030 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1416 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 27035 "parser_cocci_menhir.ml" +# 31039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27050,18 +31054,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 90 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27056 "parser_cocci_menhir.ml" +# 31060 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1420 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 27065 "parser_cocci_menhir.ml" +# 31069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27090,23 +31094,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 27096 "parser_cocci_menhir.ml" +# 31100 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 27102 "parser_cocci_menhir.ml" +# 31106 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1424 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 27110 "parser_cocci_menhir.ml" +# 31114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27135,25 +31139,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 27141 "parser_cocci_menhir.ml" +# 31145 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 27147 "parser_cocci_menhir.ml" +# 31151 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1427 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 27157 "parser_cocci_menhir.ml" +# 31161 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27175,9 +31179,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1431 "parser_cocci_menhir.mly" +# 1598 "parser_cocci_menhir.mly" ( _1 ) -# 27181 "parser_cocci_menhir.ml" +# 31185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27197,9 +31201,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 213 "parser_cocci_menhir.mly" +# 259 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 27203 "parser_cocci_menhir.ml" +# 31207 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27219,9 +31223,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 214 "parser_cocci_menhir.mly" +# 260 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 27225 "parser_cocci_menhir.ml" +# 31229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27245,9 +31249,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 215 "parser_cocci_menhir.mly" +# 261 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27251 "parser_cocci_menhir.ml" +# 31255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27271,9 +31275,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 216 "parser_cocci_menhir.mly" +# 262 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27277 "parser_cocci_menhir.ml" +# 31281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27288,9 +31292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_pure = -# 217 "parser_cocci_menhir.mly" +# 263 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 27294 "parser_cocci_menhir.ml" +# 31298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27309,16 +31313,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 27315 "parser_cocci_menhir.ml" +# 31319 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1445 "parser_cocci_menhir.mly" +# 1612 "parser_cocci_menhir.mly" ( _1 ) -# 27322 "parser_cocci_menhir.ml" +# 31326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27338,9 +31342,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1448 "parser_cocci_menhir.mly" +# 1615 "parser_cocci_menhir.mly" ( "identifier" ) -# 27344 "parser_cocci_menhir.ml" +# 31348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27360,9 +31364,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1449 "parser_cocci_menhir.mly" +# 1616 "parser_cocci_menhir.mly" ( "expression" ) -# 27366 "parser_cocci_menhir.ml" +# 31370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27382,9 +31386,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1450 "parser_cocci_menhir.mly" +# 1617 "parser_cocci_menhir.mly" ( "statement" ) -# 27388 "parser_cocci_menhir.ml" +# 31392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27404,9 +31408,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1451 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( "function" ) -# 27410 "parser_cocci_menhir.ml" +# 31414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27426,9 +31430,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1452 "parser_cocci_menhir.mly" +# 1619 "parser_cocci_menhir.mly" ( "local" ) -# 27432 "parser_cocci_menhir.ml" +# 31436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27448,9 +31452,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1453 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( "type" ) -# 27454 "parser_cocci_menhir.ml" +# 31458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27470,9 +31474,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1454 "parser_cocci_menhir.mly" +# 1621 "parser_cocci_menhir.mly" ( "parameter" ) -# 27476 "parser_cocci_menhir.ml" +# 31480 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27492,9 +31496,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1455 "parser_cocci_menhir.mly" +# 1622 "parser_cocci_menhir.mly" ( "idexpression" ) -# 27498 "parser_cocci_menhir.ml" +# 31502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27514,9 +31518,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1456 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( "initialiser" ) -# 27520 "parser_cocci_menhir.ml" +# 31524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27536,9 +31540,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1457 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( "list" ) -# 27542 "parser_cocci_menhir.ml" +# 31546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27558,9 +31562,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1458 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( "fresh" ) -# 27564 "parser_cocci_menhir.ml" +# 31568 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27580,9 +31584,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1459 "parser_cocci_menhir.mly" +# 1626 "parser_cocci_menhir.mly" ( "constant" ) -# 27586 "parser_cocci_menhir.ml" +# 31590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27602,9 +31606,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1460 "parser_cocci_menhir.mly" +# 1627 "parser_cocci_menhir.mly" ( "error" ) -# 27608 "parser_cocci_menhir.ml" +# 31612 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27624,9 +31628,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1461 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( "words" ) -# 27630 "parser_cocci_menhir.ml" +# 31634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27646,9 +31650,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1462 "parser_cocci_menhir.mly" +# 1629 "parser_cocci_menhir.mly" ( "pure" ) -# 27652 "parser_cocci_menhir.ml" +# 31656 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27668,9 +31672,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1463 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( "context" ) -# 27674 "parser_cocci_menhir.ml" +# 31678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27690,9 +31694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1464 "parser_cocci_menhir.mly" +# 1631 "parser_cocci_menhir.mly" ( "generated" ) -# 27696 "parser_cocci_menhir.ml" +# 31700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27712,9 +31716,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1465 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( "typedef" ) -# 27718 "parser_cocci_menhir.ml" +# 31722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27734,9 +31738,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1466 "parser_cocci_menhir.mly" +# 1633 "parser_cocci_menhir.mly" ( "declarer" ) -# 27740 "parser_cocci_menhir.ml" +# 31744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27756,9 +31760,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1467 "parser_cocci_menhir.mly" +# 1634 "parser_cocci_menhir.mly" ( "iterator" ) -# 27762 "parser_cocci_menhir.ml" +# 31766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27778,9 +31782,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1468 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( "name" ) -# 27784 "parser_cocci_menhir.ml" +# 31788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27800,9 +31804,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1469 "parser_cocci_menhir.mly" +# 1636 "parser_cocci_menhir.mly" ( "position" ) -# 27806 "parser_cocci_menhir.ml" +# 31810 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27824,9 +31828,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1476 "parser_cocci_menhir.mly" +# 1643 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 27830 "parser_cocci_menhir.ml" +# 31834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27848,9 +31852,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1477 "parser_cocci_menhir.mly" +# 1644 "parser_cocci_menhir.mly" ( (None,_1) ) -# 27854 "parser_cocci_menhir.ml" +# 31858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27872,9 +31876,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1478 "parser_cocci_menhir.mly" +# 1645 "parser_cocci_menhir.mly" ( _1 ) -# 27878 "parser_cocci_menhir.ml" +# 31882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27902,13 +31906,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = -# 1504 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 27912 "parser_cocci_menhir.ml" +# 31916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27936,13 +31940,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = -# 1504 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 27946 "parser_cocci_menhir.ml" +# 31950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27970,13 +31974,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = -# 1522 "parser_cocci_menhir.mly" +# 1697 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 27980 "parser_cocci_menhir.ml" +# 31984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28004,14 +32008,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1512 "parser_cocci_menhir.mly" +# 1680 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 28015 "parser_cocci_menhir.ml" +# 32019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28041,9 +32045,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1518 "parser_cocci_menhir.mly" - ( Common.Right (P.id2name _3) ) -# 28047 "parser_cocci_menhir.ml" +# 1687 "parser_cocci_menhir.mly" + ( + let nm = P.id2name _3 in + Iteration.parsed_virtual_identifiers := + Common.union_set [nm] + !Iteration.parsed_virtual_identifiers; + Common.Right nm + ) +# 32057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28065,9 +32075,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1481 "parser_cocci_menhir.mly" +# 1648 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 28071 "parser_cocci_menhir.ml" +# 32081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28099,11 +32109,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1484 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 28107 "parser_cocci_menhir.ml" +# 32117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28131,11 +32141,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = -# 1498 "parser_cocci_menhir.mly" +# 1666 "parser_cocci_menhir.mly" ( (i, l) ) -# 28139 "parser_cocci_menhir.ml" +# 32149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28157,9 +32167,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1583 "parser_cocci_menhir.mly" +# 1758 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) -# 28163 "parser_cocci_menhir.ml" +# 32173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28181,9 +32191,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1584 "parser_cocci_menhir.mly" +# 1759 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) -# 28187 "parser_cocci_menhir.ml" +# 32197 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28205,9 +32215,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1585 "parser_cocci_menhir.mly" +# 1760 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 28211 "parser_cocci_menhir.ml" +# 32221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28229,9 +32239,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1529 "parser_cocci_menhir.mly" +# 1704 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) -# 28235 "parser_cocci_menhir.ml" +# 32245 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28253,9 +32263,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1530 "parser_cocci_menhir.mly" +# 1705 "parser_cocci_menhir.mly" (ne) -# 28259 "parser_cocci_menhir.ml" +# 32269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28278,21 +32288,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 28284 "parser_cocci_menhir.ml" +# 32294 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1534 "parser_cocci_menhir.mly" +# 1709 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdRegExp (s,Str.regexp s) ) -# 28296 "parser_cocci_menhir.ml" +# 32306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28315,21 +32325,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 28321 "parser_cocci_menhir.ml" +# 32331 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1541 "parser_cocci_menhir.mly" +# 1716 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s) ) -# 28333 "parser_cocci_menhir.ml" +# 32343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28344,13 +32354,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 200 "parser_cocci_menhir.mly" (unit) -# 28350 "parser_cocci_menhir.ml" +# 32360 "parser_cocci_menhir.ml" ) = -# 195 "parser_cocci_menhir.mly" +# 241 "parser_cocci_menhir.mly" ( ) -# 28354 "parser_cocci_menhir.ml" +# 32364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28372,9 +32382,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 957 "parser_cocci_menhir.mly" +# 1085 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 28378 "parser_cocci_menhir.ml" +# 32388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28398,17 +32408,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 28404 "parser_cocci_menhir.ml" +# 32414 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 958 "parser_cocci_menhir.mly" +# 1086 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 28412 "parser_cocci_menhir.ml" +# 32422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28437,22 +32447,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 28443 "parser_cocci_menhir.ml" +# 32453 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 28449 "parser_cocci_menhir.ml" +# 32459 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 959 "parser_cocci_menhir.mly" +# 1087 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 28456 "parser_cocci_menhir.ml" +# 32466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28476,21 +32486,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 28482 "parser_cocci_menhir.ml" +# 32492 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 28487 "parser_cocci_menhir.ml" +# 32497 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 960 "parser_cocci_menhir.mly" +# 1088 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 28494 "parser_cocci_menhir.ml" +# 32504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28514,21 +32524,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 28520 "parser_cocci_menhir.ml" +# 32530 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 28525 "parser_cocci_menhir.ml" +# 32535 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 961 "parser_cocci_menhir.mly" +# 1089 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 28532 "parser_cocci_menhir.ml" +# 32542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28552,21 +32562,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 28558 "parser_cocci_menhir.ml" +# 32568 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 28563 "parser_cocci_menhir.ml" +# 32573 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 962 "parser_cocci_menhir.mly" +# 1090 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 28570 "parser_cocci_menhir.ml" +# 32580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28595,26 +32605,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 28601 "parser_cocci_menhir.ml" +# 32611 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 28607 "parser_cocci_menhir.ml" +# 32617 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 964 "parser_cocci_menhir.mly" +# 1092 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 28618 "parser_cocci_menhir.ml" +# 32628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28668,20 +32678,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 176 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28674 "parser_cocci_menhir.ml" +# 32684 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 28679 "parser_cocci_menhir.ml" +# 32689 "parser_cocci_menhir.ml" in -# 225 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28685 "parser_cocci_menhir.ml" +# 32695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28741,21 +32751,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_x0_ in let _endpos = _endpos__8_ in let _v : ( -# 176 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28747 "parser_cocci_menhir.ml" +# 32757 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 28753 "parser_cocci_menhir.ml" +# 32763 "parser_cocci_menhir.ml" in -# 225 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28759 "parser_cocci_menhir.ml" +# 32769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28813,13 +32823,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : ( -# 176 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28819 "parser_cocci_menhir.ml" +# 32829 "parser_cocci_menhir.ml" ) = -# 230 "parser_cocci_menhir.mly" +# 276 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 28823 "parser_cocci_menhir.ml" +# 32833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28859,13 +32869,126 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 176 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28865 "parser_cocci_menhir.ml" +# 32875 "parser_cocci_menhir.ml" + ) = let nm = + +# 39 "standard.mly" + ( None ) +# 32880 "parser_cocci_menhir.ml" + + in + +# 278 "parser_cocci_menhir.mly" + ( P.make_script_rule_name_result lang nm d ) +# 32886 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let x0 : 'tv_pure_ident = Obj.magic x0 in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__6_ in + let _v : ( +# 222 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 32934 "parser_cocci_menhir.ml" + ) = let nm = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 32940 "parser_cocci_menhir.ml" + + in + +# 278 "parser_cocci_menhir.mly" + ( P.make_script_rule_name_result lang nm d ) +# 32946 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : ( +# 222 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 32988 "parser_cocci_menhir.ml" ) = -# 232 "parser_cocci_menhir.mly" - ( P.make_script_rule_name_result lang d ) -# 28869 "parser_cocci_menhir.ml" +# 280 "parser_cocci_menhir.mly" + ( P.make_initial_script_rule_name_result lang d ) +# 32992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28905,13 +33028,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 176 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28911 "parser_cocci_menhir.ml" +# 33034 "parser_cocci_menhir.ml" ) = -# 234 "parser_cocci_menhir.mly" - ( P.make_initial_script_rule_name_result lang d ) -# 28915 "parser_cocci_menhir.ml" +# 282 "parser_cocci_menhir.mly" + ( P.make_final_script_rule_name_result lang d ) +# 33038 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28923,41 +33046,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = py; + MenhirLib.EngineTypes.startp = _startpos_py_; + MenhirLib.EngineTypes.endp = _endpos_py_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let py : 'tv_pure_ident = Obj.magic py in + let _startpos = _startpos_py_ in + let _endpos = _endpos__2_ in + let _v : ( +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33066 "parser_cocci_menhir.ml" + ) = +# 2267 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), None) ) +# 33070 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = py; + MenhirLib.EngineTypes.startp = _startpos_py_; + MenhirLib.EngineTypes.endp = _endpos_py_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _2 : 'tv_script_name_decl = Obj.magic _2 in + let py : 'tv_pure_ident = Obj.magic py in + let _startpos = _startpos_py_ in + let _endpos = _endpos__3_ in + let _v : ( +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33104 "parser_cocci_menhir.ml" + ) = +# 2269 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), Some _2) ) +# 33108 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; }; }; } = _menhir_stack in - let d : 'tv_depends = Obj.magic d in - let lang : 'tv_pure_ident = Obj.magic lang in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let ast : 'tv_pure_ident = Obj.magic ast in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in + let _endpos = _endpos__7_ in let _v : ( -# 176 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28957 "parser_cocci_menhir.ml" +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33158 "parser_cocci_menhir.ml" ) = -# 236 "parser_cocci_menhir.mly" - ( P.make_final_script_rule_name_result lang d ) -# 28961 "parser_cocci_menhir.ml" +# 2271 "parser_cocci_menhir.mly" + ( ((None, Some (P.id2name ast)), Some _6) ) +# 33162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28969,51 +33170,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = cocci; - MenhirLib.EngineTypes.startp = _startpos_cocci_; - MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = py; - MenhirLib.EngineTypes.startp = _startpos_py_; - MenhirLib.EngineTypes.endp = _endpos_py_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; }; } = _menhir_stack in - let cocci : 'tv_pure_ident = Obj.magic cocci in - let _3 : ( -# 69 "parser_cocci_menhir.mly" - (string) -# 29005 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let py : 'tv_pure_ident = Obj.magic py in - let _startpos = _startpos_py_ in - let _endpos = _endpos__6_ in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let str : 'tv_pure_ident = Obj.magic str in + let _startpos = _startpos__1_ in + let _endpos = _endpos__7_ in let _v : ( -# 182 "parser_cocci_menhir.mly" - (string * Ast_cocci.meta_name) -# 29013 "parser_cocci_menhir.ml" +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33212 "parser_cocci_menhir.ml" ) = -# 2064 "parser_cocci_menhir.mly" - ( (P.id2name py, (_3, P.id2name cocci)) ) -# 29017 "parser_cocci_menhir.ml" +# 2273 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), None), Some _6) ) +# 33216 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29025,45 +33224,137 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = cocci; - MenhirLib.EngineTypes.startp = _startpos_cocci_; - MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = py; - MenhirLib.EngineTypes.startp = _startpos_py_; - MenhirLib.EngineTypes.endp = _endpos_py_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; }; } = _menhir_stack in - let cocci : 'tv_pure_ident = Obj.magic cocci in - let py : 'tv_pure_ident = Obj.magic py in - let _startpos = _startpos_py_ in - let _endpos = _endpos__6_ in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let ast : 'tv_pure_ident = Obj.magic ast in + let str : 'tv_pure_ident = Obj.magic str in + let _startpos = _startpos__1_ in + let _endpos = _endpos__7_ in let _v : ( -# 182 "parser_cocci_menhir.mly" - (string * Ast_cocci.meta_name) -# 29063 "parser_cocci_menhir.ml" +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33268 "parser_cocci_menhir.ml" ) = -# 2066 "parser_cocci_menhir.mly" - ( (P.id2name py, ("virtual", P.id2name cocci)) ) -# 29067 "parser_cocci_menhir.ml" +# 2275 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) +# 33272 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let cocci : 'tv_pure_ident = Obj.magic cocci in + let _2 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 33307 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos_cocci_ in + let _v : 'tv_script_name_decl = +# 2279 "parser_cocci_menhir.mly" + ( let nm = P.id2name cocci in + let mv = Parse_aux.lookup _2 nm in + ((_2, nm), mv) ) +# 33316 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let cocci : 'tv_pure_ident = Obj.magic cocci in + let _startpos = _startpos__1_ in + let _endpos = _endpos_cocci_ in + let _v : 'tv_script_name_decl = +# 2283 "parser_cocci_menhir.mly" + ( let nm = P.id2name cocci in + Iteration.parsed_virtual_identifiers := + Common.union_set [nm] + !Iteration.parsed_virtual_identifiers; + let name = ("virtual", nm) in + let mv = Ast.MetaIdDecl(Ast.NONE,name) in + (name,mv) ) +# 33358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29082,16 +33373,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 29088 "parser_cocci_menhir.ml" +# 33379 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1489 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 29095 "parser_cocci_menhir.ml" +# 33386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29110,16 +33401,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 29116 "parser_cocci_menhir.ml" +# 33407 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1490 "parser_cocci_menhir.mly" +# 1657 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 29123 "parser_cocci_menhir.ml" +# 33414 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_seed_elem = +# 1658 "parser_cocci_menhir.mly" + (failwith "tmeta") +# 33436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29148,18 +33461,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 29154 "parser_cocci_menhir.ml" +# 33467 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1492 "parser_cocci_menhir.mly" +# 1660 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 29163 "parser_cocci_menhir.ml" +# 33476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29178,16 +33491,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 29184 "parser_cocci_menhir.ml" +# 33497 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 144 "standard.mly" ( [ x ] ) -# 29191 "parser_cocci_menhir.ml" +# 33504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29216,16 +33529,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 110 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (string * Data.clt) -# 29222 "parser_cocci_menhir.ml" +# 33535 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 146 "standard.mly" ( x :: xs ) -# 29229 "parser_cocci_menhir.ml" +# 33542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29249,7 +33562,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 29253 "parser_cocci_menhir.ml" +# 33566 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29283,7 +33596,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 29287 "parser_cocci_menhir.ml" +# 33600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29307,7 +33620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 29311 "parser_cocci_menhir.ml" +# 33624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29341,7 +33654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 29345 "parser_cocci_menhir.ml" +# 33658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29365,7 +33678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29369 "parser_cocci_menhir.ml" +# 33682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29399,7 +33712,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29403 "parser_cocci_menhir.ml" +# 33716 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29423,7 +33736,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 29427 "parser_cocci_menhir.ml" +# 33740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29457,7 +33770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 29461 "parser_cocci_menhir.ml" +# 33774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29481,7 +33794,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29485 "parser_cocci_menhir.ml" +# 33798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29515,7 +33828,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29519 "parser_cocci_menhir.ml" +# 33832 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29539,7 +33852,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29543 "parser_cocci_menhir.ml" +# 33856 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29573,7 +33886,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29577 "parser_cocci_menhir.ml" +# 33890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29597,7 +33910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29601 "parser_cocci_menhir.ml" +# 33914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29631,7 +33944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29635 "parser_cocci_menhir.ml" +# 33948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29655,7 +33968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 29659 "parser_cocci_menhir.ml" +# 33972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29689,7 +34002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 29693 "parser_cocci_menhir.ml" +# 34006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29713,7 +34026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 29717 "parser_cocci_menhir.ml" +# 34030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29747,7 +34060,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 29751 "parser_cocci_menhir.ml" +# 34064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29771,7 +34084,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29775 "parser_cocci_menhir.ml" +# 34088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29805,7 +34118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29809 "parser_cocci_menhir.ml" +# 34122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29829,7 +34142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29833 "parser_cocci_menhir.ml" +# 34146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29863,7 +34176,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29867 "parser_cocci_menhir.ml" +# 34180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29887,7 +34200,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 144 "standard.mly" ( [ x ] ) -# 29891 "parser_cocci_menhir.ml" +# 34204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29921,7 +34234,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 146 "standard.mly" ( x :: xs ) -# 29925 "parser_cocci_menhir.ml" +# 34238 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29945,7 +34258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 144 "standard.mly" ( [ x ] ) -# 29949 "parser_cocci_menhir.ml" +# 34262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29979,7 +34292,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 146 "standard.mly" ( x :: xs ) -# 29983 "parser_cocci_menhir.ml" +# 34296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30003,7 +34316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 30007 "parser_cocci_menhir.ml" +# 34320 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30037,7 +34350,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 30041 "parser_cocci_menhir.ml" +# 34354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30061,7 +34374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 30065 "parser_cocci_menhir.ml" +# 34378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30095,7 +34408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 30099 "parser_cocci_menhir.ml" +# 34412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30117,9 +34430,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 972 "parser_cocci_menhir.mly" +# 1100 "parser_cocci_menhir.mly" ( _1 ) -# 30123 "parser_cocci_menhir.ml" +# 34436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30148,26 +34461,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30154 "parser_cocci_menhir.ml" +# 34467 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30160 "parser_cocci_menhir.ml" +# 34473 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 976 "parser_cocci_menhir.mly" +# 1104 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 30171 "parser_cocci_menhir.ml" +# 34484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30189,9 +34502,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 899 "parser_cocci_menhir.mly" +# 1026 "parser_cocci_menhir.mly" ( _1 ) -# 30195 "parser_cocci_menhir.ml" +# 34508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30210,16 +34523,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 30216 "parser_cocci_menhir.ml" +# 34529 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 901 "parser_cocci_menhir.mly" +# 1027 "parser_cocci_menhir.mly" + ( tmeta_to_statement _1) +# 34536 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 34557 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_statement = +# 1029 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 30223 "parser_cocci_menhir.ml" +# 34564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30243,17 +34584,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30249 "parser_cocci_menhir.ml" +# 34590 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 903 "parser_cocci_menhir.mly" +# 1031 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 30257 "parser_cocci_menhir.ml" +# 34598 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30293,27 +34634,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30299 "parser_cocci_menhir.ml" +# 34640 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30305 "parser_cocci_menhir.ml" +# 34646 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30310 "parser_cocci_menhir.ml" +# 34651 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 905 "parser_cocci_menhir.mly" +# 1033 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 30317 "parser_cocci_menhir.ml" +# 34658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30363,33 +34704,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _7 : 'tv_single_statement = Obj.magic _7 in let _6 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30369 "parser_cocci_menhir.ml" +# 34710 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30375 "parser_cocci_menhir.ml" +# 34716 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30381 "parser_cocci_menhir.ml" +# 34722 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30386 "parser_cocci_menhir.ml" +# 34727 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 907 "parser_cocci_menhir.mly" +# 1035 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 30393 "parser_cocci_menhir.ml" +# 34734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30449,39 +34790,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30455 "parser_cocci_menhir.ml" +# 34796 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30461 "parser_cocci_menhir.ml" +# 34802 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30467 "parser_cocci_menhir.ml" +# 34808 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30473 "parser_cocci_menhir.ml" +# 34814 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30478 "parser_cocci_menhir.ml" +# 34819 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 910 "parser_cocci_menhir.mly" +# 1038 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 30485 "parser_cocci_menhir.ml" +# 34826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30521,27 +34862,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30527 "parser_cocci_menhir.ml" +# 34868 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30533 "parser_cocci_menhir.ml" +# 34874 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30538 "parser_cocci_menhir.ml" +# 34879 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 912 "parser_cocci_menhir.mly" +# 1040 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 30545 "parser_cocci_menhir.ml" +# 34886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30590,38 +34931,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30596 "parser_cocci_menhir.ml" +# 34937 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30601 "parser_cocci_menhir.ml" +# 34942 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30607 "parser_cocci_menhir.ml" +# 34948 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30612 "parser_cocci_menhir.ml" +# 34953 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30618 "parser_cocci_menhir.ml" +# 34959 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 914 "parser_cocci_menhir.mly" +# 1042 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 30625 "parser_cocci_menhir.ml" +# 34966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30661,23 +35002,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30667 "parser_cocci_menhir.ml" +# 35008 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30673 "parser_cocci_menhir.ml" +# 35014 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_iter_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 916 "parser_cocci_menhir.mly" +# 1044 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 30681 "parser_cocci_menhir.ml" +# 35022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30731,39 +35072,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _8 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 30737 "parser_cocci_menhir.ml" +# 35078 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_list_case_line_ = Obj.magic _7 in let _6 : 'tv_list_decl_var_ = Obj.magic _6 in let _5 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 30744 "parser_cocci_menhir.ml" +# 35085 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30749 "parser_cocci_menhir.ml" +# 35090 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30755 "parser_cocci_menhir.ml" +# 35096 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30760 "parser_cocci_menhir.ml" +# 35101 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 918 "parser_cocci_menhir.mly" +# 1046 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 30767 "parser_cocci_menhir.ml" +# 35108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30792,22 +35133,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30798 "parser_cocci_menhir.ml" +# 35139 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30804 "parser_cocci_menhir.ml" +# 35145 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 919 "parser_cocci_menhir.mly" +# 1047 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 30811 "parser_cocci_menhir.ml" +# 35152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30831,21 +35172,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30837 "parser_cocci_menhir.ml" +# 35178 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 79 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30842 "parser_cocci_menhir.ml" +# 35183 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 920 "parser_cocci_menhir.mly" +# 1048 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 30849 "parser_cocci_menhir.ml" +# 35190 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30869,21 +35210,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30875 "parser_cocci_menhir.ml" +# 35216 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30880 "parser_cocci_menhir.ml" +# 35221 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 921 "parser_cocci_menhir.mly" +# 1049 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 30887 "parser_cocci_menhir.ml" +# 35228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30907,21 +35248,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30913 "parser_cocci_menhir.ml" +# 35254 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30918 "parser_cocci_menhir.ml" +# 35259 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 922 "parser_cocci_menhir.mly" +# 1050 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 30925 "parser_cocci_menhir.ml" +# 35266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30945,17 +35286,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 30951 "parser_cocci_menhir.ml" +# 35292 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in + let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 923 "parser_cocci_menhir.mly" - ( P.label _1 _2 ) -# 30959 "parser_cocci_menhir.ml" +# 1051 "parser_cocci_menhir.mly" + ( P.label _1 _2 ) +# 35300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30984,22 +35325,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 130 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" (Data.clt) -# 30990 "parser_cocci_menhir.ml" +# 35331 "parser_cocci_menhir.ml" ) = Obj.magic _3 in - let _2 : 'tv_ident = Obj.magic _2 in + let _2 : 'tv_mident = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30996 "parser_cocci_menhir.ml" +# 35337 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 924 "parser_cocci_menhir.mly" - ( P.goto _1 _2 _3 ) -# 31003 "parser_cocci_menhir.ml" +# 1052 "parser_cocci_menhir.mly" + ( P.goto _1 _2 _3 ) +# 35344 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31028,22 +35369,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 31034 "parser_cocci_menhir.ml" +# 35375 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 31040 "parser_cocci_menhir.ml" +# 35381 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 926 "parser_cocci_menhir.mly" +# 1054 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 31047 "parser_cocci_menhir.ml" +# 35388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31068,16 +35409,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 31074 "parser_cocci_menhir.ml" +# 35415 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 930 "parser_cocci_menhir.mly" +# 1058 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 31081 "parser_cocci_menhir.ml" +# 35422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31111,24 +35452,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 31117 "parser_cocci_menhir.ml" +# 35458 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 31124 "parser_cocci_menhir.ml" +# 35465 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 932 "parser_cocci_menhir.mly" +# 1060 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 31132 "parser_cocci_menhir.ml" +# 35473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31162,24 +35503,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 31168 "parser_cocci_menhir.ml" +# 35509 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 31175 "parser_cocci_menhir.ml" +# 35516 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 935 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 31183 "parser_cocci_menhir.ml" +# 35524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31198,16 +35539,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 31204 "parser_cocci_menhir.ml" +# 35545 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 861 "parser_cocci_menhir.mly" +# 987 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 31211 "parser_cocci_menhir.ml" +# 35552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31226,16 +35567,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 31232 "parser_cocci_menhir.ml" +# 35573 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 862 "parser_cocci_menhir.mly" +# 988 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 31239 "parser_cocci_menhir.ml" +# 35580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31254,16 +35595,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 31260 "parser_cocci_menhir.ml" +# 35601 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 863 "parser_cocci_menhir.mly" +# 989 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 31267 "parser_cocci_menhir.ml" +# 35608 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31282,16 +35623,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 75 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 31288 "parser_cocci_menhir.ml" +# 35629 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 864 "parser_cocci_menhir.mly" +# 990 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 31295 "parser_cocci_menhir.ml" +# 35636 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31311,9 +35652,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 615 "parser_cocci_menhir.mly" - ( [] ) -# 31317 "parser_cocci_menhir.ml" +# 705 "parser_cocci_menhir.mly" + ( [] ) +# 35658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31325,243 +35666,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let pv : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 31348 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let d : 'tv_d_ident = Obj.magic d in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = -# 617 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31358 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp2; - MenhirLib.EngineTypes.startp = _startpos_rp2_; - MenhirLib.EngineTypes.endp = _endpos_rp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p; - MenhirLib.EngineTypes.startp = _startpos_p_; - MenhirLib.EngineTypes.endp = _endpos_p_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp2; - MenhirLib.EngineTypes.startp = _startpos_lp2_; - MenhirLib.EngineTypes.endp = _endpos_lp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = st; - MenhirLib.EngineTypes.startp = _startpos_st_; - MenhirLib.EngineTypes.endp = _endpos_st_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; } = _menhir_stack in - let pv : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 31419 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let rp2 : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 31424 "parser_cocci_menhir.ml" - ) = Obj.magic rp2 in - let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in - let lp2 : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 31430 "parser_cocci_menhir.ml" - ) = Obj.magic lp2 in - let rp1 : ( -# 100 "parser_cocci_menhir.mly" - (Data.clt) -# 31435 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_d_ident = Obj.magic d in - let st : ( -# 122 "parser_cocci_menhir.mly" - (Data.clt) -# 31441 "parser_cocci_menhir.ml" - ) = Obj.magic st in - let lp1 : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 31446 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_pv_ in + let _1 : 'tv_struct_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 621 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let t = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, - P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in - [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31460 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let pv : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 31491 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = let cv = - -# 39 "standard.mly" - ( None ) -# 31501 "parser_cocci_menhir.ml" - - in - -# 629 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in - [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 31509 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let pv : ( -# 130 "parser_cocci_menhir.mly" - (Data.clt) -# 31545 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = let cv = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 31557 "parser_cocci_menhir.ml" - - in - -# 629 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in - [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 31565 "parser_cocci_menhir.ml" +# 706 "parser_cocci_menhir.mly" + ( [_1] ) +# 35682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31583,9 +35700,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 634 "parser_cocci_menhir.mly" +# 729 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 31589 "parser_cocci_menhir.ml" +# 35706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31607,9 +35724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 637 "parser_cocci_menhir.mly" +# 732 "parser_cocci_menhir.mly" ( _1 ) -# 31613 "parser_cocci_menhir.ml" +# 35730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31637,9 +35754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 638 "parser_cocci_menhir.mly" +# 733 "parser_cocci_menhir.mly" ( _1@_2 ) -# 31643 "parser_cocci_menhir.ml" +# 35760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31663,13 +35780,317 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let r : 'tv_continue_struct_decl_list = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in + let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 640 "parser_cocci_menhir.mly" - ( (P.mkddots "..." d)::r ) -# 31673 "parser_cocci_menhir.ml" +# 735 "parser_cocci_menhir.mly" + ( (P.mkddots_one "..." d)::r ) +# 35790 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 35811 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_one = +# 709 "parser_cocci_menhir.mly" + ( P.meta_field _1 ) +# 35818 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 35839 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_one = +# 710 "parser_cocci_menhir.mly" + ( tmeta_to_field _1 ) +# 35846 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let pv : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 35877 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let d : 'tv_d_ident = Obj.magic d in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_struct_decl_one = +# 712 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) +# 35887 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp2; + MenhirLib.EngineTypes.startp = _startpos_rp2_; + MenhirLib.EngineTypes.endp = _endpos_rp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p; + MenhirLib.EngineTypes.startp = _startpos_p_; + MenhirLib.EngineTypes.endp = _endpos_p_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp2; + MenhirLib.EngineTypes.startp = _startpos_lp2_; + MenhirLib.EngineTypes.endp = _endpos_lp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = st; + MenhirLib.EngineTypes.startp = _startpos_st_; + MenhirLib.EngineTypes.endp = _endpos_st_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 35948 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let rp2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 35953 "parser_cocci_menhir.ml" + ) = Obj.magic rp2 in + let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in + let lp2 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 35959 "parser_cocci_menhir.ml" + ) = Obj.magic lp2 in + let rp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 35964 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_d_ident = Obj.magic d in + let st : ( +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 35970 "parser_cocci_menhir.ml" + ) = Obj.magic st in + let lp1 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 35975 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_struct_decl_one = +# 716 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let t = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, + P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in + Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) +# 35989 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let pv : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 36020 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let d : 'tv_d_ident = Obj.magic d in + let i : 'tv_pure_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_struct_decl_one = let cv = + +# 39 "standard.mly" + ( None ) +# 36030 "parser_cocci_menhir.ml" + + in + +# 724 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in + Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) +# 36038 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 174 "parser_cocci_menhir.mly" + (Data.clt) +# 36074 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let d : 'tv_d_ident = Obj.magic d in + let i : 'tv_pure_ident = Obj.magic i in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_struct_decl_one = let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 36086 "parser_cocci_menhir.ml" + + in + +# 724 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in + Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) +# 36094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31688,16 +36109,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 31694 "parser_cocci_menhir.ml" +# 36115 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 611 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 31701 "parser_cocci_menhir.ml" +# 36122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31716,16 +36137,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let u : ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 31722 "parser_cocci_menhir.ml" +# 36143 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 612 "parser_cocci_menhir.mly" +# 702 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 31729 "parser_cocci_menhir.ml" +# 36150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31751,7 +36172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1629 "parser_cocci_menhir.mly" +# 1804 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -31760,7 +36181,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in [i] ) -# 31764 "parser_cocci_menhir.ml" +# 36185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31794,7 +36215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1638 "parser_cocci_menhir.mly" +# 1813 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -31804,7 +36225,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None))) l) -# 31808 "parser_cocci_menhir.ml" +# 36229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31826,9 +36247,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1259 "parser_cocci_menhir.mly" +# 1371 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 31832 "parser_cocci_menhir.ml" +# 36253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31857,22 +36278,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 31863 "parser_cocci_menhir.ml" +# 36284 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 31869 "parser_cocci_menhir.ml" +# 36290 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1837 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 31876 "parser_cocci_menhir.ml" +# 2056 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 36302 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31887,9 +36313,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 1825 "parser_cocci_menhir.mly" +# 2044 "parser_cocci_menhir.mly" ([]) -# 31893 "parser_cocci_menhir.ml" +# 36319 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31915,9 +36341,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1826 "parser_cocci_menhir.mly" +# 2045 "parser_cocci_menhir.mly" (_2) -# 31921 "parser_cocci_menhir.ml" +# 36347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31945,9 +36371,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1827 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31951 "parser_cocci_menhir.ml" +# 36377 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31975,9 +36401,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1828 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" (_1@_2) -# 31981 "parser_cocci_menhir.ml" +# 36407 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32003,9 +36429,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1816 "parser_cocci_menhir.mly" +# 2035 "parser_cocci_menhir.mly" (_2) -# 32009 "parser_cocci_menhir.ml" +# 36435 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32033,9 +36459,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1817 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 32039 "parser_cocci_menhir.ml" +# 36465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32063,9 +36489,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1818 "parser_cocci_menhir.mly" +# 2037 "parser_cocci_menhir.mly" (_1@_2) -# 32069 "parser_cocci_menhir.ml" +# 36495 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32080,9 +36506,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 1821 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ([]) -# 32086 "parser_cocci_menhir.ml" +# 36512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32110,9 +36536,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1822 "parser_cocci_menhir.mly" +# 2041 "parser_cocci_menhir.mly" (_1::_2) -# 32116 "parser_cocci_menhir.ml" +# 36542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32127,9 +36553,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 1831 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ([]) -# 32133 "parser_cocci_menhir.ml" +# 36559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32157,9 +36583,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1832 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" (_1::_2) -# 32163 "parser_cocci_menhir.ml" +# 36589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32187,9 +36613,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1833 "parser_cocci_menhir.mly" +# 2052 "parser_cocci_menhir.mly" (_1@_2) -# 32193 "parser_cocci_menhir.ml" +# 36619 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32217,9 +36643,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1811 "parser_cocci_menhir.mly" +# 2030 "parser_cocci_menhir.mly" ( _1::_2 ) -# 32223 "parser_cocci_menhir.ml" +# 36649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32247,9 +36673,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1812 "parser_cocci_menhir.mly" +# 2031 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32253 "parser_cocci_menhir.ml" +# 36679 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32277,9 +36703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1813 "parser_cocci_menhir.mly" +# 2032 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32283 "parser_cocci_menhir.ml" +# 36709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32310,9 +36736,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let b : 'tv_toplevel_after_dots_init = Obj.magic b in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32316 "parser_cocci_menhir.ml" +# 36742 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32320,15 +36746,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 940 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 32326 "parser_cocci_menhir.ml" +# 36752 "parser_cocci_menhir.ml" in -# 1804 "parser_cocci_menhir.mly" +# 2023 "parser_cocci_menhir.mly" ( a::b ) -# 32332 "parser_cocci_menhir.ml" +# 36758 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32368,16 +36794,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32374 "parser_cocci_menhir.ml" +# 36800 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32381 "parser_cocci_menhir.ml" +# 36807 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32387,16 +36813,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 944 "parser_cocci_menhir.mly" +# 1072 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32394 "parser_cocci_menhir.ml" +# 36820 "parser_cocci_menhir.ml" in -# 1805 "parser_cocci_menhir.mly" +# 2024 "parser_cocci_menhir.mly" ( a::b ) -# 32400 "parser_cocci_menhir.ml" +# 36826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32436,16 +36862,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32442 "parser_cocci_menhir.ml" +# 36868 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32449 "parser_cocci_menhir.ml" +# 36875 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32455,16 +36881,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 947 "parser_cocci_menhir.mly" +# 1075 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32462 "parser_cocci_menhir.ml" +# 36888 "parser_cocci_menhir.ml" in -# 1805 "parser_cocci_menhir.mly" +# 2024 "parser_cocci_menhir.mly" ( a::b ) -# 32468 "parser_cocci_menhir.ml" +# 36894 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32498,16 +36924,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32504 "parser_cocci_menhir.ml" +# 36930 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32511 "parser_cocci_menhir.ml" +# 36937 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32517,16 +36943,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 944 "parser_cocci_menhir.mly" +# 1072 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32524 "parser_cocci_menhir.ml" +# 36950 "parser_cocci_menhir.ml" in -# 1806 "parser_cocci_menhir.mly" +# 2025 "parser_cocci_menhir.mly" ( [a] ) -# 32530 "parser_cocci_menhir.ml" +# 36956 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32560,16 +36986,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32566 "parser_cocci_menhir.ml" +# 36992 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 96 "parser_cocci_menhir.mly" +# 140 "parser_cocci_menhir.mly" (Data.clt) -# 32573 "parser_cocci_menhir.ml" +# 36999 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32579,16 +37005,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 947 "parser_cocci_menhir.mly" +# 1075 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32586 "parser_cocci_menhir.ml" +# 37012 "parser_cocci_menhir.ml" in -# 1806 "parser_cocci_menhir.mly" +# 2025 "parser_cocci_menhir.mly" ( [a] ) -# 32592 "parser_cocci_menhir.ml" +# 37018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32616,9 +37042,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1807 "parser_cocci_menhir.mly" +# 2026 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32622 "parser_cocci_menhir.ml" +# 37048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32646,9 +37072,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1808 "parser_cocci_menhir.mly" +# 2027 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32652 "parser_cocci_menhir.ml" +# 37078 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_type_ident = +# 1881 "parser_cocci_menhir.mly" + ( _1 ) +# 37102 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 37123 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_type_ident = +# 1883 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 37130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32678,14 +37156,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32684 "parser_cocci_menhir.ml" +# 37162 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32689 "parser_cocci_menhir.ml" +# 37167 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32695,28 +37173,541 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32701 "parser_cocci_menhir.ml" +# 37179 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37185 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37192 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37198 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37230 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37235 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 605 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 37247 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37253 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37260 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37266 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37298 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37303 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 607 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 37315 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37321 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37328 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37334 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 37366 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37371 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let p0 = p00 in + let r = r0 in + let ty = + let p = p0 in + +# 609 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 37384 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37390 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37397 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37403 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 37444 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r00 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 37449 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37454 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in + let _startpos = _startpos_r1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let p0 = p00 in + let r0 = r00 in + let r = r1 in + let ty = + let p = p0 in + let r = r0 in + +# 612 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 37473 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37479 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37486 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37492 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37524 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37529 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 619 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 37541 "parser_cocci_menhir.ml" + + in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 37547 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37554 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37560 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37597 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37602 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37607 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty20 = ty200 in + let ty10 = ty100 in + let r = r0 in + let ty = + let ty2 = ty20 in + let ty1 = ty10 in + +# 621 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 37624 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32707 "parser_cocci_menhir.ml" +# 37630 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 37637 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 37643 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 37675 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 37680 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 37692 "parser_cocci_menhir.ml" + + in + +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 37698 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32714 "parser_cocci_menhir.ml" +# 37705 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32720 "parser_cocci_menhir.ml" +# 37711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32746,14 +37737,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32752 "parser_cocci_menhir.ml" +# 37743 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32757 "parser_cocci_menhir.ml" +# 37748 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32763,28 +37754,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 32769 "parser_cocci_menhir.ml" +# 37760 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32775 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 37766 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32782 "parser_cocci_menhir.ml" +# 37773 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32788 "parser_cocci_menhir.ml" +# 37779 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32814,14 +37805,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32820 "parser_cocci_menhir.ml" +# 37811 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32825 "parser_cocci_menhir.ml" +# 37816 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32831,28 +37822,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 32837 "parser_cocci_menhir.ml" +# 37828 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32843 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 37834 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32850 "parser_cocci_menhir.ml" +# 37841 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32856 "parser_cocci_menhir.ml" +# 37847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32882,14 +37873,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 32888 "parser_cocci_menhir.ml" +# 37879 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32893 "parser_cocci_menhir.ml" +# 37884 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32899,29 +37890,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 32906 "parser_cocci_menhir.ml" +# 37897 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32912 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 37903 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32919 "parser_cocci_menhir.ml" +# 37910 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32925 "parser_cocci_menhir.ml" +# 37916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32960,19 +37951,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 32966 "parser_cocci_menhir.ml" +# 37957 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 32971 "parser_cocci_menhir.ml" +# 37962 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32976 "parser_cocci_menhir.ml" +# 37967 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -32984,33 +37975,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 32995 "parser_cocci_menhir.ml" +# 37986 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33001 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 37992 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33008 "parser_cocci_menhir.ml" +# 37999 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33014 "parser_cocci_menhir.ml" +# 38005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33040,14 +38031,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33046 "parser_cocci_menhir.ml" +# 38037 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 33051 "parser_cocci_menhir.ml" +# 38042 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33057,28 +38048,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33063 "parser_cocci_menhir.ml" +# 38054 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33069 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 38060 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33076 "parser_cocci_menhir.ml" +# 38067 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33082 "parser_cocci_menhir.ml" +# 38073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33113,19 +38104,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33119 "parser_cocci_menhir.ml" +# 38110 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33124 "parser_cocci_menhir.ml" +# 38115 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 33129 "parser_cocci_menhir.ml" +# 38120 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33137,31 +38128,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33146 "parser_cocci_menhir.ml" +# 38137 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33152 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 38143 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33159 "parser_cocci_menhir.ml" +# 38150 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33165 "parser_cocci_menhir.ml" +# 38156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33177,59 +38168,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33197 "parser_cocci_menhir.ml" +# 38183 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33202 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33214 "parser_cocci_menhir.ml" +# 38194 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33220 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38200 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33227 "parser_cocci_menhir.ml" +# 38207 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33233 "parser_cocci_menhir.ml" +# 38213 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33245,59 +38225,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33265 "parser_cocci_menhir.ml" +# 38240 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33270 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33282 "parser_cocci_menhir.ml" +# 38251 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33288 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38257 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33295 "parser_cocci_menhir.ml" +# 38264 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33301 "parser_cocci_menhir.ml" +# 38270 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33313,59 +38282,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33333 "parser_cocci_menhir.ml" +# 38297 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33338 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33350 "parser_cocci_menhir.ml" +# 38308 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33356 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38314 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33363 "parser_cocci_menhir.ml" +# 38321 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33369 "parser_cocci_menhir.ml" +# 38327 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33381,60 +38339,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = p00; MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33401 "parser_cocci_menhir.ml" +# 38354 "parser_cocci_menhir.ml" ) = Obj.magic p00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33406 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in + let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let p0 = p00 in - let r = r0 in let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33419 "parser_cocci_menhir.ml" +# 38366 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33425 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38372 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33432 "parser_cocci_menhir.ml" +# 38379 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33438 "parser_cocci_menhir.ml" +# 38385 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33454,76 +38401,308 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 33479 "parser_cocci_menhir.ml" +# 38421 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 33484 "parser_cocci_menhir.ml" +# 38426 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let r1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33489 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in - let _startpos = _startpos_r1_ in + let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let p0 = p00 in let r0 = r00 in - let r = r1 in let ty = let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 33508 "parser_cocci_menhir.ml" +# 38444 "parser_cocci_menhir.ml" + + in + +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38450 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 38457 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 38463 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 38490 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 619 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 38501 "parser_cocci_menhir.ml" + + in + +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38507 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 38514 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 38520 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 38552 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 38557 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let _startpos = _startpos_ty100_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty20 = ty200 in + let ty10 = ty100 in + let ty = + let ty2 = ty20 in + let ty1 = ty10 in + +# 621 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 38573 "parser_cocci_menhir.ml" + + in + +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 38579 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 38586 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 38592 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 38619 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 629 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 38630 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38636 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 38643 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 38649 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 38676 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 631 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 38687 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33514 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38693 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33521 "parser_cocci_menhir.ml" +# 38700 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33527 "parser_cocci_menhir.ml" +# 38706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33539,59 +38718,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33559 "parser_cocci_menhir.ml" +# 38733 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 33564 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33576 "parser_cocci_menhir.ml" +# 633 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 38744 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33582 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38750 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33589 "parser_cocci_menhir.ml" +# 38757 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33595 "parser_cocci_menhir.ml" +# 38763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33607,74 +38775,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 33632 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 33637 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 33642 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in +# 38790 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let r = r0 in + let ty0 = ty00 in let ty = - let ty2 = ty20 in - let ty1 = ty10 in + let ty = ty0 in -# 547 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33659 "parser_cocci_menhir.ml" +# 635 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 38801 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33665 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38807 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33672 "parser_cocci_menhir.ml" +# 38814 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33678 "parser_cocci_menhir.ml" +# 38820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33699,9 +38841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 33705 "parser_cocci_menhir.ml" +# 38847 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33710,28 +38852,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33716 "parser_cocci_menhir.ml" +# 637 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 38858 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 33722 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38864 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33729 "parser_cocci_menhir.ml" +# 38871 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33735 "parser_cocci_menhir.ml" +# 38877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33756,9 +38898,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 33762 "parser_cocci_menhir.ml" +# 38904 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33767,28 +38909,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33773 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 38915 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 33779 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38921 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33786 "parser_cocci_menhir.ml" +# 38928 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33792 "parser_cocci_menhir.ml" +# 38934 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33804,48 +38946,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 33819 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in +# 38967 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let i0 = i00 in + let s0 = s00 in let ty = - let ty = ty0 in + let i = i0 in + let s = s0 in -# 533 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33830 "parser_cocci_menhir.ml" +# 641 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 38980 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 33836 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 38986 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33843 "parser_cocci_menhir.ml" +# 38993 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33849 "parser_cocci_menhir.ml" +# 38999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33861,49 +39011,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 33876 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39041 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39047 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 39052 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let p0 = p00 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in let ty = - let p = p0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 39070 "parser_cocci_menhir.ml" + + in -# 535 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33888 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 39079 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 33894 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 39085 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33901 "parser_cocci_menhir.ml" +# 39092 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33907 "parser_cocci_menhir.ml" +# 39098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33919,69 +39110,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 33943 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" - (string) -# 33948 "parser_cocci_menhir.ml" +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39145 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let _startpos = _startpos_r00_ in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39151 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 39157 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let p0 = p00 in let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in let ty = - let p = p0 in let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 39178 "parser_cocci_menhir.ml" + + in -# 538 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 33966 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 39187 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 33972 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 39193 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33979 "parser_cocci_menhir.ml" +# 39200 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33985 "parser_cocci_menhir.ml" +# 39206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33997,48 +39218,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 34012 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let i00 : 'tv_type_ident = Obj.magic i00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let i0 = i00 in + let s0 = s00 in let ty = - let ty = ty0 in + let i = i0 in + let s = s0 in -# 545 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 34023 "parser_cocci_menhir.ml" +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) +# 39248 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 34029 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 39254 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34036 "parser_cocci_menhir.ml" +# 39261 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34042 "parser_cocci_menhir.ml" +# 39267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34054,63 +39279,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 34074 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 34079 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let _startpos = _startpos_ty100_ in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39309 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39315 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in let ty = - let ty2 = ty20 in - let ty1 = ty10 in + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 39334 "parser_cocci_menhir.ml" + + in -# 547 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 34095 "parser_cocci_menhir.ml" +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 39344 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 34101 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 39350 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34108 "parser_cocci_menhir.ml" +# 39357 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34114 "parser_cocci_menhir.ml" +# 39363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34126,48 +39375,187 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 72 "parser_cocci_menhir.mly" - (Data.clt) -# 34141 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39410 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39416 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_type_ident = Obj.magic x000 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in let ty = - let ty = ty0 in + let r = r0 in + let d = d0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 39439 "parser_cocci_menhir.ml" + + in -# 555 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 34152 "parser_cocci_menhir.ml" +# 651 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 39449 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 39455 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39462 "parser_cocci_menhir.ml" + + in + +# 691 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39468 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39510 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 39516 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 39521 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + +# 657 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = s in + let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in + Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) +# 39540 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" ( ty ) -# 34158 "parser_cocci_menhir.ml" +# 39546 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34165 "parser_cocci_menhir.ml" +# 39553 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34171 "parser_cocci_menhir.ml" +# 39559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34184,47 +39572,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 34198 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 39586 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let p0 = p00 in let ty = - let ty = ty0 in + let p = p0 in -# 557 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 34209 "parser_cocci_menhir.ml" +# 661 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) +# 39597 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 34215 "parser_cocci_menhir.ml" +# 39603 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34222 "parser_cocci_menhir.ml" +# 39610 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34228 "parser_cocci_menhir.ml" +# 39616 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34240,48 +39628,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34255 "parser_cocci_menhir.ml" +# 39653 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 39658 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 34266 "parser_cocci_menhir.ml" +# 603 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 39671 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34272 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 39677 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34279 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 39685 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34285 "parser_cocci_menhir.ml" +# 39691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34297,56 +39703,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : ( -# 72 "parser_cocci_menhir.mly" + let ty00 : ( +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34318 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in +# 39728 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 39733 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let ty0 = ty00 in + let r = r0 in let ty = - let i = i0 in - let s = s0 in + let ty = ty0 in -# 561 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 34331 "parser_cocci_menhir.ml" +# 605 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 39746 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34337 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 39752 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34344 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 39760 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34350 "parser_cocci_menhir.ml" +# 39766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34362,52 +39778,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 39803 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 39808 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let ty0 = ty00 in + let r = r0 in let ty = - let i = i0 in - let s = s0 in + let ty = ty0 in -# 563 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 34392 "parser_cocci_menhir.ml" +# 607 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 39821 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34398 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 39827 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34405 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 39835 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34411 "parser_cocci_menhir.ml" +# 39841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34423,87 +39853,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34453 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34459 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 39878 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 39883 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let p0 = p00 in + let r = r0 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in - let i = - -# 39 "standard.mly" - ( None ) -# 34478 "parser_cocci_menhir.ml" - - in + let p = p0 in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 34488 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 39897 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34494 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 39903 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34501 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 39911 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34507 "parser_cocci_menhir.ml" +# 39917 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34519,26 +39929,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x000; - MenhirLib.EngineTypes.startp = _startpos_x000_; - MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; @@ -34547,68 +39956,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 39963 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34554 "parser_cocci_menhir.ml" +# 112 "parser_cocci_menhir.mly" + (string) +# 39968 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34560 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 39973 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = + let p0 = p00 in let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let x00 = x000 in - let s0 = s00 in + let r = r1 in let ty = + let p = p0 in let r = r0 in - let d = d0 in - let l = l0 in - let x0 = x00 in - let s = s0 in - let i = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 34583 "parser_cocci_menhir.ml" - - in -# 566 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 34593 "parser_cocci_menhir.ml" +# 612 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 39993 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34599 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 39999 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34606 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 40007 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34612 "parser_cocci_menhir.ml" +# 40013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34624,82 +40025,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34654 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 124 "parser_cocci_menhir.mly" - (Data.clt) -# 34660 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 34665 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 40050 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 40055 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in + let r = r0 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in + let ty = ty0 in -# 572 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = s in - let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in - Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 34684 "parser_cocci_menhir.ml" +# 619 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 40068 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34690 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 40074 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34697 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 40082 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34703 "parser_cocci_menhir.ml" +# 40088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34715,48 +40100,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 34730 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 40130 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 40135 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 40140 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let p0 = p00 in + let ty20 = ty200 in + let ty10 = ty100 in + let r = r0 in let ty = - let p = p0 in + let ty2 = ty20 in + let ty1 = ty10 in -# 576 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 34741 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 40158 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" - ( ty ) -# 34747 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 40164 "parser_cocci_menhir.ml" in let cv = + let x = x0 in -# 39 "standard.mly" - ( None ) -# 34754 "parser_cocci_menhir.ml" +# 41 "standard.mly" + ( Some x ) +# 40172 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34760 "parser_cocci_menhir.ml" +# 40178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34791,14 +40209,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34797 "parser_cocci_menhir.ml" +# 40215 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34802 "parser_cocci_menhir.ml" +# 40220 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34809,15 +40227,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 34815 "parser_cocci_menhir.ml" +# 40233 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34821 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40239 "parser_cocci_menhir.ml" in let cv = @@ -34825,13 +40243,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34829 "parser_cocci_menhir.ml" +# 40247 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34835 "parser_cocci_menhir.ml" +# 40253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34866,14 +40284,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34872 "parser_cocci_menhir.ml" +# 40290 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34877 "parser_cocci_menhir.ml" +# 40295 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34884,15 +40302,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34890 "parser_cocci_menhir.ml" +# 40308 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34896 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40314 "parser_cocci_menhir.ml" in let cv = @@ -34900,13 +40318,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34904 "parser_cocci_menhir.ml" +# 40322 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34910 "parser_cocci_menhir.ml" +# 40328 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34941,14 +40359,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34947 "parser_cocci_menhir.ml" +# 40365 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34952 "parser_cocci_menhir.ml" +# 40370 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34959,15 +40377,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34965 "parser_cocci_menhir.ml" +# 40383 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34971 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40389 "parser_cocci_menhir.ml" in let cv = @@ -34975,13 +40393,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34979 "parser_cocci_menhir.ml" +# 40397 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34985 "parser_cocci_menhir.ml" +# 40403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35016,14 +40434,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35022 "parser_cocci_menhir.ml" +# 40440 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 35027 "parser_cocci_menhir.ml" +# 40445 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35034,16 +40452,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35041 "parser_cocci_menhir.ml" +# 40459 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35047 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40465 "parser_cocci_menhir.ml" in let cv = @@ -35051,13 +40469,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35055 "parser_cocci_menhir.ml" +# 40473 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35061 "parser_cocci_menhir.ml" +# 40479 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35101,19 +40519,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 35107 "parser_cocci_menhir.ml" +# 40525 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 35112 "parser_cocci_menhir.ml" +# 40530 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 35117 "parser_cocci_menhir.ml" +# 40535 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35126,20 +40544,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 35137 "parser_cocci_menhir.ml" +# 40555 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35143 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40561 "parser_cocci_menhir.ml" in let cv = @@ -35147,13 +40565,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35151 "parser_cocci_menhir.ml" +# 40569 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35157 "parser_cocci_menhir.ml" +# 40575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35188,14 +40606,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35194 "parser_cocci_menhir.ml" +# 40612 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 35199 "parser_cocci_menhir.ml" +# 40617 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35206,15 +40624,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35212 "parser_cocci_menhir.ml" +# 40630 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35218 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40636 "parser_cocci_menhir.ml" in let cv = @@ -35222,13 +40640,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35226 "parser_cocci_menhir.ml" +# 40644 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35232 "parser_cocci_menhir.ml" +# 40650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35268,19 +40686,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35274 "parser_cocci_menhir.ml" +# 40692 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35279 "parser_cocci_menhir.ml" +# 40697 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 73 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 35284 "parser_cocci_menhir.ml" +# 40702 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35293,18 +40711,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35302 "parser_cocci_menhir.ml" +# 40720 "parser_cocci_menhir.ml" in -# 581 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35308 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 40726 "parser_cocci_menhir.ml" in let cv = @@ -35312,13 +40730,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35316 "parser_cocci_menhir.ml" +# 40734 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35322 "parser_cocci_menhir.ml" +# 40740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35338,48 +40756,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35359 "parser_cocci_menhir.ml" +# 40772 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35364 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35377 "parser_cocci_menhir.ml" +# 40784 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35383 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 40790 "parser_cocci_menhir.ml" in let cv = @@ -35387,13 +40794,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35391 "parser_cocci_menhir.ml" +# 40798 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35397 "parser_cocci_menhir.ml" +# 40804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35413,48 +40820,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35434 "parser_cocci_menhir.ml" +# 40836 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35439 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35452 "parser_cocci_menhir.ml" +# 40848 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35458 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 40854 "parser_cocci_menhir.ml" in let cv = @@ -35462,13 +40858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35466 "parser_cocci_menhir.ml" +# 40862 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35472 "parser_cocci_menhir.ml" +# 40868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35488,48 +40884,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35509 "parser_cocci_menhir.ml" +# 40900 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35514 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35527 "parser_cocci_menhir.ml" +# 40912 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35533 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 40918 "parser_cocci_menhir.ml" in let cv = @@ -35537,13 +40922,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35541 "parser_cocci_menhir.ml" +# 40926 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35547 "parser_cocci_menhir.ml" +# 40932 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35563,49 +40948,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35584 "parser_cocci_menhir.ml" +# 40964 "parser_cocci_menhir.ml" ) = Obj.magic p00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35589 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let p0 = p00 in - let r = r0 in let ty = let p = p0 in -# 535 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35603 "parser_cocci_menhir.ml" +# 40977 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35609 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 40983 "parser_cocci_menhir.ml" in let cv = @@ -35613,13 +40987,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35617 "parser_cocci_menhir.ml" +# 40991 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35623 "parser_cocci_menhir.ml" +# 40997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35639,23 +41013,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -35663,45 +41032,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 35669 "parser_cocci_menhir.ml" +# 41038 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 69 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 35674 "parser_cocci_menhir.ml" +# 41043 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let r1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35679 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let p0 = p00 in let r0 = r00 in - let r = r1 in let ty = let p = p0 in let r = r0 in -# 538 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 35699 "parser_cocci_menhir.ml" +# 41062 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35705 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 41068 "parser_cocci_menhir.ml" in let cv = @@ -35709,13 +41072,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35713 "parser_cocci_menhir.ml" +# 41076 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35719 "parser_cocci_menhir.ml" +# 41082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35735,48 +41098,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35756 "parser_cocci_menhir.ml" +# 41114 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35761 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35774 "parser_cocci_menhir.ml" +# 41126 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35780 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 41132 "parser_cocci_menhir.ml" in let cv = @@ -35784,13 +41136,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35788 "parser_cocci_menhir.ml" +# 41140 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35794 "parser_cocci_menhir.ml" +# 41146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35814,59 +41166,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty100_; MenhirLib.EngineTypes.endp = _endpos_ty100_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35836 "parser_cocci_menhir.ml" +# 41183 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35841 "parser_cocci_menhir.ml" +# 41188 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in - let r0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 35846 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = let ty20 = ty200 in let ty10 = ty100 in - let r = r0 in let ty = let ty2 = ty20 in let ty1 = ty10 in -# 547 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35864 "parser_cocci_menhir.ml" +# 41205 "parser_cocci_menhir.ml" in -# 583 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35870 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.mly" + ( ty ) +# 41211 "parser_cocci_menhir.ml" in let cv = @@ -35874,13 +41215,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35878 "parser_cocci_menhir.ml" +# 41219 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35884 "parser_cocci_menhir.ml" +# 41225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35910,9 +41251,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 35916 "parser_cocci_menhir.ml" +# 41257 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35922,15 +41263,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35928 "parser_cocci_menhir.ml" +# 629 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 41269 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 35934 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 41275 "parser_cocci_menhir.ml" in let cv = @@ -35938,13 +41279,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35942 "parser_cocci_menhir.ml" +# 41283 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35948 "parser_cocci_menhir.ml" +# 41289 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35974,9 +41315,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35980 "parser_cocci_menhir.ml" +# 41321 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35986,15 +41327,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35992 "parser_cocci_menhir.ml" +# 631 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 41333 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 35998 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 41339 "parser_cocci_menhir.ml" in let cv = @@ -36002,13 +41343,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36006 "parser_cocci_menhir.ml" +# 41347 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36012 "parser_cocci_menhir.ml" +# 41353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36038,9 +41379,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 36044 "parser_cocci_menhir.ml" +# 41385 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36050,15 +41391,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 36056 "parser_cocci_menhir.ml" +# 633 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 41397 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 36062 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 41403 "parser_cocci_menhir.ml" in let cv = @@ -36066,13 +41407,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36070 "parser_cocci_menhir.ml" +# 41411 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36076 "parser_cocci_menhir.ml" +# 41417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36088,9 +41429,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = x0; @@ -36101,114 +41442,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 87 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 36108 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_typedef_ctype = let ty = - let p0 = p00 in - let ty = - let p = p0 in - -# 535 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36121 "parser_cocci_menhir.ml" - - in - -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 36127 "parser_cocci_menhir.ml" - - in - let cv = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 36135 "parser_cocci_menhir.ml" - - in - -# 602 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 36141 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 81 "parser_cocci_menhir.mly" - (string * Data.clt) -# 36182 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r00 : ( -# 69 "parser_cocci_menhir.mly" - (string) -# 36187 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 41449 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let p0 = p00 in - let r0 = r00 in + let ty0 = ty00 in let ty = - let p = p0 in - let r = r0 in + let ty = ty0 in -# 538 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 36206 "parser_cocci_menhir.ml" +# 635 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 41461 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 36212 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 41467 "parser_cocci_menhir.ml" in let cv = @@ -36216,13 +41471,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36220 "parser_cocci_menhir.ml" +# 41475 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36226 "parser_cocci_menhir.ml" +# 41481 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36252,9 +41507,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 71 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 36258 "parser_cocci_menhir.ml" +# 41513 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36264,94 +41519,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36270 "parser_cocci_menhir.ml" - - in - -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 36276 "parser_cocci_menhir.ml" - - in - let cv = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 36284 "parser_cocci_menhir.ml" - - in - -# 602 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 36290 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 36327 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 71 "parser_cocci_menhir.mly" - (Data.clt) -# 36332 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_typedef_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let ty = - let ty2 = ty20 in - let ty1 = ty10 in - -# 547 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36349 "parser_cocci_menhir.ml" +# 637 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 41525 "parser_cocci_menhir.ml" in -# 584 "parser_cocci_menhir.mly" - ( ty ) -# 36355 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( ty ) +# 41531 "parser_cocci_menhir.ml" in let cv = @@ -36359,13 +41535,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36363 "parser_cocci_menhir.ml" +# 41539 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36369 "parser_cocci_menhir.ml" +# 41545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36395,9 +41571,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 72 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 36401 "parser_cocci_menhir.ml" +# 41577 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36407,15 +41583,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 555 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 36413 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 41589 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36419 "parser_cocci_menhir.ml" +# 41595 "parser_cocci_menhir.ml" in let cv = @@ -36423,13 +41599,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36427 "parser_cocci_menhir.ml" +# 41603 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36433 "parser_cocci_menhir.ml" +# 41609 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36445,41 +41621,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 36465 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in +# 41647 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let i0 = i00 in + let s0 = s00 in let ty = - let ty = ty0 in + let i = i0 in + let s = s0 in -# 557 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 36477 "parser_cocci_menhir.ml" +# 641 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 41661 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36483 "parser_cocci_menhir.ml" +# 41667 "parser_cocci_menhir.ml" in let cv = @@ -36487,13 +41671,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36491 "parser_cocci_menhir.ml" +# 41675 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36497 "parser_cocci_menhir.ml" +# 41681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36509,41 +41693,83 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 71 "parser_cocci_menhir.mly" + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 41728 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 41734 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 36529 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in +# 41739 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in let ty = - let ty = ty0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 41758 "parser_cocci_menhir.ml" + + in -# 559 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 36541 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 41767 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36547 "parser_cocci_menhir.ml" +# 41773 "parser_cocci_menhir.ml" in let cv = @@ -36551,13 +41777,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36555 "parser_cocci_menhir.ml" +# 41781 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36561 "parser_cocci_menhir.ml" +# 41787 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36573,49 +41799,92 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let r00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 41839 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 168 "parser_cocci_menhir.mly" + (Data.clt) +# 41845 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 72 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 36599 "parser_cocci_menhir.ml" +# 41851 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let i0 = i00 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in let s0 = s00 in let ty = - let i = i0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 41873 "parser_cocci_menhir.ml" + + in -# 561 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 36613 "parser_cocci_menhir.ml" +# 643 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 41882 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36619 "parser_cocci_menhir.ml" +# 41888 "parser_cocci_menhir.ml" in let cv = @@ -36623,13 +41892,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36627 "parser_cocci_menhir.ml" +# 41896 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36633 "parser_cocci_menhir.ml" +# 41902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36663,7 +41932,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let i00 : 'tv_type_ident = Obj.magic i00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36675,15 +41944,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 563 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 36681 "parser_cocci_menhir.ml" +# 41950 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36687 "parser_cocci_menhir.ml" +# 41956 "parser_cocci_menhir.ml" in let cv = @@ -36691,13 +41960,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36695 "parser_cocci_menhir.ml" +# 41964 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36701 "parser_cocci_menhir.ml" +# 41970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36742,15 +42011,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36748 "parser_cocci_menhir.ml" +# 42017 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36754 "parser_cocci_menhir.ml" +# 42023 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in @@ -36770,23 +42039,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 36774 "parser_cocci_menhir.ml" +# 42043 "parser_cocci_menhir.ml" in -# 566 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 36784 "parser_cocci_menhir.ml" +# 42053 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36790 "parser_cocci_menhir.ml" +# 42059 "parser_cocci_menhir.ml" in let cv = @@ -36794,13 +42063,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36798 "parser_cocci_menhir.ml" +# 42067 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36804 "parser_cocci_menhir.ml" +# 42073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36850,17 +42119,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36856 "parser_cocci_menhir.ml" +# 42125 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36862 "parser_cocci_menhir.ml" +# 42131 "parser_cocci_menhir.ml" ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in + let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36882,23 +42151,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36886 "parser_cocci_menhir.ml" +# 42155 "parser_cocci_menhir.ml" in -# 566 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 36896 "parser_cocci_menhir.ml" +# 42165 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 36902 "parser_cocci_menhir.ml" +# 42171 "parser_cocci_menhir.ml" in let cv = @@ -36906,13 +42175,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36910 "parser_cocci_menhir.ml" +# 42179 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36916 "parser_cocci_menhir.ml" +# 42185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36957,20 +42226,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36963 "parser_cocci_menhir.ml" +# 42232 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 124 "parser_cocci_menhir.mly" +# 168 "parser_cocci_menhir.mly" (Data.clt) -# 36969 "parser_cocci_menhir.ml" +# 42238 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 87 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36974 "parser_cocci_menhir.ml" +# 42243 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36986,17 +42255,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 572 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 36994 "parser_cocci_menhir.ml" +# 42263 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 37000 "parser_cocci_menhir.ml" +# 42269 "parser_cocci_menhir.ml" in let cv = @@ -37004,13 +42273,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37008 "parser_cocci_menhir.ml" +# 42277 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37014 "parser_cocci_menhir.ml" +# 42283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37040,9 +42309,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 81 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 37046 "parser_cocci_menhir.ml" +# 42315 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -37052,15 +42321,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 576 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 37058 "parser_cocci_menhir.ml" +# 42327 "parser_cocci_menhir.ml" in -# 585 "parser_cocci_menhir.mly" +# 670 "parser_cocci_menhir.mly" ( ty ) -# 37064 "parser_cocci_menhir.ml" +# 42333 "parser_cocci_menhir.ml" in let cv = @@ -37068,13 +42337,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37072 "parser_cocci_menhir.ml" +# 42341 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 691 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37078 "parser_cocci_menhir.ml" +# 42347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37103,24 +42372,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37109 "parser_cocci_menhir.ml" +# 42378 "parser_cocci_menhir.ml" ) = Obj.magic rp in - let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in + let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37115 "parser_cocci_menhir.ml" +# 42384 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 604 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 37124 "parser_cocci_menhir.ml" +# 42393 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 42414 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_typedef_ctype = +# 696 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 42421 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37142,9 +42439,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1710 "parser_cocci_menhir.mly" +# 1901 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 37148 "parser_cocci_menhir.ml" +# 42445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37163,17 +42460,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37169 "parser_cocci_menhir.ml" +# 42466 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1712 "parser_cocci_menhir.mly" +# 1902 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 42473 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 42494 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_typedef_ident = +# 1904 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 37177 "parser_cocci_menhir.ml" +# 42502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37195,9 +42520,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1348 "parser_cocci_menhir.mly" +# 1496 "parser_cocci_menhir.mly" ( _1 ) -# 37201 "parser_cocci_menhir.ml" +# 42526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37220,18 +42545,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37228 "parser_cocci_menhir.ml" +# 42553 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1350 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37235 "parser_cocci_menhir.ml" +# 42560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37254,18 +42579,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37262 "parser_cocci_menhir.ml" +# 42587 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1352 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37269 "parser_cocci_menhir.ml" +# 42594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37293,9 +42618,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1354 "parser_cocci_menhir.mly" +# 1502 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37299 "parser_cocci_menhir.ml" +# 42624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37318,19 +42643,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37326 "parser_cocci_menhir.ml" +# 42651 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1356 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37334 "parser_cocci_menhir.ml" +# 42659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37353,18 +42678,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37361 "parser_cocci_menhir.ml" +# 42686 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37368 "parser_cocci_menhir.ml" +# 42693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37398,29 +42723,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37404 "parser_cocci_menhir.ml" +# 42729 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37410 "parser_cocci_menhir.ml" +# 42735 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37415 "parser_cocci_menhir.ml" +# 42740 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1361 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37424 "parser_cocci_menhir.ml" +# 42749 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37442,9 +42767,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1348 "parser_cocci_menhir.mly" +# 1496 "parser_cocci_menhir.mly" ( _1 ) -# 37448 "parser_cocci_menhir.ml" +# 42773 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37467,18 +42792,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37475 "parser_cocci_menhir.ml" +# 42800 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1350 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37482 "parser_cocci_menhir.ml" +# 42807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37501,18 +42826,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37509 "parser_cocci_menhir.ml" +# 42834 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1352 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37516 "parser_cocci_menhir.ml" +# 42841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37540,9 +42865,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1354 "parser_cocci_menhir.mly" +# 1502 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37546 "parser_cocci_menhir.ml" +# 42871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37565,19 +42890,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37573 "parser_cocci_menhir.ml" +# 42898 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1356 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37581 "parser_cocci_menhir.ml" +# 42906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37600,18 +42925,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37608 "parser_cocci_menhir.ml" +# 42933 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37615 "parser_cocci_menhir.ml" +# 42940 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37645,29 +42970,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37651 "parser_cocci_menhir.ml" +# 42976 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37657 "parser_cocci_menhir.ml" +# 42982 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37662 "parser_cocci_menhir.ml" +# 42987 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1361 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37671 "parser_cocci_menhir.ml" +# 42996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37689,9 +43014,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1348 "parser_cocci_menhir.mly" +# 1496 "parser_cocci_menhir.mly" ( _1 ) -# 37695 "parser_cocci_menhir.ml" +# 43020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37714,18 +43039,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37722 "parser_cocci_menhir.ml" +# 43047 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1350 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37729 "parser_cocci_menhir.ml" +# 43054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37748,18 +43073,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37756 "parser_cocci_menhir.ml" +# 43081 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1352 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37763 "parser_cocci_menhir.ml" +# 43088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37787,9 +43112,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1354 "parser_cocci_menhir.mly" +# 1502 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37793 "parser_cocci_menhir.ml" +# 43118 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37812,19 +43137,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37820 "parser_cocci_menhir.ml" +# 43145 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1356 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37828 "parser_cocci_menhir.ml" +# 43153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37847,18 +43172,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37855 "parser_cocci_menhir.ml" +# 43180 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37862 "parser_cocci_menhir.ml" +# 43187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37892,29 +43217,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37898 "parser_cocci_menhir.ml" +# 43223 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 37904 "parser_cocci_menhir.ml" +# 43229 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37909 "parser_cocci_menhir.ml" +# 43234 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1361 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37918 "parser_cocci_menhir.ml" +# 43243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37936,9 +43261,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1348 "parser_cocci_menhir.mly" +# 1496 "parser_cocci_menhir.mly" ( _1 ) -# 37942 "parser_cocci_menhir.ml" +# 43267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37961,18 +43286,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 37969 "parser_cocci_menhir.ml" +# 43294 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1350 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37976 "parser_cocci_menhir.ml" +# 43301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37995,18 +43320,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 38003 "parser_cocci_menhir.ml" +# 43328 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1352 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 38010 "parser_cocci_menhir.ml" +# 43335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38034,9 +43359,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1354 "parser_cocci_menhir.mly" +# 1502 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38040 "parser_cocci_menhir.ml" +# 43365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38059,19 +43384,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 38067 "parser_cocci_menhir.ml" +# 43392 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1356 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38075 "parser_cocci_menhir.ml" +# 43400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38094,18 +43419,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 38102 "parser_cocci_menhir.ml" +# 43427 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 38109 "parser_cocci_menhir.ml" +# 43434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38139,29 +43464,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 100 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 38145 "parser_cocci_menhir.ml" +# 43470 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 99 "parser_cocci_menhir.mly" +# 143 "parser_cocci_menhir.mly" (Data.clt) -# 38151 "parser_cocci_menhir.ml" +# 43476 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 80 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 38156 "parser_cocci_menhir.ml" +# 43481 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1361 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 38165 "parser_cocci_menhir.ml" +# 43490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38179,17 +43504,264 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_unary_expr_bis = +# 1515 "parser_cocci_menhir.mly" + ( _1 ) +# 43514 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 152 "parser_cocci_menhir.mly" + (Data.clt) +# 43541 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1517 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) +# 43548 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 116 "parser_cocci_menhir.mly" +# 152 "parser_cocci_menhir.mly" (Data.clt) -# 38186 "parser_cocci_menhir.ml" +# 43575 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1519 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) +# 43582 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _1 : 'tv_unary_op = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1521 "parser_cocci_menhir.mly" + ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 43612 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 43639 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1523 "parser_cocci_menhir.mly" + ( let mcode = P.clt2mcode Ast.Not _1 in + Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 43647 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 124 "parser_cocci_menhir.mly" + (Data.clt) +# 43674 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1526 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) +# 43681 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let rp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 43717 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 143 "parser_cocci_menhir.mly" + (Data.clt) +# 43723 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let s : ( +# 124 "parser_cocci_menhir.mly" + (Data.clt) +# 43728 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_unary_expr_bis = +# 1528 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, + P.clt2mcode "(" lp,t, + P.clt2mcode ")" rp)) ) +# 43737 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 160 "parser_cocci_menhir.mly" + (Data.clt) +# 43758 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1365 "parser_cocci_menhir.mly" +# 1532 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 38193 "parser_cocci_menhir.ml" +# 43765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38208,16 +43780,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 38214 "parser_cocci_menhir.ml" +# 43786 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1366 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 38221 "parser_cocci_menhir.ml" +# 43793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38236,16 +43808,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 38242 "parser_cocci_menhir.ml" +# 43814 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1367 "parser_cocci_menhir.mly" +# 1534 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 38249 "parser_cocci_menhir.ml" +# 43821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38264,16 +43836,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 121 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Data.clt) -# 38270 "parser_cocci_menhir.ml" +# 43842 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1368 "parser_cocci_menhir.mly" +# 1535 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 38277 "parser_cocci_menhir.ml" +# 43849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38292,16 +43864,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 122 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 38298 "parser_cocci_menhir.ml" +# 43870 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1369 "parser_cocci_menhir.mly" +# 1536 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 38305 "parser_cocci_menhir.ml" +# 43877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38329,9 +43901,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1930 "parser_cocci_menhir.mly" +# 2154 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 38335 "parser_cocci_menhir.ml" +# 43907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38359,9 +43931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1932 "parser_cocci_menhir.mly" +# 2156 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 38365 "parser_cocci_menhir.ml" +# 43937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38383,9 +43955,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 951 "parser_cocci_menhir.mly" +# 1079 "parser_cocci_menhir.mly" ( w ) -# 38389 "parser_cocci_menhir.ml" +# 43961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38419,9 +43991,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1998 "parser_cocci_menhir.mly" +# 2201 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 38425 "parser_cocci_menhir.ml" +# 43997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38455,9 +44027,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1999 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 38461 "parser_cocci_menhir.ml" +# 44033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38487,9 +44059,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2001 "parser_cocci_menhir.mly" +# 2204 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 38493 "parser_cocci_menhir.ml" +# 44065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38523,9 +44095,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2002 "parser_cocci_menhir.mly" +# 2205 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 38529 "parser_cocci_menhir.ml" +# 44101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38559,9 +44131,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2003 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 38565 "parser_cocci_menhir.ml" +# 44137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38582,106 +44154,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1820 lexer lexbuf) : ( -# 182 "parser_cocci_menhir.mly" - (string * Ast_cocci.meta_name) -# 38589 "parser_cocci_menhir.ml" + (Obj.magic (MenhirInterpreter.entry 2018 lexer lexbuf) : ( +# 228 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 44161 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1748 lexer lexbuf) : ( -# 176 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1943 lexer lexbuf) : ( +# 222 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38597 "parser_cocci_menhir.ml" +# 44169 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1746 lexer lexbuf) : ( -# 154 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1941 lexer lexbuf) : ( +# 200 "parser_cocci_menhir.mly" (unit) -# 38605 "parser_cocci_menhir.ml" +# 44177 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : ( -# 163 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1905 lexer lexbuf) : ( +# 209 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38613 "parser_cocci_menhir.ml" +# 44185 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1702 lexer lexbuf) : ( -# 166 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1897 lexer lexbuf) : ( +# 212 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38621 "parser_cocci_menhir.ml" +# 44193 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1696 lexer lexbuf) : ( -# 191 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1891 lexer lexbuf) : ( +# 237 "parser_cocci_menhir.mly" (unit) -# 38629 "parser_cocci_menhir.ml" +# 44201 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1616 lexer lexbuf) : ( -# 157 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1806 lexer lexbuf) : ( +# 203 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38637 "parser_cocci_menhir.ml" +# 44209 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1604 lexer lexbuf) : ( -# 160 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1794 lexer lexbuf) : ( +# 206 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38645 "parser_cocci_menhir.ml" +# 44217 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1601 lexer lexbuf) : ( -# 180 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1791 lexer lexbuf) : ( +# 226 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38653 "parser_cocci_menhir.ml" +# 44225 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1597 lexer lexbuf) : ( -# 172 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1787 lexer lexbuf) : ( +# 218 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38661 "parser_cocci_menhir.ml" +# 44233 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1343 lexer lexbuf) : ( -# 188 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1516 lexer lexbuf) : ( +# 234 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38669 "parser_cocci_menhir.ml" +# 44241 "parser_cocci_menhir.ml" )) and iso_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( -# 185 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 38677 "parser_cocci_menhir.ml" +# 44249 "parser_cocci_menhir.ml" )) and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 169 "parser_cocci_menhir.mly" +# 215 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 38685 "parser_cocci_menhir.ml" +# 44257 "parser_cocci_menhir.ml" ))