exception Error

type token = 
  | Tvolatile of (
# 213 "parser_cocci_menhir.mly"
      (Data.clt)
# 8 "parser_cocci_menhir.ml"
)
  | Tvoid of (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 13 "parser_cocci_menhir.ml"
)
  | Tunsigned of (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 18 "parser_cocci_menhir.ml"
)
  | Tunion of (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 23 "parser_cocci_menhir.ml"
)
  | Ttypedef of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 28 "parser_cocci_menhir.ml"
)
  | Tstruct of (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 33 "parser_cocci_menhir.ml"
)
  | Tstatic of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 38 "parser_cocci_menhir.ml"
)
  | Tssize_t of (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 43 "parser_cocci_menhir.ml"
)
  | Tsize_t of (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 48 "parser_cocci_menhir.ml"
)
  | Tsigned of (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 53 "parser_cocci_menhir.ml"
)
  | Tshort of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 58 "parser_cocci_menhir.ml"
)
  | Tregister of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 63 "parser_cocci_menhir.ml"
)
  | Tptrdiff_t of (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 68 "parser_cocci_menhir.ml"
)
  | Tlong of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 73 "parser_cocci_menhir.ml"
)
  | Tlist
  | Tint of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 79 "parser_cocci_menhir.ml"
)
  | Tinline of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 84 "parser_cocci_menhir.ml"
)
  | Tfloat of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 89 "parser_cocci_menhir.ml"
)
  | Textern of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 94 "parser_cocci_menhir.ml"
)
  | Texec of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 99 "parser_cocci_menhir.ml"
)
  | Tenum of (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 104 "parser_cocci_menhir.ml"
)
  | Tdouble of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 109 "parser_cocci_menhir.ml"
)
  | Tdecimal of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 114 "parser_cocci_menhir.ml"
)
  | Tconst of (
# 213 "parser_cocci_menhir.mly"
      (Data.clt)
# 119 "parser_cocci_menhir.ml"
)
  | Tchar of (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 124 "parser_cocci_menhir.ml"
)
  | Tauto of (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 129 "parser_cocci_menhir.ml"
)
  | Tattr of (
# 214 "parser_cocci_menhir.mly"
      (string * Data.clt)
# 134 "parser_cocci_menhir.ml"
)
  | TXor of (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 139 "parser_cocci_menhir.ml"
)
  | TWords
  | TWhy0
  | TWhy of (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 146 "parser_cocci_menhir.ml"
)
  | TWhitespace of (
# 238 "parser_cocci_menhir.mly"
       (string)
# 151 "parser_cocci_menhir.ml"
)
  | TWhile of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 156 "parser_cocci_menhir.ml"
)
  | TWhenTrue of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 161 "parser_cocci_menhir.ml"
)
  | TWhenFalse of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 166 "parser_cocci_menhir.ml"
)
  | TWhen of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 171 "parser_cocci_menhir.ml"
)
  | TVirtual
  | TVAEllipsis of (
# 216 "parser_cocci_menhir.mly"
       (Data.clt)
# 177 "parser_cocci_menhir.ml"
)
  | TUsing
  | TUnderscore
  | TUndef of (
# 248 "parser_cocci_menhir.mly"
       (Data.clt * token)
# 184 "parser_cocci_menhir.ml"
)
  | TTypedef
  | TTypeId of (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 190 "parser_cocci_menhir.ml"
)
  | TType
  | TTildeExclEq of (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 196 "parser_cocci_menhir.ml"
)
  | TTildeEq of (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 201 "parser_cocci_menhir.ml"
)
  | TTilde of (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 206 "parser_cocci_menhir.ml"
)
  | TSymbol
  | TSymId of (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 212 "parser_cocci_menhir.ml"
)
  | TSwitch of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 217 "parser_cocci_menhir.ml"
)
  | TSub of (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 222 "parser_cocci_menhir.ml"
)
  | TString of (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 227 "parser_cocci_menhir.ml"
)
  | TStrict of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 232 "parser_cocci_menhir.ml"
)
  | TStatement
  | TSizeof of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 238 "parser_cocci_menhir.ml"
)
  | TShROp of (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 243 "parser_cocci_menhir.ml"
)
  | TShLOp of (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 248 "parser_cocci_menhir.ml"
)
  | TScriptData of (
# 238 "parser_cocci_menhir.mly"
       (string)
# 253 "parser_cocci_menhir.ml"
)
  | TScript
  | TRuleName of (
# 205 "parser_cocci_menhir.mly"
      (string)
# 259 "parser_cocci_menhir.ml"
)
  | TRightIso
  | TReturn of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 265 "parser_cocci_menhir.ml"
)
  | TPure
  | TPtrOp of (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 271 "parser_cocci_menhir.ml"
)
  | TPtVirg of (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 276 "parser_cocci_menhir.ml"
)
  | TPragma of (
# 249 "parser_cocci_menhir.mly"
       (Data.clt)
# 281 "parser_cocci_menhir.ml"
)
  | TPosition
  | TPosAny
  | TPlusFile of (
# 251 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 288 "parser_cocci_menhir.ml"
)
  | TPlus0
  | TPlus of (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 294 "parser_cocci_menhir.ml"
)
  | TPathIsoFile of (
# 246 "parser_cocci_menhir.mly"
       (string)
# 299 "parser_cocci_menhir.ml"
)
  | TParameter
  | TPOEllipsis of (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 305 "parser_cocci_menhir.ml"
)
  | TPCEllipsis of (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 310 "parser_cocci_menhir.ml"
)
  | TPArob of (
# 237 "parser_cocci_menhir.mly"
       (Data.clt)
# 315 "parser_cocci_menhir.ml"
)
  | TOrLog of (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 320 "parser_cocci_menhir.ml"
)
  | TOr of (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 325 "parser_cocci_menhir.ml"
)
  | TOperator
  | TOpAssign of (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 331 "parser_cocci_menhir.ml"
)
  | TOn
  | TOPar0 of (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 337 "parser_cocci_menhir.ml"
)
  | TOPar of (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 342 "parser_cocci_menhir.ml"
)
  | TOInit of (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 347 "parser_cocci_menhir.ml"
)
  | TOEllipsis of (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 352 "parser_cocci_menhir.ml"
)
  | TOCro of (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 357 "parser_cocci_menhir.ml"
)
  | TOBrace of (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 362 "parser_cocci_menhir.ml"
)
  | TNothing
  | TNotEq of (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 368 "parser_cocci_menhir.ml"
)
  | TNever
  | TName
  | TMul of (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 375 "parser_cocci_menhir.ml"
)
  | TMinusFile of (
# 251 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 380 "parser_cocci_menhir.ml"
)
  | TMinus of (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 385 "parser_cocci_menhir.ml"
)
  | TMid0 of (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 390 "parser_cocci_menhir.ml"
)
  | TMetavariable
  | TMetaType of (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 396 "parser_cocci_menhir.ml"
)
  | TMetaStmList of (
# 231 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 401 "parser_cocci_menhir.ml"
)
  | TMetaStm of (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 406 "parser_cocci_menhir.ml"
)
  | TMetaPos of (
# 234 "parser_cocci_menhir.mly"
       (Parse_aux.pos_info)
# 411 "parser_cocci_menhir.ml"
)
  | TMetaParamList of (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 416 "parser_cocci_menhir.ml"
)
  | TMetaParam of (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 421 "parser_cocci_menhir.ml"
)
  | TMetaLocalIdExp of (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 426 "parser_cocci_menhir.ml"
)
  | TMetaLocalFunc of (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 431 "parser_cocci_menhir.ml"
)
  | TMetaIterator of (
# 224 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 436 "parser_cocci_menhir.ml"
)
  | TMetaInitList of (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 441 "parser_cocci_menhir.ml"
)
  | TMetaInit of (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 446 "parser_cocci_menhir.ml"
)
  | TMetaIdExp of (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 451 "parser_cocci_menhir.ml"
)
  | TMetaId of (
# 222 "parser_cocci_menhir.mly"
       (Parse_aux.midinfo)
# 456 "parser_cocci_menhir.ml"
)
  | TMetaGlobalIdExp of (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 461 "parser_cocci_menhir.ml"
)
  | TMetaFunc of (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 466 "parser_cocci_menhir.ml"
)
  | TMetaFieldList of (
# 231 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 471 "parser_cocci_menhir.ml"
)
  | TMetaField of (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 476 "parser_cocci_menhir.ml"
)
  | TMetaExpList of (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 481 "parser_cocci_menhir.ml"
)
  | TMetaExp of (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 486 "parser_cocci_menhir.ml"
)
  | TMetaErr of (
# 227 "parser_cocci_menhir.mly"
       (Parse_aux.expinfo)
# 491 "parser_cocci_menhir.ml"
)
  | TMetaDeclarer of (
# 224 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 496 "parser_cocci_menhir.ml"
)
  | TMetaDecl of (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 501 "parser_cocci_menhir.ml"
)
  | TMetaConst of (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 506 "parser_cocci_menhir.ml"
)
  | TMetaBinaryOp of (
# 226 "parser_cocci_menhir.mly"
       (Parse_aux.binaryOpinfo)
# 511 "parser_cocci_menhir.ml"
)
  | TMetaAssignOp of (
# 225 "parser_cocci_menhir.mly"
       (Parse_aux.assignOpinfo)
# 516 "parser_cocci_menhir.ml"
)
  | TMeta of (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 521 "parser_cocci_menhir.ml"
)
  | TMPtVirg
  | TLogOp of (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 527 "parser_cocci_menhir.ml"
)
  | TLocal
  | TLineEnd of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 533 "parser_cocci_menhir.ml"
)
  | TIteratorId of (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 538 "parser_cocci_menhir.ml"
)
  | TIterator
  | TIsoType
  | TIsoTopLevel
  | TIsoToTestExpression
  | TIsoTestExpression
  | TIsoStatement
  | TIsoExpression
  | TIsoDeclaration
  | TIsoArgExpression
  | TIso
  | TInvalid
  | TInt of (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 554 "parser_cocci_menhir.ml"
)
  | TInitialize
  | TInitialiser
  | TIncludeNL of (
# 247 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 561 "parser_cocci_menhir.ml"
)
  | TIncludeL of (
# 247 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 566 "parser_cocci_menhir.ml"
)
  | TInc of (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 571 "parser_cocci_menhir.ml"
)
  | TIf of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 576 "parser_cocci_menhir.ml"
)
  | TIdentifier
  | TIdent of (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 582 "parser_cocci_menhir.ml"
)
  | TIdExpression
  | TGoto of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 588 "parser_cocci_menhir.ml"
)
  | TGlobal
  | TGenerated
  | TFunction
  | TFunDecl of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 596 "parser_cocci_menhir.ml"
)
  | TFresh
  | TFormat
  | TForall
  | TFor of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 604 "parser_cocci_menhir.ml"
)
  | TFloat of (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 609 "parser_cocci_menhir.ml"
)
  | TFinalize
  | TField
  | TExtends
  | TExpression
  | TExists
  | TEver
  | TError
  | TEqEq of (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 621 "parser_cocci_menhir.ml"
)
  | TEq of (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 626 "parser_cocci_menhir.ml"
)
  | TElse of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 631 "parser_cocci_menhir.ml"
)
  | TEllipsis of (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 636 "parser_cocci_menhir.ml"
)
  | TDotDot of (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 641 "parser_cocci_menhir.ml"
)
  | TDot of (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 646 "parser_cocci_menhir.ml"
)
  | TDo of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 651 "parser_cocci_menhir.ml"
)
  | TDmOp of (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 656 "parser_cocci_menhir.ml"
)
  | TDisable
  | TDirective of (
# 220 "parser_cocci_menhir.mly"
       (Ast_cocci.added_string * Data.clt)
# 662 "parser_cocci_menhir.ml"
)
  | TDepends
  | TDefineParam of (
# 250 "parser_cocci_menhir.mly"
       (Data.clt * token * int * int)
# 668 "parser_cocci_menhir.ml"
)
  | TDefine of (
# 248 "parser_cocci_menhir.mly"
       (Data.clt * token)
# 673 "parser_cocci_menhir.ml"
)
  | TDefault of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 678 "parser_cocci_menhir.ml"
)
  | TDeclarerId of (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 683 "parser_cocci_menhir.ml"
)
  | TDeclarer
  | TDeclaration
  | TDecimalCst of (
# 256 "parser_cocci_menhir.mly"
       (string * string (*n*) * string (*p*) * Data.clt)
# 690 "parser_cocci_menhir.ml"
)
  | TDec of (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 695 "parser_cocci_menhir.ml"
)
  | TCppConcatOp
  | TContinue of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 701 "parser_cocci_menhir.ml"
)
  | TContext
  | TConstant
  | TComma of (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 708 "parser_cocci_menhir.ml"
)
  | TChar of (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 713 "parser_cocci_menhir.ml"
)
  | TCase of (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 718 "parser_cocci_menhir.ml"
)
  | TCPar0 of (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 723 "parser_cocci_menhir.ml"
)
  | TCPar of (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 728 "parser_cocci_menhir.ml"
)
  | TCEllipsis of (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 733 "parser_cocci_menhir.ml"
)
  | TCCro of (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 738 "parser_cocci_menhir.ml"
)
  | TCBrace of (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 743 "parser_cocci_menhir.ml"
)
  | TBreak of (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 748 "parser_cocci_menhir.ml"
)
  | TBinary
  | TBang of (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 754 "parser_cocci_menhir.ml"
)
  | TAttribute
  | TAssignment
  | TArobArob
  | TArob
  | TAny of (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 763 "parser_cocci_menhir.ml"
)
  | TAndLog of (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 768 "parser_cocci_menhir.ml"
)
  | TAnd0 of (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 773 "parser_cocci_menhir.ml"
)
  | TAnd of (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 778 "parser_cocci_menhir.ml"
)
  | TAnalysis
  | EOF

and _menhir_jeton = token


# 7 "parser_cocci_menhir.mly"
  

(* Not clear how to allow function declarations to specify a return type
and how to allow both to be specified as static, because they are in
different rules.  The rules seem to have to be combined, which would allow
functions to be declared as local variables *)

(* Not clear how to let a function have a parameter of type void.  At the
moment, void is allowed to be the type of a variable, which is wrong, and a
parameter needs both a type and an identifier *)
module Ast0 = Ast0_cocci
module Ast = Ast_cocci
module P = Parse_aux

(* ---------------------------------------------------------------------- *)
(* support for argument lists *)

type 'a argorellipsis =
  | Nothing
  | Arg of 'a
  | Ellipsis of Data.clt
  | VAEllipsis of Data.clt
  | Separator of Data.clt

let string_of_arg = function
  | Nothing -> "Nothing"
  | Arg _ -> "Arg"
  | Ellipsis _ -> "Ellipsis"
  | VAEllipsis _ -> "VAEllipsis"
  | Separator _ -> "Comma"

let is_nothing = function
  | Nothing -> true
  | _ -> false

let is_separator = function
  | Separator _ -> true
  | _ -> false

let is_vaellipsis = function
  | VAEllipsis _ -> true
  | _ -> false

let rec adjacent_ellipsis = function
  | [] -> false
  | [_] -> false
  | (Ellipsis _) :: (Ellipsis _) :: _ -> true
  | x::xs -> adjacent_ellipsis xs

let build_arg = function
  | Arg arg -> arg
  | Ellipsis e -> Ast0.wrap (Ast0.Pdots(P.clt2mcode "..." e))
  | Separator comma -> Ast0.wrap (Ast0.PComma (P.clt2mcode "," comma))
  | VAEllipsis _ -> assert false
  | Nothing -> assert false

let string_of_arglist l =
  "[" ^ (String.concat ";" (List.map string_of_arg l)) ^ "]"

let cleanup_arglist l =
  if l=[] then ([], None)
  else begin
    let (args, vararg) = match l with
      | (VAEllipsis vaellipsis)::(Separator comma)::rem ->
        let c = P.clt2mcode "," comma in
        let e = P.clt2mcode "......" vaellipsis in
        (rem, Some (c, e))
      | _ -> (l, None) in
    let just_args = List.filter (fun x -> not (is_separator x)) args in
    if List.exists is_vaellipsis just_args then failwith "...... can occur only as last argument"
    else if adjacent_ellipsis just_args then failwith "Argument list contains adjacent ellipsis"
    else
      let pure_args = List.filter (fun x -> not (is_nothing x)) args in
      (List.map build_arg (List.rev pure_args), vararg)
  end

(* ---------------------------------------------------------------------- *)
(* 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_assignOp (name,pure,clt) =
  (coerce_tmeta "an assignment operator" name
     (TMetaAssignOp(name,Ast0.AssignOpNoConstraint,pure,clt))
     (function TMetaAssignOp(_,_,_,_) -> true | _ -> false));
  Ast0.wrap
    (Ast0.MetaAssign(P.clt2mcode name clt,Ast0.AssignOpNoConstraint, pure))

let tmeta_to_binaryOp (name,pure,clt) =
  (coerce_tmeta "a binary operator" name
     (TMetaBinaryOp(name,Ast0.BinaryOpNoConstraint,pure,clt))
     (function TMetaBinaryOp(_,_,_,_) -> true | _ -> false));
  Ast0.wrap
    (Ast0.MetaBinary(P.clt2mcode name clt,Ast0.BinaryOpNoConstraint, pure),clt)

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,Ast.NoVal,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,Ast.NoVal,pure,clt))
     (function TMetaId(_,_,_,_,_) -> true | _ -> false));
  Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,Ast.NoVal,pure))

and  arithOp = function
    Ast.Plus -> "+"
  | Ast.Minus -> "-"
  | Ast.Mul -> "*"
  | Ast.Div -> "/"
  | Ast.Min -> "<?"
  | Ast.Max -> ">?"
  | Ast.Mod -> "%"
  | Ast.DecLeft -> "<<"
  | Ast.DecRight -> ">>"
  | Ast.And -> "&"
  | Ast.Or -> "|"
  | Ast.Xor -> "^"

and  logicalOp = function
    Ast.Inf -> "<"
  | Ast.Sup -> ">"
  | Ast.InfEq -> "<="
  | Ast.SupEq -> ">="
  | Ast.Eq -> "=="
  | Ast.NotEq -> "!="
  | Ast.AndLog -> "&&"
  | Ast.OrLog -> "||"

let mkarithop (op, clt) =
  let op' = P.clt2mcode op clt in
  Ast0.wrap (Ast0.Arith op')

let mklogop (op,clt) =
  let op' = P.clt2mcode op clt in
  Ast0.wrap (Ast0.Logical op')


# 973 "parser_cocci_menhir.ml"
let _eRR =
  Error

module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
  
  exception Error = Error
  
  type token = _menhir_jeton
  
  let token2terminal : token -> int =
    fun _tok ->
      match _tok with
      | EOF ->
          209
      | TAnalysis ->
          208
      | TAnd _ ->
          207
      | TAnd0 _ ->
          206
      | TAndLog _ ->
          205
      | TAny _ ->
          204
      | TArob ->
          203
      | TArobArob ->
          202
      | TAssignment ->
          201
      | TAttribute ->
          200
      | TBang _ ->
          199
      | TBinary ->
          198
      | TBreak _ ->
          197
      | TCBrace _ ->
          196
      | TCCro _ ->
          195
      | TCEllipsis _ ->
          194
      | TCPar _ ->
          193
      | TCPar0 _ ->
          192
      | TCase _ ->
          191
      | TChar _ ->
          190
      | TComma _ ->
          189
      | TConstant ->
          188
      | TContext ->
          187
      | TContinue _ ->
          186
      | TCppConcatOp ->
          185
      | TDec _ ->
          184
      | TDecimalCst _ ->
          183
      | TDeclaration ->
          182
      | TDeclarer ->
          181
      | TDeclarerId _ ->
          180
      | TDefault _ ->
          179
      | TDefine _ ->
          178
      | TDefineParam _ ->
          177
      | TDepends ->
          176
      | TDirective _ ->
          175
      | TDisable ->
          174
      | TDmOp _ ->
          173
      | TDo _ ->
          172
      | TDot _ ->
          171
      | TDotDot _ ->
          170
      | TEllipsis _ ->
          169
      | TElse _ ->
          168
      | TEq _ ->
          167
      | TEqEq _ ->
          166
      | TError ->
          165
      | TEver ->
          164
      | TExists ->
          163
      | TExpression ->
          162
      | TExtends ->
          161
      | TField ->
          160
      | TFinalize ->
          159
      | TFloat _ ->
          158
      | TFor _ ->
          157
      | TForall ->
          156
      | TFormat ->
          155
      | TFresh ->
          154
      | TFunDecl _ ->
          153
      | TFunction ->
          152
      | TGenerated ->
          151
      | TGlobal ->
          150
      | TGoto _ ->
          149
      | TIdExpression ->
          148
      | TIdent _ ->
          147
      | TIdentifier ->
          146
      | TIf _ ->
          145
      | TInc _ ->
          144
      | TIncludeL _ ->
          143
      | TIncludeNL _ ->
          142
      | TInitialiser ->
          141
      | TInitialize ->
          140
      | TInt _ ->
          139
      | TInvalid ->
          138
      | TIso ->
          137
      | TIsoArgExpression ->
          136
      | TIsoDeclaration ->
          135
      | TIsoExpression ->
          134
      | TIsoStatement ->
          133
      | TIsoTestExpression ->
          132
      | TIsoToTestExpression ->
          131
      | TIsoTopLevel ->
          130
      | TIsoType ->
          129
      | TIterator ->
          128
      | TIteratorId _ ->
          127
      | TLineEnd _ ->
          126
      | TLocal ->
          125
      | TLogOp _ ->
          124
      | TMPtVirg ->
          123
      | TMeta _ ->
          122
      | TMetaAssignOp _ ->
          121
      | TMetaBinaryOp _ ->
          120
      | TMetaConst _ ->
          119
      | TMetaDecl _ ->
          118
      | TMetaDeclarer _ ->
          117
      | TMetaErr _ ->
          116
      | TMetaExp _ ->
          115
      | TMetaExpList _ ->
          114
      | TMetaField _ ->
          113
      | TMetaFieldList _ ->
          112
      | TMetaFunc _ ->
          111
      | TMetaGlobalIdExp _ ->
          110
      | TMetaId _ ->
          109
      | TMetaIdExp _ ->
          108
      | TMetaInit _ ->
          107
      | TMetaInitList _ ->
          106
      | TMetaIterator _ ->
          105
      | TMetaLocalFunc _ ->
          104
      | TMetaLocalIdExp _ ->
          103
      | TMetaParam _ ->
          102
      | TMetaParamList _ ->
          101
      | TMetaPos _ ->
          100
      | TMetaStm _ ->
          99
      | TMetaStmList _ ->
          98
      | TMetaType _ ->
          97
      | TMetavariable ->
          96
      | TMid0 _ ->
          95
      | TMinus _ ->
          94
      | TMinusFile _ ->
          93
      | TMul _ ->
          92
      | TName ->
          91
      | TNever ->
          90
      | TNotEq _ ->
          89
      | TNothing ->
          88
      | TOBrace _ ->
          87
      | TOCro _ ->
          86
      | TOEllipsis _ ->
          85
      | TOInit _ ->
          84
      | TOPar _ ->
          83
      | TOPar0 _ ->
          82
      | TOn ->
          81
      | TOpAssign _ ->
          80
      | TOperator ->
          79
      | TOr _ ->
          78
      | TOrLog _ ->
          77
      | TPArob _ ->
          76
      | TPCEllipsis _ ->
          75
      | TPOEllipsis _ ->
          74
      | TParameter ->
          73
      | TPathIsoFile _ ->
          72
      | TPlus _ ->
          71
      | TPlus0 ->
          70
      | TPlusFile _ ->
          69
      | TPosAny ->
          68
      | TPosition ->
          67
      | TPragma _ ->
          66
      | TPtVirg _ ->
          65
      | TPtrOp _ ->
          64
      | TPure ->
          63
      | TReturn _ ->
          62
      | TRightIso ->
          61
      | TRuleName _ ->
          60
      | TScript ->
          59
      | TScriptData _ ->
          58
      | TShLOp _ ->
          57
      | TShROp _ ->
          56
      | TSizeof _ ->
          55
      | TStatement ->
          54
      | TStrict _ ->
          53
      | TString _ ->
          52
      | TSub _ ->
          51
      | TSwitch _ ->
          50
      | TSymId _ ->
          49
      | TSymbol ->
          48
      | TTilde _ ->
          47
      | TTildeEq _ ->
          46
      | TTildeExclEq _ ->
          45
      | TType ->
          44
      | TTypeId _ ->
          43
      | TTypedef ->
          42
      | TUndef _ ->
          41
      | TUnderscore ->
          40
      | TUsing ->
          39
      | TVAEllipsis _ ->
          38
      | TVirtual ->
          37
      | TWhen _ ->
          36
      | TWhenFalse _ ->
          35
      | TWhenTrue _ ->
          34
      | TWhile _ ->
          33
      | TWhitespace _ ->
          32
      | TWhy _ ->
          31
      | TWhy0 ->
          30
      | TWords ->
          29
      | TXor _ ->
          28
      | Tattr _ ->
          27
      | Tauto _ ->
          26
      | Tchar _ ->
          25
      | Tconst _ ->
          24
      | Tdecimal _ ->
          23
      | Tdouble _ ->
          22
      | Tenum _ ->
          21
      | Texec _ ->
          20
      | Textern _ ->
          19
      | Tfloat _ ->
          18
      | Tinline _ ->
          17
      | Tint _ ->
          16
      | Tlist ->
          15
      | Tlong _ ->
          14
      | Tptrdiff_t _ ->
          13
      | Tregister _ ->
          12
      | Tshort _ ->
          11
      | Tsigned _ ->
          10
      | Tsize_t _ ->
          9
      | Tssize_t _ ->
          8
      | Tstatic _ ->
          7
      | Tstruct _ ->
          6
      | Ttypedef _ ->
          5
      | Tunion _ ->
          4
      | Tunsigned _ ->
          3
      | Tvoid _ ->
          2
      | Tvolatile _ ->
          1
  
  let error_terminal =
    0
  
  let token2value : token -> Obj.t =
    fun _tok ->
      match _tok with
      | EOF ->
          Obj.repr ()
      | TAnalysis ->
          Obj.repr ()
      | TAnd _v ->
          Obj.repr _v
      | TAnd0 _v ->
          Obj.repr _v
      | TAndLog _v ->
          Obj.repr _v
      | TAny _v ->
          Obj.repr _v
      | TArob ->
          Obj.repr ()
      | TArobArob ->
          Obj.repr ()
      | TAssignment ->
          Obj.repr ()
      | TAttribute ->
          Obj.repr ()
      | TBang _v ->
          Obj.repr _v
      | TBinary ->
          Obj.repr ()
      | TBreak _v ->
          Obj.repr _v
      | TCBrace _v ->
          Obj.repr _v
      | TCCro _v ->
          Obj.repr _v
      | TCEllipsis _v ->
          Obj.repr _v
      | TCPar _v ->
          Obj.repr _v
      | TCPar0 _v ->
          Obj.repr _v
      | TCase _v ->
          Obj.repr _v
      | TChar _v ->
          Obj.repr _v
      | TComma _v ->
          Obj.repr _v
      | TConstant ->
          Obj.repr ()
      | TContext ->
          Obj.repr ()
      | TContinue _v ->
          Obj.repr _v
      | TCppConcatOp ->
          Obj.repr ()
      | TDec _v ->
          Obj.repr _v
      | TDecimalCst _v ->
          Obj.repr _v
      | TDeclaration ->
          Obj.repr ()
      | TDeclarer ->
          Obj.repr ()
      | TDeclarerId _v ->
          Obj.repr _v
      | TDefault _v ->
          Obj.repr _v
      | TDefine _v ->
          Obj.repr _v
      | TDefineParam _v ->
          Obj.repr _v
      | TDepends ->
          Obj.repr ()
      | TDirective _v ->
          Obj.repr _v
      | TDisable ->
          Obj.repr ()
      | TDmOp _v ->
          Obj.repr _v
      | TDo _v ->
          Obj.repr _v
      | TDot _v ->
          Obj.repr _v
      | TDotDot _v ->
          Obj.repr _v
      | TEllipsis _v ->
          Obj.repr _v
      | TElse _v ->
          Obj.repr _v
      | TEq _v ->
          Obj.repr _v
      | TEqEq _v ->
          Obj.repr _v
      | TError ->
          Obj.repr ()
      | TEver ->
          Obj.repr ()
      | TExists ->
          Obj.repr ()
      | TExpression ->
          Obj.repr ()
      | TExtends ->
          Obj.repr ()
      | TField ->
          Obj.repr ()
      | TFinalize ->
          Obj.repr ()
      | TFloat _v ->
          Obj.repr _v
      | TFor _v ->
          Obj.repr _v
      | TForall ->
          Obj.repr ()
      | TFormat ->
          Obj.repr ()
      | TFresh ->
          Obj.repr ()
      | TFunDecl _v ->
          Obj.repr _v
      | TFunction ->
          Obj.repr ()
      | TGenerated ->
          Obj.repr ()
      | TGlobal ->
          Obj.repr ()
      | TGoto _v ->
          Obj.repr _v
      | TIdExpression ->
          Obj.repr ()
      | TIdent _v ->
          Obj.repr _v
      | TIdentifier ->
          Obj.repr ()
      | TIf _v ->
          Obj.repr _v
      | TInc _v ->
          Obj.repr _v
      | TIncludeL _v ->
          Obj.repr _v
      | TIncludeNL _v ->
          Obj.repr _v
      | TInitialiser ->
          Obj.repr ()
      | TInitialize ->
          Obj.repr ()
      | TInt _v ->
          Obj.repr _v
      | TInvalid ->
          Obj.repr ()
      | TIso ->
          Obj.repr ()
      | TIsoArgExpression ->
          Obj.repr ()
      | TIsoDeclaration ->
          Obj.repr ()
      | TIsoExpression ->
          Obj.repr ()
      | TIsoStatement ->
          Obj.repr ()
      | TIsoTestExpression ->
          Obj.repr ()
      | TIsoToTestExpression ->
          Obj.repr ()
      | TIsoTopLevel ->
          Obj.repr ()
      | TIsoType ->
          Obj.repr ()
      | TIterator ->
          Obj.repr ()
      | TIteratorId _v ->
          Obj.repr _v
      | TLineEnd _v ->
          Obj.repr _v
      | TLocal ->
          Obj.repr ()
      | TLogOp _v ->
          Obj.repr _v
      | TMPtVirg ->
          Obj.repr ()
      | TMeta _v ->
          Obj.repr _v
      | TMetaAssignOp _v ->
          Obj.repr _v
      | TMetaBinaryOp _v ->
          Obj.repr _v
      | TMetaConst _v ->
          Obj.repr _v
      | TMetaDecl _v ->
          Obj.repr _v
      | TMetaDeclarer _v ->
          Obj.repr _v
      | TMetaErr _v ->
          Obj.repr _v
      | TMetaExp _v ->
          Obj.repr _v
      | TMetaExpList _v ->
          Obj.repr _v
      | TMetaField _v ->
          Obj.repr _v
      | TMetaFieldList _v ->
          Obj.repr _v
      | TMetaFunc _v ->
          Obj.repr _v
      | TMetaGlobalIdExp _v ->
          Obj.repr _v
      | TMetaId _v ->
          Obj.repr _v
      | TMetaIdExp _v ->
          Obj.repr _v
      | TMetaInit _v ->
          Obj.repr _v
      | TMetaInitList _v ->
          Obj.repr _v
      | TMetaIterator _v ->
          Obj.repr _v
      | TMetaLocalFunc _v ->
          Obj.repr _v
      | TMetaLocalIdExp _v ->
          Obj.repr _v
      | TMetaParam _v ->
          Obj.repr _v
      | TMetaParamList _v ->
          Obj.repr _v
      | TMetaPos _v ->
          Obj.repr _v
      | TMetaStm _v ->
          Obj.repr _v
      | TMetaStmList _v ->
          Obj.repr _v
      | TMetaType _v ->
          Obj.repr _v
      | TMetavariable ->
          Obj.repr ()
      | TMid0 _v ->
          Obj.repr _v
      | TMinus _v ->
          Obj.repr _v
      | TMinusFile _v ->
          Obj.repr _v
      | TMul _v ->
          Obj.repr _v
      | TName ->
          Obj.repr ()
      | TNever ->
          Obj.repr ()
      | TNotEq _v ->
          Obj.repr _v
      | TNothing ->
          Obj.repr ()
      | TOBrace _v ->
          Obj.repr _v
      | TOCro _v ->
          Obj.repr _v
      | TOEllipsis _v ->
          Obj.repr _v
      | TOInit _v ->
          Obj.repr _v
      | TOPar _v ->
          Obj.repr _v
      | TOPar0 _v ->
          Obj.repr _v
      | TOn ->
          Obj.repr ()
      | TOpAssign _v ->
          Obj.repr _v
      | TOperator ->
          Obj.repr ()
      | TOr _v ->
          Obj.repr _v
      | TOrLog _v ->
          Obj.repr _v
      | TPArob _v ->
          Obj.repr _v
      | TPCEllipsis _v ->
          Obj.repr _v
      | TPOEllipsis _v ->
          Obj.repr _v
      | TParameter ->
          Obj.repr ()
      | TPathIsoFile _v ->
          Obj.repr _v
      | TPlus _v ->
          Obj.repr _v
      | TPlus0 ->
          Obj.repr ()
      | TPlusFile _v ->
          Obj.repr _v
      | TPosAny ->
          Obj.repr ()
      | TPosition ->
          Obj.repr ()
      | TPragma _v ->
          Obj.repr _v
      | TPtVirg _v ->
          Obj.repr _v
      | TPtrOp _v ->
          Obj.repr _v
      | TPure ->
          Obj.repr ()
      | TReturn _v ->
          Obj.repr _v
      | TRightIso ->
          Obj.repr ()
      | TRuleName _v ->
          Obj.repr _v
      | TScript ->
          Obj.repr ()
      | TScriptData _v ->
          Obj.repr _v
      | TShLOp _v ->
          Obj.repr _v
      | TShROp _v ->
          Obj.repr _v
      | TSizeof _v ->
          Obj.repr _v
      | TStatement ->
          Obj.repr ()
      | TStrict _v ->
          Obj.repr _v
      | TString _v ->
          Obj.repr _v
      | TSub _v ->
          Obj.repr _v
      | TSwitch _v ->
          Obj.repr _v
      | TSymId _v ->
          Obj.repr _v
      | TSymbol ->
          Obj.repr ()
      | TTilde _v ->
          Obj.repr _v
      | TTildeEq _v ->
          Obj.repr _v
      | TTildeExclEq _v ->
          Obj.repr _v
      | TType ->
          Obj.repr ()
      | TTypeId _v ->
          Obj.repr _v
      | TTypedef ->
          Obj.repr ()
      | TUndef _v ->
          Obj.repr _v
      | TUnderscore ->
          Obj.repr ()
      | TUsing ->
          Obj.repr ()
      | TVAEllipsis _v ->
          Obj.repr _v
      | TVirtual ->
          Obj.repr ()
      | TWhen _v ->
          Obj.repr _v
      | TWhenFalse _v ->
          Obj.repr _v
      | TWhenTrue _v ->
          Obj.repr _v
      | TWhile _v ->
          Obj.repr _v
      | TWhitespace _v ->
          Obj.repr _v
      | TWhy _v ->
          Obj.repr _v
      | TWhy0 ->
          Obj.repr ()
      | TWords ->
          Obj.repr ()
      | TXor _v ->
          Obj.repr _v
      | Tattr _v ->
          Obj.repr _v
      | Tauto _v ->
          Obj.repr _v
      | Tchar _v ->
          Obj.repr _v
      | Tconst _v ->
          Obj.repr _v
      | Tdecimal _v ->
          Obj.repr _v
      | Tdouble _v ->
          Obj.repr _v
      | Tenum _v ->
          Obj.repr _v
      | Texec _v ->
          Obj.repr _v
      | Textern _v ->
          Obj.repr _v
      | Tfloat _v ->
          Obj.repr _v
      | Tinline _v ->
          Obj.repr _v
      | Tint _v ->
          Obj.repr _v
      | Tlist ->
          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 ->
          Obj.repr _v
      | Ttypedef _v ->
          Obj.repr _v
      | Tunion _v ->
          Obj.repr _v
      | Tunsigned _v ->
          Obj.repr _v
      | Tvoid _v ->
          Obj.repr _v
      | Tvolatile _v ->
          Obj.repr _v
  
  let default_reduction =
    (16, "\000\000\000\000\003{\001\137\000\000\000\000\003\227\000\000\001\135\001\136\001\134\000\000\001\139\001\138\000\001\000\000\001\198\000\000\000\000\000\191\002q\000\000\000\000\003\254\000\000\000\000\004\005\004\003\003\255\003\252\000\000\000\000\004\001\004\000\000\022\0043\0042\002v\002u\000\000\000\021\002w\000\000\002r\002t\000\000\004\158\000\000\000\000\0021\0020\002/\002.\000\000\001\027\001\026\000\000\000\000\002S\000\000\001\214\0023\000\000\000\000\000\000\000\000\000\000\001#\000\000\000\000\001:\001}\0019\0018\0017\0016\001|\001{\0015\0014\002\161\000\000\000\000\002\160\000\000\000\000\000\000\000\203\000\000\000\000\000\202\002\164\0012\000\000\002y\000\000\000\000\000\000\002z\002s\000\000\000\000\000\000\000\000\000\000\002\128\002\129\000\190\002\127\000\000\000\000\000\000\003\162\000\000\004+\004*\004,\000\000\004j\000\000\004$\000\000\000\000\000\000\000\000\001'\000\023\000\000\000\000\000\000\004\148\0036\000\000\000\000\004\146\000\000\003X\000\000\000\000\000\000\000\000\000\000\000\000\004\145\004\147\003=\001r\003<\003>\001q\003;\003:\0039\002g\0034\000\000\000\000\0035\001\028\0038\000\000\000\000\000\000\0037\004\149\000\000\0033\004\144\000\000\000\000\000\175\003\t\000\000\000\000\003\012\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001p\0032\003B\000\139\000-\000\140\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000n\000\000\000o\000\000\000\000\000\000\000\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\003-\000\152\000\000\000\000\000\185\001\031\002\221\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\000\000\000\000\000\000\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\000\128\000\000\000\130\000\000\000\129\000\024\000\000\003b\000\000\000\219\000\000\000\000\002T\000\000\000\147\000\025\000\000\001\216\0024\000\000\002\133\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\002Q\000\000\001\210\000\216\000\000\000\215\000\000\001\212\0022\000\000\003c\000\000\000\000\003a\000\000\000\000\000\000\003G\000\000\000\000\000\000\003?\000\000\000\000\000\000\000\000\003_\003^\003`\003]\003\\\003[\003V\000\000\004\127\000\000\000\000\000\000\003\n\003\r\000\000\003\011\003\014\003W\003Z\000\000\004\128\003Y\000\000\003U\000\000\000\179\003\025\000\000\000\000\003\028\000\000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\132\000\000\000\134\000\000\000\133\000\195\003d\003T\000\018\000\020\000\131\000M\000\221\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\002\146\002\150\000\000\000\000\000\194\002\147\001+\001)\000\000\003\031\000\000\000\000\003\026\003\029\000\000\003\027\003\030\004\129\000\000\000\000\003/\001M\000\000\002i\000\000\000\000\000\000\000\000\000\000\001!\002p\000\000\000\000\001\230\003.\000\000\000\000\003Q\000\000\003R\000\000\000\000\003P\000\000\000\000\000\000\000\000\000\000\002h\000\000\000\000\000\000\000\000\001\023\001\022\000\000\000\000\003N\001\156\001\155\003M\000\000\003O\003L\003K\003J\001\158\003E\000\000\004y\003F\000\000\000\000\000\000\000\000\000\000\001\021\003I\000\000\004z\003H\000\000\003D\000\000\000\000\000\177\003\017\000\000\000\000\003\020\000\000\000\000\003\023\000\000\000\000\003\018\003\021\000\000\003\019\003\022\003S\003C\004{\000\000\001/\001\151\000\000\000\000\000\000\000\000\001\153\000\000\001\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\001\154\000\000\001\148\000\000\000\000\002\167\000\000\000\000\000\000\000\207\000\000\000\000\000\206\002\171\001\157\001\149\000\000\001%\001\147\002\168\000\000\001\152\000\000\003\024\000\178\000\000\003\016\004|\000\000\003 \000\180\000\000\003\015\004u\004\141\004\140\004\139\004t\000\000\000\000\004s\000\000\002e\000\000\003@\000\000\003A\000\000\000\000\000\176\000\000\000\000\000\000\004\130\000\000\002f\000\000\000\000\000\000\004\142\000\000\000\000\000\000\004v\000\000\000~\000\220\000\000\001\190\000\000\0040\003\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\192\000\225\000\226\000\000\000\000\000\000\000\000\000\000\002\174\002\191\002[\000\000\000\000\000\000\000\000\000\000\0011\000\229\000\000\002\\\000\000\000\000\000\000\000\000\000\224\000\000\000\222\000\211\000\000\000\000\000\210\002\178\002\175\000\000\000\000\004/\000\000\004.\000\000\000\000\000\000\0041\004%\004&\000\000\002|\000\000\004(\000\000\000\000\000\213\004)\000\000\000\000\000\000\002}\004i\000\000\000\000\002Z\000\000\001\228\002;\000\000\004-\000\000\000\000\002~\000\000\000\000\001\164\000\000\001\163\000\000\001\178\000\000\001\200\000\000\000\000\000\000\001\248\000\000\004m\000\000\000\000\002W\001\249\000\000\001\222\0028\004n\000\000\004q\004p\000\000\000\000\003\249\004o\000\000\001\007\000\000\000\000\000\000\001\188\004l\000\000\004k\004 \004\"\000\000\004#\004!\000\000\000\000\001W\001V\000\000\000\000\000+\002\190\000,\000\000\000\000\000\000\000*\002\189\003\177\003\176\003\175\000\000\000\000\001x\001U\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\004@\004I\004=\004<\0046\004B\004?\004K\004F\004D\004:\0048\0047\004>\004M\000\000\000\000\000\000\000\000\000\000\001B\001C\000\000\0049\004H\004N\000\000\000\000\001<\001=\001;\000\000\000\000\000\000\000\000\000\000\001?\001@\000\000\004;\004L\004G\004E\004J\004C\004A\000\000\001G\001E\001H\001F\000\000\004\028\000\000\000\000\000\000\000\000\000\000\001\142\000\000\000\000\000\000\000\000\000\000\000\228\000\241\000\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001w\000\000\000\000\000\249\000\000\000\000\000\000\000\253\000\000\003\221\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\001\006\000\000\000\243\000\000\000\000\000\000\000\000\001v\000\000\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\250\000\000\000\000\000\000\000\254\000\000\000\000\000\247\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\004\136\000\000\004\022\000\000\004\021\000\000\001\133\001\132\001\131\001\130\001\129\000\000\000\000\000\000\003)\003+\000\000\001\146\003*\000\000\002\143\000\000\000\000\000\000\000\000\004\156\000\000\000\000\000\000\004\157\000\000\000 \000\000\000\000\000\000\000\000\003r\000\000\000\000\000\000\003p\003o\003q\003n\003m\003l\003g\000\000\004\133\003h\003k\000\000\004\134\003j\000\000\003f\000\000\000\181\003!\000\000\000\000\003$\000\000\000\000\003'\000\000\000\000\003\"\003%\000\000\003#\003&\003u\003e\004\135\000\000\000\000\000\136\000\000\000\138\000\000\000\137\000\000\000\000\000\135\000]\0031\000\154\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\000\000\000\000\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\003s\000\000\000\026\0025\0030\000\000\003t\000\000\000\000\003(\000\182\000\000\004\152\000\000\001\232\000\000\000\000\000\000\000\230\004\011\001\186\000\000\001\185\001\141\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026\000\000\000\000\002\194\000\000\000\000\000\000\002\202\000\000\000\000\002\206\000\000\000\000\000\000\000\000\002\211\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\209\000\000\000\000\002\215\000\000\002\196\000\000\000\000\002\199\000\000\000\000\000\000\002\203\000\000\000\000\002\207\000\000\000\000\002\200\000\000\000\000\002\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\199\001\030\000\000\000\000\002\153\000\000\000\000\000\198\002\157\002\154\001-\001\b\000\000\001\n\001\t\000\000\004\024\000\000\004\023\004\006\000\000\000\000\000\000\000\000\000\000\004\018\000\000\004\012\000\000\004\025\000\000\000\000\000\000\000\000\004\019\004\t\002\223\000\000\000\235\001\143\000\000\004\029\000\000\001\145\000\000\000\000\004T\000\000\004[\000\237\000\000\000\244\000\000\004U\000\236\000\000\004V\000\000\004]\000\000\000\000\000\000\000\000\001\001\000\000\000\000\001\003\000\000\000\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\000\000\000\000\001\005\000\000\000\242\000\000\000\000\000\000\000\000\001t\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\252\000\232\000\231\000\000\004^\004_\000\000\004`\000\000\004a\000\000\001\144\004\015\000\000\000\000\000\000\000\000\000\000\004\016\002\197\000\000\000\000\000\000\000\000\002\210\000\000\000\000\002\212\000\000\002\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\002\214\000\000\002\195\000\000\000\000\002\198\000\000\000\000\000\000\002\201\000\000\000\000\002\205\000\000\000\000\002Y\000\000\000\151\000\030\000\000\001\226\002:\000\000\002\141\000\000\004\007\000\000\000\000\004\b\000\000\000\000\004\014\000\000\000\000\000\000\001i\000\000\001c\000\000\001d\000\000\001n\001b\001m\000\000\004\027\001o\000\000\000\238\000\000\000\000\000\000\000\000\001k\001f\002U\000\000\001g\000\000\001h\000\000\000\148\000\027\000\000\001\218\0026\000\000\002\135\000\000\000\000\000\239\000\000\000\000\002a\000\000\002_\000\000\000\000\002c\002]\000\000\002d\002^\000\000\004\030\002j\000\000\000\233\000\000\000\000\002V\000\000\000\149\000\028\000\000\001\220\0027\000\000\002\137\000\000\000\234\000\000\004\153\000\000\004\150\000\000\004\151\000!\000\"\000\000\000\000\003\181\000\000\003\180\000\000\000\000\003\183\000\000\003\182\000\000\000\000\002X\000\000\003\179\003\178\000\000\000\150\000\029\000\000\001\224\0029\000\000\002\139\000\000\003\184\000\000\000\000\003\185\000\000\004\154\000\031\000\000\004\155\000\000\000\000\003\213\000\000\000\000\004\031\000\173\000\000\000\000\000\000\000\174\000\000\004\020\000\000\001\192\000\000\001\194\004\017\000\000\000\000\001\172\000\000\001\171\000\000\001\179\000\000\001\208\000\000\000\000\000\000\001\168\000\000\001\167\000\000\001\176\000\000\001\204\000\000\000\000\000\000\001\175\000\000\000\000\001\183\000\000\000\000\001\170\001\184\000\000\001\169\000\000\001\177\000\000\001\206\000\000\000\000\000\000\001\173\000\000\000\000\000\000\001\166\000\000\001\165\000\000\001\180\000\000\001\202\000\000\000\000\000\000\001\174\000\002\000\000\000{\000\000\000\000\002(\000|\000\000\000\000\003\133\003\137\003\141\003\129\003\146\003~\000\000\000\000\003\138\003\145\003\130\003\144\003\128\003\143\003\132\003|\003\131\003\140\003\127\003\134\003}\003\136\003\142\003\139\003\135\001\254\001\253\000\000\002\016\000\000\000\000\003\245\000\000\000\000\000\000\000\000\003\208\003\205\000\000\000\000\003\209\003\206\003\207\003\159\000\000\000\000\003\251\003\148\003\147\003\149\001\181\000\003\000\000\000\000\003x\000\000\002\219\000\000\000\000\002\"\000\000\000\000\003\247\000\000\000\000\000\000\000\000\002\186\000\000\000\000\003\225\002\185\001\245\003\160\000\000\000\000\000\000\000\000\000\000\001\235\001\234\001\233\000\000\000\000\000\000\002+\000\000\000\000\003\229\000\000\002*\000\000\002)\000\000\000\000\003\239\000\000\000\000\003\171\000\000\003\170\003\163\002\227\003\154\000\000\003y\000\000\000\000\000\000\002,\000\000\000\000\003\233\000\000\000\000\000\166\000\159\000\163\000\155\000\160\000\169\000\165\000\000\000\158\000\156\000\161\000\167\000\157\000\162\000\168\000\164\000\000\000\171\000\000\000\000\003\217\000\172\003\151\000\000\000\000\000\000\002-\000\000\000\000\003\231\000\000\000\000\000\143\000\000\000\142\000\000\000\145\000\000\000\000\003\215\000\146\003\150\000\000\000\000\000\000\002\012\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\002'\000\000\002\011\000\000\002\007\000\000\000\000\000\000\000\000\000\000\000\000\002#\000\000\002\002\000\000\002\001\000\000\000\000\000\000\001\252\000\000\000\000\003\219\000\000\000\000\002\000\000\000\000\000\000\000\002\019\000\000\000\000\003\241\000\000\000\000\000\000\000\000\001z\001y\003\169\000\000\003\168\003\167\002\231\003\155\000\000\000\000\000\000\002\015\000\000\002\021\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002\006\000\000\002\005\000\000\000\000\000\000\003\157\000\000\002\017\000\000\000\000\003\243\000\000\003\156\000\000\000\000\000\000\000\000\000\000\000\000\002\131\000\000\000\000\001\251\000\000\002\026\000\000\000\000\003\237\000\000\000\000\000\000\000\000\0045\0044\000\000\000\000\000\000\002\184\002\183\003\166\003\164\002\229\003\153\003\165\000\000\000\000\002\028\000\000\000\000\002\027\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\002%\000\000\002\n\000\000\002\t\000\000\000\000\001Q\000\000\001P\000\000\000\000\000\000\000\000\000\000\002$\000\000\002\003\000\000\001O\000\000\002 \000\000\000\000\003\235\000\000\000\000\000\000\001\128\001\127\000\000\002\180\001~\000\000\000\000\003\223\002\179\002\182\003\152\002\225\002\181\001N\000\000\000\000\002\029\000\000\000\000\002\022\000\000\000\000\000\000\002\014\000\000\002\020\000\000\000\000\002\b\000\000\000\000\002\030\000\000\000\000\002\031\000\000\000\000\002\r\000\000\000\000\000\000\002\023\000\000\000\000\002\025\000\000\000\000\002\024\000\000\000\000\002!\000\000\000\000\001\182\000\004\000\000\001\255\000\005\000\000\000\000\001T\000\006\000\000\002?\002@\002>\000\000\002=\004P\001\241\000\000\000\007\000\000\002C\002D\002B\000\000\002A\004Q\000\000\000\b\000\000\002F\002G\002E\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\001^\001`\001_\001Z\001\\\001[\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004W\004d\000\000\004X\000\000\004Y\000\000\000\000\004R\000\000\000\000\000\000\000\000\004c\000\000\000\000\004b\002K\002J\000\000\000\000\000\000\000\000\001\243\002<\002H\000\000\000\000\000\000\000\000\000(\002\188\000)\000\000\000\000\000\000\000'\002\187\000\000\000\000\000\000\003\174\003\173\003\172\000\000\000\000\000\000\000\000\001s\000\000\004g\000\000\004h\000\000\000\000\000\t\000\000\002N\002O\002M\000\000\002L\004O\000\000\002o\002m\000\000\002l\002k\002n\000\n\000\000\000\011\000\000\002\246\002\247\002\245\000\000\002\244\000\000\000\012\000\000\002\250\002\251\002\249\000\000\002\248\000\000\000\r\000\000\002\253\002\254\002\252\000\000\003\000\000\000\000\000\000\000\002\238\000\000\000\000\002\240\000\000\002\234\000\000\002\236\000\000\002\241\000\000\002\242\000\000\002\235\002\233\003\001\001\247\002\243\000\000\003\003\000\000\003\002\000\000\003\004\000\000\000\000\000\014\000\000\003\007\003\b\003\006\000\000\003\005\000\000\000\000\000\000\000\000\000\000\000\000\001\011\000\000\000\000\001\015\000\000\001\014\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\016\001\r\000\000\001\018\000\000\000\000\000\000\003\190\000\000\003\189\000\000\000\000\000\000\000\000\003\191\000\000\000\000\001S\000\000\000\000\000\000\000\000\000\000\003\211\000\183\000\000\000\000\001\025\000\000\001J\001I\000\000\001\162\001\161\001\160\000\000\003\188\001\239\001\237\000\000\000\000\000\000\000\000\003\192\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\187\000\000\000\000\000\000\000\000\000\000\000\000\003\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\200\000\000\000\000\003\199\000\000\003\195\000\000\000\000\000\000\000\000\000\000\003\196\000\000\000\000\003\202\000\000\003\203\000\000\000\000\000\000\003\197\000\016\000\000\003\193\000\000\003\194\000\000\000\017\000\000\000\000\000\000\000\000\003\204\000\000\003\198")
  
  let error =
    (210, "\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\0000\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\005\b\000\000\000\000\000\000\000\000\000\016\000\001 \b0\000\000\004\b0\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\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\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\020\000\000\000\000\000\000\000\000\000\000\000\000\004\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\031\224\000\000\000\000\000\000\000\000\007\175j|\000\001\000\000\128\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\000\000\000\000\000\000\000\000\000F\180\028\000\000\016\003\016\000\012\000P!@\b\128\016\004\016\000\000\000\0012\012\016\016\157\003@\002\140 \213\004\003!\148\bP\002h\004C\158\002@\000A\204\131\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\001\011\2084\000(\194\rP@2\025@\133\000&\128D9\224$\000\004\028\2000@Bt\r\000\n0\131T\016\012\134P!@\t\160\017\014x\t\000\001\0072\012\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\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\004kA\192\000\001\0001\000\000\192\005\002\020\000\136\001\000A\000\000\000\000\019 \193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\189#@\002\140 \213\004\003!\148\bP\002h\004C\158\002@\000A\204\131\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\001\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\001\000\000\000\000\130\000\000\016\000\128\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000 \000\000\004\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\001\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\b\000\000\001\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\004\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\004\000\000\000\002\b\000\000@\002\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\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\016\000\000\000\b\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\001\000\000\004\b\000\000\000\000\000\000\000\016\000\000\000\000\000\000\003\004H\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\004\000\000\000\002\b\000\000@\002\000\000\001\000\000\004\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\004\b\000\000\000\000\000\000\000\016\000\000\000\b \000\001\000\b\000\000\004\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\002\b\000\000@\002\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\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\016\000\000\000\b \000\001\000\b\000\000\004\000\000\016\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\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\004%@\208\000\163\b5A\000\204e\002\020\000\154\001\016\231\128\144\000\016s \193\000\000\000\000\000\000@\000\000\000 \128\000\004\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\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\016\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\003\004H\000\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\000\000\000\000\000\000D\000\000\000\000\000\000\000\001\000\000\000\000\000\000\0000D\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\030\189\169\240\000\004\000\002\000\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\149\003@\002\140 \213\004\0031\148\bP\002h\004C\158\002@\000A\204\131\005\235\218\159\000\000A\000 \000\000\130\001\000\003\000\128\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\030\189\169\240\000\004\016\002\000\000\b\000\016\0000\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\000\000\000\000\000\000\000\000\000\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\000\b@\000\001\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\001\235\218\159\000\000A\000 \000\000\130\001\000\003\000\128\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\030\189\169\240\002\004\016\002\000\000\b \016\0000\b\000\000\004\000\000\000\000\000\002\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\001\235\218\159\000\000A\000 \000\000\128\001\000\003\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\016\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\001\000\000\004@\000\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\132A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\000\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016Q\235\218\159\000\000E$ \004\128\208)\006<d\128\000B@\b\001\000\006\b\004\020z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\000\000`\128A@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\196\1936\150K\000\000\000\202\000@\128\000\003t\000\132\2487@\000\000\000\000\000\016\000\000\000\b\000\000\001\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\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\020z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\161\018\192\000\0002\128\016\000\000\000\217\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\218\017,\000\000\002(\001\000\000\000\r\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\196A6\004K\000\000\000\138\000@\000\000\002d\000\004\2407@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\224\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\224\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\224\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\224\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000`\001\130\001\005\000\000\000\000\000\000\000\001\016\000\000\000@\000\000\000\128\016\000\000\000\024\000\0014\012\144\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\224\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001>\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\017\004\216\017,\000\000\002(\001\000\000\000\t\144\000\019\192\221\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0001\016M\129\018\192\000\000\"\128\016\000\000\000\153\000\001<\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\b\000 \000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\007\175j|\000\001\000\000\128\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:\246\167@\000\016\000\b\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160\016\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\004\000\000\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!@\192\000\001\000\017\000\000\192$\002\020\000\136\001\000A\000\000\000\000\019 \193A\bP\176\000\000@\004@\0000\t\000\133\000\"\000@\016@\000\000\000\004\2000@\000\000\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\003\000\000\004\000D\000\003\000\144\bP\002 \004\001\004\000\000\000\000L\131\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\000B\020\012\000\000\016\001\016\000\012\002@!@\b\128\016\004\016\000\000\000\0012\012\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\004\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\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\000z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\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\000\000\000\000\000\000\001I\000\001 5\n\001\143\025 \000\016\144\002\000\000\001\130\001\005\000\000\000\000\000\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\130A@\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\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\000\000\000\000\b\000\000\000\192\001\006\001J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\130A@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \000\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\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\000\196\1936\150K\000\000\000\202\000@\128\000\003t\000\132\2487@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\016\000\000\000\b\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\005$\000\004\128\208(\006<d\128\000B@\b\000\000\006\b\004\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\144\000\000\012\b\017i$\160\000\000\012\128\000\b\000\0005@\bF\000P\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\030\189\169\240\000\004RB\000H\r\"\144c\206H\000\004$\000\128\016\000`\144AG\175j|\000\001\020\144\128\018\003H\164\024\243\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\189\169\240\000\004RB\000H\r\"\144c\206H\000\004$\000\128\000\000`\144AG\175j|\000\001\020\144\128\018\003H\164\024\243\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004Z\001(\000\000\003 \000\000\000\000\r\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \006\000\024 \016P\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\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000$\000\000\003\000\004X\001(\000\000\002 \000\000\000\000\t\016\000\017\128\020\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\002@\000\0000\000E\128\018\128\000\000\"\000\000\000\000\000\145\000\001\024\001@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\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\000\000\000\000D\000\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000@\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\000\000\000\000\000\000\000\000\000\000\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\004\000\000B\000\000\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\000\000\006\b\004\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\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\016\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\002\000R@\000H\r\002\128c\198H\000\004$\000\128\000\000`\128A@\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\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\005$\000\004\128\208(\006<d\128\000B@\b\000\000\006\b\004\020\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\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\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\000z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\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\000\000\000\000\000\000\001I\000\001\0001\n\001\143\025\000\0000\144\002\000\000\001\130\001\005\000\000\000\000\000\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\130A@\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \000\000\024 \016P\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\000\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\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\005$\000\004\128\222(\006\252d\128\000\194@\b\005@\006\b$\020\000\000\000\000\000\001I\000\001 7\138\001\191\025 \0000\144\002\001P\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\00010M\165\146\192\000\0002\128\016 \000\000\221\000!*\r\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R@\000H\rB\128g\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\020\144\000\018\003x\160\027\241\146\000\003\t\000 \021\000\024 \144P\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\003\019\004\218Y,\000\000\003(\001\002\000\000\r\208\002\018\160\221\000\000\000\000\000\001I\000\001\0000\n\001\143\025\000\0000\144\002\000\000\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\004\024I(\000\000\002 \000\002\000\000\bP\002\016 \020\000\000\000\000\000\000@\000\000\000 \000\000\004\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\007\175j|\000\001\020\144\128\018\003H\164\024\243\146\000\001\t\000 \004\000\024$\016P\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\016\000\000\000\b\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\004\026I,\000\000\003 \000\002\000\000\012\208\002\018 \028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005$\000\004\128\220(\006\252d\128\000\194@\b\004@\006\b\004\020\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\000R@\000H\r\194\128o\198H\000\012$\000\128D\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\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\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\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\128\000\000\012\000\016`\004\160\000\000\b\128\000\000\000\000 @\000@\128P\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\b\000\000\000\192\001\006\000J\000\000\000\136\000\000\000\000\002\004\000\004\b\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\b\000\000\000\000\000\000\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\130A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001I\000\001 7\138\001\191\025 \0000\144\002\001\016\001\130\t\005\000\000\000\000\000\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001I\000\001 7\138\001\191\025 \0000\144\002\001P\001\130\t\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\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\000R@\000H\rB\128c\198H\000\004$\000\128\016\000`\128A@\000\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\159\000\000E$ \004\128\208)\006<d\128\000B@\b\001\000\006\b\004\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\002@\000\0000\000E\160R\128\000\0002\000\000\000\000\000\209\000\001\024\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\030\189\169\240\000\004RB\000H\r\002\144c\198H\000\004$\000\128\016\000`\128A@\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\003\017\004\218\021,\000\000\003(\001\000\000\000\r\144\000\019\224\221\000\000\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\169\240\000\004RB\000H\r\002\144c\198H\000\004$\000\128\016\000`\128A@\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\003\017\004\218\021,\000\000\003(\001\000\000\000\r\144\000\019\224\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\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\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\016\000\000\000\012\000\000\001\000\b\000\000\004\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\001\000\000\000\000\128\000\000\016\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j|\000\001\000\000\128\000\002\b\004`\000\002\000\000\000\000\000\004\000\000\004\000\001\235\218\159\000\000@\000 \000\000\130\001\024\000\000\128\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\017\000\000z\246\167\192\000\016\000\b\000\000 \128F\000\000 \000\000\000\000\000\000\000\000@\000\030\189\169\240\000\004\000\002\000\000\b \017\128\000\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\000D\000\001\235\218\159\000\000@\000 \000\000\130\001\024\000\000\128\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\000\000\000\000\000\001\000\000\000\000\192\000\000\016\000\128\000\000@\000\000\000\000\017\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\016\000\000\000\b\000\000\001\000\b\000\000\004\000\000\000\000\000\016\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\001\235\218\159\000\000@\000 \000\000\130\001\024\000\000\128\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j|\000\001\000\000\128\000\002\b\004`\000\002\000\000\000\000\000\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\004@\000\030\189\169\240\000\004\000\002\000\000\b \017\128\000\b\000\000\000\000\000\016\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\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\003\175jt\000\001\004\000\128\000\000\000\004\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\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\007\175j|\000\001\004\000\128\000\002\b\004\000\012\002\000\000\001\000\000\004\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\000z\246\167\192\000\016@\b\000\000 \128@\000\192 \000\000\016\000\000\000\000\000\b\000\030\189\169\240\000\004\016\002\000\000\b \016\0000\b\000\000\004\000\000\016\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\tP4\000(\194\rP@3\025@\133\000&\128D9\224$\000\004\028\2000^\189\169\240\000\004\016\002\000\000\b \016\0000\b\000\000\004\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\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\007\175j|\000\001\004\000\128\000\002\000\004\000\012\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\001\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\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\016\000\000\000\012\000@\001\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\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\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000^\189\169\240\000\004\000\002\000\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\001\235\218\159\000\000@\000 \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\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\001\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\031\255\191\248\016\020ZB\152@\012b\156s\199\200@\012\245\001\128\002\026h\129AG\175j|\000\001\000\000\128\000\002\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\001\235\218\159\000\000@\000 \000\000\128\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\004\000\000\000\000\000\000\000\000\000\000\000\002\000\000z\246\167\192\000\016\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\004\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\001\000\000\000\000\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\004\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\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\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:\246\167@\000\016\000\b\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\001\000\n0\130D\016\000\134\016\000\000\t \001\014h\t\000\001\006\000\000\000\000\016\000@\002\140 \145\004\000!\132\000\000\002H\000C\154\002@\000A\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\n0\130D\016\000\134\016\000\000\t \001\014h\t\000\001\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\000\000\000\000\000\000\000\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\255\173\248\000\004\000\002\000\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\000\000\000\000\000\000\000z\246\167\192\000\016\000\b\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\b\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\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\030\189\169\240\000\132\000\002\000\000\b\000\017\128\000\b\000\000\000\000\000\016\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\001\016\000\007\175j|\000!\000\000\128\000\002\b\004`\000\002\000\000\000\000\000\004\000\000\000\000\001\235\218\159\000\b@\000 \000\000\128\001\024\000\000\128\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\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\016\000\000\000\b\000\000!@\b\000\000\004\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\001\235\218\159\000\b@\000 \000\000\128\001\024\000\000\128\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\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\t\000\000\000\192A\006\019J\000\000\000\b\000\000P\000\003\228\000\000Y\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\192\193\006\019J\000\000\000\b\000\000P\000\003\244\000\000Y\005\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\144\000\000\012\012\016a4\160\000\000\000\128\000\005\000\000?@\000\005\144P\000\000\000\000\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\000\192\193\006\019J\000\000\000\b\000\000P\000\003\244\000\000Y\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\004\024M(\000\000\000 \000\001@\000\015\144\000\001d\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\000\000\000\000\000\000\000\000\000\000$\000\000\003\001\004\024M(\000\000\000 \000\001@\000\015\144\000\001d\020\000\000\000\000\000\000@\000\000\000\000\000\000\012\016\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\t\000\000\000\192\193\006\019J\000\000\000\b\000\000P\000\003\244\000\000Y\005\000\000\000\000\000\000\016\000\000\000\b\000\000\001\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\144\000\000\012\012\016a4\160\000\000\000\128\000\005\000\000?@\000\005\144P\000\000\000\000\000\001\000\000\000\000\128\000\000\016\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\t\000\000\000\192\193\006\019J\000\000\000\b\000\000P\000\003\244\000\000Y\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\004\024M(\000\000\000 \000\001@\000\015\144\000\001d\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\004\024M(\000\000\000 \000\001@\000\015\144\000\001d\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\002\000\016\016Z@\152@\012B\132s\198H@\012\245\001\128\002\024h\129A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\247\224\000\016@\b\000\000 \000@\000\006\000\000\000\016\000\000\000\024\001\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\000z\246\231\192\000\016@\b\000\000 \000@\000\004\000\000\000\016\000\000\000\b\000\000\000\030\189\169\240\000\004\000\002\000\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\bP\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\000z\246\167\192\002\016\000\b\000\000 \000F\000\000 \000\000\000\000\000@\000\000@\000\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\004\000 \000\000\016\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\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\001\000\000\000\000\128\000\000\016\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\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\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\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\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\004\000\000\000\003\000\000\bP\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\004\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\016\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\001\235\218\159\000\000@\000 \000\000\130\001\024\000\000\128\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\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\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\169\240\000\132\000\002\000\000\b\000\017\128\000\b\000\000\000\000\000\016\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\004\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\016\000\004\128\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\003\175jt\000\001\004\000\128\000\000\000\004\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\004\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\004\000\000\000\002\000\000\000@\002\000\000\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\020\144\000\018\003P\160\025\241\146\000\001\t\000 \004\000\024 \016P\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\000B\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\001\255\251\255\129\001E\164)\132\128\212)\199<|\132\000\207P\024\001!\230\1404\020\000\000\000\t\000\000@\196\1936\182K\000\004\000\234\000@\144\000\003t\000\132\1607@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016Q\235\218\159\000\000E$ \004\128\208)\006<d\128\000B@\b\001\000\006\b\004\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\002@\000\0001\016M\161R\192\000\0002\128\016\000\000\000\209\000\001(\r\208\000\000\000\000\000\000\000\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$\001\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\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\000\001\000\000\000\000\000\000\000\016\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\016\000\000\000\004\000\000\001\000\000\000\000\004\000\000\016\000\000\000\000\007\175j|\000\001\020\144\128\018\003H\164\024\243\146\000\001\t\000 \004\000\024$\016P\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\016\000\000\000\000\000\000\001\000\000\128\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\001\255\251\255\129\225E\164)\132\000\198)\199<|\132\000\207P\024\000!\166\136\020\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\017\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\007\255\239\254\004\005\022\144\166\016\003\016\167\028\241\242\016\003=@`\000\134\154 PQ\255\251\255\129\001E\164)\132\128\212-\199<|\132\000\207P\024\001!\166\138\020\028z\246\167\192\000\017I\b\001 4\nA\143\025 \000\016\144\002\000@\001\130\001\005\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\000\000\000\000\000\000\001I\000\001\0001\n\001\143\025\000\0000\144\002\000\000\001\130\001\005\000\000\000\000\000\000R@\000@\012\002\128c\198@\000\012$\000\128\000\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\020\144\000\016\003\000\160\024\241\144\000\003\t\000 \000\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\00010M\165\146\192\000\0002\128\016 \000\000\213\000!(\r\208\000\000\000\000\000\004\000\000\000\002\000\000\000@\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\000z\246\167\192\000\017I\b\001 4\138A\1439 \000\016\144\002\000@\001\130A\005\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\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\128\000\000\016\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\002@\000\0001\016M\161\018\192\000\0002\128\016\000\000\000\209\000\001(\r\208\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\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@0\004\001\000\000\000\002\000@\000\000\000@\000\004\1602@\000\000\000\000\000R@\000@\012\002\128c\198@\000\012$\000\128\000\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\024\000`\128A@\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\144\000\000\012D\019`D\176\000\000\b\160\004\000\000\000$@\000J\003t\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\000\000\000\t\000\000\000\196A6\004K\000\000\000\138\000@\000\000\002D\000\004\1607@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\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\000R@\000H\r\226\128o\198H\000\012$\000\128T\000`\130A@\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\031\255\191\248\030\020ZB\152@\012b\156s\199\200@\012\245\001\128\002\026h\129A@\000\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\251\255\193\225E\164)\132\000\198-\199<|\140\000\207Q\024\000!\230\1424\221\000\000\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\191\248\016\020ZB\152@\012b\156s\199\200@\012\245\001\128\002\026h\129AG\255\239\254\004\005\022\144\166\018\003P\183\028\241\242\016\003=@`\004\134\154(Pq\255\251\255\129\001E\164)\132\128\212)\199<|\132\000\207P\024\001!\166\1364\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\000\000\000\000\000\000\001\255\251\255\193\001E\1649\132\192\212-\199<|\140\001\207Q\024\003\161\230\142\180\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\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\128\004\004\022\144&\016\003\016\161\028\241\146\016\003=@`\000\134\026 PP\000\000 \001\001\005\164\t\132\000\196(G<d\132\000\207P\024\000!\134\136\020\020\000\000\000\000\000\000@\000\000\000 \000\000\004\000 \000\000\016\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{\254\247\224\000\017I\bA 4\nA\143\031 \000\016\144\002\000@\t\130\001\005\000\000\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\175n|\000\001\004\000\128\000\002\000\004\000\000@\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\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\020\144\000\018\003P\160\025\241\146\000\001\t\000 \004\000\024 \016P\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j|\000\001\020\144\128\018\003H\164\024\243\146\000\001\t\000 \004\000\024$\016P\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\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\020\144\000\018\003P\160\025\241\146\000\001\t\000 \004\000\024 \016P\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\016\000\000\000\012\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j|\000\001\000\000\128\000\002\b\004`\000\002\000\000\000\000\000\004\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\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\020\144\000\018\003P\160\025\241\146\000\001\t\000 \004\000\024 \016P\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\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\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\003\175jt\000\001\004\000\128\000\000\000\004\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\016\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\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\020\144\000\018\003P\160\025\241\146\000\001\t\000 \004\000\024 \016P\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\016\000\000\000\b\000\000\001\000\b\000\000\004\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\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\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\003\003\004\026\201,\000\016\003\160\000\002@\000\012P\002\018\000\028\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\016H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\t\004\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\002\000\016\016Z@\152@\012B\132s\198H@\012\245\001\128\002\024h\129A@\000\000\128\004\004\022\144&\016\003\016\161\028\241\146\016\003=@`\000\134\026 PP\000\000\000\000\000\001\000\000\000\000\002\000\000\016\000\128\000\000@\000\001\000\000\001\000\000\000\000\000\000\000\000@\000\000\000\000\128\000\004\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\001\016\000\000\000\000\000\000\000\004\000\000\000\000\b\000\000@\002\000\000\001\000\000\000\000\000\004\000\000\000\000\000\000\000\001\000\000\000\000\002\000\000\016\000\128\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\000D\000\000\000\000\000\000\000\001\000\000\000\000\002\000\000\016\000\128\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\001\016\000\000\000\000\000\000\000\004\000\000\000\000\b\000\000@\002\000\000\001\000\000\004\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\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\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\002\000\016\016Z@\152@\012B\132s\198H@\012\245\001\128\002\024h\129A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\191\248\016\020ZB\152H\rB\156s\199\200\192\012\245\001\128\018\026h\129A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\240xQi\na\0001\139q\207\031#\0003\212F\000\by\163\1417@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\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\224@Qi\na\0001\138q\207\031#\0003\212\006\000\bi\162\005\005\000\000\000\000\000\000\000\000\000\b\001\000\000\000\000\000\128\000\000\000\000\016\000\000\000\012\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\001\255\251\255\129\001E\164)\132\000\198)\199<|\140\000\207P\024\000!\166\136\020\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\012L\019kd\176\000@\014\160\004\t\000\0007@\bJ\003t\000\000\000\000\000\000\000\000\000\000\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\002\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\000\000\000\000\000\000\000\000\000\000\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\251\255\129\001E\164)\132\128\212)\199<|\140\000\207P\024\001!\166\136\020\213\000\000\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\191\248\016\020ZB\152@\012b\156s\199\200\192\012\245\001\128\002\026h\129MP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\167\192\000\017I\b\001 4\138A\1439 \000\016\144\002\000@\001\130A\005\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\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\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\001\000\001\000\000\192\000\002\020\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000@\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\001\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\030\189\169\240\000\004\000\002\000\000\b \017\128\000\b\000\000\000\000\000\016\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\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H\rB\128g\198H\000\004$\000\128\016\000`\128A@\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\159\000\b@\000 \000\000\128\001\024\000\000\128\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\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\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\235\218\157\000\000A\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\004\000 \000\000\016\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\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\031\255\191\248\016\020ZB\152H\rB\156s\199\200\192\012\245\001\128\018\026h\129MP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\255\239\254\004\005\022\144\166\018\003P\167\028\241\2420\003=@`\004\134\154 PP\000\000\000\000\000\000\000\000\000\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\133\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\005$\001\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\144A@\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 \001\001\005\164\t\132\000\196(G<d\132\000\207P\024\000!\134\136\020\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\159\000\000E$ \004\128\210)\006<\228\128\000B@\b\001\000\006\t\004\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\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\005$\000\004\128\212(\006|d\128\000B@\b\001\000\006\b\004\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\004\000\004\000\003\000\000\bP\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\001\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\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\000z\246\167\192\000\016\000\b\000\000 \128F\000\000 \000\000\000\000\000@\000\000@\000\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\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\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\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\000R@\000H\rB\128g\198H\000\004$\000\128\016\000`\128A@\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:\246\167@\000\016@\b\000\000\000\000@\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\001\000\b\000\000\004\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\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\001I\000\001 5\n\001\159\025 \000\016\144\002\000@\001\130\001\005\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\004\000\000\000\000\000\000\000\000\000\000\000\002\000\b\000\000\b\000@Ai\002a\0001\n\017\207\025!\0003\212\006\000\ba\162\005\005\000\000\000\000\000\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\004\004\022\144&\016\003\016\161\028\241\146\016\003=@`\000\134\026 PP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\001\000\000\000\000\000\000\000\000\000\000\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\001\255\251\255\193\001E\1649\132\192\212-\199<|\140\001\207Q\024\003!\230\142\180\221\000\000\b\000@Ai\002a\0001\n\017\207\025!\0003\212\006\000\ba\162\005\005\000\000\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\254\004\005\022\144\166\016\003\024\183\028\241\242\016\003=@`\000\135\1548\208p\000\000\000\000\000\000\000\000\000\128\016\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\127\254\255\224@Qi\na\0001\139q\207\031!\0003\212\006\000\by\163\141\007\000\000\000\000\000\000\000\000\000\000\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\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\127\254\255\224@Qi\na 5\011q\207\031!\0003\212\006\000Hy\163\141\007\000\000\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\254\004\005\022\144\166\018\003P\183\028\241\242\016\003=@`\004\135\1548\208p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\002\000\b\127\254\255\224@Qi\na\0001\139q\207\031!\0003\212\006\000\bi\162\133\005\000\000\000\000\000\000\000\000\000\b\001\000@\000\000\000\000\000\000\000\000\016\000\000 \000\135\255\239\254\004\005\022\144\166\016\003\024\183\028\241\242\016\003=@`\000\134\154(Pp\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000@\016\000\000\000\000\000\000\000\000\004\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\127\254\255\224@Qi\na 5\011q\207\031!\0003\212\006\000Hi\162\133\007\000\000\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\254\004\005\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154(Pp\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\000\004\000\003\000\016\bP\002\000\000\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\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\001\000\012\001\000\000\000\000\000\000\016\000\000\000\016\000\000\b\000\023\255\239\254\004\005\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154 PP\000\000\000\000\000\000\000\000\000\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@0\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\239\254\004\005\022\144\230\019\003P\167\028\241\242\016\007=@`\004\134\154\"PU\255\251\255\129\001E\164)\132\000\198)\199<|\132\000\207P\024\000!\166\136\020\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\007\255\239\254\004\005\022\144\230\019\003P\167\028\241\242\016\007=@`\004\134\154\"PT\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\b\000!\255\251\255\129\001E\164)\132\128\212-\199<|\132\000\207P\024\001!\166\138\020\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\031\255\191\248\016\020ZB\152H\rB\156s\199\200@\012\245\001\128\018\026h\161A\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\001\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\002\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\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\016\b\001\000\000\000\000\000\128\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\001\255\251\255\129\001E\164)\132\128\212)\199<|\140\000\207P\024\001!\166\136\020\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\000\000\000\000\000\000\001\239\251\223\128\000E$)\004\000\192)\006<|\000\000\194@\b\000\000&\136\020\020\000\000\000\000\000\001I\000A 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\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{\254\247\224\000\017I\nA\0000\nA\143\031\000\0000\144\002\000\000\t\162\005\005\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000 \000\135\191\239~\000\001\020\144\164\016\003\000\164\024\241\240\000\003\t\000 \000\000\154 PP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\239\251\223\128\000E$)\004\000\192)\006<|\000\000\194@\b\000\000&\136\020\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\016\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\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\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\016\000\016\000\012\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\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\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\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\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\129\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\127\254\255\224@Qi\na\0001\138q\207\031!\0003\212\006\000\bi\162\005\005\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\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\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\007\255\239\254\004\005\022\144\166\018\003P\167\028\241\242\016\003=@`\004\135\1540\208P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\127\254\247\224\000\016@\b\000\000 \000@\000\006\000\000\000\016\000\000\000\024\001\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\016\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\127\254\255\224@Qi\na\0001\138q\207\031!\0003\212\006\000\bi\162\005\005\000\000\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\254\004\005\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154 PP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\016\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 4\n\001\143\025 \000\016\144\002\000@\001\130\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003@\160\024\241\146\000\001\t\000 \004\000\024 \016P\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\001\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\007\255\239\254\004\005\022\144\166\016\003\016\165\028\241\242\016\003=@`\000\134\154 PQ\235\218\159\000\000E$ \004\000\192)\006<d\000\000\194@\b\000\000\006\b\004\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\001\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\023\255\239\254\004\005\022\144\166\016\003\016\165\028\241\242\016\003=@`\000\134\154 PP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\191\248\016\020ZB\152@\012B\148s\199\200@\012\245\001\128\002\026h\129A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\128\208(\006<d\128\000B@\b\001\000\006\b\004\020\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\000\000\000\000\000\000\000\001\255\251\223\128\000A\000 \000\000\128\001\000\000\024\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_\255\189\248\000\004\016\002\000\000\b\000\016\000\001\128\000\000\004\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\001\255\251\223\128\000A\000 \000\000\128\001\000\000\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\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\016\000\000\000\000\000\000\000\000\001\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\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\000\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\007\175j| \003\136 \145$\002\016\012\000\000\002H\000B\171\n@\000a\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\016\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\001\000\n \128D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\000\001\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\016\000  \000\000\000\000\000\016\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\016\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\016\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\001\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\016\000  \000\000\000\000\000\016\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\007\175j|\000\003\128 \145\004\002\016\012\000\000\002H\000B\169\n@\000a\128,\001\235\218\159\000\000\224\b \001\000\132\003\000\000\000\146\000\016\170\002\144\000\024`\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@\001\000\n \130F\016\000\004\000\000\000\001 \001\014h\t\000\001\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\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\000\000\000\000\000\000\000@\000\000\000\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\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\016\000\000\000\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\128\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\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@\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\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\024\000\000\000\000@\001\000\011\160\130D\016\000\132\000\000\000\005 \001\014h\t\000\001\007\000\000\000\000\016\000@B\136 \145\004\000\001\000\000\000\000H\001C\154\002@\000A\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\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\016\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\016\000\000\000\000\000\000\000\004\b\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\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\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\007\175j|\000\003\128 \144\004\002\016\012\000\000\002H\000B\168\n@\000`\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\016\000\000\000\000\000\000\000\004\000\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\004\000\000\016\000\000\000\000\000\b\000\000\016\192\001\006\001J\000\000\000\b\000\000\000\000\002\004\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\192\001\006\000J\000\000\000\b\000\000\000\000\002\004\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016 \000\000\000\000\b\000\000\016\192\001\006\000J\000\000\000\b\000\000\000\000\002\004\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\016\000\000\000\000\000\000\000\004\000\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\129\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\b\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\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@\128\000\000\000\000\000\000\000\000\000\000\002\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\001\235\218\159\000\000\224\b \001\000\132\003\000\000\000\146\000\016\170\002\144\000\024 \002\000\000\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\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\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\128\000\000\000\004\000\016\000\162\b$A\000\b@\000\000\000R\000\016\230\128\144\000\016p\000\000\000\001\000\004\004(\130\t\016@\000\016\000\000\000\004\128\0209\160$\000\004\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\004\000\000\000\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\000\000\000\000\016\000@\002\136 \145\004\000!\000\000\000\001H\000C\154\002@\000A\192\000\000\000\004\000\016\016\162\b$A\000\000@\000\000\000\018\000P\230\128\144\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\016\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\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\000\000\000\000\000\000\000\000\000\000\000\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\167\192\000\016\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\002\000\000\000\016\000@\002\136 \145\004\000\001\128\000\000\000H\000C\154\002@\000A\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\b\000\030\189\169\240\000\004\000\002\000\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\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\136\000\000\000\000\000\000\000\000\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\000\000\000\000\000\000\000@\000\000\000\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\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\001\128\000\000\000\000\016\000\000\000\004\000\000\000\000\000@\000\001\000\000\000\000\016\000@\002\136 \145\004\000\017\000\000\000\000H\000C\154\002@\000A\128\000\000\000\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\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\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\001\000\004\000(\130\t\016@\001\016\000\000\000\004\128\0049\160$\000\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\000\000\000\000\016\000@\002\232 \145\004\000\005\000\000\000\001H\000C\154\002P\000A\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\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\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\000\000\000\001\000\004\000(\130\t\016@\002\016\000\000\000\020\128\0049\160$\000\004\028\000\000\000\000@\001\001\n \130D\016\000\004\000\000\000\001 \005\014h\t\000\001\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\001\000\000\000\004\000\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000@B\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000@\001\001\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\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\024\000\000\000\000\001\000\000\000\000@\000\000\000\000\004\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\002\000\000\000\000\000\000\000\007\175z|@\003\136 \145\004\002\017\132\000\000\002H\000C\154\002@\000A\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\001\000\004\000(\130\001\016@\000\016\000\000\000\004\128\0049\160$\000\004\024\000\000\000\000@\001\000\011\164\130D\016\000\150\000\000\000\005 \001\014h\t\000\001\007\000\000\000\000\016\000@\002\136 \145\004\000\001\128\000\000\000H\000C\154\002@\000A\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\000(\130\t\016@\002\016\000\000\000\004\128\0049\160$\000\004\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\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\000\000\000\000\000\000\001\000\000\000\000\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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\006\016\000\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\004\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\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\016\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\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\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\000\000\000\000\016\000@\002\136 \145\004\000!\000\000\000\001H\000C\154\002@\000A\192\000\000\000\004\000\016\016\162\b$A\000\000@\000\000\000\018\000P\230\128\144\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\016\000\000\000@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\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\000\000\000\000\000\000\000\000\000\000\000\000\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\001\004\004\000(\130\t\016@\000\024\000\000\000\004\128\0049\160$\000\004\024\000\000\000\000@\001\000\n \130D\016\000\006\000\000\000\001 \001\014h\t\000\001\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\004\000\016\000\162\b$A\000\000`\000\000\000\018\000\016\230\128\144\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@\001\000\n$\130D\016\000\148\000\000\000\005 \001\014h\t\000\001\007\000\000\000\000\016\000@B\136 \145\004\000\001\000\000\000\000H\001C\154\002@\000A\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\001\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\n \130D\016\000\006\000\000\000\001 \001\014h\t\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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\016\000\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\016\000\000\000\000@\000\000\000\000\000\004\004\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\b\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\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\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\000\000\000\001\000\004\000.\130\t\016@\000P\000\000\000\020\128\0049\160%\000\004\028\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\000z\247\167\196\0008\130\t\016@!\016@\000\000$\128\0049\160$\000\004\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\000\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\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\016\000@\002\136 \145\004\000\001\000\000\000\000H\000C\154\002@\000A\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\002\000\000\000\000\000\000\000\007\175z|@\003\136 \145\004\002\017\132\000\000\002H\000C\154\002@\000A\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@\001\000\n \130D\016\000\004\000\000\000\001 \001\014h\t\000\001\006\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\000\004\000(\130\t\016@\000\016\000\000\000\004\128\0049\160$\000\004\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\000\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\016\000\162\b$A\000\000@\000\000\000\018\000\016\230\128\144\000\016`\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\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\007\175j| \003\136 \145$\002\016\012\000\000\002H\000B\171\n@\000a\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\000R@\000H\r\003\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001\000\001\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\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\016\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\007\255\239\255\004\005\022\144\166\018\003\208\231\028\241\242\016\003=D`\004\134\154 ST\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\240@Qi\na =\nq\207\031!\0003\212F\000Hi\162\0055^\255\189\252\000\004\000\002\000\000\b\000\016\000\000\000\000\000\000\016\000\000\000\000\000\000\007\191\239\127\000\001\000\000\128\000\002\000\004\000\000\000\000\000\000\004\000\000\000\000\000\000\001\239\251\223\192\000@\000 \000\000\128\001\000\000\000\000\000\000\001\000\000\000\000\000\000\000{\254\247\240\000\016\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\016\133\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004!@\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\bP0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000B\020\012\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{\254\247\240\000\016\000\b\000\000 \000@\000\000\000\000\000\000@\000\000\000\000\000\000\000B\020\012\000\000\016\000\000\000\b\000\000!@\b\000\000\004\016\000\000\000\000\000\000\000\016\133\003\000\000\004\000\000\000\002\000\000\bP\002\000\000\001\004\000\000\000\000\000\000\001\255\251\255\129\225E\164)\132\000\198)\199<|\132\000\207P\024\000!\166\136\020\020\127\254\255\224@Qi\na\0001\138q\207\031!\0003\212\006\000\bi\162\005\005\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\007\255\239\254\004\005\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154 ST\000\000\000\000\000\000\000\000\000\128\016\000\000\000\000\000\000\000\000\000\001\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000@\000\000\000\000\000\000\000\000\000\004\000\000\000\003\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\254\255\224@Qi\na 5\nq\207\031!\0003\212\006\000Hi\162\0055@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\003x\160\027\241\146\000\003\t\000 \021\000\024 \144P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\191\248\030\020ZB\152@\012b\156s\199\200@\012\245\001\128\002\026h\129AG\255\239\254\004\005\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154 PP\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\127\254\255\224@Qi\na\0001\138q\207\031!\0003\212\006\000\bi\162\0055@\000\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\254\007\133\022\144\166\016\003\024\167\028\241\242\016\003=@`\000\134\154 PQ\255\251\255\129\001E\164)\132\000\198)\199<|\132\000\207P\024\000!\166\136\020\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\000\000\000\000\000\000\001\239\251\223\192\000A\000 \000\000\128\001\000\000\016\000\000\000A\000\000\000 \000\000\000{\254\247\240\000\016\000\b\000\000 \000@\000\000\000\000\000\000@\000\000\000\000\000\000\000B\020\012\000\000\016\000\000\000\b\000\000!@\b\000\000\004\016\000\000\000\000\000\000\000\016\133\003\000\000\004\000\000\000\003\000\000\bP\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\128\000\002\020\000\128\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\030\189\169\240\000\132\000\002\000\000\b\000\017\128\000\b\000\000\000\000\000\016\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\001\016\000\007\175j|\000!\000\000\128\000\002\b\004`\000\002\000\000\000\000\000\004\000\000\000\000\001\235\218\159\000\b@\000 \000\000\128\001\024\000\000\128\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\004\000\000\000\003\000\000\000@\002\000\000\001\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\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\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\007\255\239\254\004\005\022\144\166\018\003P\167\028\241\242\016\003=@`\004\134\154 \208P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\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\b\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\012\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\001\255\251\255\129\001E\164)\132\128\212)\199<|\132\000\207P\024\001!\166\136\020\213\000\000\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\020\012\000\000\016\000\016\000\012\000\000!@\b\000\000\004\016\000\000\000\000\000\012\023\175j|\000\001\000\000\128\000\002\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\167\192\000\016\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\002\000\000\000\128\000 \000\000\000\000\000\000\000\000\000\000\000\004\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\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\005$\000\004\128\2088\006<d\128\000B@\b\001\000\006\b\004\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\012\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\000R@\000H\r\002\128c\198H\000\004$\000\128\016\000`\128A@\000\000\000\000\000\000\000\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\128\016\000\016\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\012\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\016\000\000\000\b\000\000\001\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\001\255\251\255\193\001E\164)\132\128\2449\199<|\132\000\207Q\024\001!\166\136\020\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\031\255\191\252\016\020ZB\152H\015B\156s\199\200@\012\245\017\128\018\026h\129MP\000\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\251\255\193\001E\164)\132\000\198)\199<|\132\000\207Q\024\000!\166\136\020\213\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\000\000\000\000@\000\000\0000_\255\191\252\016\020ZB\152@\012b\156s\199\200@\012\245\017\128\002\026h\129MP\000\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\251\255\193\001E\164)\132\128\212)\199<|\132\000\207Q\024\001!\166\136\020\213\127\254\255\240@Qi\na\0001\138q\207\031!\0003\212F\000\bi\162\0055@\000\000\000\000\000\000\000\000\000\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\000@\000\000\000\000\000\000\000\000\000\004\000\000\000\003\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\254\255\240@Qi\na 5\nq\207\031!\0003\212F\000Hi\162\0055@\000\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\255\004\005\022\144\166\018\003P\167\028\241\242\016\003=D`\004\134\154 ST\000\000\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\240@Qi\na 5\nq\207\031!\0003\212F\000Hi\162\0055@\000\000\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\003\000\000\004\000\004\000\003\000\000\bP\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\240@Qi\na 5\nq\207\031!\0003\212F\000Hi\162\0055@\000\000\000\000\000\000\000\000\000\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\000@\000\000\000\000\000\000\000\000\000\004\000\000\000\003\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\254\255\240@Qi\na 5\nq\207\031!\0003\212F\000Hi\162\0055@\000\000\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\003\000\000\004\000\004\000\003\000\000\bP\002\000\000\001\004\000\000\000\000\000\003\005\235\218\159\000\000@\000 \000\000\128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\030\189\169\240\000\004\000\002\000\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\004 \000@\000\000\000\000\000\000\000\000\000 \196%\192\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\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\000\000\000\b\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\b\000\000\016 \000\000\000\000\000\000\000\000\b\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\128\000\001\002\000\000\000\000\000\000\000\000\000\128\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\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\002\000\000\004\b\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\004\000@\000\000\000\000\000\000\000 \000\000@\128\000\000\000\000\000\000\000\000 \000\000\000\004\000\000\000\000\000\001\b\000\000\000\004\000\000\000\000\000\000\000\000 \b0\002\000\000@\020\000\000\000\000\000\000\000\002\000\000\004\b\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\004\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\016\128\000\000\000@\000\000\000\000\000\000\000\002\000\131\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\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\000B\000\000\000\000\000\000\000\000\000\000\000\000\b\002\028\000\160\000\000\004\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\001\b\000\000\000\000\000\000\000\000\000\000\000\000 \b0\002\128\000\000\016\000\000\000\000\000B\000\000\000\000\000\000\000\000\000\000\000\000\b\002\012\000\128\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\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128 \192\b\000\016\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\128 \192\b\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\128\000\000\000\000\000\000\000\000\000\000\000\002\000\131\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\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\b\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\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\b\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\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\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\004 \000\000\000\000\000\000\000\000\000\000\000\000\128!\192\n\000\000\000@\000\000\000\000\001\b\000\000\000\000\000\000\000\000\000\000\000\000 \b0\002\128\000\000\016\000\000\000\000\000B\000\000\000\000\000\000\000\000\000\000\000\000\b\002\012\000\128\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\002\000\131\000 \000\000\001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128 \192\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\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\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\004 \000\000\000\000\000\000\000\000\000\000\000\000\128 \192\n\000\000\000@\000\000\000\000\001\b\000\000\000\000\000\000\000\000\000\000\000\000 \b0\002\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\002\012\000\128\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\002\000\131\000\000\000\000\001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128\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\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\001\000\000\000\000\000\000\000\001\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\004\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\004\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\004\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\004\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\016\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\001\000\000\000\000\000\000\000\b\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\b\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\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\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\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\016\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\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\001\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\004\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")
  
  let action =
    ((16, "\0062\000\237\000\000\000\000\028\154\000\237\000\000\000#\000\000\000\000\000\000\001?\000\000\000\000\000\000\0062\000\000\003@O\188\000\000\000\000]v$\240\000\000 \028&(\000\000\000\000\000\000\000\000\001\r\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000^^\000\000\000\000 \028\000\000\000\000\004\214\000\000\001\208\000d\000\000\000\000\000\000\000\000\000j\000\000\000\000\000\129\000d\000\000\000\129\000\000\000\000\001\208\000\182\001\174\000d\001\134\000\000\000\005\005\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\004\186\000\000\000\192\001\244\001\208\000\000\000\224\t\130\000\000\000\000\000\000\001@\000\000'`\001\208\001f\000\000\000\000\002r\005\002\000\213\005\002\002\000\000\000\000\000\000\000\000\000O\188(\152ED\000\000ED\000\000\000\000\000\000\011\210\000\000ED\000\000t\002\002\246ED\002\220\000\000\000\000\000d\001^\\z\000\000\000\000aVa\242\000\000d\002\000\000b\172\\z,\248,\248d\002\\z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000cH,\248\000\000\000\000\000\000cHcHcH\000\000\000\000\000\017\000\000\000\000\\z\\z\000\000\000\0008\232\000d\000\000!\180,\248Fn\\zF\132\\z\000\000\000\000\000\000\000\000\000\000\000\000\000\000Q4\\z\000\000Q\232\\zG\162\\zHV\\z\000\000\\z\000\000\\zI\n\\zI\190\\zJr\\zK&\\zK\218\\zL\142\\z\028\198\\z\000\000\000\000\000\000\002\152\\z\000\000\000\000\000\000\000\000\\zR\156\\zSP\\zT\004\\zT\184\\zMB\\zM\246\\zN\170\\zUl\\zV \\z\000\000\\zV\212\\zW\136\\zX<\\zX\240\\z\000\000\\zY\164\\zZX\\z\000\000\000\000\\z\000\000\\z\000\000\000\000\002v\000\000\002\188\000\000\000\160\\z\000\000\\z\000\000\000\000\000\160\000\000\000\000\001\025\000\000\000\194O\188\000\000+8\001\022\001\022{|s\198\000\000{|\000\000\000\000{|\000\000\000\194\000\000\000\000\003\000\000\000,\248\003\014\000\000\003\176d\002?\190\000\000d\158,\248\004F\000\000\004\178\029\222?\190d\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000cH\000\000:\028\\z\004\180\000\000\000\000\000d\000\000\000\000\000\000\000\000cH\000\000\000\000\000\017\000\000d\002\000\000\000\000t~\000d\000\000!\180!\180\000\000\002\028*0!\180\135\170\\z\000\000\\z\000\000\\z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\218\\z@R\\z\004\234\\z\000\000\\z\136\154\\z\136\250\\z\137h\\z\137\206\\z\138\156\\z\139\002\\z\000\000\\z\139j\\z\139\208\\z\1408\\z\140\158\\z\000\000\\z\141\006\\z\141l\002\246\"\178\000\000\000\000\003\170#\176\000\000\000\000\000\000\000\000\004\226\000\000\\z\005H\000\000\000\000\000d\000\000\000\000\000\000\002jd\002\000\000\000\000\006\196\000\000\002He\138\006\180\\z\006n\000\000\000\000d\002\002H\000\000\000\000\\z\005\254\000\000\0062\000\000,\248\006P\000\000\006Zt\214?\190d\002\006\232\000\000\\z\002,\\z\006\234\000\000\000\000?\190?\190\000\000\000\000\000\000\000\000<\166\000\000\000\000\000\000\000\000\000\000\000\000cH\000\000\000\000\002\158\007\198\\z?\190\000d\000\000\000\000cH\000\000\000\000\000\017\000\000=\220t\214\000\000\000\000$D\000d\000\000!\180\007\012\000\000\\z\007\014\000\000\000\000\000d\000\000\000\000\000\000\000\000\000\0007\180\000\000\000\000\007J?\190\007\\?\190\000\000\000\003\000\000\000\000[\168\\zq\n\\z\128\026\\z\141\212\\z\142:\\z\142\138\\z\142\218\\z\143*\\z\000\000\\z\143z\\z\143\202\\z\144\026\\z\144j\\z\000\000\\z\144\186\\z\145\n\000\000\007&\000\000\002\156@\186\000\000\003\012CH?\190\000\000\004dA\182\000\000\000\000\000\000\000\000\007\194\000\000\000\000\000\000\0078\000\000\007<\000\000\000\000\007>\000\000\000\000\007R\000\000\000\000\007\130\000\000\000\000\000\000\000\000\000\000\000\000\007\154\bx\000\000\007\168\000\000\007\182\000\000\007\188\000\000\007\206^\188\000\000,\248\007\2087H\000\000\b\190\000\000,\248\007\214D2\000\000,\248\007\226EP\000\000\007\224\000\000\000\000\001^\000\000\b\230\000\000\000\000\001\244\b\178\000d\007\234\b\206|\164|\164\000\000\000\000\000\000\003\174\130\022|\164\004\022}p\000\000\000\000\000\000\n,\b\198\000d\b\218|\164\000\000\000\000\b\000\000\000\b\002\b\228|\164\b\012\000\000\001^\000\000\000\000\004l}\164\000\000\000\000\000\000\b\014\t\020\000\000\t\026\000\000.\000\000d\t\028\000\000\000\000\000\000\b\030\000\000ED\000\000y\188vf\000\000\000\000+`ED\b \000\000\000\000\001\172ED\000\000\001\172\000\000\000\000\b*\000\000\rf\b$\000\000\002\128O\188\000\000O\188\000\000\b\014\000\000\002\128\000\000\026\018+8[j\000\000\b4\000\000\003\246[j\000\000\000\000\003\246\000\000\000\000\000\000\000\005\000\000\000\000\003h\000\005\000\000\000\000\t4\000\000+8v\128v\128\000\000\000\000v\128\000\000\000\000\000\000O\188\000\000\000\000O\188\000d\000\000\000\000\t\022~p\000\000\000\000\000\000\004p~p~p\000\000\000\000\000\000\000\000\000\000\b>\tB\000\000\000\000\000d\tX~p\b\128\t\130\000\000\b\224y\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\000\000\000\000\000\000qj\b\228qj\b\230qj\000\000\000\000y\200\000\000\000\000\000\000y\200\000\b\000\000\000\000\000\000q\220\000dq\220\000dq\220\000\000\000\000y\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\200\000\000\000\000\000\000\000\000\t\140\000\000\tj\\z\b\144/\168\t\026\000\000\tt\\z\b\156\t~O\188\000\000\000\000\000\000|\164O\188\000d\t\138~p\b\180\t\184\000\000\000d\t\190\000\000\001\190\\z\t\196\000\000\000d\000\000\001\190\t\166!\180\b\206\004\002\000\000\\z\t\208\000\000\000d\t\158\000d\b\220\t\186|\164\b\224\004\242\000\000\\z\t\230\000\000\t\246\000\000\t\212~p\b\254\n\002\000\000\001Z\002T\\z\n\004\000\000.\000\000d\n\024\000\000\002\190\\z\n\026\000\000\000d\n$\000\000\0034\\z\n(\000\000\000\233\td\006\1346~\000\000f&,\248\t<P\022\000\000\\z\000\000\n>\000\000\001\188\000\000\000\000\000\000\000\000\000\000\001\170!\180\t@\000\000\000\000\t\204\000\000\000\000\001\170\000\000\003B\n\026\\z\t\210\000\000\n$\\z\t\220\000\000\003$\000\000\006\134\006\134,\248\t\\\000\000\thw0w0\000\000\000\000\000\000\000\000\000\000\000\000\000\000cH\000\000\000\000\000\000cH\000\000\000\000\000\017\000\000w0\000\000\000\000BD\000d\000\000!\180\tl\000\000\\z\tl\000\000\000\000\000d\000\000\000\000\000\000\000\000\000\000[v\\z\000\000\\z\000\000\\z\000\000&2w0\000\000\000\000\000\000\000\000f\238\\zg\128\\z\t\160\\z\000\000\\zh\150\\zi\006\\zj\028\\zj\140\\zk\162\\zl\018\\z\000\000\\zm(\\zm\152\\zn\174\\zo\030\\z\000\000\\zp4\\zp\164\tv\000\000\000\160\000\000\000\000\000\000\tz\000\000?\190\tt\000\000\000\000\003B\000\000\003B\000\000\026\018\006\134\006\134\000\000\000\000\000\000\000\003\000\000\000\000\000\000\nX\\z\t\130/\1680\204\000d\n\134\000\000\nf\029N\000\000|\164\000d\005\"\000\000\\z\n\140\000\000\nj!\180\t\146\005\170\000\000\\z\n\148\000\000\t\236\nb\000d\t\154\n||\164\t\162\005\216\000\000\\z\n\164\000\000\005\228\000\000\\z\n\170\000\000.\000\000d\006j\000\000\\z\n\174\000\000\000d\006n\000\000\\z\n\176\000\0007\180\n\182^\188\n\186\\z\t\188/\168/\168\012\198\005\n\004\142\002\n\005\n\000\000\000\000\004\152\014h\000\000\004\168\024\222\000\000\000\000\000\000\000\000\000\000\t\190\000\000\000\000\n\194\000\000\n\196\000\000\000\000\011\006\n\164\\z\t\202\n\204\000\000\n\212\000\000\n\004\000\000\n\184!\180\t\224/\168\000\000\000\000\000\000\016N\000\000\000\000\003B\000\000\nj\000\000\019\142\011f\000\000\019\142\000\000\000\0007\180\000\000\011f\000\000\000\000\014\172\000\000\019\142\000\000\n\224!\180\n\028\006\148\000\000\\z\011\030\000\000\001\208\000\000\n\236\000d\n&\011\n|\164\n0\006\244\000\000\\z\0112\000\000\0114\000\000\011\018~p\n:\011>\000\000\004\b\\z\011@\000\000.\000\000d\011B\000\000\004 \\z\011F\000\000\000\000\000\000\014\172\000\000\000\000\002\014\000\000\006\134\000\000\001\208\000\000\000\000^\188\011L\\z\nP/\168\000\000\000\000\011.!\180\nV\007\014\000\000\\z\011X\000\000\bT\000\000\011$\000d\n\\\011@|\164\nn\007B\000\000\\z\011p\000\000\007J\000\000\\z\011r\000\000.\000\000d\007L\000\000\\z\011v\000\000\001\1500\204\000\0000\204\000\000\000\000\001\150\000\000\000\000\002\000\000\000\n\128\000\000\005\146\n\130\000\000\001\160/\168\000\000\016N\000_\016N\000\000\000G\000\000\006\134\000\000\006\134\000\000\000\000\000\000\n|\000\000\000\000\n\134\000\000\002\210\024t\000\r\016N\000\000\000\000\000\000\005\164\000\000\006\134\000\000\024t\000\000\000\000\002\210\000\000\000\000\002,\000\000\024\200\n\136\000\000\000_\026\018\000\000\016@\000\000\011h\026\018\000\000\000\000\011h\000\000\000\000\n\134\000\000\000\000\n\148\000\000\003\030\006\134\000\000\006\134\000\000\000\000\003\030\000\000\000\000\004\232\000\000\n\152\000\000\011\030\000\000\002\014\000\000\006\134\000\000\000\000\000\000\030\236_\174\000\000\011\154\000\000\030\236\011\156\000\000\011\160\000\000\003\188\030\236\000\000\011\164\000\000\000\000\030\236\000\000\000\000\003\188\000\000\000\000\005\220\000\000\n\178\000\000\026f\n\188\000\000\011B\000\000\000\000\011L\000\000\001\024\002\188\000\000\026\018\011\180\000\000\000\000\\z\n\248\006\134\000\000\n\208\000\000\000\233\000\000O\188\000\000\000\000\003\192\026\018\000\000\026\018\000\000\n\184\000\000\003\192\000\000\\z\004\180\\z\000\000\\z\000\000\n\188\000\000\004\180\000\000\\z\004\180\n\190\000\000\027\1762\\\000\000\005\028\027\176\000\000\000\000\027\176\000\000\n\194\000\000\005\028\000\000\\z\004\180\n\198\000\000O\188\0052O\188\000\000O\188\000\000\n\200\000\000\0052\000\000\\z\004\180\n\202\000\000\000\000.\136\000\000\000\237\011x\000\000\000\000\011Lr\136\000\000\000\000\000\000\000\000\000\000\000\000\011,\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\154\000\000\006\152r\136\000\000\000\179\007\144\011>\000\237\000\000\000\000\011@\000\237\000\000\000\000\000\000\000\000\000z\007\144\000\000\000\000\000\000\000\000\000\000\000\0003\236;.\000\000\130z\000\000r\136\011\166\000\000\006\234r\136\000\000\000?\001x\001x\011\022\000\000\005\148\001x\000\000\000\000\000\000\000\000\132\002w\214r\136\011J\000\237\000\000\000\000\000\000\011 r\136\011\180\000\000\003\020r\136\000\000\011\184\000\000\011\188\000\000\007\196r\136\000\000\006\134\012L\000\000\012N\000\000\000\000\000\000\000\000<\166\000\000\012 r\136\011\206\000\000\007\226r\136\000\000\003\0244Z\000\000\000\000\000\000\000\000\000\000\000\000\000\0004Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011@\000\000\007\0024Z\000\000\000\000\000\000\0120r\136\011\220\000\000\007\232r\136\000\000\005\212\005\132\000\000\005\132\000\000\011L\000\000\007:\005\132\000\000\000\000\000\000>\238r\136\011\228\000\000r\136\011\232\000\000\132\130~\152r\136\011Zr\136\011\236\000\000\011\240\000\000\011\242\000\000\133\006~\254r\136\011jr\136\012\b\000\000\012\n\000\000\012\014\000\000O\188\011\186v\128\000\000\007\160O\188\000\000r\136\012N\000\000\005\248r\136\012P\000\000\007\246r\136\000\000\006\026w\214r\136\011\194\000\000\000\000\000\000w\214\000\000\000\000\000\000\000\000\133\134r\136\012X\000\000\012\\\000\000\134\n\128\002r\136\011\206r\136\012`\000\000\012b\000\000\012d\000\000w\214\012\b\000\237\000\000\012l\000\000\007\248w\214\000\000\006\026\000\000\012<5~\012\016\135\152`\162\130\254\000\000\131~\011\228\000\000\012z\000\000\b r\136\000\000\006\160\004\210\001x\011\236\000\000\000\000\004T\000\237\011\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000r\136\012\134\000\000r\136\012\136\000\000r\136\012\138\000\000\134\138\128hr\136\011\254r\136\012\148\000\000\012\154\000\000\012\156\000\000zRv\128\000\000v\128\000\000xBr\136\012\014r\136\012\160\000\000\012\164\000\000v\128\000\000\012\172\000\000\b(r\136\000\000\007\182\000!\000!\000\000\000\000\012\028\000\000\000\000\007\210\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000r\136\012\176\000\000r\136\012\182\000\000\135\014r\136\012\188\000\000\012\192\000\000r\136\012\198\000\0005~\012\200\000\000r\136\012\206\000\000r\136\012\212\000\000\012\1705~\012\222\000\000r\136\012\224\000\000r\136\012\234\000\000r\136\012\244\000\000\000\237\012X\000\000\000\000.\136\000\000\000\000\004f\rr\000\000\000\000\005.\000\000\000\000\000\000\\z\000\000\000\000\000\000\003\210\000\000\005\246\000\000\000\000\000\000\000d\000\000\000\000\004\228\000\000\006P\000\000\000\000\000\000\b$h\148h\148h\148h\148\000\000\000d\000d\000d\000d\000\000\000\000\000\000\000\000\000\000\000\000h\148\000d\000d\003B\026\018\rj\0210\000;\000\000\000\000\000;\000\000\014\172\000\000?\190\012z\000\000\003B\026\018\012\128\022\210\000\000\003B\0210\000\000\000\000\000\000[jh\148\000d\000d\000\000\000\000\000\000\012\212\000d\rh\129\226\000\000\000\000\000\000\006\156\129\226\129\226\000\000\000\000\011\206\rX\000d\000\000\000\000\000\000\012\144\rf\006\134\012\142\000\000\000;\000\000\014\172\000\000.\176\004\228\000\000\006v\000\000\000\000\000\000O\188\000\000\000\000\003:\000\000\000\000\rR\000\000\000\000\000\000\000\000\004f\000\000\006\204\000\000\000\000\000\000\\z\000\000\003\210\000\000\007\014\000\000\000\000\000\000\000d\000\000\004\228\000\000\007N\000\000\000\000\000\000\t\198\000\000\017\236\000\150\017\236\000\000\r\n\017\236\000\000\005\164\000\000\r\n\000\000\r\n\000\000\r\n\000\000.\176\000\000\000\000\000\000\000\000\000\000\r\n\000\000\005\164\000\000\r\n\000\0003\172\004\228\000\000\007r\000\000\000\000\000\000O\188\000\000\002\156\012\200\000\237\005\160\r\128\003\226\000\000\003\226\r\182\000\000\r\186\000\000\0008\000\000\003\226\003\030\003\226\007:\003\226\000\000\000\000\006<\000\000\011T\005\160\012\160\000\000\012\162\000\000\012\230\000\237\005\160\012\168\000\000\000\182\r\202\000\000\b\220\t \r\226\012d\r\226\000\000\000\000\014\006\000\237\000\000\005&\000\000\000\000\000z\000\000\000\000\000\000\012\182\000\000\000\000\000\000\012\250\000\237\005\160\012\186\000\000\000\000\000\182\b\220\t \014\006\005&\000z\012\188\000\000\b\220\t \014\006\005&\000z\012\190\000\000\006x\002\156\012\220\000\237\012\214\b\174\000\138\r\n\000\237\000\000\r\014\000\237\000\000\rp\000\000\012\238\b$\012\232\b\174\rz\000\000\004\206\001|\000\000\012\238\000\000\012\244\b\174\r\134\000\000\000\000\b\174\000\000\r\138\000\000\000\237\000\000\014\016\014:\r2\000\237\000\000\r\148\000\000"), (16, "\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\t}\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\016%\014\142\t}\000\n\011y\000\230\016%\000\186\014u\000\"\011y\000~\016V\014\142\016%\000\186\016%\0003\0007\014\142\016%\001\194\016%\016%\016V\016%\n\r\000\186\016%\000&\016V\011~\024J\016%\016%\016%\011\130\014\026\016%\016%\004F\029\174\014\142\011\138\016%\028:\000\130\016%\016%\022\"\011\142\029\178\023\206\016V\006\249\016%\016%\001\158\016%\007\022\016%\001\170 2\005\165\t}\016%\007\205\016%\016%\011B\016%\016%\016%\000\186\014u\001\030\016%\016%\016% \202!V\016%\016%\016%\016% 6\012v\001\030\016%\016%\016%\016%\016%\012z\011F\016%\018B\028>\004\201\016%\016%\001\002\007Q!b\005E\000\n\000\194\r~\018B\005E\016%\016%\016%\000\n\018B\016%\016%\016%\016%\000\n\016%\t}\016%\014\142\000Z\000\n\016%\000b\011\154\000r\016%\016%\007\205\000\198\016V\011\158\t}\018B\000v\001\022\007\t\016%\016%\b\189\007~\016%\000\202\017e\017e\004>\016%\016%\016%\016%\017e\001J\016%\016%\015\229\016%\005\165\004\201\nu\016%\016%\016%\004j\016%\004\201\016%\016%\000\n\016%\000z\005\165\016%\016%\005q\016%\016%\016% \206\016%\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161 \210\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\0161\000\134\005E\006\241\014R\006\241\0161!\150\n\n\018B\000\218\023\254\005E\023b\0161\015\229\0161 \138\005E\005E\0161\005Q\0161\0161\002\006\0161\002\006\000\186\0161\006y\005E\015M\005E\0161\0161\0161\000\186\007Y\0161\0161\024N!\154\011\177\011\177\0161\004\133\000\186\0161\0161\011\177\001V\004F\004\133\015m\007I\0161\0161\n\133\0161\005E\0161\014j\018\178\020\002\000\186\0161\001f\0161\0161\001\006\0161\0161\0161\003\029\n\186\000\186\0161\0161\0161\000\194\018\182\0161\0161\0161\0161\000\250\001\014\001\030\0161\0161\0161\0161\0161\011y\022\n\0161\014V\000\194\t\186\0161\0161\011\154\014\142\001Z\n5\006\241\000\198\006\241\011\158\014Z\0161\0161\0161\016V\017\158\0161\0161\0161\0161\000\202\0161\001z\0161\019V\000\198\000\n\0161\006\241\015m\006\241\0161\0161\007\145\006\241\000\n\000\198\007r\000\202\005E!B\001\138\020B\0161\005E\000\n\0161\n\230\014v\000\202\004]\0161\0161\0161\0161\017e\rB\0161\0161 \002\0161\007\129\001\150\000\n\0161\0161\0161\000\254\0161\014\182\0161\0161\007\137\0161\000\n\020\n\0161\0161\rN\0161\0161\0161\015m\0161\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\018B\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\007\153\030\243\n\137\007\030\n-\001\166\007\153\014\146\014\162\014\178\nm\014\182\020\146\n\238\007\153\005v\007\153\006\182\020\n\nM\007\153\r\206\007\153\007\153\001\238\007\153\n\021\030\247\007\153\007* r\015m >\007\153\004]\007\153\005E\000\n\007\153\007\153\020\186 \134\007\145\rN\007\153\030\250\005E\014\186\001\246 \230\021. \138\005E\005E\006\158\007\153\007\153\015\221\003n\004]\007\153\007\153\021v\004.\005E\007\153\005E\007\153\007\153\021z\007\153\007\153\007\153\015\141\r\238\002\165\007\153\007\153\007\153\b\166\004\141\007\153\007\153\007\153\007\153\007\025\n\145\004\141\007\153\007\153\007\153\007\153\007\153\005E\007\189\007\153\rN\022R\0046\007\153\007\153\000J\011\006\022r\022\154\022\170\022\222\022\238\023\022\007a\021\250\007\153\007\153 \022\021v\007\153\007\153\007\153\007\153\025\018\007\153\021z\007\153\020\186\006N\021~\007\153\007\189\n=\021\170\007\153\007\153\004\174\014\n\rj\b\178 \026\015m\029*\024\166\004\186\002\165\n\161 \030\031\003\007\153\015\141\007i N\015m\007\153\007\153\007\153\007\153\007\189\rN\007\153\007\153\011\"\007\153 F\0216\021\250\007\153\007\153\007\153\007\189\007\189\007\189\007\153\007\153\007\189\007\153\022Z\007\189\007\153\007\153\031\007\007\153\007\153\007\153\011N\007\153\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\027n\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\000\186\007\189\029*\007\189\006^\007\189\t\226 &\002\253\022z\n\189\004\194\007\189\007\189\000\186\007\189\007y\007\189\007\189\007\189\007\189\007\189\007\189\023b\007\189\007\189\rn\007\189\007\189\019\002\021\190\007\189\007\189\000\194\007\189\0079\000\186\007\189\007\189\000\250\000\186\019\" .\007\189\r\154\007q\007\189\000\n\007\189\005)\027Z\rN\000\190\007\189\007\189\007\189\007\189\007\189\t\238\007\189\000\198\022\186\n\173\rN\007\189\029*\007\189\007\189\016\198\007\189\007\189\007\189\022\246\000\202\001\030\007\189\007\189\007\189\007\189\017\146\007\189\007\189\007\189\007\189\015!\022\130\004\218\007\189\007\189\007\189\007\189\007\189\007\189\007\189\007\189\001\026\001\030\b\194\000\n\007\189\000\198\nF\001\"\011\186\003-\003=\001&\000\149\007\189\001*\007\189\007\189\000\n\000\202\007\189\007\189\007\189\007\189\017\154\007\189\000\254\007\189\ni\017\174\011y\007\189\001.\nY!\146\007\189\007\189\017\186\025\150\011y\000\n\003\r\016\230\022\198\000\n\025\154\004\226\007\189\014\142\005\030\007\189\005\210\r\158\ny\022\254\007\189\007\189\005)\007\189\016V\004>\007\189\007\189\007)\007\189\017\022\017\150 \190\007\189\005\165\006v\017*\n\029\005) \194\007\189\016\202\007\189\024\206\024\214\007\189\007\189\000\006\007\189\000\030\007\189\0216\007\189\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\023J\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\005)\0071\023N\029;\029?\000\n\012\218\002=\026z\006\130\029C\025\158\007! >\012\234\023R\001\178\023V\024\206\024\214\002\n\023Z\014\"\012\242\017F\014&\017^\023^\014*\018B\016\234\024\206\024\214\000z \014\014>\023j\027V\011u\014N\023n\024^\011\149\007Y\002\026\018\158\023r\014\142\015}!>\011a\025\146\005\165\017\026\026^\014\190\014\194\004F\016V\017.\016n\004I\011\177\011\177\023v\002>\005\165\002B\005\173\011\177\001\186\016r\016v\002=\000*\027j\014\218\002J\016z\006\174\n%\014\222\007F\014\226\002V\006\190\026\146\006\198\014\230\014\234\r\006\r\n\014\238\018\210\021\190\016~\011\133\006\230\023z\017m\016\130\023~\004A\029c\029g\015\205\019\138\004A\011\149\011\141\029k\007Z\014\242\000\n\023\130\016\134\016\138\014\246\016\142\023\134\000\n\023\138\016\162\006\238\023\142\023\146\017J\023\150\017b V\016\174\014\254\019\190\007\017\007\017\023\154\019\210\019\238\023\158\006\250\004A F\018B\023\210\007\002\017\138\015\213\018\162\029\135\029\139\017\142\017\218\005\173\r\014\023\162\029\143\015\002\015\006\023\222\017\222\023\166\023\170\011\133\015\014\005\173\005\173\023\226\030\215\030\219\005\173\017\230\023\194\002\146\030z\030\223\011\141\027V\000\141\015\018\005\173\002\158\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\018\214\000r\029\150\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\029\158\019\142\004A\031\027\031\031\024>\012\218\0286\023\238\007\018\031#\007&\004A!~\012\234\007v\001\178\025b\004A\004A\002\n\023\242\014\"\012\242\015]\014&\007\194\019\194\014*\007\206\004A\019\214\019\242\000z\007\254\014>\031;\031?\011u\014N\b\006\011}\b\158\031C\002\026\025\174\000\186\029\222\015\181\004A\b\218\b\234\015U\b\242\b\254\016j\014\194\030\n\030\022\004A\016n F\019\158\015\157\t\n\002>\015\149\002B\031[\031_\001\186\018:\016v\015\189\015\197\031c\014\218\002J\016z\000\194\019\162\014\222\007F\014\226\002V\t\022\031\235\031\239\014\230\014\234\r\006\r\n\014\238\031\243\015\173\016~\026F\t2\015\165!R\016\130\011\154\004\230\015e\004I\t>\000\198\011}\011\158\004I\tF\007Z\014\242\tN\024\194\016\134\016\138\014\246\016\142\000\202\000\n\028V\016\162\tV\tf\tr\005]\t~\015u\025\006\016\174\014\254\025\134\t\142\t\154\t\174\t\190\t\198 \154\026n\027\006\t\202\030*\007\173\000\n\017\138\n\006\n\014\n\030\n&\017\142\017\218\n*\r\014\n2\nZ\015\002\015\006\n^\017\222\027J\nf\nv\015\014\028*!\187\n\134\n\174\n\210\n\222\017\230\n\251\002\146\011\026\011^\007\197\007\197\011\166\015\018\011\218\002\158\011\222\007\197\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\186\000r\029\150\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\029\158\011\238\004I\011\246\011\250\012\002\012\218\012J\012R\012\214\012\222\012\230\004I\012\238\012\234\012\246\001\178\012\254\004I\004I\002\n\000\194\014\"\012\242\r\002\014&\r\"\000\250\014*\r*\004I\r. \014\000z\r:\014>\007\173\rJ\011u\014N\r^\000\186\rf\rv\002\026\r\130\007\173\014\142\000\198\r\138\r\142\r\150\007\173\007\173\r\166\016j\014\194\030\n\016V\004I\016n\000\202\r\174\r\182\007\173\002>\r\190\002B\r\194\r\214\001\186\018:\016v\000\186\000\194\016\250\014\218\002J\016z\r\230\r\246\014\222\007F\014\226\002V\014\002\000\n\014\018\014\230\014\234\r\006\r\n\014\238\007\173\014\030\016~\011\154\0146\014J\014r\016\130\000\198\014~\011\158\014\150\014\158\000\194\n\002\000\254\014\166\014\174\007Z\014\242\014\202\000\202\016\134\016\138\014\246\016\142\014\210\000\n\015:\016\162\015F\015\174\016*\005]\016B\016N\016\146\016\174\014\254\016\154\000\198\016\170\003!\016\178\016\210\016\218\000\n\016\226\016\242\018B\016\254\017\006\017\138\000\202\017\n\017\018\017\"\017\142\017\218\0176\r\014\017R\017j\015\002\015\006\017v\017\222\017~\017\134\017\214\015\014\017\226\017\234\017\246\017\250\018\002\018\006\017\230\000\n\002\146\018\014\018\022\007\213\007\213\018\030\015\018\018&\002\158\018N\007\213\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\018\146\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\018\154\018\170\004M\018\186\003y\018\194\012\218\004M\003y\018\198\018\206\018\222\018\230\018\238\012\234\018\246\001\178\018\250\019\n\019\026\002\n\019*\014\"\012\242\019f\014&\019n\019~\014*\019\134\019\150\019\166\019\174\000z\t\133\014>\019\178\011y\011u\014N >\019\186\019\202\019\222\002\026\019\250\014\142\014\142\t\133\020.\020:\020~\020\138\020\226\021\026\014\190\014\194\016V\016V\021&\016n\021Z\021b\021\142\021\154\002>\021\162\002B\021\182\001\218\001\186\016r\016v\000\186\021\226\000\186\014\218\002J\016z\021\238\021\246\014\222\007F\014\226\002V\022\002\022\026\022*\014\230\014\234\r\006\r\n\014\238\0226\022g\016~\022\143\022\167\017e\022\211\016\130\022\235\023\011\023#\023;\023F\000\194\030\142\000\194\004M\t\133\007Z\014\242\001\222\023f\016\134\016\138\014\246\016\142\004M\000\n\023\187\016\162\023\214\023\230\004M\004M\0247\024V\024\130\016\174\014\254\024\150\000\198\024\159\000\198\024\179\004M\024\187\024\210\024\218\018B\018B\015E\024\246\017\138\000\202\024\255\000\202\025Z\017\142\017\218\025v\r\014\025\127\025\166\015\002\015\006\025\203\017\222\025\215\025\234\025\243\015\014\025\251\026\003\004M\t\133 F\026\022\017\230\000\n\002\146\000\n\017e\017e\026\031\026'\015\018\026/\002\158\017e\t\133\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\186\000r\029\150\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\029\158\026:\026W\026g\003y\026\134\012\218\026\179\003y\026\187\026\206\026\215\026\223\026\231\012\234\026\242\001\178\026\255\027\026\027\"\002\n\027:\014\"\012\242\027C\014&\027b\017\146\014*\027v\027\155\027\167\027\179\000z\027\198\014>\015E\027\207\011u\014N\027\215\027\223\028\002\028\011\002\026\028\019\015E\014\142\000\198\028#\028J\028\127\015E\015E\028\139\014\190\014\194\028\155\016V\028\163\016n\000\202\028\175\028\187\015E\002>\028\199\002B\000\186\028\211\001\186\016r\016v\028\218\028\227\028\239\014\218\002J\016z \162\028\251\014\222\007F\014\226\002V\029\007\000\n\029\019\014\230\014\234\r\006\r\n\014\238\015E\029.\016~\029\234\030\018\030\"\030^\016\130\000\194\t\186\030f\030\146\030\166\030\170\030\178\017\150\030\255 \006\007Z\014\242 \018\004j\016\134\016\138\014\246\016\142 \"\000\n *\016\162 g o v\005] \131\000\198 \142\016\174\014\254\004\173 \158 \219 \234 \247!\027!7!F!N\000\202\018B\007\181!Z\017\138!f!s!z!\130\017\142\017\218!\139\r\014!\158!\166\015\002\015\006!\175\017\222!\195!\210!\214\015\014!\218!\231\000\n\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\011\185\011\185\000\000\015\018\000\000\002\158\000\000\011\185\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\186\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\007I\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\017\146\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\007\181\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\007\181\014\142\000\198\000\000\000\000\000\000\007\181\007\181\000\000\014\190\014\194\000\000\016V\000\000\016n\000\202\000\000\000\000 \178\002>\000\000\002B\000\000\000\000\001\186\016r\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\n\000\000\014\230\014\234\r\006\r\n\014\238\007\181\000\000\016~\000\000\000\000\000\000\017m\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\150\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\254\n]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018B\000\000\000\000\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\017m\017m\000\000\015\018\000\000\002\158\000\000\017m\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\t}\014*\000\000\000\000\011y\000\000\000z\000\000\014>\000\000\000\000\011u\014N\014\142\t}\000\000\000\000\002\026\000\000\000\000\014\142\000\000\000\000\000\000\016V\000\000\000\000\000\000\016j\014\194\000\000\016V\000\000\016n\020N\000\000\000\000\000\000\002>\000\000\002B\005\129\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\018>\016\130\000\000\000\000\t}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\254\000\000\000\000\000\000\018B\000\000\000\000\000\000\000\000\000\000\000\000\018B\000\000\000\000\017\138\000\000\000\000\000\000\000\000\017\142\017\218\005\129\r\014\000\000\000\000\015\002\015\006\000\000\017\222\t}\000\000\000\000\015\014\005\129\005\129\000\000\000\000\000\000\005\129\017\230\000\000\002\146\000\000\000\000\t}\000\000\000\000\015\018\005\129\002\158\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\029\150\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\029\158\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\031r\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\005]\000\000\000\000\000\000\016\174\014\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\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\011\157\011\157\000\000\015\018\000\000\002\158\000\000\011\157\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\018V\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\017I\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\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\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\017I\017I\000\000\015\018\000\000\002\158\000\000\017I\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\029\238\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\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\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\017\149\017\149\000\000\015\018\000\000\002\158\000\000\017\149\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\029\238\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\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\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\017\145\017\145\000\000\015\018\000\000\002\158\000\000\017\145\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\020\150\000\000\000\000\000\186\002>\000\000\002B\005\145\000\000\001\186\018:\016v\000\000\000\000\000\186\014\218\002J\016z\000\000\018\178\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\194\018\182\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004j\007Z\014\242\000\000\017\146\016\134\016\138\014\246\016\142\011\154\000\n\000\000\016\162\000\000\000\198\000\000\011\158\000\000\000\000\000\000\016\174\014\254\000\000\000\000\000\000\000\198\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\138\000\000\000\000\000\202\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\n\015\014\000\000\005\145\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\n\000\000\000\000\000\000\000\000\015\018\005\145\002\158\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\017\150\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\007I\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\003\017\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016j\014\194\000\000\000\000\000\000\016n\020\230\000\000\000\000\000\186\002>\000\000\002B\000\000\000\000\001\186\018:\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\019\158\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\194\019\162\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004j\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\011\154\000\n\000\000\016\162\000\000\000\198\000\000\011\158\000\000\000\000\000\000\016\174\014\254\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\n\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000\000\000\000\000\000\000\000\015\018\000\000\002\158\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\011\254\000\182\001\142\001\146\001\174\000v\011\142\007I\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\234\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\012\242\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\174\014\194\000\000\000\000\000\000\016n\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\r\n\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\015\133\000\000\015\133\016\174\014\254\000\000\000\000\015\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\r\014\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\004\157\000\000\000\000\000\000\004\157\015\018\000\000\002\158\000N\000R\000V\000\142\000\000\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\000\000\000\182\001\142\001\146\001\174\000v\011\142\004\157\000\000\000\000\000\000\000\000\000\000\015\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\000\000\000\000\002\014\015\133\000\000\002\018\015\133\000\000\004\157\000\000\000z\000\000\000\000\000\000\000\000\011m\015\133\000\000\000\000\004\157\000\000\002\026\015\133\015\133\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0022\002.\000\000\0026\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\022\017\241\004\157\004\157\002F\002J\000\000\015\133\000\000\002N\001\030\002R\002V\015\133\015\133\000\000\002Z\002^\r\006\016\182\002b\000\000\003Z\002f\000\000\004\157\004\157\000\000\004\157\017\241\017\241\000\000\000\000\000\000\000\000\004\157\004\157\000\000\000\000\004\157\002j\000\000\004\157\000\000\017\241\002n\000\000\000\000\000\n\000\000\017\241\017\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002v\004\230\000\000\017\241\000\000\000\000\017\241\000\000\017\241\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\014\000\000\000\000\002~\002\130\000\000\000\000\000\000\000\000\000\000\002\142\000\000\017\241\000\000\000\000\000\000\017\241\000\000\000\000\002\146\000\000\000\000\000\000\000\000\000\000\002\150\000\000\002\158\000N\000R\000V\000\142\000\000\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\000\000\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\000\000\000\000\017\241\000\000\000\000\000\000\000\000\000\000\000\000\017\241\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\n\000\000\014\"\000\000\000\000\014&\000\000\017\241\014*\000\000\000\000\000\000\000\000\000z\017\241\021\130\000\000\000\000\011u\000\000\000\000\000\000\000\000\017\241\002\026\017\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\146\014\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\014\218\002J\000\000\000\000\000\000\014\222\001\030\014\226\002V\000\000\000\000\000\000\014\230\014\234\r\006\016\182\014\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\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\000\000\000\000\014\246\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\014\254\016\005\000\000\000\000\000\000\000\000\016\005\000\000\000f\016\005\000n\016\005\000\000\016\005\000\000\000\000\000\174\000\000\000\000\000\000\016\005\016\005\r\014\016\005\000\000\015\002\015\006\000\000\021\150\000\000\000\000\000\000\015\014\000\000\000\000\000\000\016\005\000\000\016\005\021\158\000\000\002\146\016\005\016\005\000\000\000\000\000\000\015\018\016\005\002\158\000\000\000\000\000\000\000\000\016\005\016\005\000\000\016\005\000\000\016\005\000\000\016\005\000\000\000\000\000\000\000\000\000\000\016\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\005\016\005\000\000\000\000\016\005\000\000\000\000\000\000\000\000\016\005\016\005\000\000\000\000\016\005\000\000\016\005\000\000\000\000\000\000\000\000\000\000\000\000\016\005\000\000\000\000\000\000\000\000\016\005\000\000\016\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\005\000\000\000\000\016\005\016\005\000\000\016\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\005\000\000\000\000\000\000\016\005\000\000\000\000\000\000\000\000\016\005\016\005\016\005\000\000\000\000\016\005\016\005\016\005\016\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\005\000\000\000\000\016\005\000\000\000\000\000\000\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\005\000\000\000\000\000\000\000\000\000\000\016\005\016\005\016\005\000\000\000\000\016\005\016\005\000\000\000\000\016\005\000\000\000\000\000\000\000\000\000\000\016\005\016\005\000\000\000N\000R\000V\000\142\016\005\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\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\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\"\000\000\000\000\002&\000\000\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\004\178\000\000\0026\000\000\000\000\005j\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\004\238\002J\000\000\000\000\000\000\004\242\001\030\004\246\002V\000\000\000\000\005n\004\250\004\254\000\000\000\000\005\002\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\005\006\000\166\000\170\000\000\000r\005\n\000\178\000\000\000\n\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\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\005r\001\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\"\000\000\000\000\002&\0056\005:\000\000\000\000\000z\000\000\000\000\005B\000\000\000\000\004\165\000\000\000\000\000\000\000\000\002\026\002\146\000\000\002\030\000\000\000\000\000\000\005F\000\000\002\158\000\000\002\194\004\178\000\000\0026\000\000\000\000\005j\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\004\238\002J\000\000\000\000\000\000\004\242\001\030\004\246\002V\000\000\000\000\005n\004\250\004\254\000\000\000\000\005\002\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\005\006\000\166\000\170\000\000\000r\005\n\000\178\000\000\000\n\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\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\005r\001\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\"\000\000\000\000\002&\0056\005:\000\000\000\000\000z\000\000\000\000\005B\000\000\000\000\nA\000\000\000\000\000\000\000\000\002\026\002\146\000\000\002\030\000\000\000\000\000\000\005F\000\000\002\158\000\000\002\194\004\178\000\000\0026\000\000\000\000\005j\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\017\221\004\238\002J\000\000\000\000\000\000\004\242\001\030\004\246\002V\000\000\000\000\005n\004\250\004\254\000\000\000\000\005\002\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\221\017\221\000\000\000\000\000\000\000\000\000\000\000\000\007\178\005\006\000\000\000\000\000\000\000\000\005\n\017\221\000\000\000\n\000\000\000\000\000\000\017\221\017\221\000\000\000\000\000\000\000\000\007\186\0052\000\000\007\198\000\000\000\000\017\221\000\000\000\000\017\221\015\241\017\221\005r\000\000\000\000\015\241\000\000\000\000\015\241\000^\015\241\000\000\015\241\000\000\000\000\000\000\0056\005:\000\000\015\241\015\241\000\000\015\241\005B\000\000\000\000\003\001\017\221\000\000\000\000\000\000\017\221\002\146\000\000\000\000\015\241\000\000\015\241\005F\000\000\002\158\015\241\015\241\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\007\210\000\000\015\241\015\241\000\000\015\241\000\000\015\241\000\000\015\241\000\000\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\000\000\000\000\000\000\017\221\000\000\015\241\015\241\000\000\007\214\015\241\017\221\000\000\000\000\000\000\015\241\015\241\000\000\000\000\015\241\000\000\015\241\007\222\000\000\000\000\000\000\000\000\017\221\015\241\000\000\000\000\000\000\000\000\015\241\017\221\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\221\000\000\017\221\015\241\000\000\000\000\015\241\015\241\000\000\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\015\241\000\000\000\000\000\000\000\000\015\241\015\241\015\241\000\000\000\000\015\241\015\241\015\241\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\016\r\000\000\015\241\000\000\000\000\016\r\000\000\000\000\016\r\000j\016\r\000\000\016\r\000\000\000\000\000\000\000\000\000\000\015\241\016\r\016\r\000\000\016\r\000\000\015\241\015\241\015\241\000\000\000\000\015\241\015\241\000\000\000\000\015\241\000\000\016\r\000\000\016\r\000\000\015\241\015\241\016\r\016\r\000\000\000\000\000\000\015\241\016\r\000\000\000\000\000\000\000\000\000\000\016\r\016\r\000\000\016\r\000\000\016\r\005-\016\r\000\000\000\000\005-\000\000\000\000\016\r\000\000\000\000\000\000\000\000\000\000\005-\005-\000\000\016\r\016\r\000\000\000\000\016\r\000\000\000\000\000\000\005-\016\r\016\r\000\000\000\000\016\r\000\000\016\r\000\000\000\000\005-\000\000\000\000\000\000\016\r\000\000\000\000\000\000\000\000\016\r\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\016\r\016\r\000\000\016\r\000\000\000\000\005-\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\000\000\016\r\005-\000\000\000\000\000\000\016\r\016\r\016\r\000\000\000\000\016\r\016\r\016\r\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\t\221\000\000\016\r\000\000\000\000\t\221\000\000\000\000\t\221\000\000\t\221\005-\t\221\000\000\000\000\000\000\000\000\000\000\016\r\t\221\t\221\000\000\t\221\000\000\016\r\016\r\016\r\000\000\000\000\016\r\016\r\015\134\000\000\016\r\005-\t\221\005-\t\221\000\000\016\r\016\r\t\221\t\221\000\000\005-\005-\016\r\t\221\005-\000\000\000\000\005-\000\000\t\221\t\221\000\000\t\221\000\000\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\t\221\000\000\000\000\t\221\001\130\000\000\000\000\000\000\t\221\t\221\000\000\000\000\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\000\000\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\t\221\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\t\221\000\000\000\000\000\000\000\000\t\221\t\221\t\221\000\000\000\000\t\221\t\221\t\221\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\015\253\000\000\t\221\000\000\000\000\015\253\000\000\000\000\015\253\000\000\015\253\000\000\015\253\000\000\000\000\000\000\000\000\000\000\t\221\015\253\015\253\000\000\015\253\000\000\t\221\t\221\t\221\000\000\000\000\t\221\t\221\000\000\000\000\t\221\000\000\015\253\000\000\015\253\000\000\t\221\t\221\015\253\015\253\000\000\000\000\000\000\t\221\015\253\000\000\000\000\000\000\000\000\000\000\015\253\015\253\000\000\015\253\000\000\015\253\000\000\015\253\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\015\253\000\000\000\000\015\253\001\190\000\000\000\000\000\000\015\253\015\253\000\000\000\000\015\253\000\000\015\253\000\000\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\000\000\000\000\015\253\000\000\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\015\253\015\253\000\000\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\000\000\015\253\000\000\000\000\000\000\000\000\015\253\015\253\015\253\000\000\000\000\015\253\015\253\015\253\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\015\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\015\253\000\000\000\000\000\000\000\000\000\000\015\253\015\253\015\253\000\000\000\000\015\253\015\253\000\000\000\000\015\253\000\000\000\000\000\000\000\000\000\000\015\253\015\253\000\000\000N\000R\000V\000\142\015\253\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\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\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\"\000\000\000\000\002&\000\000\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\004\178\000\000\0026\000\000\000\000\005z\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\004\238\002J\000\000\000\000\000\000\004\242\001\030\004\246\002V\000\000\000\000\005n\004\250\004\254\000\000\000\000\005\002\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000R\004v\000\142\000\000\000\146\005\006\000\150\000\154\004z\000Z\005\n\000\166\000\170\000\n\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\0052\t\233\000\000\000\000\000\000\000\000\t\233\000\000\000\000\t\233\000\000\t\233\000\000\t\233\000\000\000\000\000\000\001\178\000\000\000\000\t\233\t\233\000\000\t\233\000\000\0056\005:\000\000\000\000\000\000\000\000\000\000\005B\000\000\000z\nQ\t\233\000\000\t\233\000\000\000\000\002\146\t\233\t\233\000\000\000\000\000\000\005F\t\233\002\158\000\000\000\000\000\000\000\000\t\233\t\233\011\014\t\233\000\000\t\233\000\000\t\233\000\000\000\000\000\000\000\000\000\000\t\233\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\t\233\t\233\000\000\000\000\t\233\n\166\000\000\000\000\000\000\t\233\t\233\000\000\000\000\t\233\000\000\t\233\000\000\000\000\000\000\000\000\011:\000\000\t\233\000\000\000\000\000\000\000\000\t\233\000\000\t\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\233\000\000\000\000\t\233\t\233\000\000\t\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\233\000\000\000\000\000\000\t\233\000\000\000\000\000\000\000\000\t\233\t\233\t\233\000\000\000\000\t\233\t\233\t\233\t\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\233\000\000\000\000\t\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\000\000\000\000\t\233\000\000\000\000\000\000\000\000\000\000\t\233\t\233\t\233\000\000\000\000\t\233\t\233\000\000\000\000\t\233\000\000\000\000\000\000\000\000\000\000\t\233\t\233\000\000\000N\000R\000V\000\142\t\233\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\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\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0022\002.\000\000\0026\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\002F\002J\000\000\000\000\000\000\002N\001\030\002R\002V\000\000\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\004v\000\142\000\000\000\146\002j\000\150\000\154\004z\000Z\002n\000\166\000\170\000\n\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\000\000\000v\002v\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\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\002~\002\130\000\000\000\000\000\000\000\000\000\000\002\142\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\000\001\241\001\241\001\241\001\241\002\150\001\241\002\158\001\241\001\241\001\241\001\241\000\000\001\241\001\241\000\000\001\241\000\000\001\241\000\000\000\000\001\241\001\241\001\241\001\241\001\241\000\000\011~\000\000\001\186\023.\000\000\011\130\000\000\000\000\000\000\000\000\029\174\000\000\011\138\000\000\000\000\001\241\001\241\001\241\000\000\011\142\029\178\0232\000\000\000\000\000\000\000\000\000\000\001\241\000\000\000\000\000\000\000\000\000\000\001\241\000\000\000\000\001\241\000\000\000\000\000\000\001\241\000\000\000\186\023>\000\000\000\000\001\241\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\001\241\000\000\000\000\018\178\000\000\001\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\241\001\241\000\000\000\000\000\000\000\000\000\194\018\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\000\000\000\000\001\241\000\000\011\154\001\241\000\000\000\000\001\241\000\198\000\000\011\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\241\000\202\000\000\000\000\000\000\001\241\000\000\001\241\000\000\001\241\000\000\001\241\000\000\023B\001\241\000\000\000\000\000\000\000\000\001\241\000\000\001\241\000\000\011\254\001\241\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005q\000\000\000\000\000\000\012\218\000\000\000\000\000\000\001\241\001\241\000\000\000\000\012\234\000\000\001\241\001\241\000\000\000\000\002\n\000\000\000\186\012\242\000\000\014&\000\000\001\241\014*\001\241\001\241\000\000\000\000\000\000\000\000\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\t!\t!\000\000\000\000\016\158\014\194\000\000\t!\000\000\016n\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\000\000\000\000\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\254\000\000\000\000\000\000\000\000\000\000\017\138\000\000\000\000\000\000\000\000\017\142\017\218\012\218\000\000\000\000\000\000\015\002\015\006\000\000\017\222\012\234\000\000\000\000\015\014\000\000\000\000\002\n\000\000\000\186\012\242\017\230\014&\002\146\000\000\014*\000\000\000\000\000\000\015\018\000\000\002\158\014>\000\000\000\000\011u\014N\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\214\014\194\000\000\000\000\000\000\016n\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\016v\000\000\000\000\000\000\014\218\002J\016z\000\000\000\000\014\222\007F\014\226\002V\000\000\000\000\000\000\014\230\014\234\000\000\000\000\014\238\000\000\000\000\016~\000\000\000\000\000\000\000\000\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\016\134\016\138\014\246\016\142\000\000\000\n\000\000\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\174\014\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\017\138\000\000\000\000\000\000\000\000\017\142\017\218\000\000\000\000\000\000\000\000\015\002\015\006\000\000\017\222\000\000\000\000\000\000\015\014\000\000\000\000\000\000\000\000\000\000\000\000\017\230\000\000\002\146\000\000\000N\000R\000V\000\142\015\018\000\146\002\158\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\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\178\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\014&\000\000\000\000\014*\000\000\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\174\014\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\014\218\002J\000\000\000\000\000\000\014\222\001\030\014\226\002V\000\000\000\000\000\000\014\230\014\234\000\000\000\000\014\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\000\000\000\000\000\000\000\000\007Z\014\242\000\000\000\000\000\000\000\000\014\246\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\014\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\011~\000\000\000\000\000\000\000\000\011\130\000\000\000\000\015\002\015\006\029\174\000\000\011\138\000\000\000\000\015\014\000\000\000\000\000\000\011\142\029\178\000\000\000\000\000\000\002\146\000\000\r\229\r\229\r\229\r\229\015\018\r\229\002\158\r\229\r\229\r\229\r\229\000\000\r\229\r\229\000\000\r\229\000\186\r\229\000\000\000\000\r\229\r\229\r\229\r\229\r\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\229\r\229\r\229\000\000\000\000\000\000\000\000\000\000\000\194\018\182\000\000\000\000\r\229\000\000\000\000\000\000\000\000\000\000\r\229\000\000\000\000\024\030\000\000\000\000\000\000\024&\000\000\000\000\000\000\000\000\011\154\r\229\000\000\000\000\000\000\000\198\000\000\011\158\000\000\000\000\r\229\025\022\000\000\000\000\000\000\r\229\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\r\229\r\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\026\000\000\000\000\000\000\000\000\025\030\025\"\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005q\r\229\000\000\000\000\r\229\025&\000\000\r\229\000\000\000\000\000\000\025*\025.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\229\0252\000\000\0256\000\000\r\229\025:\r\229\025>\r\229\000\000\r\229\000\000\000\000\024r\000\000\000\000\000\000\000\000\r\229\000\000\r\229\000\000\000\000\r\229\000\000\000\000\000\000\000\000\011\249\011\249\000\000\000\000\000\000\000\000\000\000\011\249\000\000\025B\000\000\r\229\r\229\000\000\000\000\000\000\000\000\024\234\r\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\242\000\000\r\229\025r\000N\000R\004v\000\142\000\000\000\146\000\000\000\150\000\154\004z\000Z\000\000\000\166\000\170\023J\000r\000\000\000\178\000\000\025F\000\182\001\142\001\146\001\174\000v\000\000\025J\000\000\023N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023R\001\178\023V\000\000\000\000\000\000\023Z\000\000\000\000\000\000\000\000\000\000\023^\000\000\000\000\000\000\000\000\025N\027\030\025R\000\000\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\005\194\000\000\000\000\005\202\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\000\000\0262\000\000\000\000\000\000\023v\027*\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\005\218\005\226\000\000\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\234\000\000\000\000\000\000\002\229\011:\005\242\005\250\023z\000\000\000\000\023~\000\000\000\000\000\000\000\000\000\000\000\000\006\002\000\000\000\000\006\n\000\000\006\018\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\018u\000\000\000\000\018u\000\000\000\000\023\154\000\000\000\000\023\158\006\026\000\000\000\000\000\000\006\"\000\000\000\000\000\000\000\000\000\000\000\000\014\133\000\000\000\000\000\000\023\162\000\000\000\000\018u\018u\000\000\023\166\023\170\018u\000\000\000\000\018u\018u\000\000\000\000\000\000\000\000\000\000\018u\000\000\000\000\018u\018u\000\000\018u\018u\000\000\018u\000\000\014\133\018u\006*\018u\018u\002\229\000\000\018u\000\000\0062\018u\000\000\018u\018u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\229\000\000\014\133\000\000\002\229\002\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018u\018u\014\133\006:\018u\006B\018u\000\000\000\000\018\t\000\000\000\000\018\t\000\000\000\000\000\000\000\000\018u\000\000\000\000\000\000\000\000\000\000\000\000\018u\000\000\000\000\014\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\t\018\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018u\018u\000\000\018u\018u\018u\018\t\018u\000\000\000\000\018\t\000\000\018\t\018\t\000\000\018\t\000\000\005\233\018u\000\000\005\233\000\000\004\230\018u\018\t\000\000\018u\018\t\018u\018\t\000\000\000\000\000\000\000\000\000\000\000\000\018u\018u\014\129\018u\018u\018u\000\000\018u\000\000\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\018\t\018\t\000\000\000\000\018\t\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\005\233\000\000\014\129\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\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\014\129\000\000\000\000\018\t\018\t\000\000\018\t\000\000\000\000\000\000\018\t\005\233\005\233\014\129\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\t\000\000\005\233\000\000\018\t\018\t\000\000\000\000\000\000\005\233\000\000\000\000\014\129\000\000\000\000\000\000\018\t\000\000\018\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\005\233\005\233\000\000\005\233\b\181\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\197\000\000\005\233\017\197\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\005\233\005\233\000\000\005\233\017\197\017\197\000\000\000\000\000\000\017\197\000\000\000\000\002\182\017\197\000\000\000\000\000\000\000\000\000\000\017\197\000\000\000\000\017\197\017\197\000\000\017\197\017\197\000\000\017\197\000\000\000\000\002\190\000\000\017\197\005\022\000\000\000\000\017\197\000\000\000\000\017\197\000\000\017\197\017\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\197\017\197\000\000\000\000\017\197\000\000\017\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\197\000\000\000\000\000\000\000\000\000\000\000\000\005\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\197\017\197\000\000\017\197\017\197\005&\000\000\017\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018%\000\000\005.\018%\000\000\000\000\000\000\017\197\000\000\000\000\017\197\017\197\017\197\017\197\017\197\000\000\000\000\000\000\000\000\000\000\017\197\017\197\000\000\017\197\017\197\017\197\000\000\017\197\018%\018%\000\000\000\000\000\000\018%\000\000\000\000\002\182\018%\000\000\000\000\000\000\000\000\000\000\018%\000\000\000\000\018%\018%\000\000\018%\018%\000\000\018%\000\000\000\000\002\190\000\000\018%\005\022\000\000\000\000\018%\000\000\000\000\018%\000\000\018%\018%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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%\018%\000\000\000\000\018%\000\000\018%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018%\r\213\r\213\r\213\r\213\000\000\r\213\005\"\r\213\r\213\r\213\r\213\000\000\r\213\r\213\000\000\r\213\000\000\r\213\000\000\000\000\r\213\r\213\r\213\r\213\r\213\000\000\000\000\000\000\018%\018%\000\000\018%\018%\005&\000\000\018%\000\000\000\000\000\000\000\000\000\000\r\213\r\213\r\213\000\000\000\000\005.\000\000\000\000\000\000\000\000\018%\000\000\r\213\018%\018%\018%\018%\018%\r\213\000\000\000\000\000\000\000\000\018%\018%\000\000\018%\018%\018%\000\000\018%\r\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\213\000\000\000\000\000\000\000\000\r\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\213\r\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\213\000\000\000\000\r\213\000\000\000\000\r\213\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\213\000\000\000\000\000\000\000\000\r\213\000\000\r\213\000\000\r\213\000\000\r\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\213\000\000\r\213\000\000\000\000\r\213\000\000\000\000\000\000\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\213\r\213\000\000\000\000\000\000\000\000\024\"\r\213\r\217\r\217\r\217\r\217\000\000\r\217\000\000\r\217\r\217\r\217\r\217\r\213\r\217\r\217\000\000\r\217\000\000\r\217\000\000\000\000\r\217\r\217\r\217\r\217\r\217\000\000\000\000\005\241\000\000\000\000\005\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\217\r\217\r\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\217\000\000\005\241\005\241\000\000\000\000\r\217\005\241\000\000\024\238\005\241\005\241\000\000\000\000\000\000\000\000\000\000\005\241\000\000\r\217\005\241\005\241\000\000\005\241\005\241\000\000\005\241\000\000\r\217\005\241\000\000\005\241\005\241\r\217\000\000\005\241\000\000\000\000\005\241\000\000\005\241\005\241\r\217\r\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\005\241\005\241\r\217\000\000\005\241\r\217\005\241\000\000\r\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\241\000\000\000\000\000\000\r\217\000\000\000\000\005\241\000\000\r\217\000\000\r\217\000\000\r\217\000\000\r\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\217\000\000\r\217\000\000\000\000\r\217\005\241\005\241\000\000\005\241\b\193\005\241\000\000\005\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\217\r\217\005\237\005\241\000\000\005\237\000\000\r\217\005\241\000\000\000\000\005\241\000\000\005\241\000\000\005\241\000\000\000\000\000\000\r\217\000\000\005\241\005\241\000\000\005\241\005\241\005\241\000\000\005\241\000\000\005\237\005\237\000\000\000\000\000\000\005\237\000\000\000\000\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\000\000\005\237\005\237\000\000\005\237\005\237\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\000\000\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\005\237\000\000\000\000\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000N\000R\004v\000\142\000\000\000\146\005\237\000\150\000\154\004z\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\005\237\005\237\000\000\005\237\b\185\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\025\194\001\178\025\206\000\000\000\000\005\237\000\000\000\000\000\000\000\000\005\237\000\000\025\218\005\237\000\000\005\237\000\000\005\237\000z\000\000\000\000\000\000\000\000\005\237\005\237\000\000\005\237\005\237\005\237\000\000\005\237\026\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\000\000\0262\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026N\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\000\000\000\000\026Z\000\000\000\000\026\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\190\000\000\000\000\000\000\000\000\026\234\000\000\011]\000\000\027\022\002\n\027\170\000\186\000\000\000\000\004\202\000\000\000\000\004\206\027\182\000\000\027\226\000\000\000\000\028\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\004\234\000\000\000\000\028\142\028\166\000\000\000\000\000\000\006\222\006\242\028\178\007\n\007\022\007.\0072\000\000\000\000\000\000\002>\000\000\002B\000\000\028\202\000\000\000\000\000\000\000\000\000\000\001a\0076\002J\001a\007:\007>\007B\007F\007J\002V\000\000\000\000\000\000\007N\007R\000\000\000\000\007V\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\007Z\007^\000\000\000\000\000\000\000\000\007b\003\n\000\000\000\n\000\000\001a\000\000\001a\001a\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\000\000\000\000\000\0032\000\000\000\000\003\018\007\t\003\"\007n\000\000\007~\000\000\002\n\000\000\000\186\000\000\000\000\004\202\000\000\000\000\004\206\000\000\007\134\007\138\000\000\000\000\000\000\000\000\000\000\007\146\000\000\000\000\000\000\001a\000\000\004\181\002\026\003:\002\146\004\234\000\000\000\000\000\000\000\000\007\150\000\000\002\158\006\222\006\242\000\000\007\n\007\022\007.\0072\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0076\002J\000\000\007:\007>\007B\007F\007J\002V\000\000\000\000\003B\007N\007R\001a\000\000\007V\000\000\003\026\000\202\000\000\000\000\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\007Z\007^\000\000\001a\001a\000\000\007b\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001a\000\000\003J\000\000\000\000\007j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\t\000\000\007n\000\000\007~\000\000\002\n\000\000\000\186\000\000\000\000\004\202\000\000\000\000\004\206\000\000\007\134\007\138\000\000\000\000\000\000\000\000\000\000\007\146\000\000\000\000\000\000\000\000\000\000\n\149\002\026\000\000\002\146\004\234\000\000\000\000\000\000\000\000\007\150\000\000\002\158\006\222\006\242\000\000\007\n\007\022\007.\0072\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\018\r\000\000\000\000\018\r\0076\002J\000\000\007:\007>\007B\007F\007J\002V\000\000\000\000\000\000\007N\007R\000\000\000\000\007V\000\000\000\000\000\202\000\000\000\000\000\000\000\000\018\r\018\r\000\000\000\000\000\000\018\r\000\000\000\000\015*\018\r\000\000\007Z\007^\000\000\000\000\018\r\000\000\007b\018\r\018\r\000\n\018\r\018\r\000\000\018\r\000\000\000\000\0152\000\000\018\r\015>\007j\000\000\018\r\000\000\000\000\018\r\000\000\018\r\018\r\007\t\000\000\007n\000\000\007~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\134\007\138\000\000\000\000\000\000\000\000\000\000\007\146\018\r\018\r\000\000\000\000\018\r\0031\018\r\000\000\002\146\000\000\000\000\000\000\000\000\000\000\007\150\000\000\002\158\018\r\000\000\000\000\000\000\000\000\000\000\000\000\015J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\r\018\r\000\000\018\r\000\000\015N\000\000\018\r\000\000\000\000\000\000\002\n\000\000\000\186\000\000\000\000\004\202\000\000\015V\004\206\000\000\000\000\000\000\018\r\000\000\000\000\018\r\000\000\018\r\000\000\000\000\000\000\000\000\000\000\000\000\002\026\018\r\018\r\004\234\018\r\018\r\018\r\000\000\018\r\000\000\000\000\006\222\006\242\000\000\007\n\007\022\007.\b\182\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0076\002J\000\000\007:\007>\007B\007F\007J\002V\000\000\000\000\000\000\007N\007R\000\000\000\000\007V\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\007^\000\000\000\000\000\000\000\000\007b\0189\000\000\000\n\0189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\t\000\000\000\000\000\000\007~\000\000\0189\0189\000\000\000\000\000\000\0189\000\000\000\000\000\000\0189\007\134\007\138\000\000\000\000\000\000\0189\000\000\007\146\0189\0189\000\000\0189\0189\n\165\0189\000\000\002\146\000\000\000\000\0189\000\000\004\230\007\150\0189\002\158\000\000\0189\000\000\0189\0189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0189\0189\000\000\000\000\0189\000\000\0189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0189\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\0189\0189\000\000\0189\0189\017\217\000\000\0189\017\217\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\0189\000\000\000\000\0189\0189\0189\0189\0189\000z\000\000\017\217\017\217\000\000\0189\0189\017\217\0189\0189\0189\017\217\0189\000\000\000\000\000\000\000\000\017\217\000\000\000\000\017\217\017\217\001\198\017\217\017\217\000\000\017\217\000\000\001\226\000\000\000\000\017\217\000\000\004\230\000\000\017\217\000\000\001\186\017\217\000\000\017\217\017\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\017\217\017\217\000\000\000\000\017\217\000\000\017\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\217\000\000\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\000\000\000\000\000\000\000\000\000\000\001\230\000\000\000\000\017\217\017\217\000\000\017\217\017\217\002\185\000\000\017\217\002\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\185\000\000\000\000\002\185\000\000\000\000\000\000\017\217\016\153\000\000\017\217\017\217\017\217\017\217\017\217\000\000\000\000\002\185\002\185\000\000\017\217\017\217\002\185\017\217\017\217\017\217\002\185\017\217\002\185\002\185\000\000\000\000\002\185\002\185\000\000\002\185\002\185\002\185\002\185\002\185\000\000\002\202\000\000\002\185\000\000\000\000\002\185\002\185\000\000\002\185\002\185\000\000\002\210\002\185\000\000\002\185\002\185\002\185\000\000\000\000\000\000\002\185\000\000\000\000\002\185\000\000\002\185\002\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\002\185\004\022\000\000\000\000\002\185\000\000\002\185\000\000\000\000\000\000\000\000\002\185\000\000\000\000\000\000\002\185\000\000\002\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\000\000\000\000\000\002\185\004\030\000\000\002\185\002\185\000\000\000\000\002\185\000\000\000\000\000\000\002\185\004\n\000\000\002\185\002\185\001\201\000\000\002\185\001\201\000\000\000\000\000\000\002\185\000\000\000\000\002\185\002\185\002\185\002\185\000\000\000\000\000\000\000\000\002\185\000\000\002\185\002\185\002\185\002\185\002\185\002\185\000\000\002\185\001\201\001\201\000\000\002\185\002\185\001\201\002\185\002\185\002\185\001\201\002\185\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\201\001\201\000\000\001\201\001\201\000\000\000\000\000\000\000\000\000\000\000\000\001\201\000\000\000\000\000\000\001\201\000\000\000\000\003\018\000\000\003\"\001\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\189\000\000\001\201\001\189\000\000\000\000\001\201\000\000\001\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\189\001\189\000\000\000\000\000\000\001\189\000\000\000\000\000\000\001\189\000\000\000\000\000\000\000\000\000\000\001\189\000\000\000\000\001\189\001\189\001\201\001\189\001\189\001\201\001\201\000\000\000\000\003\026\000\000\001\189\000\000\000\000\000\000\001\189\000\000\000\000\003\018\000\000\001\189\001\189\000\000\000\000\000\000\001\201\000\000\000\000\001\201\001\201\001\201\001\201\001\201\000\000\000\000\000\000\000\000\000\000\001\201\001\201\000\000\001\201\001\201\001\201\001\193\001\201\001\189\001\193\000\000\000\000\001\189\000\000\001\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\193\001\193\000\000\000\000\000\000\001\193\000\000\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\001\193\000\000\000\000\001\193\001\193\001\189\001\193\001\193\001\189\001\189\000\000\000\000\003\026\000\000\001\193\000\000\000\000\000\000\001\193\000\000\000\000\003\018\000\000\001\193\001\193\000\000\000\000\000\000\001\189\000\000\000\000\001\189\001\189\001\189\001\189\001\189\000\000\000\000\000\000\000\000\000\000\001\189\001\189\000\000\001\189\001\189\001\189\001\197\001\189\001\193\001\197\000\000\000\000\001\193\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\197\001\197\000\000\000\000\000\000\001\197\000\000\000\000\000\000\001\197\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\197\001\197\001\193\001\197\001\197\001\193\001\193\000\000\000\000\003\026\000\000\001\197\000\000\000\000\000\000\001\197\000\000\000\000\003\018\000\000\003\"\001\197\000\000\000\000\000\000\001\193\000\000\000\000\001\193\001\193\001\193\001\193\001\193\000\000\000\000\000\000\000\000\000\000\001\193\001\193\000\000\001\193\001\193\001\193\001\213\001\193\001\197\001\213\000\000\000\000\001\197\000\000\001\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\213\000\000\000\000\000\000\001\213\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\213\001\213\001\197\001\213\001\213\001\197\001\197\000\000\000\000\003\026\000\000\001\213\000\000\000\000\000\000\001\213\000\000\000\000\003\018\000\000\003\"\001\213\000\000\000\000\000\000\001\197\000\000\000\000\001\197\001\197\001\197\001\197\001\197\000\000\000\000\000\000\000\000\000\000\001\197\001\197\000\000\001\197\001\197\001\197\001\205\001\197\001\213\001\205\000\000\000\000\003:\000\000\001\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\205\000\000\000\000\000\000\001\205\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\205\001\205\001\213\001\205\001\205\001\213\001\213\000\000\000\000\003\026\000\000\001\205\000\000\000\000\000\000\001\205\000\000\000\000\003\018\000\000\003\"\001\205\000\000\000\000\000\000\001\213\000\000\000\000\001\213\001\213\001\213\001\213\001\213\000\000\000\000\000\000\000\000\000\000\001\213\001\213\000\000\001\213\001\213\001\213\001\209\001\213\001\205\001\209\000\000\000\000\001\205\000\000\001\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\209\001\209\001\205\001\209\001\209\001\205\001\205\000\000\000\000\003\026\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\003\018\000\000\003\"\001\209\000\000\000\000\000\000\001\205\000\000\000\000\001\205\001\205\001\205\001\205\001\205\000\000\000\000\000\000\000\000\000\000\001\205\001\205\000\000\001\205\001\205\001\205\001\217\001\205\001\209\001\217\000\000\000\000\003:\000\000\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\003\002\003*\000\000\000\000\000\000\001\217\000\000\000\000\000\000\001\217\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\217\001\217\001\209\001\217\001\217\001\209\001\209\000\000\000\000\003\026\000\000\001\217\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\217\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\225\001\209\001\217\001\225\000\000\000\000\003:\000\000\001\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\225\001\225\003B\001\225\001\225\001\217\001\217\000\000\000\000\003\026\000\000\001\225\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\225\000\000\000\000\000\000\001\217\000\000\000\000\001\217\001\217\001\217\001\217\001\217\000\000\000\000\000\000\000\000\000\000\001\217\001\217\000\000\001\217\001\217\001\217\003\162\001\217\001\225\001\221\000\000\000\000\003:\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\221\000\000\000\000\000\000\001\221\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\221\001\221\003B\001\221\001\221\001\225\001\225\000\000\000\000\003\026\000\000\001\221\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\221\000\000\000\000\000\000\001\225\000\000\000\000\001\225\001\225\001\225\001\225\001\225\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\001\225\001\225\003J\003\162\001\225\001\221\001\229\000\000\000\000\003:\000\000\001\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\229\000\000\000\000\000\000\001\229\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\229\001\229\003B\001\229\003\170\001\221\001\221\000\000\000\000\003\026\000\000\001\229\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\229\000\000\000\000\000\000\001\221\000\000\000\000\001\221\001\221\001\221\001\221\001\221\000\000\000\000\000\000\000\000\000\000\001\221\001\221\000\000\001\221\001\221\003J\000\000\001\221\001\229\000\000\000\000\000\000\003:\000\000\001\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\229\000N\000R\000V\000\142\011\n\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\011\134\000\178\011\138\000\000\000\182\001\142\001\146\001\174\000v\011\142\000\000\000\000\003B\000\000\000\000\001\229\001\229\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\001\229\000\000\000\000\001\229\001\229\001\229\001\229\001\229\000z\000\000\000\000\000\000\000\000\001\229\001\229\000\000\001\229\001\229\003J\000\000\001\229\018!\000\000\000\000\018!\000\000\000\000\000\000\000\000\000\000\001\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\001\186\000\000\000\000\000\000\018!\018!\000\000\000\000\000\000\018!\000\000\000\000\000\000\018!\000\000\000\000\000\000\000\000\000\000\018!\r\006\r\n\018!\018!\000\000\018!\018!\000\000\018!\000\000\000\000\000\000\000\000\018!\000\000\004\230\000\000\018!\000\000\000\000\018!\000\000\018!\018!\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018!\018!\000\000\000\000\018!\000\000\018!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\001\r\014\000\000\018!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\001\000\000\000\000\000\000\000\000\007\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\018!\018!\000\000\018!\000\000\002\246\000\000\018!\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\018!\000\000\000\000\018!\000\000\018!\000\000\000\000\000\000\000\000\003\130\003\138\000\000\018!\018!\002\221\018!\018!\018!\002\221\018!\000\000\000\000\000\000\000\000\003\146\000\000\000\000\002\221\002\221\000\000\003\154\003\186\000\000\000\000\000\000\000\000\000\000\000\000\002\221\000\000\000\000\000\000\003\194\000\000\000\000\003\202\000\000\003\210\002\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\003\218\000\225\000\000\000\000\003\226\000\000\002\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\225\000\225\003\234\000\225\000\225\002\221\002\221\000\000\000\000\003\242\000\000\000\225\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\225\000\000\000\000\000\000\002\221\000\000\000\000\002\221\002\221\002\221\002\221\000\000\000\000\000\000\000\000\000\000\000\000\002\221\002\221\000\000\003\250\002\221\004\002\000\201\002\221\000\225\000\201\000\000\000\000\003:\000\000\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\201\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\201\000\201\003B\000\201\000\201\000\225\000\225\000\000\000\000\003\026\000\000\000\201\000\000\000\000\000\000\000\201\000\000\000\000\003\018\000\000\003\"\000\201\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\225\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\225\000\225\003J\000\197\000\225\000\201\000\197\000\000\000\000\000\201\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\197\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\197\000\197\000\201\000\197\000\197\000\201\000\201\000\000\000\000\003\026\000\000\000\197\000\000\000\000\000\000\000\197\000\000\000\000\003\018\000\000\003\"\000\197\000\000\000\000\000\000\000\201\000\000\000\000\000\201\000\201\000\201\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\201\000\000\000\201\000\201\000\201\000\189\000\201\000\197\000\189\000\000\000\000\000\197\000\000\000\197\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\189\000\189\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\189\000\189\000\197\000\189\000\189\000\197\000\197\000\000\000\000\003\026\000\000\000\189\000\000\000\000\000\000\000\189\000\000\000\000\003\018\000\000\000\189\000\189\000\000\000\000\000\000\000\197\000\000\000\000\000\197\000\197\000\197\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\197\000\000\000\197\000\197\000\197\003\162\000\197\000\189\000\233\000\000\000\000\000\189\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\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\233\000\233\000\189\000\233\003\170\000\189\000\189\000\000\000\000\003\026\000\000\000\233\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\233\000\000\000\000\000\000\000\189\000\000\000\000\000\189\000\189\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\189\000\000\000\189\000\189\000\189\003\162\000\189\000\233\000\221\000\000\000\000\003:\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\221\000\221\003B\000\221\000\221\000\233\000\233\000\000\000\000\003\026\000\000\000\221\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\221\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\233\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\233\000\000\003\178\000\233\003J\000\213\000\233\000\221\000\213\000\000\000\000\003:\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\213\000\213\003B\000\213\000\213\000\221\000\221\000\000\000\000\003\026\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\000\003\018\000\000\003\"\000\213\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\221\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\221\000\221\003J\000\193\000\221\000\213\000\193\000\000\000\000\003:\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\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\193\000\193\000\213\000\193\000\193\000\213\000\213\000\000\000\000\003\026\000\000\000\193\000\000\000\000\000\000\000\193\000\000\000\000\003\018\000\000\000\193\000\193\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\213\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\213\000\213\000\213\000\237\000\213\000\193\000\237\000\000\000\000\000\193\000\000\000\193\000\000\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\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\237\000\193\000\237\000\237\000\193\000\193\000\000\000\000\003\026\000\000\000\237\000\000\000\000\000\000\000\237\000\000\000\000\003\018\000\000\000\237\000\237\000\000\000\000\000\000\000\193\000\000\000\000\000\193\000\193\000\193\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\000\000\193\000\193\000\193\000\205\000\193\000\237\000\205\000\000\000\000\000\237\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\205\000\205\000\237\000\205\000\205\000\237\000\237\000\000\000\000\003\026\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\003\018\000\000\003\"\000\205\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\237\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\237\000\237\000\237\000\209\000\237\000\205\000\209\000\000\000\000\000\205\000\000\000\205\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\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\209\000\209\000\205\000\209\000\209\000\205\000\205\000\000\000\000\003\026\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\000\003\018\000\000\003\"\000\209\000\000\000\000\000\000\000\205\000\000\000\000\000\205\000\205\000\205\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\205\000\000\000\205\000\205\000\205\003\162\000\205\000\209\000\229\000\000\000\000\003:\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\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\003\002\003*\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\229\000\229\000\209\000\229\003\170\000\209\000\209\000\000\000\000\003\026\000\000\000\229\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\229\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\209\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\000\000\209\000\209\000\209\000\217\000\209\000\229\000\217\000\000\000\000\003:\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\217\000\217\003B\000\217\000\217\000\229\000\229\000\000\000\000\003\026\000\000\000\217\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\217\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\229\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\000\000\229\000\229\003J\000\000\000\229\000\217\000\000\000\000\000\000\003:\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000N\000R\000V\000\142\000\000\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\030B\000\178\011\138\000\000\000\182\001\142\001\146\001\174\000v\011\142\029\158\000\000\003B\000\000\000\000\000\217\000\217\002\209\000\000\003\026\002\209\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\000\217\000\000\000\000\000\217\000\217\000\217\000\217\b\030\000z\000\000\002\209\002\209\000\000\000\217\000\217\002\209\000\217\000\217\000\217\002\209\000\217\000\000\000\000\000\000\000\000\002\209\000\000\000\000\002\209\002\209\001\182\002\209\002\209\000\000\015j\b&\b.\000\000\000\000\002\209\000\000\000\000\000\000\002\209\000\000\001\186\002\209\000\000\002\209\002\209\b6\000\000\000\000\000\000\000\000\000\000\b>\bF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\006\000\000\000\000\bN\000\000\011\018\bV\000\000\b^\002\209\015r\000\000\000\000\002\209\000\000\002\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\000\n\000\000\000\000\000\000\bf\000\000\005]\000\000\bn\000\000\000\000\000\000\000\000\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\209\015z\000\000\002\209\000\000\000\000\000\000\002\209\r\014\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\018\000\000\000\000\000\000\002\209\000\000\bv\002\209\000\000\002\209\014B\000\000\000\000\b~\000\000\000\000\002\026\002\209\002\209\002\030\002\209\002\209\002\209\000\000\002\209\000\000\000\000\002*\002.\006U\0026\000\000\007z\000\000\000\000\000\000\006U\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\b\134\000\000\b\142\002F\002J\000\000\000\000\b\210\002N\001\030\002R\002V\000\000\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003e\000\000\000\000\000\000\000Z\003e\002j\000b\000\000\000r\003e\002n\003e\000\000\000\n\000\000\000\000\000\000\000v\003e\003e\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\011m\000\000\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\130\000\000\000z\003e\000\000\000\000\002\142\003e\000\000\011m\000\000\011m\000\000\000\000\000\000\002\146\000\000\000\000\000\000\000\000\000\000\002\150\000\000\002\158\003e\003e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003e\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\003e\000\000\003e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003e\003a\000\000\000\000\003e\000Z\003a\000\000\000b\000\000\000r\003a\000\000\003a\000\000\003e\000\000\000\000\000\000\000v\003a\003a\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\003a\000\000\000\000\000\000\003a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003e\000\000\000\000\003e\003e\000\000\000\000\003e\000\000\003a\003a\000\000\000\000\003e\003e\000\000\000\000\000\000\000\000\000\000\003e\002\n\003a\000\186\000\134\000\000\002\014\000\000\000\000\002\018\000\000\003a\000\000\000\000\000\000\000\000\003a\000\000\003a\011m\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\003a\000\000\000\000\000\000\003a\000\000\000\000\002*\002.\000\000\0026\000\000\004\230\000\000\000\000\003a\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\003a\000\000\000\000\002F\002J\000\000\003a\000\000\002N\001\030\002R\002V\000\000\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\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\003a\000\000\002n\003a\003a\000\n\000\000\003a\000\000\000\000\000\000\000\000\000\000\003a\003a\000\000\002v\000\000\000\000\000\000\003a\000\000\000\000\000\000\000\000\000\000\002\n\002z\000\186\000\000\000\000\002\014\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\130\000\000\021\134\000\000\000\000\000\000\002\142\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\002\146\000\000\000\000\000\000\002*\002.\002\150\0026\002\158\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\002J\000\000\000\000\000\000\002N\001\030\002R\002V\000\000\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\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\000\002j\000\000\000\000\000\000\000\000\002n\000\000\000\000\000\n\000\000\000\000\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\016\001\000\000\016\001\r\233\r\233\002z\016\001\000\000\000\000\r\233\000\000\000\000\016\001\000\000\000\000\000\000\000\000\000\000\016\001\002~\002\130\016\001\000\000\000\000\000\000\016\001\002\142\000\000\000\000\000\000\000\000\016\001\000\000\000\000\000\000\002\146\000\000\000\000\000\000\000\000\000\000\002\150\000\000\002\158\016\001\000\000\000\000\r\233\000\000\016\001\016\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\r\233\000\000\016\001\000\000\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\n\000\000\000\186\000\000\016\001\002\014\000\000\000\000\002\022\016\001\016\001\016\001\000\000\000\000\016\001\016\001\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\002\026\016\001\000\000\002\030\016\001\000\000\000\000\000\000\000\000\000\000\000\000\002*\t\134\000\000\0026\000\000\000\000\000\000\000\000\000\000\016\001\002>\000\000\002B\000\000\000\000\016\001\016\001\r\233\000\000\000\000\000\000\002F\002J\000\000\000\000\000\000\002N\001\030\002R\002V\000\000\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\n\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\002v\000\000\002*\tv\000\000\0026\000\000\000\000\000\000\000\000\000\000\002z\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\002J\002~\002\138\000\000\002N\001\030\002R\002V\002\142\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\002\146\002f\000\000\000\000\000\000\000\000\002\150\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\002\n\000\000\000\186\000\000\002\134\002\014\000\000\000\n\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\002z\000\000\000\000\000\000\000\000\000\000\002*\t^\000\000\0026\000\000\000\000\000\000\000\000\002~\002\138\002>\000\000\002B\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\002F\002J\000\000\002\146\000\000\002N\001\030\002R\002V\002\150\000\000\002\158\002Z\002^\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\n\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\002v\000\000\002*\002r\000\000\0026\000\000\000\000\000\000\000\000\000\000\002z\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\002J\002~\002\138\000\000\002N\001\030\002R\002V\002\142\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\002\146\002f\000\000\000\000\000\000\000\000\002\150\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\002\n\000\000\000\186\000\000\002\134\002\"\000\000\000\n\002&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\002z\000\000\000\000\000\000\000\000\000\000\002:\004\178\000\000\0026\000\000\004\198\000\000\000\000\002~\002\138\002>\000\000\002B\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\004\238\002J\000\000\002\146\000\000\004\242\001\030\004\246\002V\002\150\000\000\002\158\004\250\004\254\000\000\000\000\005\002\000\000\000\000\002f\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\005\006\000\000\000\000\000\000\000\000\005\n\000\000\000\000\000\n\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\0052\000\000\002*\004\210\000\000\0026\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\002J\0056\005:\000\000\002N\001\030\002R\002V\005B\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\002\146\002f\000\000\000\000\000\000\000\000\005F\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\006\186\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\004}\000\000\004}\000\000\002z\004}\000\000\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\138\000\000\000\000\000\000\000\000\004}\002\142\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\002\146\004}\004}\000\000\004}\000\000\002\150\000\000\002\158\000\000\000\000\004}\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004}\004}\000\000\000\000\000\000\004}\004}\004}\004}\000\000\000\000\000\000\004}\004}\000\000\000\000\004}\000\000\000\000\004}\000\000\000\000\002\n\000\000\000\186\000\000\000\000\002\014\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\004}\000\000\000\000\000\000\000\000\004}\000\000\000\000\004}\000\000\002\026\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\004}\000\000\002*\014.\000\000\0026\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\002J\004}\004}\000\000\002N\001\030\002R\002V\004}\000\000\000\000\002Z\002^\000\000\000\000\002b\000\000\004}\002f\000\000\000\000\000\000\000\000\004}\015\158\004}\000\000\015\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\182\015\190\002v\000\000\000\000\002\237\000\000\000\000\000\000\002\237\000\000\000\000\000\000\002z\000\000\015\198\000\000\000\000\002\237\002\237\000\000\015\206\015\214\000\000\000\000\000\000\000\000\002~\002\138\002\237\000\000\000\000\000\000\015\222\002\142\000\000\015\230\000\000\015\238\002\237\000\000\000\000\000\000\002\146\000\000\001\161\000\000\000\000\001\161\002\150\000\000\002\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\246\000\000\000\000\000\000\015\254\000\000\002\237\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\161\000\000\000\000\002\237\001\161\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\0032\000\000\000\000\003\018\016\006\003\"\001\161\002\237\000\000\000\000\000\000\016\014\000\000\000\000\000\000\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\237\000\000\000\000\002\237\001\161\002\237\000\000\000\000\003:\000\000\001\161\000\000\000\000\002\237\002\237\000\000\016\022\002\237\016\030\000\000\002\237\001\161\000\000\000N\000R\000V\000\142\000\000\000\146\011~\000\150\000\154\000\158\000Z\011\130\000\166\000\170\000\000\000r\029\154\000\178\011\138\000\000\000\182\001\142\001\146\001\174\000v\011\142\029\158\003B\001\137\000\000\001\161\001\137\000\000\000\000\003\026\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\001\161\000\000\000\000\001\161\000\000\001\161\001\137\001\137\000\000\000z\000\000\001\137\000\000\001\161\001\161\001\137\001\161\001\161\003J\000\000\001\161\003\n\000\000\000\000\001\137\001\137\000\000\001\137\001\137\000\000\000\000\001\182\000\000\000\000\001\133\001\137\000\000\001\133\000\000\001\137\000\000\000\000\003\018\000\000\003\"\001\137\001\186\000\000\000\000\000\000\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\001\133\000\000\000\000\000\000\001\133\000\000\000\000\001\137\001\133\000\000\000\000\001\137\000\000\001\137\003\n\000\000\000\000\001\133\001\133\000\000\001\133\001\133\000\000\000\000\001\137\000\000\000\000\000\000\001\133\000\000\000\000\000\000\001\133\000\000\000\000\003\018\000\000\003\"\001\133\005]\000\000\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\000\000\000\000\001\137\000\000\000\000\000\000\003\026\000\000\000\000\001\133\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\133\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\001\137\001\137\001\137\000\000\001\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\001\133\001}\000\000\001\133\001}\000\000\000\000\003\026\000\000\000\000\000\000\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\001\133\001}\001}\000\000\000\000\000\000\001}\000\000\001\133\001\133\001}\001\133\001\133\001\133\000\000\001\133\001}\000\000\000\000\001}\001}\000\000\001}\001}\000\000\000\000\000\000\000\000\000\000\003\162\001}\000\000\001\169\000\000\001}\000\000\000\000\003\018\000\000\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\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\169\000\000\000\000\001}\001\169\000\000\000\000\001}\000\000\001}\003\n\000\000\000\000\001\169\001\169\000\000\001\169\003\170\000\000\000\000\001}\000\000\000\000\000\000\001\169\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\169\000\000\000\000\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\003\026\000\000\000\000\001\169\000\000\000\000\000\000\003:\000\000\001\169\000\000\000\000\000\000\000\000\000\000\000\000\001}\000\000\000\000\001}\001\169\001}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001}\001}\000\000\001}\001}\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\003B\003\162\000\000\001\169\001\157\000\000\000\000\003\026\000\000\000\000\000\000\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\169\000\000\000\000\001\169\000\000\001\169\003\002\003*\000\000\000\000\000\000\001\157\000\000\001\169\001\169\001\157\003\178\001\169\003J\000\000\001\169\003\n\000\000\000\000\001\157\001\157\000\000\001\157\001\157\000\000\000\000\000\000\000\000\000\000\001\149\001\157\000\000\001\149\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\157\000\000\000\000\000\000\000\000\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\002\003*\000\000\000\000\000\000\001\149\000\000\000\000\001\157\001\149\000\000\000\000\003:\000\000\001\157\003\n\000\000\000\000\001\149\001\149\000\000\001\149\001\149\000\000\000\000\001\157\000\000\000\000\000\000\001\149\000\000\000\000\000\000\001\149\000\000\000\000\003\018\000\000\003\"\001\149\000\000\000\000\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\000\000\000\000\001\157\000\000\000\000\000\000\003\026\000\000\000\000\001\149\000\000\000\000\000\000\003:\000\000\001\149\000\000\000\000\000\000\000\000\000\000\000\000\001\157\000\000\000\000\001\157\001\149\001\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\157\001\157\000\000\001\157\001\157\003J\000\000\001\157\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\149\001\129\000\000\001\149\001\129\000\000\000\000\003\026\000\000\000\000\000\000\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\149\000\000\000\000\001\149\000\000\001\149\001\129\001\129\000\000\000\000\000\000\001\129\000\000\001\149\001\149\001\129\001\149\001\149\001\149\000\000\001\149\001\129\000\000\000\000\001\129\001\129\000\000\001\129\001\129\000\000\000\000\000\000\000\000\000\000\001\173\001\129\000\000\001\173\000\000\001\129\000\000\000\000\003\018\000\000\001\129\001\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\000\000\000\000\000\000\001\173\001\173\000\000\000\000\000\000\001\173\000\000\000\000\001\129\001\173\000\000\000\000\001\129\000\000\001\129\001\173\000\000\000\000\001\173\001\173\000\000\001\173\001\173\000\000\000\000\001\129\000\000\000\000\000\000\001\173\000\000\000\000\000\000\001\173\000\000\000\000\003\018\000\000\001\173\001\173\000\000\000\000\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\129\000\000\000\000\001\129\000\000\000\000\000\000\003\026\000\000\000\000\001\173\000\000\000\000\000\000\001\173\000\000\001\173\000\000\000\000\000\000\000\000\000\000\000\000\001\129\000\000\000\000\001\129\001\173\001\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\129\001\129\000\000\001\129\001\129\001\129\000\000\001\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\001\173\001\141\000\000\001\173\001\141\000\000\000\000\003\026\000\000\000\000\000\000\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\173\000\000\000\000\001\173\000\000\001\173\003\002\003*\000\000\000\000\000\000\001\141\000\000\001\173\001\173\001\141\001\173\001\173\001\173\000\000\001\173\003\n\000\000\000\000\001\141\001\141\000\000\001\141\001\141\000\000\000\000\000\000\000\000\000\000\001\145\001\141\000\000\001\145\000\000\001\141\000\000\000\000\003\018\000\000\003\"\001\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\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\145\000\000\000\000\001\141\001\145\000\000\000\000\001\141\000\000\001\141\003\n\000\000\000\000\001\145\001\145\000\000\001\145\001\145\000\000\000\000\001\141\000\000\000\000\000\000\001\145\000\000\000\000\000\000\001\145\000\000\000\000\003\018\000\000\003\"\001\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\001\141\000\000\000\000\001\141\000\000\000\000\000\000\003\026\000\000\000\000\001\145\000\000\000\000\000\000\003:\000\000\001\145\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\000\000\001\141\001\145\001\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\141\001\141\000\000\001\141\001\141\001\141\000\000\001\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\001\145\003\162\000\000\001\145\001\165\000\000\000\000\003\026\000\000\000\000\000\000\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\145\000\000\000\000\001\145\000\000\001\145\003\002\003*\000\000\000\000\000\000\001\165\000\000\001\145\001\145\001\165\001\145\001\145\001\145\000\000\001\145\003\n\000\000\000\000\001\165\001\165\000\000\001\165\003\170\000\000\000\000\000\000\000\000\000\000\001\153\001\165\000\000\001\153\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\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\000\000\000\000\003\002\003*\000\000\000\000\000\000\001\153\000\000\000\000\001\165\001\153\000\000\000\000\003:\000\000\001\165\003\n\000\000\000\000\001\153\001\153\000\000\001\153\001\153\001!\000\000\001\165\000\000\000\000\000\000\001\153\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\003*\000\000\003B\000\000\000\000\001\165\000\000\000\000\000\000\003\026\000\000\000\000\001\153\000\000\003\n\000\000\003:\000\000\001\153\005\001\001!\001!\005\001\000\000\000\000\001\165\000\000\000\000\001\165\001\153\001\165\000\000\0032\000\000\000\000\003\018\000\000\003\"\001\165\001\165\000\000\001\165\001\165\003J\000\000\001\165\000\000\005\001\005\001\000\000\000\000\000\000\000\000\000\000\000\000\012F\005\001\000\000\003B\000\000\000\000\001\153\005\001\001!\000\000\003\026\000\000\003:\005\001\005\001\000\000\000\000\000\000\000\000\005\001\000\000\004\245\005\001\005\001\004\245\005\001\001\153\000\000\005\001\001\153\005\001\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\001\153\001\153\001\153\000\000\001\153\000\000\000\000\004\245\004\245\000\000\000\000\000\000\003B\000\000\000\000\012\134\004\245\000\000\005\001\003\026\000\000\000\000\004\245\000\000\000\000\000\000\000\000\000\000\004\245\004\245\000\000\000\000\000\000\000\000\004\245\001!\000\000\004\245\004\245\005\001\004\245\005\001\001!\004\245\000\000\004\245\000\000\000\000\000\000\000\000\000\000\001!\023J\003J\000\000\000\000\000\000\000\000\000\000\000\000\005\001\005\001\005\001\005\001\005\001\012N\023N\005\001\000\000\000\000\000\000\000\000\000\000\000\000\024~\004\245\000\000\000\000\000\000\023R\000\000\023V\014=\014=\000\000\023Z\000\000\005\001\000\000\005\001\005\001\023^\000\000\005\001\000\000\000\000\004\245\023b\004\245\005\001\023j\005\001\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\000\000\000\000\000\000\000\000\004\245\004\245\004\245\004\245\004\245\012\142\000\000\004\245\000\000\014=\000\000\023v\000\000\000\000\000\000\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\245\000\000\004\245\004\245\000\000\000\000\004\245\000\000\000\000\000\000\000\000\000\000\004\245\000\000\004\245\000\000\014=\000\000\023z\000\000\000\000\023~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\138\000\000\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\000\000\000N\000\000\023\154\000\000\000\000\023\158\t=\014=\000\000\000\000\000\000\t=\000\000\000\000\000\000\000\000\t=\000\000\t=\000\000\000\000\023\162\000\000\001\174\000\000\t=\t=\023\166\023\170\014=\004\149\004\149\004\149\004\149\000\000\004\149\000\000\004\149\004\149\004\149\004\149\000\000\004\149\004\149\000\000\004\149\000\000\004\149\t=\000\000\004\149\004\149\004\149\004\149\004\149\000\000\000\000\000\000\000\000\000\000\t=\000\000\000\000\000\000\t=\001\234\000\000\000\000\000\000\000\000\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\004\149\000\000\000\000\t=\t=\000\000\000\000\000\000\000\000\000\000\000\000\004\149\000\000\t=\000\000\000\000\t=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t=\000\000\000\000\000\000\000\000\t=\000\000\t=\004\149\000\000\000\000\000\000\000\000\000\000\004\149\000\000\017\245\000\000\t=\017\245\000\000\000\000\t=\004\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t=\000\000\000\000\000\000\000\000\004\149\004\149\000\000\000\000\000\000\t=\017\245\017\245\000\000\000\000\004\149\t=\000\000\000\000\005^\000\000\000\000\000\000\000\000\000\000\000\000\017\245\000\000\000\000\000\000\017\245\000\000\017\245\017\245\000\000\017\245\000\000\000\000\005f\000\000\004\149\006z\000\000\000\000\017\245\000\000\002\n\017\245\000\186\017\245\000\000\004\202\t=\000\000\004\206\t=\t=\000\000\000\000\t=\000\000\000\000\000\000\000\000\000\000\t=\t=\000\000\000\000\000\000\002\026\000\000\t=\000\000\000\000\017\245\017\245\000\000\000\000\017\245\000\000\006\222\006\242\000\000\000\000\000\000\007\006\000\000\000\000\004\149\000\000\002>\000\000\002B\000\000\000\000\000\000\000\000\000\000\006\134\000\000\000\000\0076\002J\000\000\000\000\000\000\007B\001\030\007J\002V\000\000\000\000\000\000\007N\007R\000\000\000\000\007V\000\000\000\000\017\245\017\245\000\000\017\245\000\000\006\138\000\000\017\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\007^\006\146\000\000\000\000\000\000\007b\017\245\000\000\000\n\000\000\017\245\017\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\000\017\245\000\000\017\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\134\007\138\000\000\000\000\000\000\000\000\000\000\007\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\000\000N\000R\000V\000\142\007\150\000\146\002\158\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\006\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\006\233\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\006\233\000\000\006\233\000\000\000\000\000z\006\233\006\233\000\000\000\000\000\000\000\000\006\233\000\000\000\000\000\000\000\000\000\000\006\233\000\000\000\000\006\233\000\000\000\000\000\000\006\233\000\000\001\198\000\000\000\000\000\000\006\233\000\000\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\186\000\000\006\233\000\000\000\000\000\000\000\000\006\233\011j\000\000\000\000\000\000\000\000\006\233\000\000\001\202\001\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\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\233\000\000\000\000\006\233\000\000\000\000\006\233\000\000\000\000\000\000\000\000\000\000\000\n\002\n\000\000\000\186\000\000\000\000\014&\006\233\000\000\014*\000\000\000\000\006\233\006\233\006\233\000\000\000\000\006\233\006\233\000\000\006\233\000\000\001\230\000\000\000\000\002\026\000\000\000\000\006\233\000\000\000\000\006\233\000\000\000\000\000\000\000\000\014\214\014\194\000\000\000\000\000\000\016F\000\000\000\000\000\000\000\000\002>\006\233\002B\003U\000\000\000\000\023J\006\233\006\233\000\000\000\000\014\218\002J\000\000\000\000\000\000\014\222\001\030\014\226\002V\023N\000\000\000\000\014\230\014\234\000\000\000\000\014\238\026\238\000\000\000\000\000\000\000\000\023R\000\000\023V\014\017\014\017\000\000\023Z\000\000\000\000\000\000\000\000\000\000\023^\007Z\014\242\000\000\000\000\000\000\023b\014\246\000\000\023j\000\n\000\000\000\000\023n\000\000\023J\000\000\000\000\000\000\023r\000\000\014\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023N\000\000\000\000\024z\026~\000\000\000\000\000\000\023v\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\015\002\015\006\023Z\000\000\000\000\014\017\000\000\015\014\023^\000\000\000\000\000\000\000\000\000\000\023b\000\000\002\146\023j\000\000\000\000\000\000\023n\015\018\014\017\002\158\023z\000\000\023r\023~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\250\023\130\000\000\014\017\000\000\023v\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\017\000\000\023z\000\000\023\162\023~\000\000\000\000\000\000\000\000\023\166\023\170\014\017\000\000\000\000\000\000\000\000\000\000\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\023\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\000\000\000\000\000\000\023\162\000\000\000\000\000\000\000\000\000\000\023\166\023\170\014\017\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\006\000\000\000\000\012\n\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\000\000\012\014\012\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\r\000\000\000\000\000\000\000\000\000\000\012\022\000\000\027\230\000\000\027\238\001\198\012\026\012\030\000\000\000\000\000\000\001\226\012\"\027\246\000\000\012&\012*\000\000\012.\028\022\001\186\0122\000\000\0126\000\000\000\000\000\000\023N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\001\210\023Z\000\000\000\000\000\000\000\000\000\000\023^\012:\000\000\000\000\000\000\000\000\023b\000\000\000\000\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\n\023r\000\000\000\000\012>\000\000\012B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023v\027*\000\000\000\000\000\000\000\000\012b\012f\012j\012n\012r\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\012\166\023z\012\170\012\174\023~\000\000\012\178\000\000\000\000\000\000\000\000\000\000\012\182\000\000\012\186\000\000\000\000\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\007A\000\000\000\000\000\000\000\000\007A\023\154\000\000\000\000\023\158\007A\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\007A\007A\000\000\000\000\000\000\000\000\023\162\000\000\000\000\000\000\000\000\000\000\023\166\023\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000\000\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\130\000\000\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000\000\000\000\000\000\007A\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000\000\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\000N\000R\000V\000\142\007A\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\r\022\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\001\178\007A\007A\000\000\000\000\007A\001\194\000\000\000\000\000\000\000\000\007A\007A\000\000\000\000\000\000\000\000\000z\007A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\182\000\000\000\000\000\000\000\000\000\000\t\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\t\210\t\214\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\r\006\000r\000\000\000\178\000\000\t\218\000\182\001\142\001\146\001\174\000v\000\000\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\001\178\000\178\000\n\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\000\000\000\000\t\222\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\014\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000z\000\000\t\206\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\t\210\t\214\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\t\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\218\001\186\000\000\000\000\000\000\t\210\t\214\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\t\218\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023J\000\000\000\000\011\170\000\000\000\000\t\222\000\000\001\178\000\000\000\000\000\000\000\000\000\000\023N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\000\000\023R\000\000\023V\n\177\000\000\t\222\023Z\000\000\000\000\000\000\000\000\000\000\023^\000\000\000\000\000\000\000\000\000\000\023b\000\000\001\182\023j\000\000\000\000\023J\023n\011\190\000\000\000\000\003A\000\000\023r\000\000\000\000\000\000\001\186\000\000\000\000\023N\011\174\t\214\000\000\000\000\000\000\025\226\000\000\000\000\000\000\000\000\023v\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\t\218\000\000\000\000\023^\000\000\000\000\000\000\000\000\000\000\023b\000\000\000\000\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\014\017\023r\023z\000\000\000\000\023~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\014\000\000\000\000\000\000\023\130\023v\000\000\000\000\000\000\023\134\000\n\023\138\011\178\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145\014\017\000\000\023z\000\000\000\000\023~\000\000\023\162\000\000\000\000\000\000\000\000\000\000\023\166\023\170\014\017\000\000\000\000\023\130\000\000\000\000\000\000\023J\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\001\t\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\014\017\023b\000\000\000\000\023j\000\000\000\000\023J\023n\001\t\001\t\000\000\000\000\000\000\023r\000\000\000\000\000\000\000\000\000\000\000\000\023N\000\000\000\000\003\n\000\000\000\000\026\198\000\000\000\000\001\t\001\t\023v\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\001\t\000\000\000\000\003\018\023^\003\"\000\000\000\000\000\000\000\000\023b\000\000\000\000\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\014\017\023r\023z\000\000\000\000\023~\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\t\027\190\000\000\000\000\000\000\023\130\023v\000\000\000\000\000\000\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\017\000\000\023z\000\000\001\t\023~\000\000\023\162\000\000\000\000\000\000\003\026\000\000\023\166\023\170\014\017\000\000\000\000\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\001\t\023\142\023\146\000\000\023\150\000\000\000\000\001\t\000\000\000\000\000\000\000\000\023\154\000\000\000\000\023\158\001\t\000\000\001\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\023\162\000\000\000\000\000\000\000\000\000\000\023\166\023\170\014\017\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\000\000\000\166\000\170\000\000\000r\000\000\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000N\000R\000V\000\142\000\000\000\146\000\000\000\150\000\154\000\158\000Z\030j\000\166\000\170\000\000\000r\001\178\000\178\000\000\000\000\000\182\001\142\001\146\001\174\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\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\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000z\000\000\030~\000\000\000\000\011e\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\030n\t\214\000\000\000\000\011e\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\t\230\000\000\000\000\000\000\011e\000\000\011e\000\000\t\218\001\186\011e\000\000\000\000\t\210\t\214\000\000\011e\000\000\000\000\000\000\000\000\000\000\011e\000\000\000\000\011e\000\000\000\000\000\000\011e\024*\000\000\000\000\000\000\t\218\011e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011e\000\000\030r\000\000\n\005\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\005\000\000\n\005\000\000\000\000\000\000\n\005\000\000\000\000\000\137\000\000\000\000\n\005\000\000\000\000\000\000\000\000\011e\n\005\000\000\011e\n\005\000\000\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\n\005\000\000\011e\000\000\n\193\000\000\007\229\011e\011e\011e\000\000\000\000\011e\011e\000\000\011e\000\000\000\000\n\005\027*\007\229\000\000\000\000\011e\000\000\000\000\011e\000\000\000\000\000\000\000\000\000\000\000\000\007\229\000\000\007\229\000\000\000\000\000\000\007\229\000\000\000\000\011e\000\000\000\000\007\229\000\000\000\000\011e\011e\000\000\007\229\n\005\000\000\007\229\n\005\000\000\000\000\007\229\000\000\000\000\000\000\000\000\000\000\007\229\000\000\000\000\000\000\n\005\000\000\000\000\000\000\024v\n\005\n\005\n\005\000\000\0276\n\005\n\005\000\000\n\005\007\229\000\000\000\000\000\000\023N\000\000\000\000\n\005\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\n\005\000\000\000\000\023^\000\000\000\000\n\005\n\005\007\229\023b\000\000\007\229\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\007\229\000\000\000\000\000\000\025\222\007\229\007\229\007\229\000\000\000\000\007\229\007\229\000\000\007\229\000\000\000\000\023v\000\000\023N\000\000\000\000\007\229\000\000\000\000\007\229\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\007\229\000\000\000\000\023^\000\000\000\000\007\229\007\229\000\000\023b\023z\000\000\023j\023~\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\000\000\023\130\000\000\000\000\000\000\026\n\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\023v\000\000\000\000\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\023z\023b\000\000\023~\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\023\130\000\000\000\000\000\000\023J\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\023v\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\000\000\023b\023z\000\000\023j\023~\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\000\000\023\130\000\000\000\000\000\000\026\194\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\026\170\000\000\000\000\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\023z\023b\000\000\023~\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\023\130\000\000\000\000\000\000\027\186\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\023v\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\000\000\023b\023z\000\000\023j\023~\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\000\000\023\130\000\000\000\000\000\000\023J\023\134\000\n\023\138\000\000\000\000\023\142\023\146\000\000\023\150\023v\000\000\000\000\000\000\023N\000\000\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\023R\000\000\023V\000\000\000\000\000\000\023Z\000\000\000\000\023\162\000\000\000\000\023^\000\000\000\000\023\166\023\170\023z\023b\000\000\023~\023j\000\000\000\000\000\000\023n\000\000\000\000\000\000\000\000\000\000\023r\000\000\023\130\000\000\000\000\000\000\000\000\023\134\000\n\023\138\000\000\023J\023\142\023\146\000\000\023\150\000\000\000\000\028\146\000\000\000\000\000\000\000\000\023\154\000\000\023N\023\158\000\000\000\000\000\000\000\000\000\000\000\000\002\201\000\000\000\000\002\201\000\000\023R\000\000\023V\000\000\023\162\000\000\023Z\000\000\000\000\000\000\023\166\023\170\023^\000\000\023z\000\000\000\000\023~\000\000\000\000\000\000\023j\000\000\002\201\002\201\023n\000\000\000\000\000\000\000\000\023\130\023r\000\000\000\000\000\000\023\134\000\n\023\138\002\201\000\000\023\142\023\146\002\201\023\150\002\201\002\201\000\000\005\130\000\000\023v\000\000\023\154\000\000\000\000\023\158\000\000\002\201\000\000\000\000\002\201\000\000\002\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\162\000\000\000\000\000\000\000\000\000\000\023\166\023\170\000\000\000\000\000\000\000\000\000\000\023z\000\000\000\000\023~\002\201\005\138\000\000\000\000\002\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\130\000\000\000\000\000\000\000\000\023\134\027&\023\138\000\000\000\000\023\142\023\146\000\000\023\150\000\000\000\000\001I\000\000\000\000\001I\000\000\023\154\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\201\005\146\000\000\002\201\000\000\000\000\023\162\002\201\000\000\000\000\001I\001I\023\166\023\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\201\000\000\003\n\000\000\002\201\002\201\001I\001E\001I\001I\001E\000\000\000\000\000\000\000\000\000\000\002\201\000\000\002\201\000\000\001I\000\000\000\000\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\001E\000\000\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\n\001I\000\000\000\000\001E\001I\001E\001E\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\000\001E\000\000\000\000\003\018\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\000\000\000\000\000\000\000\001=\001=\000\000\000\000\000\000\000\000\000\000\001I\000\000\001E\001I\000\000\000\000\001E\003\026\001=\000\000\000\000\000\000\001=\000\000\001=\001=\003\162\000\000\000\000\001i\000\000\000\000\000\000\001I\000\000\000\000\001=\001I\001I\003\018\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\000\001I\000\000\000\000\003\002\003*\000\000\000\000\001E\000\000\000\000\001E\000\000\000\000\000\000\003\026\000\000\001=\000\000\003\n\000\000\001=\000\000\001i\000\000\001i\003\170\000\000\000\000\000\000\000\000\001E\000\000\000\000\000\000\001E\001E\0032\000\000\000\000\003\018\000\000\003\"\000\000\000\000\000\000\000\000\001E\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\000\000\000\000\001=\000\000\000\000\001=\000\000\001i\000\000\003\026\000\000\003:\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\001=\000\000\000\000\000\000\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\001=\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\001i\000\000\000\000\000\000\003\026\003\n\000\000\000\000\000\000\001]\000\000\001]\001]\001U\000\000\000\000\001U\000\000\000\000\000\000\001i\000\000\000\000\0032\001i\001i\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\178\000\000\003J\000\000\000\000\003\002\003*\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\003\n\000\000\003:\000\000\001U\000\000\001U\001U\000\000\001A\000\000\000\000\001A\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\003\018\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\000\001A\001A\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\001]\000\000\001U\000\000\003\026\001A\003:\000\000\000\000\001A\000\000\001A\001A\001m\000\000\000\000\001m\000\000\000\000\000\000\001]\000\000\000\000\001A\001]\001]\003\018\000\000\001A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\003J\000\000\000\000\001m\001m\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\000\000\000\000\001A\003\026\001m\000\000\001A\000\000\001m\000\000\001m\001m\000\000\001M\000\000\000\000\001M\000\000\000\000\001U\000\000\000\000\001m\001U\001U\003\018\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\001A\000\000\000\000\001A\000\000\001m\000\000\003\026\003\n\001m\000\000\000\000\001M\000\000\001M\001M\001Q\000\000\000\000\001Q\000\000\000\000\000\000\001A\000\000\000\000\001M\001A\001A\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001A\000\000\001A\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\000\000\000\000\001M\003\026\003\n\000\000\001M\000\000\001Q\000\000\001Q\001Q\000\000\003\162\000\000\000\000\001e\000\000\000\000\001m\000\000\000\000\001Q\001m\001m\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\001m\000\000\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\000\000\001Q\000\000\003\026\003\n\003:\000\000\000\000\001e\000\000\001e\003\170\001Y\000\000\000\000\001Y\000\000\000\000\000\000\001M\000\000\000\000\0032\001M\001M\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\000\000\000\000\001e\003\026\003\n\000\000\003:\000\000\001Y\000\000\001Y\001Y\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\0032\001Q\001Q\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001Q\000\000\000\000\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\001e\000\000\001Y\000\000\003\026\003\n\003:\000\000\000\000\000\000\000\000\001\005\001\005\000\253\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001\005\001e\001e\003\018\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\003J\000\000\000\000\000\253\000\253\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\001Y\000\000\003\162\001\005\003\026\000\253\000\000\001\005\000\000\000\000\000\000\000\253\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\000\253\001Y\001Y\003\018\000\000\000\253\000\000\003\002\003*\000\000\000\000\000\000\000\000\001Y\000\000\001Y\000\000\000\000\000\000\003\162\000\000\000\000\003\n\000\000\000\000\000\000\001\005\000\000\001)\003\170\000\000\000\253\000\000\003\026\000\000\000\253\000\000\000\000\000\000\000\000\0032\000\000\000\000\003\018\000\000\003\"\000\000\003\002\003*\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\021\000\000\000\000\003\n\000\000\000\000\001\005\000\000\001\005\001\029\001\029\000\000\001)\000\000\000\000\000\000\003:\000\000\000\253\000\000\000\000\0032\000\000\000\000\003\018\003\026\003\"\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\001\000\253\000\000\003\n\000\000\000\000\000\000\000\000\000\253\001\021\001\021\000\000\001\029\000\000\000\000\000\000\003:\000\253\003B\000\253\000\000\001\021\000\000\000\000\003\018\003\026\003\"\000\000\001\001\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\001)\000\000\001\001\000\000\000\000\000\000\000\000\001)\001\001\001\001\000\000\001\021\000\000\000\000\000\000\003:\003\178\003B\003J\000\000\001\001\000\000\000\000\003\018\003\026\001\001\000\000\001-\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\r\001\029\000\000\001-\000\000\000\000\000\000\000\000\001\029\001-\001-\000\000\001\001\000\000\000\000\000\000\001\001\001\029\001\021\003J\000\000\001-\000\000\000\000\003\018\003\026\001-\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\000\000\003\n\000\000\000\000\000\000\000\000\001\021\001\r\001\r\000\000\001-\000\000\000\000\000\000\001-\001\021\001\001\001\021\000\000\001\r\000\000\000\000\003\018\003\026\003\"\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\001\001\000\000\003\n\000\000\000\000\000\000\000\000\001\001\001\017\001\017\000\000\001\r\000\000\000\000\000\000\001\r\001\001\001-\001\001\000\000\001\017\000\000\000\000\003\018\003\026\003\"\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001-\000\000\003\n\000\000\000\000\000\000\000\000\001-\001%\003\170\000\000\001\017\000\000\000\000\000\000\003:\001-\001\r\001-\000\000\0032\000\000\000\000\003\018\003\026\003\"\000\000\003\002\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\r\000\000\003\n\000\000\000\000\000\000\000\000\001\r\001\025\001\025\000\000\001%\000\000\000\000\000\000\003:\001\r\001\017\001\r\000\000\0032\000\000\000\000\003\018\003\026\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\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\000\000\000\000\003:\001\017\003B\001\017\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\000\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\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\003B\003J\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025"))
  
  let lhs =
    (16, "\000\016\000\015\000\014\000\r\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\001d\001d\001d\001c\001c\001c\001c\001b\001a\001`\001_\001^\001]\001\\\001\\\001\\\001\\\001[\001[\001Z\001Z\001Y\001Y\001Y\001X\001X\001X\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001W\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001V\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001U\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001T\001S\001S\001S\001S\001S\001S\001S\001S\001S\001S\001S\001S\001S\001S\001R\001R\001R\001Q\001P\001P\001P\001P\001O\001O\001O\001O\001N\001N\001N\001N\001M\001M\001M\001L\001L\001K\001K\001K\001J\001I\001H\001G\001F\001E\001D\001C\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001B\001A\001A\001A\001@\001@\001?\001?\001>\001>\001=\001=\001<\001<\001;\001:\001:\0019\0019\0018\0018\0017\0017\0016\0016\0016\0016\0015\0015\0015\0015\0014\0014\0014\0014\0013\0013\0013\0013\0012\0012\0012\0012\0011\0011\0011\0010\0010\0010\0010\0010\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%\001%\001%\001$\001$\001#\001#\001#\001\"\001!\001 \001 \001\031\001\031\001\030\001\029\001\028\001\028\001\027\001\027\001\026\001\026\001\025\001\025\001\024\001\023\001\022\001\022\001\021\001\021\001\020\001\020\001\019\001\019\001\018\001\017\001\017\001\016\001\016\001\016\001\016\001\016\001\016\001\015\001\015\001\015\001\014\001\014\001\014\001\r\001\r\001\r\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\n\001\t\001\b\001\b\001\b\001\b\001\007\001\007\001\006\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\002\001\002\001\002\001\001\001\001\001\001\001\001\001\000\000\255\000\255\000\254\000\254\000\254\000\253\000\252\000\252\000\252\000\251\000\250\000\250\000\250\000\250\000\250\000\249\000\249\000\248\000\248\000\248\000\247\000\247\000\247\000\246\000\246\000\246\000\246\000\246\000\245\000\245\000\245\000\245\000\244\000\244\000\243\000\243\000\243\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\240\000\239\000\238\000\238\000\238\000\238\000\237\000\237\000\236\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\232\000\232\000\232\000\232\000\232\000\232\000\231\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\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\216\000\215\000\215\000\214\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\195\000\195\000\194\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\189\000\188\000\187\000\186\000\185\000\184\000\183\000\182\000\181\000\180\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\176\000\176\000\176\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\000\172\000\172\000\171\000\170\000\169\000\168\000\167\000\166\000\165\000\164\000\163\000\162\000\162\000\161\000\161\000\161\000\160\000\160\000\159\000\159\000\159\000\158\000\158\000\158\000\157\000\157\000\156\000\155\000\155\000\155\000\155\000\155\000\154\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\000\153\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\145\000\145\000\145\000\145\000\145\000\144\000\144\000\144\000\144\000\144\000\144\000\144\000\143\000\143\000\143\000\143\000\143\000\143\000\143\000\142\000\142\000\142\000\142\000\142\000\142\000\142\000\141\000\141\000\141\000\141\000\141\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\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\128\000\127\000\127\000~\000~\000}\000}\000|\000|\000|\000|\000|\000{\000{\000z\000z\000z\000z\000y\000x\000w\000w\000w\000v\000u\000u\000u\000t\000t\000t\000s\000s\000s\000s\000s\000s\000r\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000m\000l\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000h\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000d\000d\000d\000c\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000a\000a\000a\000`\000_\000^\000]\000\\\000[\000Z\000Z\000Y\000Y\000X\000W\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000R\000R\000R\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000M\000L\000L\000K\000K\000K\000J\000I\000I\000I\000I\000I\000H\000H\000G\000G\000F\000F\000E\000E\000D\000D\000C\000C\000B\000B\000A\000A\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\0003\0003\0003\0003\0003\0003\0003\0003\0002\0002\0002\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0001\0000\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#\000\"\000\"\000\"\000!\000!\000 \000 \000 \000\031\000\031\000\031\000\030\000\030\000\030\000\030\000\030\000\030\000\030\000\029\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\024\000\024\000\024\000\024\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\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\019\000\018\000\018\000\018\000\018\000\018\000\017")
  
  let goto =
    ((16, "\001Y\000[\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001?\000\000\001\205\015\220\000\000\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\0003\000\000\000\000\000\000\000\000\000\000\000\022\000\000\001H\005l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\004j\000\000\000^\000\000\000\000\005\212\000\000\000\000\011\020\000\000\000\000\000\000\001\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tZ\000\000\000\000\007\148\n\b\000\000\000\000\nx\000\000\000\000\000\000\000\000\000\000\000\000\004\164\000\000\000\000\000\000\000\000\004\"\000\000\006B\000\000\000\000\000\000\000\000\000\000\n<\000\000\011\016\000\000\003\028\000\000\000\000\000\000\n\226\000\000\r\176\000\000\000\000\000\000\n\152\000\000\000\000\000\000\012N\00119\148\000\000\000\000\017@\019d\000\000\000\184\000\000\020P\001 1*5\188\003l,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\0216=t\000\000\000\000\000\000!\b**+x\000\000\000\000\002\192\000\000\000\000\028\174(h\000\000\000\000\000\000\017X\000\0007r6\174\000\000\000\160\000\000\016\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 4\000\000\000\000%\184\000\000-\156\000\000/h\000\000/\214\000\0002\244\000\0003\166\000\0009\146\000\000?@\000\000?\150\000\000P$\000\000F\156\000\000>\206\000\000\000\000\000\000\000\000\017\012\000\000\000\000\000\000\000\000Zb\000\000Z\192\000\000Z\204\000\000[>\000\000[L\000\000[\150\000\000[\174\000\000\\\020\000\000\\\024\000\000\\,\000\000\\\164\000\000\\\238\000\000\\\252\000\000]:\000\000]p\000\000]\158\000\000]\210\000\000\"\004\000\000\000\000)F\000\0008\134\000\000\000\000\000\000\000\000\000\000\000\000\001\011P\194\000\000Q\022\000\000\000\000\0010\000\000\000\000\000o\000\000\000T\019\004\000\000\000%\000U\0003\002:\001\253\000\000\002\208\000\000\000\000\003\026\000\000\003\210\000\000\000\000\000\000\000\000=x\000\000\000\000\000\000\000R\018\212\000\000-6>x\000\000\000\000\000\000\000\000;\140\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\238\000\000\000\000Q\160\000\000\000\000\000\000\023^\000\000\000\000\000\000\000\000.\232\000\000\000\000\004\160\000\000\005&\000\000\000\000\000\000\024D\000\0008(?X\000\000\000\000?p?\222\000\000V\140\000\000YX\000\000Y|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\252\000\000G\030\000\000 \138\000\000^\016\000\000^F\000\000^\146\000\000^\214\000\000_T\000\000_v\000\000_\156\000\000_\198\000\000`\014\000\000`:\000\000`>\000\000`^\000\000`\138\000\000`\152\000\000\000\000@^\000\000\000\000\000\000@\218\000\000\000\000\000\000\000\000\000\000\000\000Q\206\000\000\000\000\000\000\027|\000\000\000\000\000\000\000\000\rj\000\000\000\000\000\000\000\000\000w\000\000\000\000Rb\000\000\000\000\000\000\004\202\000\024\000\000\000\0006\142\000\000\000\000\000\000\000\000A\220\000\000\000\000\000\000\0008C\156\014V\000\000\000\000R\234\000\000S&\000\000\000\000\000\000D\202(\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\012\000\000\000\000\000\000\000\000G|E\172\028\216\000\000\000\0001\148\000\000\000\000\005\138\000\000\000\000\t:\000\000\000\000\000\000\029\186\000\0008\208\000\000\000\000SB\000\000\000\000\000\000\029\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\164\000\000(2\000\000\000I\000\000\000\000\000\000`\210\000\000`\254\000\000a,\000\000a\\\000\000a\150\000\000a\174\000\000a\206\000\000b~\000\000b\170\000\000b\184\000\000c\030\000\000cB\000\000cb\000\000c~\000\000c\140\000\000\000\000\000\000\000\000\000\0005<\000\000\000\000\016nF\254\000\000\000\000G\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\244\000\000B\030\000\000\000\000\000\000\000\000\000\000B\214\000\000\000\000\000\000B\216\000\000\000\000\000\000\000\000\000\000\000\000\000\150\000\000\000\000\000\000\000\000\000T\000\000\014\190\000\000\000\000\002\254\007<\000\000\000\000\000\000\000\000\012f\012\246\000\000\016\190\000\000\000\000\000\000\030\206\000\000\031\166\000\000\t\182\000\000\000\000\000\000\000\000\000\000\000\000\014\172\000\000\000\000\001\000\000\000\000\000\000\000\017f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\014\212\000\000\000\000\000\000\000\000\000\000\000\000\0290\000\000\000\234\029\244\000\000\000\000\000\000\018t\000\000\000\000\000\000\003\246\012\200\000\000\004Z\000\000\000\000\000\000\000\000\000T\000\000\000\000\001\185\021\230\000\000\022\026\000\000\000\000\000\000\000f\000\000\018J\b\204\014B\000\000\000\000\000\000\005&\nf\000\000\000\000\0052\000\000\000\000\000\000\001\024\000\000\000\000\000\000\003\176\000\000\000\000\000\000\000\000\002\022\0001\001\240\000\000\000\000\002\\\000\000\000\000\000\000\015t\000\000\000\000\026(\000>\000\000\000\000\000\000!j\000\000\000\000\000\000\000\0003\0224\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\174\000\000\"\156\000\000\000\000\000\000\000\000\000\148\000\000\000\000\000\000\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\178\000\000\002\216\000\000\000\000\000\224\000\000\000\000\000\000\003\162\005>\000\000\000\000\000\000\002\254\031\242\003\004\031\252\003|\000\000\000\000\003\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004h\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\186\000\000\020\224\000\000\000\000\000\000T4\000\000\000\000\005Z\000\000\000\000\000\000\015T\027\014\004*\000\000#$\000\000\000\000\000\000\bR\000\000\000\000\000\000H\028\000\000\000\000\n\156\000\000\000\000\000\0009>\000\000\000\000\000\000HB\000\000\000\000\0068\000\000\014\254\000\000\000\000%\002\000\000\000\000\000\000H^\000\000\000\000\000\000\000\000\000\000$\140\000\000\000\000\000\000\0011\000\000IH\000\000\000\000\000\b\011\136\000\000\000\000\000\000I\168\000\000\000\000\r\252\000\000\000\000\000\000J2\000\000\000\000\000R\000\000\t\146\000\000\000\000A\152C\206\000\000\000\000\000\000Tr\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\000\000\000\000d9\222\000\000\000\000\000\000\000\000\000\000\000\000\007d\000\000\001|\000\000U8\000\000\000\000\000\000Uj\000\000\000\000\003\026\000\000\"\238\000#C\208\000\000\000\000\000\000\000\012\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000B~\000\000\000\000\000\000B\150\000\000\000\000\b~\000\000\0170\000\000\000\000\000\000 \030\000\000:\178\000\000\000\000U\186\000\000\000\000\000\000 \"\000\000\000\000\000\000\000\000\000\000\000\000Y\128\000\000Z\b\000\000ZL\000\000\000\000\007\240\000\000\000\000\000\000\000\000\000\000c\154\000\000JR\000\000)\150\000\000c\182\000\000c\214\000\000c\228\000\000d\174\000\000d\202\000\000e>\000\000e\138\000\000e\152\000\000e\184\000\000e\188\000\000f\026\000\000f~\000\000f\138\000\000f\150\000\000\000\000\000\000\003@\000\000\000\000\000\000\000\000\000\000E\178\000\000\000\000\000\000\003\234\000\000\005\234\000\000\019>\000\154\n~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000V$\000\000\021\1986x $\000\000\000\000\000\0003L\000\000\017\002\018h\000\000\000\000J\164\000\000\000\000\000\000;\152\000\000\000\000\000\000K$\000\000\000\000\001\198\000\000\018\150\000\000\000\000%\216\000\000\000\000\000\000Kf\000\000\000\000\000\000\000\000K\142\000\000\000\000\007\018\019\200\000\000\000\000K\222\000\000\000\000\021\146\000\000\000\000LP\000\000\000\000\000\000\000\000L\218\000\000M\028\000\000\022\172\023\146\004\018\011\002\000\000\004|\r0\000\000\000\000\000\000\rh\000\000\000\000\015\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\000VD\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\246\000\000\024x\000\000\000\000\000\000\020$\000\000\000\000\006\236\000\000\000\000\000\000#\200\000.\000\000$\194\000\000\000\000\000\000\000\000\002F\000\000\000\000\021\n\000\000%\130\000\000\000\000<j\000\000\000\000\000\000M:\000\000\000\000\002\190\000\000\000\000\022x\000\000\000\000(l\000\000\000\000\000\000M\178\000\000\000\000\000\000\000\000\000\000/\028\000\000\000\000\000\000\000\000N\006\000\000\000\000\bn\014h\000\000\000\000\000\000NP\000\000\000\000\000\000\000\000\021\240\000\000\000\000\004&\000\000\022\214\000\000\002\190\000\000\000\000N\190\000\000N\240\000\000\025^\000\000\000\000\000\000<\200\000\000\000\000\000\000O2\000\000\000\000\002\182\000\000\000\000\026\246\000\000\000\000,\234\000\000\000\000\000\000O\134\000\000\000\000\000\000\000\000O\234\000\000\000\000\014\022\027x\000\000\000\000PH\000\000\000\000\000\159\007\n\000\000\027*\000\000\000\000\005T\000\000\000\000\000`\000\000\000\000\000\000\003@\000\000\000\000\000\000\026D\000\000&|\001>'V\000\000\005\248\000\000\023\188\000\000\024\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\220(P\000W)\016\000\000\000\000\000\000\000E\000\000\025\136\000\000*\n\000\000\000\000\005\146\000\000\000\000\001\212\000\000\002\190\000\000\000\000\000l*\228\000\000\003\150\000\000\026n+\228\000\000\000\000\027T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011<\011r\000\000\012^\000\000\000\000\005\228\000\000\000\000\003\168\000\000\000\000\000\000\000\000\000\000\005\136\000\000\028:\000\000\000\000\000\0004\004V\164\000\000\000\000\000\000/<\000\000\000\000\000\000\000\000\002\1784V\000\000\000\000\000\000\000\0005:\000\000\000\000\0064\000\000\000\000\005R\000\000\000\000\000\000\012\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\172\000\000\028\228\000\000\000\000\000\000V\238\000\000\rR\000\000\000\000\000\000\003H\000\000\n\246\000\000\000\000\001\130\029\202\000\000\030\176\000\000\000\000\000\000\005X\000\000W\012\006ZW\208\000\000W\212\000\000\000\000\000\000\006b\000\000X(\006~\000\000\000\0000<\n<\000\000\006\1380\222\000\000\000\0001\200\000\000\000\000\000\000\006\152\000\000Y\014\006\188\000\000\000\000\028\030\006\236#\250\000\000*\188\000\000\000\000\000\000\007\030\000\000Y&\007p\000\000\000\000\000\000\0017\000\000\003`\000\000\000\000\000\000\000\000\000\182\000\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\000\000\000\000\000\000\000\000\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\180\000\000\000\000\005h\000\000\004\238\000\000\000\000\000\000\005\016\000\000\000\000\000\000\000\000\000\000\b:\000\000\000\000\000\000\000\000\000\000\000\000\005\142\000\000\000\000\005\156\000\000\000r\000\000\000\000\000\000\005\240\000\000\005r\005\170\006\022\000\000\000\000\000\000\b>\000\000\000\000\000\000\000\000\003h\b\140\015\170\000\000\006\198\000\000\000\000\000\000\000\000\016\214\000\000\000\000\000\000\019:\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\000\000\014\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\000\000\002@\000\000\005,\005j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\006`\000\000\000\000\000\000\b\178\000\000\005\202\005\204\000\000\003\128\000\000\000\000\000\000\000\000\007\190\000\000\000\000\000\000\005\184\019Z\000\000\000\000\020\022\000\000\000\000\020z\020\252\018\178\000\000\022\212\000\000\000\000\000\000\000\000\000\000\000\000\023<\023\186\019\024\000\000\024\"\000\000\000\000\000\000\000\000\000\000\000\000\020\196\000\000\007$\000\000\000\000\0214\000\000\024\206\000\000\000\000\000\000\t(\000\000\000\000\000\000\r|\000\000\001|\000\175\025\180\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\018|\029t\000\000\000\000\000\000\000\000\029\128\029\164\026\154\000\000\029\242\000\000\000\000\000\000\000\000\000\000\000\000\011B\000\000\bF\000\000\000\000\000\000\000\000\021p\000\000\003\028\000\000\000\000\"(\000\000\007v\000\000\b.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\r\007\224\b\148\000\000\000\000\000\000\b\248\007>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\142\000\000\000\000\n\254\000\000\000\000\019\162\000\000\000\000\0300\030\138\028b\000\000\030\162\000\000\000\000\000\000\000\000\000\000\000\000\004\180\b\006\000\000\b\028\000\000\031(\028h\000\000\031\190\000\000\000\000\000\000\000\000\bh\000\000\000\000\000\000\000\000\001\250\000\000\000\202\000\232\003\132\000\000\000\000\000\000\000\000\000\000\000\000\007\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\030\000\000\000\000\026\204\000\000\000\000\022F \b\000\000\000\000\000\000\000\000 \026\000\000\000\000\0000\000\000\000\000\027\004\000\000\000\000 T\000\000\000\000\000\000%D\000\000\000\000\027\234\000\000\000\000\029J\000\000\000\000\006\226\000\000\000\000\007\128\000\000\000\000\000\000\005\128\000\000\000\000\0074\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\022\000\000\000\000\000\000\000.\000\000\000\000\000\000\000\000\000\000\012\254\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\002\n\006J\020\166\022\246\023\220\000\000\000>\007d\tZ\tx\000\000\000\000\000\000\000\000\000\000\000\000\024\194\000>\001\174\b\200\031Z\000\000,\172\t\230\000\000\000\000\t\234\000\000\031\164\000\000E\216\000\000\000\000\t\162!4\000\000-t\000\000\t\234.t\000\000\000\000\000\000\000\000\025\168\n,\006p\000\000\000\000\000\000\000\000\029\144\000\000\012\002\000\000\000\000\000\000\000\000\bX'.\000\000\000\000\030\206\000\000\031\166\000\000\000\000\000\000\000\000\000\000\014>\000\000\000\000\nh\000\000!\244\000\000\002\190\001=\000\000\000\000\000\000\000\000\000\000\016&\000\000\000\000\b\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000P\232\000\000\000s\000\000\000\000\000\000\000\000\000\000\021$\000\000\004\\\000\000\000\000\000\000\000\000\000\000\002\198\000\000\0152\007\238\016\030\000\000\0046\017^\000\000\t>\000\000\004\128\000\000\005z\000\000\006\234\000\000\002\190\000\000\000\000\000\000\000\000\000\000\0074\000\000\tH\000\000\b.\000\000\002\190\004*\000\000\000\000\000\000\000\000\000\000\021\170\000\000\000G\000\000\t\186\000b\000\000\b:\000\000\bL\000\000\000\000\000\000\000\000\000\000\000\000\bZ\000\000\bl\000\000\br\000\000\000\000\000\000\000\000\000\000\bx\000\000\000\000\000\000\000\000\000\000\n\014\b\144\000\000\000\000\b\212\000\000\000\000\b\162\bp\n`\000\000\nl\000\000\000\000\001\156\b\184\000\000\b\234\000\000\000\000\t,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nF\b\216\000\000\000\000\000\000\t\026\b\230\b\154\007\250\t\026\t\\\000\000\000\000\b\248\b\164\bF\t,\tp\000\000\000\000\b \n\136\000\000\n\140\000\000\n\190\000\000\000\000\n\172\000\000\000\000\n\180\000\000\000\000\000\000\000\000\n\216\000\000\t\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\000\000\000\000\n`\000\000\000\000\000\000\007\226\000\000\011\026\000\000\000\000\011\006\000\000\000\000\000\000"), (16, "\001\232\002\190\005\202\006?\003\199\005'\003\218\007\197\007\198\000#\006\163\006\002\006\003\003\152\005'\007\180\007\181\002\192\001\020\000\004\006\163\006\002\006\003\000M\000v\000v\000)\003\199\000M\003\200\003E\005\019\004\204\000\127\000\127\006\224\001\021\006A\006\005\006D\006\002\006\003\000v\007\185\b?\000M\000v\007i\0004\001\233\000\012\000\127\006\205\001\234\000\005\000\127\004\151\001\"\000M\0004\007\205\007\206\001T\000\017\b@\001U\000v\000M\005\005\002\156\003\127\004\152\000\015\000\016\002h\000\127\006\006\006\225\007n\006\226\001\023\002m\004\155\007.\003\201\005\006\000\016\003M\003\225\007\202\0068\003x\003\202\0069\001\232\003\153\001\025\000M\003\199\002m\003\218\000\170\005;\002m\007U\000N\000\180\003\201\006\004\000M\000N\006\r\004\131\001T\0030\003\202\001`\006\210\006\004\000v\006\227\006\213\006\002\006\003\003E\005\019\004\204\000N\000\127\005\b\0005\001\235\006\228\007\017\006:\001\n\001\n\006\004\000\007\001\236\000N\0005\007\025\001V\007\210\006\015\005\238\001\179\b\024\000N\007U\001W\0030\001\n\006\018\006\002\006\003\001\n\003\159\000v\002\159\000M\006\164\002\166\003\127\000\170\000<\002\211\000\127\005I\000\178\004\n\006\166\000\005\001\r\004\133\004\155\001\n\003\201\000N\005\240\0004\003\225\006\007\000\172\002i\003\202\002\005\005\243\006\002\006\003\000N\000\173\002\215\001V\005\n\003\161\001\024\001\167\001h\007W\007X\001W\002\221\000\128\007U\004\131\005\021\004\023\004\024\000>\004\135\005)\001(\005E\007\020\002m\000<\001\182\006\004\0070\005,\003\215\0008\007\\\001\180\004\140\002\214\bH\007\026\001\n\000\183\0004\004\156\0008\003\216\005K\005!\000\182\002m\007\027\007\028\003\154\000N\0004\003\215\001\170\005\t\000\172\005\r\001h\000\214\006\004\006V\000\183\002\004\000\173\001*\003\216\000`\007j\000=\007n\0005\005\"\004\n\005\141\001\249\001\r\004\133\001\n\000M\002\193\006\167\006\168\001\024\000\183\004\142\001\232\004\205\001\250\005\027\003\199\004\164\003\218\007U\006\004\0057\002\192\000\183\007r\007\142\002\233\001i\004\196\003\227\001\180\007\143\003\162\003\228\003W\002j\000\182\000v\007\147\004\135\004\015\000]\007\144\000v\004\154\003w\000\127\007\012\0005\006\169\003\215\003\230\000\127\002\249\004\140\001\021\004\021\003\231\004\158\000\183\0005\004\156\000\183\003\216\000\129\005$\000\184\002Q\005V\002\217\004\016\001 \001&\004\152\000\183\b\027\0035\005\r\001i\002\153\002>\007\n\003\127\006C\007\r\006\002\006\003\000N\002\143\001&\0008\002\\\002D\001 \004\155\005\143\003\201\007\024\0004\001\022\003\225\000\185\0004\000M\003\202\004\142\001\232\004\205\005\t\005\027\003\199\004\164\003\218\002\222\0034\0057\001\173\006A\0056\006D\006\002\006\003\004\196\003\227\004\131\007\219\000\183\003\228\000\186\005\133\000\184\000v\007n\000\187\004\015\005\242\007\144\007\220\004\154\001l\000\127\0008\b/\001m\005\153\003\230\002i\001\005\001\n\005\029\001\183\003\231\004\185\0008\001\n\002n\002\168\000\189\001\015\000v\005\155\001o\002\155\0058\004\016\000\185\001&\001p\000\127\005\240\007\148\000R\000^\006\212\000v\002\174\003\127\005\243\006\002\006\003\0005\000U\006\004\000\127\0005\000N\000E\004\133\004\155\000M\003\201\001#\000\216\001T\003\225\007\149\001`\000\187\003\202\002i\007`\007\017\005\128\000\224\007\239\007a\001&\006\210\007r\002\220\002\251\006\213\006\002\006\003\000\218\006\167\006\168\006\004\004\131\000\128\000M\000\189\003m\004\135\003\199\007e\003\218\005r\006.\b8\005\206\002m\002S\002\211\003\215\001%\000O\002\249\004\140\0030\006X\005;\001\n\000\183\005s\004\156\007\150\003\216\0030\003r\007\018\002{\006i\004\023\004\024\007\151\001(\006\197\002\133\002\213\000P\007\174\0060\002\223\004J\000\005\001#\0063\006\002\006\003\001\n\000N\0004\0008\001V\006\004\003\024\0008\001\167\002~\000M\004\133\001W\007\020\0004\001\n\007U\007\240\005u\004\142\001\232\004\159\007\176\002\214\003\199\004\164\003\218\0055\004\210\007\178\001*\004\r\000N\001#\003\201\002m\004\196\003\227\003\225\006\004\001$\003\228\003\202\004\152\002\180\000v\0004\004\135\004\015\001\021\007\144\007\225\004\204\001\r\000\127\0004\001\170\001\232\003\215\003\230\001h\003\199\004\140\003\218\000\167\003\231\0062\000\183\0030\004\156\007\241\003\216\004\187\000M\007r\0004\004\187\001'\003\023\007\151\001&\005U\000v\005>\0005\007\243\002\218\007\144\007\225\004\204\003\127\000\127\000N\004\014\000M\006\004\0005\003\022\001T\003r\0060\001`\004\155\003r\003\201\0063\006\002\006\003\003\225\005\144\007\249\007\250\003\202\004\142\004\244\004\159\007\245\003(\004\192\004\164\003'\004\n\002\134\007\247\001(\007\236\007\b\003\127\0005\004s\004\196\003\227\004\131\005\132\002\177\003\228\005v\0005\007\213\004\155\000M\003\201\004\015\007\214\001T\003\225\002\150\001U\002\127\003\202\000\183\002\128\000M\003\230\001i\000N\001\n\0005\001\029\003\231\007\n\007\021\007\230\007\r\006\002\006\003\002\182\002O\001)\004\131\004\026\006Z\003\215\002\155\001&\0004\000N\004j\002\179\001V\003&\000\183\001\232\001\167\002\177\003\216\003\199\001W\003\218\0008\000M\000v\001\173\001\n\005\247\004\133\003E\0033\007\254\004\012\000\127\000]\001&\006\004\005\143\005[\0032\000v\005\254\005\130\001\024\005\251\007\144\007\225\004\204\001l\000\127\001&\007\029\001m\004\152\0008\000N\007\218\006\205\001V\001\183\0004\002\178\005\255\004j\004\135\004\133\001W\000N\001h\003\127\001o\000v\004\023\004\024\000O\003\215\001p\006k\003\227\004\140\000\127\002m\003\228\0008\000\183\003\127\004\156\007\231\003\216\004\015\0005\003H\007U\005T\006\004\004t\007\151\004\155\000g\003\201\003\230\004\135\004\141\003\225\004k\000N\003\231\003\202\006p\005\021\0004\006\017\003\215\004u\001h\000M\004\140\007U\002\249\004\016\007\232\000\183\002\204\004\156\007\231\003\216\005w\004\131\002\204\0031\004\142\006\027\004\205\007\151\007\233\001\n\004\164\001S\0004\004\141\007\235\006\021\0005\005\006\000v\006\015\006\012\004\196\003\227\007u\000;\001\n\003\228\000\127\006\018\006\002\006\003\004n\000\183\004\015\003k\0076\001i\007\030\000R\000b\002\206\004\142\007n\004\205\003\230\007\233\002\205\004\164\000U\006_\003\231\007\235\0052\000E\004q\0006\001\n\0008\004\196\003\227\000Q\005\007\003k\003\228\004\133\001&\0005\006\028\007H\007I\004\015\000N\005\156\001\232\001\181\004\023\004\024\003\199\000\183\003\218\003\134\003\230\001i\006a\006d\006\002\006\003\003\231\005\155\001\232\003 \006\026\005Q\003\199\0005\003\218\0053\001l\000v\007@\004\135\001m\001&\007\144\007\225\004\204\004\156\000\127\001\183\0008\001\232\003\215\007A\003!\003\199\004\140\003\218\005\130\000v\001o\000\183\005\002\004\156\007\231\003\216\001p\006\004\000\127\001\231\001\n\005s\006X\007\151\004\025\000M\000v\005R\006\"\004\141\000v\007\144\007\225\004\204\003\127\000\127\006\023\007\n\001\166\000\127\007\r\006\002\006\003\005\145\0009\006\\\004\155\004\164\003\201\0004\0008\004\172\003\225\006\221\004P\007n\003\202\004\142\004\196\004\205\007\017\007\233\001\252\004\164\003\201\005t\002m\007\235\003\225\007\234\005v\003\127\003\202\006\004\004\196\003\227\004\131\006[\0008\003\228\000M\000R\005\024\004\155\001T\003\201\004\015\001`\000\005\003\225\0051\000U\004\131\003\202\005\163\000M\000E\003\230\005\166\003\199\001\n\003\218\001&\003\231\006\007\002\217\007\242\000N\0052\007\023\005\165\000O\005\169\004\131\005\165\005\236\005\237\005\180\001&\003m\001\n\007D\002{\006m\005\183\007\222\001\232\007t\005\165\002\149\003\199\0005\003\218\005\182\006o\000i\006n\001\n\006\004\004\133\005\182\001\n\007\020\005\186\0004\007r\003r\003m\bs\002\222\002~\000v\0054\004\146\003\163\004\133\007\144\007\225\004\204\005\165\000\127\003s\000N\007M\007N\001V\000M\006\001\005\194\001\167\bt\007w\000v\001W\003r\004\135\004\133\000N\001\029\003\201\bm\000\127\006\025\000v\005\196\007R\003\215\003\202\005\255\003s\004\140\004\135\000\127\005\197\003N\000\183\003\127\004\156\007\231\003\216\007\237\bn\003\215\006\144\004\023\004\024\004\140\007\151\004\155\005\196\003\201\000\183\004\135\004\141\003\225\003\216\002\208\001\170\003\202\006,\006\190\001h\001&\003\215\0008\006\216\0005\004\140\004\197\004\141\000v\007\246\000\183\005\200\004\156\007\231\003\216\006c\004\131\000\127\002m\004\142\b.\004\205\007\151\007\233\007U\004\164\000N\005\165\004\141\007\235\007F\006)\006\002\006\003\003\162\004\142\004\196\003\227\000M\006\204\001\n\003\228\001\233\006\218\007\161\007q\001\234\0055\004\015\006a\006d\006\002\006\003\003\227\0004\000\005\004\142\003\228\004\205\003\230\007\233\001\n\004\164\bD\004\015\003\231\007\235\002\127\007\021\006\153\002\128\007\222\001\n\004\196\003\227\003\230\007\222\001\029\003\228\004\133\001&\003\231\001\232\000Y\007n\004\015\003\199\006\223\003\218\000\183\006\023\004\023\004\024\001i\006\251\003\215\003\230\0008\000E\007n\001 \bK\003\231\006\155\000\183\006\253\001\171\000v\003\216\006\158\006\002\006\003\003E\005\019\004\204\004\135\000\127\001&\000\\\001\n\000N\001&\006\230\b,\001\235\000v\003\215\004\023\004\024\006\004\004\140\001\173\001\236\006\023\000\127\000\183\0005\004\156\007\231\003\216\007}\0004\007\128\007\007\bC\007\195\007\228\007\151\006\004\bJ\b8\007\244\003\127\004\141\001l\004\152\006\210\004\152\001m\0004\006\213\006\002\006\003\006k\004\155\001\183\003\201\000M\003\227\007y\003\225\003\199\003\228\003\218\003\202\003\198\001o\bb\bd\003\229\000T\004\142\001p\004\205\b\003\007\233\b\023\004\164\b8\007n\003\230\007\235\000v\000\129\004\131\b\021\003\231\0004\004\196\003\227\001\232\000\127\b\015\003\228\003\199\007\175\003\218\006\004\003P\007\162\004\015\b\017\007\163\000v\b\019\0004\b\025\002{\001\n\001\029\004\152\003\230\000\127\0005\002\133\000v\b\031\003\231\b \0008\003E\005\019\004\204\b%\000\127\b9\001\n\b&\000v\000}\b+\0005\001&\bp\bd\002~\b*\000\127\b2\000N\0004\003\201\b6\007\167\b<\003\225\b9\004\133\006\004\003\202\001\249\b9\002\169\001&\b=\003U\0004\000X\bA\000\183\003\127\bB\bE\001\250\001 \0004\bF\002\217\007\135\0005\bI\bL\004\155\000\128\003\201\000v\bM\b^\003\225\bS\003E\b\\\003\202\004\135\000\127\002m\007p\0005\000v\002\159\002\160\002\183\002\163\001\n\003\215\bX\006\233\000\127\004\140\b[\000R\007o\004\131\000\183\007\140\004\156\0008\003\216\005\136\005!\000U\002\222\001\232\000[\001\n\000E\003\199\bi\003\218\bk\003\127\004\141\0005\0004\0008\by\001\n\006\191\004\n\001\251\006\210\001\r\002m\000\128\006\213\006\002\006\003\000v\0005\001\n\bx\000\000\003E\005\019\004\204\002m\000\127\0005\002\134\004\142\000\000\004\205\000\000\005\027\000\000\004\164\000\000\000\000\002\202\004\172\000\000\006\193\0008\000\000\000\000\004\133\004\196\003\227\006\196\006\002\006\003\003\228\002\135\003y\002\127\000\000\000\000\002\128\004\015\003\215\0008\000\000\003\127\004r\001\029\000\000\001\n\000R\000\183\003\230\000\000\007r\003\216\003H\004\155\003\231\003\201\000U\000\000\001\n\003\225\004\135\000E\000\000\003\202\0005\004\012\000\000\000\000\000v\001&\000\000\003\215\000\000\000\000\0008\004\140\005P\000\127\000\000\002\249\000\183\0004\004\156\004\131\003\216\005\031\005!\001&\000\000\001\232\004j\006\004\000\000\003\199\005Q\003\218\000\000\000\000\004\141\0008\000\000\000\000\000R\001\026\000\000\000\000\000\000\001\n\007\158\000\000\001\029\003\227\000U\000\000\000v\003\228\005\146\000E\000v\003E\005\019\004\204\004\015\000\127\002\203\006\004\004\142\000\127\004\205\000\000\005\027\001\029\004\164\003\230\000\000\000\129\004\172\000\000\005S\003\231\000\000\000\000\004\156\004\196\003\227\000\000\004\133\000\000\003\228\002n\003V\000\000\004\016\000\000\001&\004\015\002\155\0008\000\000\003\127\000\000\000\000\007\161\0005\0004\000\000\003\230\000v\002\176\0004\002\173\004\155\003\231\003\201\000\000\001&\000\127\003\225\000\000\001\n\000C\003\202\004\135\000\000\004k\000\000\002\165\001&\005\145\007]\000v\000\000\004\164\003\215\0004\000E\004\172\004\140\000\000\000\127\001&\004\131\000\183\004\196\004\156\000\000\003\216\005M\005!\002n\002\145\001\232\000\128\000\000\000\000\003\199\002\155\003\218\000\000\000\000\004\141\000\000\0004\000M\002m\001\n\000\000\001T\000\000\001\n\001`\000\000\000\000\000\000\000\000\000\000\000v\000\000\002~\000\000\000\000\003E\005\019\004\204\000\000\000\127\0005\001&\004\142\000\000\004\205\0005\005\027\000\129\004\164\005T\0008\000\000\004\172\000\000\001&\000\000\000\000\000\000\004\133\004\196\003\227\000\000\003{\000\000\003\228\000\000\006\157\000\000\000\000\000\000\0005\004\015\001\n\000\000\000\000\003\127\002{\000v\002\159\002\160\002\161\002\163\003\230\002\144\000\000\000\000\000\127\004\155\003\231\003\201\0004\000\000\000\000\003\225\004\135\001\n\000\000\003\202\0005\000N\006\155\000\000\001V\001&\002~\003\215\006\158\006\002\006\003\004\140\001W\000\000\001(\000\000\000\183\004i\004\156\004\131\003\216\005O\005!\007\162\000\128\001\232\007\163\000\000\000\000\003\199\000v\003\218\000\000\001\029\004\141\0008\002m\000M\000\000\000\127\0008\001T\003\128\001\n\001`\004m\0004\000\000\000\129\000\000\000v\000\000\000v\000\000\000\000\003E\005\019\004\204\001*\000\127\001h\000\127\004\142\002k\004\205\004j\005\027\007\168\004\164\007\169\000\000\000\000\004\172\002\127\0005\004\250\002\128\001&\002\148\004\196\003\227\000\000\004\133\001\029\003\228\000\000\000\000\002m\000\000\0004\001\n\004\015\000\000\004j\000\000\003\127\004\198\000\000\000\000\000\000\0004\000\000\003\230\000\000\004\187\000v\006\004\004\155\003\231\003\201\000\000\000\000\000\000\003\225\000\127\000\000\000\000\003\202\004\135\000N\000\000\0004\001V\001&\000\000\002n\001\167\001&\0005\003\215\001W\003r\002\155\004\140\000\000\000\000\007^\004\131\000\183\000\000\004\156\001\n\003\216\005\140\005!\002\127\004\244\001\232\002\128\000\000\000\183\003\199\000\000\003\218\001i\001\029\004\141\000\000\000\000\004k\000\000\001\n\000\000\001\n\000\000\000\000\000\000\0008\000\000\000\000\000\000\0005\000v\000\000\001\170\000\000\001&\007\144\001h\004\154\000\000\000\127\0005\000\000\004\142\000\000\004\205\004k\005\027\000v\004\164\0004\000\000\000\000\004\172\002\198\000\000\002{\000\127\001&\004\133\004\196\003\227\0005\002\133\000v\003\228\002\200\000\000\000\000\002\229\000\000\000\000\004\015\000\127\001l\001\n\003\127\002\165\001m\000\000\0008\000\000\000\000\003\230\002~\001\169\000\000\000\000\004\155\003\231\003\201\000\000\000\000\003M\003\225\004\135\001o\000\000\003\202\000\000\002n\000\000\001p\000\000\001&\002m\003\215\002\155\000\000\000\000\004\140\000\000\000\000\007\238\000\000\000\183\000v\004\156\004\131\003\216\007\172\005!\000\129\0008\001\232\000\127\000\000\000\183\003\199\000\000\003\218\001i\0005\004\141\0008\000\000\000\000\003\130\000\000\000\000\000\000\000\000\001\n\000\000\001\196\000\000\006$\006\002\006\003\000v\007\186\001&\000\000\000v\007\144\0008\004\154\000\000\000\127\001\n\000\000\004\142\000\127\004\205\001\232\005\027\000\000\004\164\001\233\001\173\000\000\004\172\001\234\002\203\000\000\001\n\000\129\004p\004\196\003\227\001\029\004\133\000\000\003\228\000\000\000\000\000\000\000\000\000\000\000\000\004\015\004\200\001l\000\000\003\127\000\000\001m\002\134\000\000\000\000\000M\003\230\001 \001\183\000\170\000\000\004\155\003\231\003\201\000\180\000\000\000\000\003\225\000\000\001o\000\000\003\202\004\135\000\000\000\129\001p\002\140\001&\002\127\001&\004j\002\128\001\n\003\215\000v\000\129\007\223\004\140\001\029\002q\000\000\004\131\000\183\000\127\004\156\007\224\003\216\000\000\000M\006\004\002\157\001\252\000\170\000\000\007\151\001\235\000\129\000\178\006%\000\000\007\227\000\000\000\000\001\236\000\000\001\n\000M\006'\000v\001\n\003\199\003b\003\200\000\000\000M\000\000\000\000\000\127\000\169\002e\000\000\000\000\001&\000\000\000\000\000\000\0004\000N\004\142\001\232\004\159\007\229\000\172\003\199\004\164\003\218\000\000\000\000\007\235\000\000\000\173\006)\006\002\006\003\004\133\004\196\003\227\000\000\000\000\001\254\003\228\003W\000\000\0040\000v\003_\000\000\004\015\000v\007\144\000\000\004\154\003w\000\127\004k\002m\002{\000\127\003\230\000\000\000N\002\250\000\000\002}\003\231\000\172\000\000\000\000\001\029\000\000\004\135\000\000\000\000\000\173\001\255\001\n\000\182\000\000\000N\001&\003\201\003\215\000\000\000\000\002~\004\140\000N\000\000\003\202\003\127\000\183\000\172\004\156\007\224\003\216\000\000\001&\000\000\0005\001E\000\000\004\155\007\151\003\201\000\000\002\001\000\000\003\225\007\227\001\n\000\000\003\202\001&\002\185\000\000\000\000\000\000\000\000\000\000\000\182\001\029\001\249\000\000\0020\000\000\000\000\007\226\000\000\000\000\006\004\000\183\004\131\000\000\000\000\001\250\000\000\004\142\001\232\004\159\007\229\002{\003\199\004\164\003\218\000\000\000\182\007\235\002\147\000\000\000\000\007\187\000\000\0004\004\196\003\227\001\n\000\000\001\029\003\228\001\n\000\000\000\000\000v\000\000\001&\004\015\000\183\003E\002~\004\154\000\184\000\127\000\000\002\004\000\000\0004\003\230\000\000\000\000\000\000\000\000\000\000\003\231\000v\002\159\002\160\002\171\002\163\000\000\0023\000\000\0008\000\127\000\000\004\133\000\000\000\000\001&\000\000\000\000\002\006\001&\006\174\000\000\000\000\000\185\001\232\003\127\000\000\000\183\001\233\000\000\000\000\000\184\001\234\000\000\000\000\000\000\003\215\004\155\000\000\003\201\000\000\002\127\002\007\003\225\002\128\000\183\000\128\003\202\004\135\003\216\000\186\001\029\0005\000\183\006\155\000\187\000\000\000\184\002m\003\215\006\158\006\002\006\003\004\140\000\221\000\000\000\185\004\131\000\183\000\188\004\156\007\224\003\216\000v\0046\0005\000\000\001\232\004>\000\189\007\151\003\199\000\127\003\218\000\000\004O\007\227\006$\006\002\006\003\000\000\001\n\000\185\000\216\005\148\001&\000M\000\000\000\187\005H\000\169\002a\000v\000\000\000\222\000\175\001\252\003E\000\000\004\154\001\235\000\127\001\n\003\217\004\142\000\218\004\159\007\229\001\236\000\000\004\164\006+\000\189\000\000\007\235\002\127\000\000\000\000\002\128\001&\004\133\004\196\003\227\000\000\000\000\001\029\003\228\006r\006$\006\002\006\003\000\000\000\000\004\015\000\000\0008\0004\003\127\000\000\001\253\000\000\000\000\000\000\000\000\003\230\006)\006\002\006\003\006\004\004\155\003\231\003\201\000\000\000\000\001\254\003\225\004\135\006\236\0008\003\202\000\000\006)\006\002\006\003\000\000\001&\000\000\003\215\000N\001&\000\000\004\140\000\000\000\172\001\n\006\004\000\183\000\000\004\156\004\131\003\216\001E\001\232\000\000\006z\000\000\003\199\000\000\003\218\001\255\000\000\006\155\000\000\000\000\005=\000\000\004\147\006\158\006\002\006\003\000\000\000\000\000\000\001\n\000M\000\000\005F\000v\000\169\002[\000\000\005H\003E\004\149\004\154\000\000\000\127\000\000\0005\000\000\002\001\006u\004\142\000\000\004\159\005?\006\004\000\182\004\164\000\000\002\165\000\129\004\172\000\000\000\000\006\133\001\249\002B\002)\004\196\003\227\000\000\004\133\006\004\003\228\000\183\0041\000\000\000\000\001\250\000\000\004\015\003\127\002n\000\129\006)\006\002\006\003\000\000\006\004\002\155\000\000\003\230\000\000\004\155\000\000\003\201\000\000\003\231\004A\003\225\006\128\000v\0024\003\202\000\000\001\232\007i\004\135\002,\003\199\000\127\003\218\001&\000\000\000\000\000N\000v\002\004\003\215\000\000\000\172\000\000\004\140\004\131\006\004\000\127\001\232\000\183\001E\004\156\003\199\003\216\003\218\001&\006)\006\002\006\003\004|\005\147\0004\0008\004\161\006\142\000\000\002\006\005=\000\183\001\n\000M\000\000\000\184\000v\000\169\002N\001\028\000\000\003E\004\162\004\204\007\211\000\127\001\029\000\000\000\000\000\000\006~\000\000\000\000\002\007\000\000\000\000\000\000\000v\004\142\000\182\004\159\005?\000\000\000\000\004\164\000\000\000\127\006\004\004\172\000\000\000\185\004\133\001\252\000\000\003\201\004\196\003\227\000\000\003\225\0004\003\228\003\127\003\202\006\147\006)\006\002\006\003\004\015\000\000\000\000\001&\000\000\000\000\004\155\000\000\003\201\000\000\001\n\003\230\003\225\000\000\006\195\004\131\003\202\003\231\001\232\0005\004\135\000\000\003\199\000\000\003\218\001\n\007\255\000\000\000N\000v\006\004\003\215\001&\000\172\000\129\004\140\004\131\000\000\000\127\001\232\000\183\001E\004\156\003\199\003\216\003\218\000\000\000\000\006\193\004Q\004|\005\016\000\000\000\000\004\207\006\196\006\002\006\003\004\209\000v\001\n\000\000\000\183\000\000\000v\000\000\000\184\000\000\000\127\003E\004\162\004\204\000\000\000\127\0005\000\000\000\000\000\000\004\133\000\000\000\000\001\n\000\000\000\000\000\000\000v\004\142\000\182\004\159\004\211\000\000\000\000\004\164\000\000\000\127\006\004\004\213\000\000\000\000\004\133\001\252\000\185\003\201\004\196\003\227\000\000\003\225\0004\003\228\003\127\003\202\000\000\0008\000\000\004\135\004\015\000\000\007t\000\000\000\000\000\000\004\155\007(\003\201\000\000\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\001\232\000\183\004\135\000\000\003\199\003\216\003\218\001\n\000\000\000\000\000\000\000\000\000\000\003\215\001&\000\000\000\000\004\140\004\131\004\141\006\004\001\232\000\183\006\155\004\156\003\199\003\216\003\218\007k\006\158\006\002\006\003\004|\004\215\0008\001\029\004\212\001\n\000\000\000\000\004\141\000\000\001\n\006\145\000\183\000\000\000v\004\142\000\184\000\000\001\029\003E\004\162\004\204\000\000\000\127\0005\000\000\000\000\000\000\004\133\000\000\000v\001\n\000\000\003\227\006|\007i\004\142\003\228\004\205\000\127\004\206\000\000\004\164\007^\004\015\000\000\004\172\001&\000\000\004\133\001\252\000\185\003\201\004\196\003\227\003\230\003\225\0004\003\228\003\127\003\202\003\231\001&\000\000\004\135\004\015\000\000\006\145\006)\006\002\006\003\004\155\000\000\003\201\001\029\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\001\232\000\183\004\135\006\139\003\199\003\216\003\218\000\000\000\000\000\000\000\000\000\000\006\004\003\215\001&\000\129\000\000\004\140\004\131\004\141\000\000\001\232\000\183\000\000\004\156\003\199\003\216\003\218\000\000\000\000\004W\000\000\004|\004}\0008\001&\000\000\006)\006\002\006\003\004\141\000\000\001\n\007\187\000\000\000\000\000v\004\142\000\000\000\000\001\029\003E\005\019\004\204\000\000\000\127\0005\000\000\001\n\000\000\004\133\000\000\000v\000\000\000\000\003\227\006\137\007i\004\142\003\228\004\205\000\127\004\206\002\187\004\164\000\000\004\015\000\000\004\172\000\000\001\029\004\133\001\252\006\004\003\201\004\196\003\227\003\230\003\225\0004\003\228\003\127\003\202\003\231\001&\000\000\004\135\004\015\000\000\002\189\006)\006\002\006\003\004\155\000\000\003\201\001\029\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\001\232\000\183\004\135\006\135\003\199\003\216\003\218\000\000\000\000\001&\000\000\000\000\000\000\003\215\001&\000\129\000\000\004\140\004\131\004\141\006\004\001\232\000\183\000\000\004\156\003\199\003\216\003\218\000\000\000\000\004\176\000\000\004|\004\139\0008\001&\000\000\006)\006\002\006\003\004\141\000\000\001\n\000\000\000\000\000\000\000v\004\142\000\000\000\000\007s\003E\005\019\004\204\000\000\000\127\0005\000\000\001\n\000\000\004\133\000\000\000v\000\000\000\000\003\227\000\000\007i\004\142\003\228\004\205\000\127\004\206\000\000\004\164\000\000\004\015\000\000\004\172\000\000\000\000\004\133\001\252\006\004\003\201\004\196\003\227\003\230\003\225\006\149\003\228\003\127\003\202\003\231\007k\000\000\004\135\004\015\000\000\000\000\000\000\001\029\000\000\004\155\000\000\003\201\000\000\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\001\232\000\183\004\135\000\000\003\199\003\216\003\218\000\000\006)\006\002\006\003\000\000\000\000\003\215\001&\001K\000\000\004\140\004\131\004\141\006\004\001\232\000\183\000\000\004\156\003\199\003\216\003\218\005\026\000\000\001&\000\000\004|\004\221\0008\000\000\000\000\000\000\000\000\000\000\004\141\000\000\001\n\000\000\000\000\000\000\000v\004\142\000\000\000\000\007j\003E\005\019\004\204\000\000\000\127\000\000\000\000\001\n\000\000\004\133\000\000\000v\000\000\000\000\003\227\000\000\007i\004\142\003\228\004\205\000\127\005\027\000\000\004\164\000\000\004\015\000\000\004\172\000\000\000\000\004\133\001\252\000\000\003\201\004\196\003\227\003\230\003\225\006\161\003\228\003\127\003\202\003\231\007k\000\000\004\135\004\015\000\000\000\000\000\000\001\029\000\000\004\155\000\000\003\201\006\004\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\001\232\000\183\004\135\000\000\003\199\003\216\003\218\000\000\006)\006\002\006\003\000v\000\000\003\215\001&\001Y\000\000\004\140\004\131\004\141\000\127\001\232\000\183\007\031\004\156\003\199\003\216\003\218\005\028\000\000\001&\000\000\004|\005\018\000\000\000\000\000\000\000\000\000\000\000\000\004\141\000\000\001\n\000\000\000\000\000\000\000v\004\142\000\000\000\000\007j\003E\005@\004\204\000\000\000\127\000\000\006\210\001\n\000\000\004\133\006\213\006\002\006\003\000\000\003\227\000\000\000\000\004\142\003\228\004\205\000\000\005\027\000\000\004\164\000\000\004\015\000\000\004\172\000\000\000\000\004\133\001\252\000\000\003\201\004\196\003\227\003\230\003\225\0004\003\228\003\127\003\202\003\231\007v\000\000\004\135\004\015\000\000\000\000\000\000\001\029\000\000\004\155\000\000\003\201\006\004\003\215\003\230\003\225\007\"\004\140\004\131\003\202\003\231\001\232\000\183\004\135\000\000\003\199\003\216\003\218\001\n\006$\006\002\006\003\000v\000\000\003\215\001&\000\000\000\000\004\140\004\131\004\141\000\127\001\232\000\183\0071\004\156\003\199\003\216\003\218\005.\006\210\001&\000\000\005\004\006\213\006\002\006\003\000\000\000\000\000\000\0004\004\141\0004\001\n\000\000\006\004\000\000\000v\004\142\005B\000\000\007t\003E\005@\004\204\000\000\000\127\0005\006\210\000\000\000\000\004\133\006\213\006\002\006\003\000\000\003\227\000\000\000\000\004\142\003\228\004\205\000\000\005\027\000\000\004\164\000\000\004\015\000\000\004\172\000\000\000\000\004\133\001\252\000\000\003\201\004\196\003\227\003\230\003\225\000\000\003\228\003\127\003\202\003\231\007\146\000\000\004\135\004\015\000\000\000\000\000\000\001\029\000\000\004\155\000\000\003\201\006\004\003\215\003\230\003\225\000\000\004\140\004\131\003\202\003\231\006\179\000\183\004\135\000\000\000\000\003\216\0005\001\n\0005\000\000\000\000\000\000\000\000\003\215\001&\000\000\006\004\004\140\004\131\004\141\000\000\001\232\000\183\007;\004\156\003\199\003\216\003\218\000\000\000\000\001&\000\000\000v\000\000\0008\000\000\005]\003E\000\000\000\000\004\141\000\127\001\n\002\230\006\004\000\000\000v\004\142\005D\000\000\001\029\003E\004\162\004\204\000\000\000\127\000\000\006\210\000\000\000\000\004\133\006\213\006\002\006\003\000\000\003\227\000\000\000\000\004\142\003\228\004\205\000\000\005C\000\000\004\164\000\000\004\015\003\127\004\172\000M\000\000\004\133\000\000\000\170\000\000\004\196\003\227\003\230\000\171\002m\003\228\003\127\000\000\003\231\001&\000\000\004\135\004\015\000\000\0008\0004\0008\000\000\004\155\000\000\003\201\001\232\003\215\003\230\003\225\003\199\004\140\003\218\003\202\003\231\000\000\000\183\004\135\000\000\000\000\003\216\006$\006\002\006\003\006$\006\002\006\003\000\000\003\215\001&\000\129\000v\004\140\004\131\004\141\000\000\003E\000\183\004\154\004\156\000\127\003\216\000\000\001\n\000\000\004\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\141\000\000\001\n\003G\006\004\000\000\000N\004\142\000\000\000\000\001\029\000\172\000\000\000\000\000v\002\159\002\164\000\000\002\163\000\173\000\000\003\127\000\000\000\127\000\000\003\227\000\000\0005\004\142\003\228\004\205\000\000\005C\004\155\004\164\003\201\004\015\0004\004\172\003\225\000\129\004\133\001\164\003\202\007>\004\196\003\227\003\230\000\000\000\000\003\228\000\000\000\000\003\231\001&\004\251\000\000\004\015\0004\000\128\0004\000\000\000\000\004\131\006\004\000\182\001\232\006\004\003\230\006\172\003\199\002m\003\218\006\241\003\231\006\185\007\000\004\135\006\210\000\000\000\000\000\000\006\213\006\002\006\003\004\156\000\000\001\n\003\215\001&\005\134\000v\004\140\006\183\000\000\005H\003E\000\183\004\154\004\156\000\127\003\216\000\000\006)\006\002\006\003\000\000\000\000\000\000\006)\006\002\006\003\000v\002\159\002\167\004\141\002\163\000\000\000\000\0005\0008\000\127\000\000\000\000\000\000\001\n\004\133\006)\006\002\006\003\000\000\005\189\006\181\000\000\000\000\004\164\003\127\000\000\000\000\004\172\0005\000\000\0005\004\142\000\000\004\205\004\196\004\206\004\155\004\164\003\201\000\000\000\000\004\172\003\225\000\183\000\000\000\128\003\202\000\184\004\196\003\227\004\135\006\247\000\000\003\228\006)\006\002\006\003\002m\000\000\000\000\004\015\003\215\000\000\000\000\000\000\004\140\004\131\000\000\006\004\001\232\000\183\003\230\004\156\003\199\003\216\003\218\000\000\003\231\001&\000\000\000\000\000\000\000\185\000\000\0004\006)\006\002\006\003\005=\006\004\001\n\000\000\001&\005\150\000v\006\004\006\245\000\000\005H\003E\0008\004\154\000\000\000\127\001\225\000\000\000\000\000\000\006\243\000\000\000\000\001\n\000\000\006\004\002H\000\000\004\142\000\000\004\159\005?\000\000\0008\004\164\0008\000\000\000\000\004\172\000\000\000\000\004\133\006)\006\002\006\003\004\196\003\227\000\000\000\000\000\000\003\228\003\127\000\000\002\165\006)\006\002\006\003\004\015\000\000\000\000\000\000\000\000\000\000\004\155\006\004\003\201\001\232\000\000\003\230\003\225\003\199\000\000\003\218\003\202\003\231\000\000\002n\004\135\0005\000\000\000\000\007\153\000\000\002\155\000\000\000\000\000\000\007\004\003\215\001&\000\000\000v\004\140\004\131\000\000\006\004\003E\000\183\004\154\004\156\000\127\003\216\000\000\001\232\0004\000\000\000\000\003\199\002\249\003\218\000\000\000\000\000\000\000\000\000\000\005=\000\000\001\n\007\130\000\000\005\152\006)\006\002\006\003\000\000\005H\000\000\001&\000v\001\238\000\000\001\247\000\000\003E\004\162\004\204\003\127\000\127\000\000\000\000\006\004\000\000\0004\004\142\000\000\004\159\005?\0004\004\155\004\164\003\201\002\165\006\004\004\172\003\225\000\000\004\133\000\000\003\202\000\000\004\196\003\227\007\002\000\000\0004\003\228\0004\0004\000\000\000\000\000\000\0008\004\015\003\127\002n\000M\000\000\000\000\004\131\000\170\000\000\002\155\000\000\003\230\000\171\004\155\0005\003\201\000\000\003\231\000\000\003\225\004\135\000\000\000\000\003\202\006)\006\002\006\003\007&\000\000\000\000\001\n\003\215\001&\007z\000\000\004\140\007+\000\000\005H\000\000\000\183\000\000\004\156\004\131\003\216\000\000\000M\006\004\000\000\000\000\000\170\000\000\0005\001&\000\000\000\178\000\000\0005\005=\000\000\000\000\006)\006\002\006\003\000\000\0074\000\000\001\n\000\000\004\133\006)\006\002\006\003\000\000\0005\000\000\0005\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\004\142\000\000\004\159\005?\000\172\000\000\004\164\000\000\000\000\002\142\004\172\000\000\000\173\006)\006\002\006\003\000\000\004\196\003\227\004\135\004\133\0008\003\228\000M\000\000\000\000\000\000\000\169\002K\004\015\003\215\000\000\000\000\000\000\004\140\000\000\006\004\000\000\000\000\000\183\003\230\004\156\000N\003\216\000\000\001\232\003\231\000\172\000\000\003\199\000\000\003\218\000\000\000\000\000\000\000\173\004\135\005=\000\182\0008\000\000\001&\000\000\000\000\0008\000\000\000\000\003\215\000\000\000\000\000v\004\140\000\000\006\004\000\000\003E\000\183\004\154\004\156\000\127\003\216\0008\006\004\0008\0008\004\142\000\000\004\159\005?\000\000\000\000\004\164\000\000\000\000\004\141\004\172\000\000\000v\000\000\000\000\000\000\000\182\004\196\003\227\000\000\000N\000\127\003\228\000\000\000\000\000\172\006\004\000\000\000\000\004\015\003\127\000\000\002\137\001E\000\000\000\000\000\000\004\142\000\000\004\205\003\230\004\206\004\155\004\164\003\201\000\000\003\231\004\172\003\225\000\000\000\000\002\238\003\202\000\000\004\196\003\227\001\232\000\000\000\000\003\228\003\199\001&\003\218\000\183\000M\000\000\004\015\000\184\000\170\000\000\003#\007\177\004\131\000\180\000\000\003%\000\000\003\230\000\000\000\182\000\000\000v\000\000\003\231\000\000\000\000\003E\004\162\004\204\000\000\000\127\000\000\003\204\006\205\003\213\004*\001\n\000\000\001&\007\136\000\000\000\000\000\185\000\000\005H\002\241\000\183\000v\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\001\n\006\208\000\000\003\127\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\191\004\133\000\000\000\000\004\155\000\000\003\201\000\000\000\000\001v\003\225\000\185\000N\000\000\003\202\000\000\000\000\000\172\000\000\000\000\000\192\000\000\000\000\000\000\006\210\000\173\000\000\000\000\006\213\006\002\006\003\000v\000\000\000\000\004\131\000\183\000\000\004\135\000\216\000\184\000\127\000\000\000\000\000\187\000\000\000\000\000\000\001\232\003\215\000\222\005X\003\199\004\140\003\218\000\000\000\000\000\000\000\183\001\n\004\156\000\218\003\216\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\002\238\000\182\000v\000\000\000\185\005=\000\000\003E\000\000\004\204\000\000\000\127\000\000\006\229\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\004\133\000\000\000v\000\000\000\000\000\000\004\142\000\000\004\159\005?\000\000\000\127\004\164\000\000\000\000\000\000\004\172\000\000\000\000\000\000\003\127\000\000\000\000\004\196\003\227\000\000\000\000\002\241\003\228\006\004\006\232\000\000\004\155\000\000\003\201\004\015\004\135\000\000\003\225\000\000\002\127\002\238\003\202\002\128\000\000\001\n\003\230\003\215\000\000\000\000\001\029\004\140\003\231\000\000\002\242\000\000\000\183\000\000\004\156\001\232\003\216\000\000\004\131\003\199\000\183\003\218\000\000\001&\000\184\000\000\000\000\000\000\000\000\000\000\004\141\000\000\000\000\004\208\000\000\000\000\000\000\000\000\000\000\002\245\000v\002\246\001\n\000\000\000\000\003E\000\000\004\154\000\000\000\127\001&\002\241\000\000\000\000\000\000\000\000\000\000\000\000\004\142\000\185\004\205\000\000\004\206\000\000\004\164\000v\000\000\000\000\004\172\001\n\003E\000\000\000\000\000\000\000\127\004\196\003\227\000\000\002\242\000\000\003\228\004\133\000\000\000\000\000\000\003\127\000\186\004\015\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\004\155\003\230\003\201\000\000\002\217\000\000\003\225\003\231\001\004\000\000\003\202\000\000\000\000\003\127\000\000\000\000\000\000\000\000\000\189\000\000\004\135\000\000\001&\000\000\000\000\002m\000\000\000\000\001\232\000\000\004\131\003\215\001\233\000\000\000\000\004\140\001\234\000\000\000\000\000\000\000\183\000v\004\156\001\232\003\216\000\000\000\000\003\199\002\222\003\218\000\127\000\000\002\127\000\000\001\n\002\128\000\000\000\000\005Z\000\000\000\000\004\153\001\029\000\000\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\003E\000\000\004\154\000\000\000\127\000\000\001\n\002\238\000\000\000\000\000\000\000\000\000\000\004\142\000\000\004\205\000\000\005\\\000\000\004\164\004\133\000\000\002\245\004\172\002\253\000\000\000\000\000v\000\000\000\000\004\196\003\227\000\000\001&\000\000\003\228\000\127\001\252\000\000\000\000\003\127\001\235\004\015\000\000\000\000\000\000\006\205\002\127\000\000\001\236\002\128\000\000\004\155\003\230\003\201\000\000\004\135\001\029\003\225\003\231\000v\002\241\003\202\000\000\000\000\000\000\001\232\003\215\000\000\000\127\003\199\004\140\003\218\000\000\001&\000\000\000\183\0078\004\156\001\n\003\216\000\000\004\131\000\000\004\163\000\000\000\000\000\000\002\242\000\000\002\245\000v\003J\000M\004\157\001\254\003E\000\170\004\154\000\000\000\127\001&\000\171\004\156\000\000\000\000\001\n\000\000\000\000\000\000\000\000\006\210\000\000\000\000\000\000\006\213\006\002\006\003\000\000\002{\000\000\000\000\004\142\000\000\004\159\004\160\002\133\000\000\004\164\000\000\001\255\000\000\004\172\000\000\000v\000\000\003\127\000\000\001\n\004\196\003\227\000\000\000\000\000\127\003\228\004\133\000\000\002~\004\155\005\191\003\201\004\015\000\000\004\164\003\225\000\000\000\000\004\172\003\202\000\000\000\000\002\001\003\230\000\000\004\196\000\000\000\000\000\000\003\231\000\000\007:\001\n\000\000\000\000\000\000\000N\000\000\001\249\004\131\002&\000\172\004\135\000\000\001&\000\000\000\000\000\183\000\000\000\173\000\000\001\250\001\232\003\215\000\000\000\000\003\199\004\140\003\218\000\000\000\000\000\000\000\183\001\n\004\156\000\000\003\216\000\000\000\000\001&\000\000\000\000\000\000\000\000\006\004\007=\000\000\000v\000\000\000\000\004\157\000\000\003E\000\000\004\154\000\000\000\127\002{\002\127\000\000\002\004\002\128\000\000\000\000\002\133\000\182\000\000\000\000\001\029\000\000\000\000\000\000\004\133\000\000\000\000\000\000\001\n\000\000\004\142\000\000\004\159\004\160\000\000\000\000\004\164\002~\000\000\002\006\004\172\000\000\000\000\002\134\003\127\000\000\000\000\004\196\003\227\000\000\000\000\000\000\003\228\002\245\000\000\003o\004\155\000\000\003\201\004\015\004\135\000\000\003\225\002\007\001&\000\000\003\202\003e\000\000\002\127\003\230\003\215\002\128\000\000\000\000\004\140\003\231\000\000\000\000\001\029\000\183\000\000\004\156\001\232\003\216\000\000\004\131\003\199\000v\003\218\000\000\001&\000\000\000\000\000\000\000\000\000\000\000\127\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000v\000\000\001\n\000\184\002\217\003E\000\000\004\154\000\000\000\127\000\000\000\000\000\000\000\000\000\000\001&\000\000\000\000\004\142\000\000\004\159\004\160\000\000\000\000\004\164\000\000\000\000\000\000\004\172\000\000\000\000\000\000\000\000\000\000\000\000\004\196\003\227\000\000\000\185\000\000\003\228\004\133\002\134\000\000\000\000\003\127\000\000\004\015\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\155\003\230\003\201\000\000\000\000\000\000\003\225\003\231\001\232\004D\003\202\002\127\001\233\000\191\002\128\000\000\001\234\007\161\000\000\000\000\004\135\001\029\001&\000\000\000\000\000\000\000\000\000\000\001\232\000\000\004\131\003\215\001\233\000\194\001\n\004\140\001\234\000\000\000\000\000\000\000\183\000\000\004\156\001\232\003\216\000\000\000\000\003\199\000\000\003\218\005\030\000\000\000\000\000\000\001\n\000M\000\000\000\000\005\023\000\170\000\000\000\000\000\000\000\000\000\171\001&\000\000\000\000\000v\000\000\000\000\000\000\000\000\003E\000\000\004\154\000\000\000\127\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\004\142\000\000\004\159\005\025\001\252\000\127\004\164\004\133\001\235\000\000\004\172\000\000\000\000\000\000\000\000\000\000\001\236\004\196\003\227\000\000\000\000\000\000\003\228\000\000\001\252\000\000\000\000\003\127\001\235\004\015\000\000\000\000\000\000\000\000\000\000\000\000\001\236\000\000\000\000\004\155\003\230\003\201\000\000\004\135\000\000\003\225\003\231\0029\000\000\003\202\000\000\000N\000\000\001\232\003\215\000\000\000\172\003\199\004\140\003\218\000\000\001&\001\254\000\183\000\173\004\156\000\000\003\216\000\000\004\131\000\000\000\000\000\000\005\022\000\000\000\000\000\000\000\000\000v\000\000\000M\005\023\001\254\003E\000\170\004\154\000\000\000\127\002{\000\180\000\000\000\000\000\000\001\n\000\000\002\133\007\162\001\255\000\000\007\163\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\n\000\000\004\142\000\182\004\159\005\025\000\000\000\000\004\164\002~\001\255\000\000\004\172\000M\000\000\000\000\003\127\000\170\000\000\004\196\003\227\002\001\000\178\000\000\003\228\004\133\000\000\000\000\004\155\000\000\003\201\004\015\000\000\007\166\003\225\000\000\000\000\001\249\003\202\002)\000\000\002\001\003\230\001&\000\000\000\000\000\183\000\000\003\231\000\000\001\250\000\000\000\000\000\000\000\000\000N\000\000\001\249\004\131\002\003\000\172\004\135\000\000\001&\000\000\000\000\000\183\000\000\000\173\000\000\001\250\001\232\003\215\000\000\000\000\003\199\004\140\003\218\000\000\000\000\002,\000\183\001\n\004\156\000\000\003\216\000\000\000M\000\000\002\004\005*\000\169\002J\000\183\000\000\000N\000v\000\184\000\000\005+\000\172\003E\000\000\004\154\000\000\000\127\000\000\000\000\000\173\002\004\000\000\000\000\000\000\000\000\000\182\000\000\002\006\000\000\000\000\000\000\000\000\004\133\002\134\000\000\000\000\000\000\000\000\004\142\000\000\004\159\005-\000\000\000\185\004\164\000\000\000\000\002\006\004\172\000\000\000\000\002\007\003\127\000\000\000\000\004\196\003\227\004\179\000\000\002\127\003\228\000\000\002\128\000\000\004\155\000\182\003\201\004\015\004\135\001\029\003\225\002\007\000\000\000\000\003\202\002G\000\000\000\000\003\230\003\215\000N\000\000\000\000\004\140\003\231\000\172\000\000\000\000\000\183\000\000\004\156\001\232\003\216\001E\004\131\003\199\000v\003\218\005(\001&\000\000\003E\000\000\000\000\000\000\000\127\005\023\000\000\000\000\000\000\000\000\000\000\000\000\001&\000\000\000\183\000v\000\000\001\n\000\184\000\000\003E\000\000\004\154\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\142\000\000\004\159\005\025\000\000\000\182\004\164\003\127\000\000\000\000\004\172\000\000\000\000\000\000\000\000\000\000\000\000\004\196\003\227\002m\000\185\000\183\003\228\004\133\000\000\000\184\000\000\003\127\000\000\004\015\000\000\000M\000\000\000\000\000\000\000\169\002I\000\000\000\000\004\155\003\230\003\201\000\000\000\000\000\000\003\225\003\231\000\186\000\000\003\202\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\003\237\004\135\000\185\001&\000\000\000\000\000\000\000\000\001\007\000\000\000\000\004\131\003\215\000\000\000\000\001\n\004\140\000\000\000\189\000\000\000\000\000\183\000\000\004\156\000\000\003\216\000\000\001\232\000\000\000\216\0050\003\199\000\000\003\218\000\187\001\n\000\000\000\183\000\000\005+\000\222\000\184\000\000\005<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000v\000\000\000\000\000N\000\000\003E\000\189\004\154\000\172\000\127\000\000\000\000\000\000\000\000\000\000\004\142\001E\004\159\005-\000\000\000\000\004\164\004\133\000\000\000\185\004\172\000\000\000\000\000\000\000\000\000M\000\000\004\196\003\227\000\170\000\000\000\000\003\228\000\000\000\178\000\000\000\000\000\000\000\000\004\015\003\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\000\000\004\155\004\135\003\201\004\156\003\231\000\182\003\225\000\000\000\000\000\000\003\202\000\000\003\215\000\000\000\000\000\000\004\140\000\000\001\232\001&\000\000\000\183\003\199\004\156\003\218\003\216\000\000\000\000\000\000\000\000\004\131\000\000\000\000\000\000\000\000\007~\000\000\000\000\000\000\005=\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\003E\005\193\004\154\000\000\000\127\004\164\001\n\000N\000\000\004\172\000\000\000\000\000\172\000\000\005A\000\214\004\196\000\000\000\000\004\142\000\173\004\159\005?\000\000\000\000\004\164\000v\000\000\000\000\004\172\000\000\000\000\000\000\000\000\000\000\000\127\004\196\003\227\000\000\000M\003\127\003\228\000\000\000\169\002A\004\133\000\000\000\183\004\015\000\000\000\000\000\184\004\155\000\000\003\201\000\000\000\000\000\000\003\225\003\230\001&\000\000\003\202\000\000\000\000\003\231\000\182\000\000\000\000\000\000\001\232\000\000\000\000\000\000\003\199\000\000\003\218\000\000\000\000\000\000\001&\004\135\004\131\000\000\000\000\000\000\000\185\007\138\000\000\000\000\000M\000\000\003\215\000\000\000\170\000v\004\140\001\011\000\000\000\171\003E\000\183\004\154\004\156\000\127\003\216\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002{\005=\000\000\000N\000\000\000\000\000\000\002\133\000\172\000\000\000\000\000\000\000\000\000M\000\000\000\000\001E\000\169\001D\001\n\000\000\000\000\003\127\000\000\000\000\000\000\000\000\004\133\002~\004\142\000\000\004\159\005?\000\000\004\155\004\164\003\201\000\000\000\183\004\172\003\225\000\000\000\184\000\000\003\202\000\000\004\196\003\227\000\000\000\000\000\000\003\228\000\000\000\000\000N\000\000\000\000\000\000\004\015\000\172\000\000\000\000\000\182\004\135\004\131\000\000\000\000\000\173\000\000\003\230\001\015\000\000\000\000\000\000\003\215\003\231\000\000\000\185\004\140\000\000\001\232\000\000\000\000\000\183\003\199\004\156\003\218\003\216\001\n\000\000\001&\000\000\000\000\000\000\000\000\000N\000\000\007\141\000\000\000\000\000\172\007\127\000\000\000\000\000\216\000v\000\000\000\000\001E\000\187\003E\000\000\004\154\000\182\000\127\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\004\133\000\000\004\142\000\000\004\159\007\129\000\189\000\000\004\164\000\000\000\000\000M\004\172\000\000\002\134\000\169\001P\001+\000\000\004\196\003\227\000\000\000\000\003\127\003\228\000\183\000\000\000\182\000\000\000\184\000\000\004\015\000\000\000\000\000\000\004\155\004\135\003\201\004\238\000\000\002\127\003\225\003\230\002\128\000\000\003\202\000\000\003\215\003\231\000\000\001\029\004\140\000\000\000M\000\000\000\000\000\183\003\199\004\156\003\218\003\216\000\000\000v\001&\000\185\004\131\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\007\127\000M\000\183\000\000\000v\000\170\000\184\000\000\000\000\004/\000\171\000\000\000\000\000\127\000\000\001\n\000\000\000\000\000\000\000N\001&\000\000\000\000\000\000\000\172\000\000\000\000\002\238\004\142\000\000\004\159\007\129\001E\000\000\004\164\000\000\000\000\000\000\004\172\000\000\000\000\000\185\005j\000\183\000\000\004\196\003\227\000\184\000\000\004V\003\228\000\000\000\000\000\000\004\133\000\000\000M\004\015\000\000\000\000\000\170\004\\\000\000\003\201\000\000\000\171\000\000\003\225\003\230\000\000\000\000\003\202\000\000\000\191\003\231\000\000\000\000\000\000\000\182\000\000\000\000\002\241\000\185\000N\000\000\000\000\000\000\000\000\000\172\001&\004\135\005m\000\000\000\196\000\000\005o\000\173\000\000\000\000\001\n\000\000\003\215\000\000\000\000\000\000\004\140\000\000\001\232\002\242\000\000\000\183\003\199\004\156\003\218\003\216\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\007\127\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\003E\000N\005\173\000\000\000\127\000\182\000\172\000\000\000\000\005x\000\000\000\000\000\000\004\n\000\173\000\000\001\r\000\000\000\000\004\142\000\000\004\159\007\129\000\000\000\000\004\164\000\000\000\000\000\000\004\172\000\000\000\183\000\000\000\000\000\000\000\184\004\196\003\227\000\000\000\000\003\127\003\228\000\000\000\000\000\000\000\000\000\000\000\000\004\015\000\000\000\000\001\232\004\155\000\000\003\201\003\199\000\000\003\218\003\225\003\230\000\182\000\000\003\202\000\000\003\215\003\231\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\183\000M\004\222\000v\003\216\000\169\001\218\001&\003E\004\131\005\173\000\000\000\127\000\000\000\000\000\000\000M\000\000\005\r\000\000\000\170\000\000\000\183\000\000\000\000\000\178\000\184\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000\000\000\000\000\000\002\127\000\000\000\000\002\128\000v\000\000\000\000\000\000\000\000\000\000\001\029\003\127\000\000\000\127\000\000\004\223\000\000\000\000\000\000\005z\000\000\000\000\000\000\004\155\000\185\003\201\004\249\003\227\000\000\003\225\000\000\003\228\000M\003\202\000\000\004\133\000\169\001\228\004\015\000\000\000\183\000\000\000\000\002\245\000\184\004\189\000N\000\000\000\000\003\230\000\000\000\172\000\000\004\131\001&\003\231\000\191\000\000\001\232\001E\000\000\000N\003\199\000\000\003\218\005{\000\172\000\000\004\016\000\214\001&\004\135\005\174\000\000\000\173\000\000\000\198\001\n\000\000\000\185\000\000\000\000\003\215\000v\000\000\000\000\004\140\000\000\003E\000\000\005\173\000\183\000\127\004\156\000\000\003\216\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\182\000\178\000\000\000\000\004\141\000\000\000\191\000\000\000\000\000N\001\n\004\133\000\000\007S\000\172\000\182\000\000\000\000\000\000\000\000\000\000\000\000\001E\003\127\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\004\142\000\000\005\177\004\155\000\000\003\201\004\164\000\000\000\000\003\225\004\172\000\000\000\000\003\202\000\000\004\135\005\176\004\196\003\227\000\000\000\000\000\000\003\228\000\000\000\000\000\000\003\215\000\000\000\000\004\015\004\140\000\000\000\000\004\131\000\000\000\183\000\182\004\156\000\000\003\216\003\230\000\000\000N\000\000\000\000\000\000\003\231\000\172\000\000\000\000\000\214\000\000\000\000\004\141\000\000\000\173\000\000\001\n\000\183\000\000\000\000\001&\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000M\000\000\000\183\000\000\000\170\000\000\000\184\000\000\000\000\000\171\004\142\000\000\005\177\000\000\000\000\000\000\004\164\000\000\000\000\000\000\004\172\000\000\000\000\000\000\000\000\004\133\000\185\004\196\003\227\000\000\000\182\000\000\003\228\000\000\0016\000\000\000\000\000\000\000\000\004\015\000\000\000\185\000v\000\000\000M\000\000\000\000\000\000\000\170\000\000\003\230\000\127\000\000\000\178\000\000\000\183\003\231\000\000\002U\000\184\000\000\004\135\005\179\000\000\000\000\001\029\000\000\000\000\000\216\000v\000\000\001&\003\215\000\187\004/\000\000\004\140\000\000\000\127\000\224\000\000\000\183\000N\004\156\000\000\003\216\000\000\000\172\000\000\000M\000\218\000\000\000\000\000\170\000\185\000\173\000\000\000\189\000\171\004\141\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\004V\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\004\\\004\142\000\000\005\177\000\000\000\172\000\000\004\164\000\214\002\241\000M\004\172\000\000\000\173\003\199\000\182\003\218\000\000\004\196\003\227\000\000\000\000\000\000\003\228\000\000\000\000\007T\001\n\000\000\000\000\004\015\004]\000\000\000\185\004\216\000v\002\242\000\000\000\000\000\000\004/\003\230\000\000\000\000\000\127\000N\000\000\003\231\000\000\000\000\000\172\000M\000\000\000\000\001\n\003\199\000\000\003\218\000\173\000\182\000\216\000\000\001&\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\005}\000\000\000\000\000v\000\000\000\000\000\000\004V\004/\000\218\000\000\000\000\000\127\000\000\000\000\000\000\000\189\000\000\000\000\004\\\000\000\003\201\000\000\000\000\000\000\003\225\000\000\000\000\000\000\003\202\000\000\000\182\000\183\000\000\000\000\000\000\000\184\000\000\000v\000\000\000\000\005l\000\000\000\000\000\000\000\000\000\000\000\127\004V\005m\000\000\000\000\000\000\005o\000\000\000\000\000\000\000\000\000\000\000\000\004\\\000\000\003\201\000\000\000\000\000\000\003\225\000\000\000\000\000\000\003\202\000\185\000\000\001\n\000\000\000\000\000\183\000\000\004\222\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005m\000\000\000M\001\232\005o\000\000\003\199\001\233\003\218\000\000\000\000\001\234\002\127\000\191\000\000\002\128\000\000\000\000\000\223\000\000\000\000\000\000\001\029\000\000\001\n\000\185\000\000\000v\000\000\000\000\000\000\000\183\004/\000\202\000\000\000\184\000\127\000\000\004\223\000\000\000\000\002\241\004\231\000\000\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\000\216\000\000\000\000\002\244\000\000\000\187\000\000\001\n\000\000\000\000\000\000\000\224\000\000\005q\001&\000M\002\242\003\215\000\185\000\170\004V\000\000\000\218\000\000\000\178\000\000\000\183\000\000\004\222\000\189\003\216\000\000\004\\\001\252\003\201\000\000\000\000\001\235\003\225\000\000\000v\001&\003\202\000\000\004\141\001\236\000\000\000\000\000\000\000\127\000\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\000\000\000\000\000\000\005m\000\000\000\000\000\000\005o\000\183\000\000\004\222\000\204\003\216\000\000\000\000\000\000\000\000\002+\000\000\004\223\000\000\000\000\000\000\004\231\000\000\000\000\004\141\001\n\000\000\000\000\004\249\003\227\001\254\000\000\000\000\003\228\000\000\000\000\000N\000\000\000\000\000\000\004\015\000\172\000\000\000\000\000\214\000\000\000\000\000\000\001\232\000\173\000\000\003\230\003\199\000\000\003\218\000\000\000\000\003\231\004\223\000M\000\000\000\000\004\231\000\170\000\000\001\255\000\000\000\000\000\178\004\249\003\227\000\000\001&\000\000\003\228\000M\000\000\000\000\000\000\000\170\005\000\004\015\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\001\n\000\000\003\230\000\000\002\127\000\182\002\001\002\128\003\231\000\000\000v\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\127\000\000\003\215\001\249\001&\002)\000\000\000\000\000\000\000\000\000\000\000\183\000\183\004\222\000\000\003\216\001\250\002Q\000\000\001\r\000\000\001\252\000\000\003\201\000\000\000\000\000\000\003\225\002\243\004\141\000\000\003\202\000N\000\000\000\000\000\000\000\000\000\172\000\000\001&\000\214\000\000\000\000\000\000\000\000\000\173\002,\000\000\000N\000\000\000\000\004\131\000\000\000\172\000\000\002\004\000\214\000\000\000\000\000\000\000\000\000\173\000\000\004\223\000M\000\000\000\000\004\231\001T\000\000\000\000\001`\000\000\000\000\004\249\003\227\000\183\000\000\000\000\003\228\000\184\000\000\002\006\000\000\000\000\000\000\004\015\000\000\000\000\000v\000\000\000\182\000\000\000\000\000\000\000\000\000\000\003\230\000\127\000\000\000\000\000\000\001\n\003\231\000\000\005\011\002\007\000\182\001\015\000\000\004\n\000\000\000\000\000\000\004\133\000\185\000\000\000\000\001&\000\000\000\000\000\000\001\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\000\000\000\000\000\000\001\011\001\029\001\r\000\000\000\216\000\000\000\000\000\000\000N\000\187\000\000\001V\004\135\000\000\000\000\000\224\000\000\000M\000\000\001W\000\000\001T\000\000\003\215\001`\000\000\000\218\004\140\000\000\000\000\000\000\000\000\000\183\000\189\000\000\000\000\003\216\000\000\000\000\000\000\000\000\000\000\000v\000\183\002S\001&\000\000\000\184\000\000\000\000\005\r\000\127\000\000\000\000\001\155\000\000\000\000\000\000\000\000\000\183\000\000\000\000\001\n\000\184\000M\000\000\000\000\001h\000\170\000\000\000\000\000\000\000\000\000\180\000\000\001\015\000\000\000\000\004\142\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000\000\003\227\000\000\000\185\000N\003\228\000M\001V\000\000\000\000\001T\000\000\004\015\001`\000\216\001W\000\000\000\000\000\000\000\187\001\026\000\000\000\000\003\230\000M\000\224\000\000\001\029\000\170\003\231\000\216\000v\000\000\000\171\000\000\000\187\000\218\000\000\005\014\000\000\000\127\000\224\004\016\000\189\000\000\000\000\000\000\000\000\000\000\000\000\001\155\000N\000\218\000\000\001\187\000\000\000\172\000\000\001\n\000\189\000\000\000M\000\183\001h\000\173\001T\001i\000\000\001`\000\000\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\000\000\000v\000\000\000N\000\000\000\000\001V\001\156\002E\000\000\000\127\000\000\000\000\000\000\001W\000\000\000\000\000\000\000M\000M\000\000\000N\000\170\000\170\000\000\000\182\000\172\000\171\000\178\000\000\000\000\001j\000\000\001k\000\173\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001l\000\000\000\000\000\000\001m\000\000\000\000\001\155\000\000\000\000\000\000\001n\000\000\000\000\000M\001\n\000N\000\000\001T\001V\001h\001`\001o\000\000\000\000\000\000\000\183\001W\001p\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000v\000\000\000\000\001&\001\147\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\156\001\157\000N\000N\000\000\000\000\001\155\000\172\000\172\000\000\000\000\000\214\000\000\000\000\001\n\000\173\000\173\000\183\000\000\001h\000\000\000\184\000\000\000\000\001j\000\000\001k\000\000\000\000\000\000\000\000\000\000\000\000\001\029\002f\001l\000\000\000\000\000\000\001m\000N\000\000\000\000\001V\000\000\000\000\001n\000\000\000\000\000\000\000\000\001W\000\000\000\000\000\183\000\000\000\185\001o\001i\000\000\000\000\000\182\000\182\001p\000M\000\000\000\000\000\000\001T\000\000\000\000\001`\000\183\000\000\000\000\000\000\000\184\001&\001\147\000\000\000\000\000\000\000\000\000\186\001\156\001\240\001\155\000\000\000\187\000v\000\000\000\000\000\000\000\000\001\n\000\000\000\000\000\000\000\127\001h\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001j\000\183\001k\000\185\000\189\001i\000\000\000\000\000\000\001\029\000\000\001l\000\000\000\000\000\000\001m\000\000\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\000\000\001\156\003Y\001o\000\000\002W\000\000\000\000\000N\001p\000\000\001V\000\000\000\183\000\183\000\000\000\000\000\184\000\184\001W\000\000\000\000\000\000\001&\001\147\001j\000\000\001k\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\232\001l\000\000\000\000\001\233\001m\000M\000\000\001\234\000\000\001T\000\223\001n\001`\000\000\000\000\000\183\000\185\000\185\001\155\001i\000\000\000\000\001o\000\000\000\000\000\000\001\n\000\000\001p\000\000\000v\001h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\001&\001\147\000\216\001\156\003\156\000\000\000\191\000\187\000\000\000\000\000M\000\000\000\000\000\224\001T\000\000\000\000\001`\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\206\001j\000\000\001k\000\000\000\189\000\000\000\000\000\000\000v\001\029\000\000\001l\001\252\000\000\000\000\001m\001\235\000\127\000N\000\000\000\000\001V\001n\000\000\001\236\000\000\000\000\000\000\000\000\001W\000\000\000\000\000\000\001o\000\000\000\000\000\000\000\000\000\000\001p\000\000\000M\000\000\000\000\000\000\001T\000\000\000\000\001`\000\000\000\000\000\000\000\183\001&\001\147\001\253\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\155\000N\000v\000\000\001V\000\000\001\254\000\000\001\n\000\000\000\000\000\127\001W\001h\000\000\000\000\000\000\000\000\001\156\003\206\000\000\000\000\000\000\000\000\000M\000\000\000\000\000\000\001T\000\000\000\000\001`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\001j\000\000\001k\000\000\000\000\001\155\000\000\000v\000\000\001\029\000\000\001l\000\000\001\n\000\000\001m\000\127\000N\001h\000\000\001V\000\000\001n\000\000\000\000\000\000\000\000\000\000\001W\000\000\002\001\000\000\000\000\001o\000\000\000\000\000\000\000\000\000\000\001p\000\000\000\000\000\000\000\000\000\000\000\000\001\249\002?\002)\000\000\000\000\000\000\000\000\001&\001\147\000\183\000\000\000\000\000\000\001\250\000\000\000\183\000\000\001\155\000N\001i\000\000\001V\000M\000\000\000M\001\n\000\170\000\000\000\170\001W\001h\000\178\000\000\000\178\000\000\000\000\000\000\0024\000\000\000\000\000\000\000\000\000\000\002,\000\000\001\156\0048\000v\000\000\000v\000\000\000\000\002\004\000\000\000\000\000\000\000\127\000\000\000\127\000\000\000\000\000\000\000\183\000\000\001\155\000\000\001i\000\000\000\000\001j\000\000\001k\001\n\000\000\000\000\000\000\000\000\001h\001\029\002\006\001l\000\000\000\000\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\001n\001\156\004\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001o\002\007\000N\000\000\000N\000\000\001p\000\172\000\000\000\172\000\214\000\000\000\214\000\000\001j\000\173\001k\000\173\000\183\000\000\001&\001\147\001i\001\029\000\000\001l\000\000\000\000\000\000\001m\000\000\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\000\000\000\000\000\000\001o\001\156\004\166\000M\000\000\000\000\001p\000\170\000\000\001\n\000\000\001\n\000\178\000\000\000\182\000\000\000\182\000\000\000\183\000\000\001&\001\147\001i\000\000\000\000\001j\000\000\001k\000v\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001l\000\127\000\000\000\000\001m\000\000\000\000\000\000\000\000\000\000\000M\001n\001\156\004\225\000\170\000\000\000\000\000\000\000\000\000\178\000\000\000\000\001o\000\000\000\000\000\000\000\000\000\000\001p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001j\000\000\001k\000\000\000\000\000\000\001&\001\147\000\000\001\029\000\000\001l\000\000\000N\000\000\001m\000\000\000\000\000\172\000\000\000\000\000\214\001n\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000M\000\183\001o\000\183\000\170\000\184\000\000\000\184\001p\000\171\000\000\000\000\000M\000\000\000\000\000\000\001T\000\000\000\000\001`\000\000\000\000\001&\001\147\000M\000N\000\000\000\000\001T\000\000\000\172\001`\000\000\0016\000\000\001.\001\n\000v\000\173\000\000\000\185\000\182\000\185\000M\000\000\000\000\000\127\000\170\000\000\000v\000\000\000\000\000\171\000\000\000\000\000\000\000\000\002L\000\127\0010\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\216\000\000\000\216\000\000\000\000\000\187\000\000\000\187\000\000\000\000\000\000\000\224\000M\000\224\000\000\000N\001T\000\182\000\000\001`\000\172\000\000\000\218\000\000\000\218\000\000\000\000\000N\000\173\000\189\001V\000\189\000\000\000\000\000\000\000\000\000\000\000v\001W\000N\000\000\001&\001V\001&\000\000\000\000\000\127\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\173\000\000\001\154\000\182\000\000\000M\000\000\000\000\000\000\001T\001\n\000\000\001`\000\000\000\000\001h\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000N\000\000\0016\001V\001h\000\000\000\000\000v\000\000\000\185\000\000\001W\000\000\000\183\000\000\000\000\000\127\000\184\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\0018\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000M\000\000\001g\000\224\001T\000\000\000\000\001`\000\185\000\000\001\n\000\000\000\000\000\000\000\218\001h\000\000\000\000\000\000\000\000\000N\000\189\000\000\001V\000\000\000v\000\183\000\000\000\000\000\000\000\184\001W\000\000\001&\000\127\000\216\000\000\000\000\000\183\000\000\000\187\000\000\001i\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\183\000\000\000\000\000\000\001i\000\000\000\000\000\218\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\185\001\149\000\000\000\000\000\183\000\000\000\000\000\000\000\184\001\n\000\000\000\000\000\000\000\000\001h\000\000\000\000\000N\000\000\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\001j\001W\001k\000M\000\000\000\191\000\000\000\169\003\143\001\029\000\000\001l\001j\000\183\001k\001m\000\185\001i\000\000\000\000\001\150\001\029\001n\001l\000\000\000\208\000\000\001m\000\000\000\000\000\000\000\000\000\000\001o\001n\000\000\001\153\000M\000\000\001p\000\000\000\170\000\000\000\000\001\n\001o\000\178\000\000\000\191\001h\000\000\001p\000\000\001&\001\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000v\000\000\000\000\001&\001\151\001j\000\210\001k\000M\000\127\000\000\000\000\000\170\000\000\001\029\000\183\001l\000\178\000\000\001i\001m\000\000\000\000\000N\000\000\000\000\000\000\001n\000\172\000\000\000\000\000\000\000\000\000v\000\000\000\000\001E\000\000\001o\000\000\000\000\000\000\000\127\000\000\001p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000M\000N\001&\001\147\000\169\003\191\000\172\000\000\000\000\000\214\000\000\000\000\000M\001j\000\173\001k\000\169\003\195\000\000\000\000\000\000\000\183\001\029\000\000\001l\001i\000\182\000\000\001m\000\000\000\000\000\000\000\000\000\000\000N\001n\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\000M\000M\001o\000\173\000\170\000\170\000\000\000\000\001p\000\178\000\178\001\n\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\000\001&\001\147\000\000\000v\000v\000\000\000\000\000\000\000\000\001j\000\000\001k\000\127\000\127\000\000\000\000\000N\000\000\001\029\000\000\001l\000\172\001\n\000\000\001m\000\000\000\000\000\182\000N\001E\000\000\001n\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\001o\000\000\000\000\000\000\000\000\000\000\001p\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000N\000N\001&\001\147\000\000\000\172\000\172\000\000\000\214\000\214\000\000\000\000\000\000\000\173\000\173\000\182\000\000\001\232\000\000\000\000\000\000\001\233\000\000\000\000\000\183\001\234\000\000\000\182\000\184\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\000M\000M\000\000\000\000\000\170\000\170\000\000\000\000\000\000\000\178\000\178\000\000\001\n\001\n\001\190\000\183\000\000\000\182\000\182\000\184\000\000\000\185\000\000\000\000\000\000\000v\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\127\000\000\000\000\001\192\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\0016\000\216\000\000\000\000\000\000\000\000\000\187\000\185\000\000\000\000\001\252\000\000\000\224\000\000\001\235\000\000\000\183\000\000\000\000\000\000\000\184\000\000\001\236\000\218\002Y\000\000\000\000\000\000\000\183\000\000\000\189\001\029\000\184\000\000\000\216\000N\000N\000\000\000\000\000\187\000\172\000\172\001&\000\214\000\214\000\224\000\000\000\000\000\173\000\173\000\000\000\000\000\000\001\253\000\000\000\185\000\218\000\000\000\000\000\000\000\183\000\183\000\000\000\189\000\184\000\184\000\000\000\185\001\254\000\000\000\000\000\000\000\000\000\000\000\000\001&\000\000\000\000\000\000\001\232\000\000\000\000\000\000\001\233\000\000\000\000\000\000\001\234\000\000\001\n\001\n\000\000\0016\0016\000\182\000\182\000\000\000\000\000\000\000\185\000\185\000\000\000\000\001\255\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_\002c\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\216\000\216\000\000\000\000\000\000\000\187\000\187\000\000\002\001\000\000\000\000\000\224\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\218\001\249\002<\002)\000\000\000\000\000\189\000\189\000\000\000\000\000\183\000\000\001\252\000\000\001\250\000\000\001\235\000\000\001&\001&\000\000\000\000\000\000\000\000\001\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\183\000\000\0024\000\184\000\184\000\000\000\000\001\232\002,\000\000\001\232\001\233\000\000\000\000\001\233\001\234\000\000\002\004\001\234\001\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\232\000\000\0016\003\178\001\233\001\254\000\000\000\000\001\234\000\185\000\185\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\003\180\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\216\000\216\000\000\002\007\001\255\000\187\000\187\000\000\000\000\000\000\000\000\000\224\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\218\001\252\000\000\000\000\001\252\001\235\000\189\000\189\001\235\000\000\000\000\000\000\002\001\001\236\000\000\000\000\001\236\000\000\001&\001&\000\000\000\000\000\000\001\252\000\000\000\000\000\000\001\235\001\249\002:\002)\000\000\000\000\000\000\000\000\001\236\000\000\000\183\000\000\000M\000\000\001\250\000\000\000\170\001\253\000\000\000\000\001\253\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\001\254\000\000\000\000\0024\001\253\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\002\004\001\254\000\000\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\000\000\001\233\000\000\001\255\000\000\001\234\001\255\000\000\000\000\000\000\000\000\000\000\000\000\000M\000\000\000\000\002\006\000\170\000\000\000\000\000\000\000\000\000\178\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\002\001\000\172\000\000\002\001\000\214\000\000\002\007\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\001\249\002'\002)\001\249\004\019\002)\002\001\000\000\000\000\000\183\000M\000\219\000\183\001\250\000\170\000\000\001\250\000\000\000\000\000\178\000\000\000\000\001\249\007\132\002)\000\000\000\000\000\000\000\000\001\252\000\000\000\183\000\000\001\235\000\000\001\250\000\000\0024\000\000\000\182\0024\001\236\000\000\002,\000\000\000N\002,\000\000\000\000\000\000\000\172\000\000\002\004\000\214\000\000\002\004\000\000\000\000\000\173\0024\000\000\000\000\000\000\001\232\000\000\002,\000\000\001\233\000\000\000\000\000\000\001\234\002/\000\000\002\004\000\000\001t\000\000\000\000\002\006\000\000\000\000\002\006\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000M\000\000\000N\000\000\000\170\000\000\000\000\000\172\000\000\000\178\000\214\002\006\000\000\002\007\000\182\000\173\002\007\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\178\000\000\000\000\000\000\001\255\000M\000\000\002\007\000\000\000\170\000\000\000\183\000\000\000\000\000\178\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\252\000\000\000\000\000\000\001\235\000\000\000\182\000\000\002\001\000\000\000\000\000\000\001\236\000\000\000\000\000\000\000\223\000\000\000\000\000\000\000\000\000\000\000\000\000\185\001\249\000\000\002)\000N\000\000\000\000\000\000\000\000\000\172\000\183\000\000\000\214\000\000\001\250\000\000\000\000\000\173\000\000\000\000\0022\000\000\000\000\000N\000\000\000\000\000\183\000\216\000\172\000\000\000\184\000\214\000\187\000\000\000\000\001\254\000\173\000N\000\224\000\000\000\000\000\000\000\172\000\000\002,\000\214\000\000\000\000\000\000\000\218\000\173\000\000\000\000\002\004\000\000\000\000\000\189\000\000\000\223\000\000\000\000\000\000\000\000\000\182\000\000\000\185\000\000\0026\000\000\000\000\001\255\000\000\000M\000\183\000\000\000\000\000\170\000\184\000\000\000\000\002\006\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\000\182\000\187\000\000\000\000\000\000\002\001\000\000\000\224\002\007\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\218\000\000\000\000\001\249\000\000\002)\000M\000\189\000\000\000\000\000\170\000\000\000\183\000\000\000\000\000\178\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000\187\000\000\000\000\003R\000\000\000\000\000\224\000\000\000\000\000\183\000N\000\000\000\000\000\184\000\000\000\172\002,\000\218\000\214\000\000\000\000\000\000\003]\000\173\000\189\002\004\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\0028\000\183\000\000\000\000\000M\000\184\000\000\000\185\000\170\000\000\000\000\002\006\000\000\000\178\000\000\000\000\000\000\000N\000\000\0028\000M\000\000\000\172\000\000\000\170\000\214\000\185\000\000\000\182\000\178\000\173\000\000\000\000\0028\000\216\002\007\000\000\000\000\000\000\000\187\000\185\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\218\000\000\000\187\000\000\000\000\000M\000\000\000\189\000\224\000\170\000\000\000\216\000\000\000\000\000\178\000\000\000\187\000\000\000\000\000\218\000\182\000\000\000\224\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000N\000\000\000\000\000\218\000\000\000\172\000\000\000\000\000\214\000\000\000\189\000\000\000\000\000\173\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\003u\000\000\000\000\000\173\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\003\235\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\182\000\000\000\000\000\172\000\000\0028\000\214\000\000\000\000\000\000\000\000\000\173\000\185\000M\000\000\003}\000\182\000\170\000\000\000\000\000\000\000\183\000\178\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\216\000\000\000\000\000\178\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\0028\000\000\000\000\000\000\000\182\000\000\000\000\000\185\000\218\000N\000\000\000\000\000\000\000\000\000\172\000\189\000\000\000\214\000\000\000\000\000M\000\000\000\173\000\000\000\170\000\000\000\000\000\000\000\000\000\178\000\000\003\132\000\000\000\000\000\216\000\000\000\000\000\183\000\000\000\187\000\000\000\184\000N\000\000\000\000\000\224\000\000\000\172\000\000\000\000\000\214\000\000\000\000\000\183\000\000\000\173\000\218\000\184\000\000\000\000\000\000\000\000\000N\000\189\000\000\000\000\000\000\000\172\000\182\0028\000\214\000\000\000\000\000\000\000\000\000\173\000\185\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\223\000\178\000\000\0044\000\000\000\000\000\000\000\185\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\182\000N\000\216\000\000\000\000\000\000\000\172\000\187\000\000\000\214\000\000\000\000\000\000\000\224\000\173\000\000\000\000\000\000\000\216\000\000\000\182\000\000\000\000\000\187\000\218\0028\000\000\000\000\000\000\000\224\000\000\000\189\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\000\000\000\000M\000\000\000\189\000\000\000\170\000\000\004<\000\000\000\000\000\178\000\000\000\000\000\183\000N\000\216\000\182\000\184\000\000\000\172\000\187\000\000\000\214\000\000\000\000\000\000\000\224\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000M\000\000\000\000\000\218\000\170\000\000\004H\000\000\000\000\000\178\000\189\0028\000\183\000\000\000\000\000M\000\184\000\000\000\185\000\170\000\000\000\000\000\000\000\000\000\178\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\182\000\000\000\000\000\000\000\000\0028\000\216\000\000\000\000\000\000\000N\000\187\000\185\000\000\000\000\000\172\000\000\000\224\000\214\000\000\000\000\000\000\000\000\000\173\000\000\0028\000\000\004T\000\218\000\000\000\000\000\000\000\185\000\183\000\000\000\189\000M\000\184\000\000\000\216\000\170\004_\000\000\000N\000\187\000\178\000\000\000\000\000\172\000\000\000\224\000\214\000\000\000\000\000\000\000\000\000\173\000\000\000N\000\216\000\000\000\218\000\000\000\172\000\187\0028\000\214\000\000\000\189\000\182\000\224\000\173\000\185\000\000\004a\000\000\000\000\000\000\000M\000\000\000\000\000\218\000\170\000\000\004Z\000\000\000\000\000\178\000\189\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\182\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000M\000\000\000\182\000N\000\170\000\000\000\218\0028\000\172\000\178\000\000\000\214\000\000\000\189\000\185\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\183\000N\000\187\000\000\000\184\000\000\000\172\000\000\000\224\000\214\000\000\000M\000\000\000\000\000\173\000\170\000\000\000\000\000\182\000\218\000\178\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\223\000\183\000\000\000\000\000M\000\184\000N\000\185\000\170\000\000\004\170\000\172\000\000\000\178\000\214\000\000\000\183\000\000\000\000\000\173\000\184\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\223\000\216\000\000\000\000\000M\000\000\000\187\000\185\000\170\000\000\000\000\000\000\000\224\000\178\000\000\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\218\000\000\000\000\000\000\000\000\000N\000\000\000\189\000\000\000\182\000\172\000\216\000\000\000\214\004\183\000\000\000\187\000\000\000\173\000\000\000\183\000\000\000\224\000M\000\184\000\000\000\216\000\170\000\000\000\000\000N\000\187\000\178\000\218\000\000\000\172\004\217\000\224\000\214\000\000\000\189\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\000\0028\000\000\000\000\000\189\004\194\000\000\000\000\000\185\000\000\004\219\000\183\000N\000\182\000\000\000\184\000\000\000\172\000\000\000\000\000\214\000\000\000M\000\000\000\000\000\173\000\170\000\000\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\216\000\000\000\000\000\182\000\000\000\187\000\000\004\202\0028\000\000\000\000\000\224\000\000\000\183\000\000\000\185\000M\000\184\000\000\000N\000\170\000\000\000\218\000\000\000\172\000\171\000\000\000\214\000\000\000\189\000\000\000\000\000\173\000\000\000M\000\000\000\182\000\000\000\170\000\000\000\000\000\000\000\216\000\178\000\000\0028\000\000\000\187\000\000\000\000\000\000\000\000\000\185\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\000\000\183\000N\000\000\000\189\000\184\000\000\000\172\000\000\000\000\000\214\000\182\000\216\000\000\000\000\000\173\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\183\000\000\000M\000\000\000\184\000N\000\170\000\223\000\218\000\000\000\172\000\178\000\000\000\000\000\185\000\189\000\000\000\000\000\173\000\000\000\000\000M\000\000\000N\000\000\000\170\000\000\004\229\000\172\000\000\000\178\000\214\000\223\000\183\000\000\000\182\000\173\000\184\000\000\000\185\000\000\000\216\007\203\000\000\000M\000\000\000\187\000\000\000\170\000\000\000\000\000\000\000\224\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\182\0028\000\216\000\000\000\000\004\242\000\189\000\187\000\185\000\000\000\000\000\183\000\000\000\224\000\000\000\184\000\000\000\000\000\182\000\000\000N\000\000\000\000\000\000\000\218\000\172\000\000\000\000\000\214\000\000\000\000\000\189\000\000\000\173\000\000\000\216\000\000\000\000\000\000\000N\000\187\000\000\000\000\0028\000\172\000\000\000\224\000\214\000\000\000M\000\185\000\000\000\173\000\170\000\000\004\247\000\000\000\218\000\178\000\000\000\000\000\183\000N\000\000\000\189\000\184\000\000\000\172\000\000\000\000\000\214\000\000\000M\000\000\000\000\000\173\000\170\000\216\000\000\000\182\000\000\000\178\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\183\000\000\000\000\0028\000\184\000\000\000\000\000\000\000\182\000\218\000\185\000\000\004\254\000\000\000\000\000\000\000\189\000\000\000\183\000\000\000\000\000\000\000\184\000\000\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\000\000\216\000\000\000\185\000\000\000N\000\187\000\000\000\000\000\000\000\172\000\000\000\224\000\214\0028\000\000\000\000\000\000\000\173\000\000\000M\000\185\000\000\000\218\000\170\000\000\000\000\000\000\000N\000\178\000\189\000\000\000\000\000\172\000\000\000\191\000\214\000\000\000\000\000\000\000\000\000\173\000\000\000\183\000\000\000\000\000\000\000\184\000\216\000\000\000\000\000\000\000\000\000\187\000\000\000\212\000\000\000\000\000\000\000\224\000\000\000\000\000\183\000\000\000\182\000\000\000\184\000\000\000\000\000\000\000\218\000\000\000\000\000\000\000\000\001\017\000\000\000\189\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\183\000\000\000\182\000M\000\184\000\000\000\000\000\170\000\000\007T\000\000\000\000\000\178\000\000\000\000\000\000\000\185\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\216\000\214\000\000\000\000\000\000\000\187\000\173\000\000\001\019\000M\000\000\000\224\000\000\000\170\000\000\000\185\000\000\000\000\000\178\000\216\000\000\000\000\000\218\000M\000\187\000\000\000\000\000\170\000\000\000\189\000\224\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\216\000\000\000\000\000\183\000\000\000\187\000\189\000\184\000\000\000\000\000\182\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\218\000\000\000\172\000\000\000\183\000\214\000\000\000\189\000\184\000\000\000\173\000\000\000\000\001G\000\000\000\000\000\000\000\000\000\000\000M\000\185\000\000\000\000\000\170\000\000\000\000\000\000\000N\000\178\000\000\000\000\000\000\000\172\000\000\000\000\000\214\001\160\000\000\000\000\000\000\000\173\000N\000\000\000\185\000\000\000\000\000\172\000\216\000\000\000\214\000\000\000\000\000\187\000\000\000\173\000\000\000\182\000\000\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\216\000\000\000\000\000\000\000\000\000\187\000\189\000\000\000\183\000\000\000M\000\224\000\184\000\000\000\170\000\000\000\182\000\000\000\000\000\178\000\000\000\000\000\218\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\182\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\214\001\177\000M\000\000\000\000\000\173\000\170\000\000\000\185\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\183\000\000\000\000\000\187\000\184\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\182\000\000\000N\000\000\000\000\000\000\000\218\000\172\000\000\000\000\000\214\000\000\000\000\000\189\000\000\000\173\000\183\000\000\001\199\000\000\000\184\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000N\000\184\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\173\000\000\001\201\000\000\000M\000\000\000\216\000\000\000\170\000\185\000\000\000\187\000\000\000\178\000\000\000\182\001\243\000\224\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\218\000M\000\000\000\000\000\000\000\170\000\000\000\189\000\216\000\000\000\178\000\000\000\000\000\187\000\000\000\000\000\183\000\000\000\182\000\224\000\184\000\000\000\216\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\218\000\000\000\000\000\224\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000M\000\000\000\000\000\218\000\170\000\000\000\000\0039\000\000\000\178\000\189\000\000\000\000\000\000\000\185\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\216\000N\000\000\000\000\000\000\000\187\000\172\000\000\000\000\000\214\000\000\000\224\000M\000\000\000\173\000\000\000\170\000\000\000\000\000\000\000\000\000\178\000\218\000\000\000\000\000\000\000\183\003?\000M\000\189\000\184\000\000\000\170\000\000\000\185\000\182\000\000\000\178\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\003\146\000\000\000\182\000\216\000\000\000\000\000M\000\185\000\187\000\000\000\170\000\000\000\000\000\000\000\224\000\180\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\218\000\000\000\178\000\000\000\000\000\000\000\000\000\189\000\000\000\216\000\000\000N\000\000\000\000\000\187\000\000\000\172\000\182\000\000\000\214\000\224\000\000\000\000\000\000\000\173\000\000\000\000\000N\000\000\000\000\000M\000\218\000\172\000\000\000\170\000\214\000\000\000\000\000\189\000\178\000\173\000\000\000\183\000\000\000\000\000M\000\184\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\183\000\172\000\000\000\182\000\184\000\000\000\000\003\167\000N\000\173\000\000\000\000\000\000\000\172\000\185\000\000\000\214\000\000\000\000\000\182\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\171\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\183\000\216\000\000\000\000\000\184\000N\000\187\000\000\000\000\000\000\000\172\000\000\000\224\000\214\000\000\000\182\000\000\000\000\000\173\000\000\000N\000\000\000\000\000\218\000\000\000\172\000\216\000\182\000\214\000\000\000\189\000\187\003\209\000\173\000\000\000\000\000M\000\224\000M\000\185\000\170\000\000\000\170\000\000\000\000\000\178\000\000\000\178\000\218\000\000\000\000\000\000\000\000\000\183\000\000\000\189\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\216\000\000\000\000\000\183\000\000\000\187\000\000\000\184\000\000\000\000\000\000\000\224\000\000\000\182\000M\000\000\000\000\000\000\000\170\004&\000\000\000\000\000\218\000\178\000\000\000\000\000\185\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\004\128\000\000\000\000\000\000\000\183\000\000\000\000\000\185\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000N\000\216\000N\000\184\000\000\000\172\000\187\000\172\000\214\000\000\000\214\000\000\000\224\000\173\000\000\000\173\000\000\000\216\000\000\000\000\000\000\000\000\000\187\000\218\000\000\000\000\000\185\000\000\000\224\000\000\000\189\005c\000\000\000\000\000\000\000\000\000\183\000\000\000\185\000\218\000\184\000\000\000\000\000\000\000N\000\000\000\189\000\000\000\000\000\172\000\000\000\183\000\214\000\186\000\000\000\184\000\000\000\173\000\187\000\182\000\000\000\182\000\000\000\000\000\000\000\216\000\000\000\000\005\138\000\000\000\187\000\000\001b\000\000\000\000\000\185\000\224\000M\000\000\000\000\000\000\000\170\000\189\005\158\000\000\000\000\000\178\000\218\000\000\000M\000\185\000\000\000\000\000\170\000\189\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\216\000\182\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000M\000\000\000\000\000\216\000\170\000\000\000\000\000\000\000\187\000\180\000\218\000\000\000\000\000\000\000\224\000\000\000\000\000\189\000M\000\000\000M\000\000\000\170\000\000\000\170\000\218\000\000\000\180\000\000\000\180\000\000\000\000\000\189\000\000\000\000\000\183\000\000\000\183\000\000\000\184\000\000\000\184\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\000\000\000\000\000N\000\173\000\000\000\000\000\000\000\172\000\000\000\000\000\214\000\000\005\160\000\000\005\162\000\173\000\000\000\000\000\000\000\185\000\000\000\185\000\000\000\000\000\183\000\000\000\000\000N\000\184\000\000\000\000\000\000\000\172\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\173\000\000\000\180\000\000\000\000\000N\000\216\000N\000\216\000\182\000\172\000\187\000\172\000\187\000\000\000\000\005\168\000\224\000\173\000\224\000\173\000\182\000\000\000\185\000\000\000\000\000\000\000M\000\218\000\000\000\218\000\170\000\000\000\000\000\000\000\189\000\180\000\189\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\182\000\171\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\182\000\000\000\182\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000N\000\000\000\000\000\000\000\189\000\172\000\000\000\000\000\000\000\000\000M\000\000\000\000\000\173\000\170\000\000\000M\000\000\000\000\000\171\000\170\000\000\000\000\000\000\000\183\000\171\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\183\000\000\000\000\000\172\000\184\000\000\000\000\000\000\000\000\000N\000\000\000\173\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\005\185\000\000\000\173\000\182\000\000\000\183\000\000\000\185\000\000\000\184\000\000\000\000\005\199\000\000\000\000\000\000\000\000\000M\000\000\000\185\000\000\000\170\000\000\000\183\000M\000\183\000\171\000\184\000\170\000\184\000\000\000\000\000\000\000\171\000\216\000\000\000N\000\182\000\000\000\187\000\000\000\172\000N\000\000\000\185\000\224\000\216\000\172\000\182\000\173\000\000\000\187\000\000\000\000\000\000\000\173\000\218\000\224\000\000\000\000\000\000\000M\000\185\000\189\000\185\000\170\000\000\000\000\000\218\000\000\000\171\000\186\000\000\000M\000\000\000\189\000\187\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\000\000\186\001d\000\186\000\000\000\183\000\187\000\182\000\187\000\184\000\000\000N\000\189\000\182\000\000\000\000\000\172\000\000\000N\000\000\001f\000\000\003\220\000\172\000\173\000\000\000\000\000\000\000\000\000\000\000\189\000\173\000\189\000\000\000\000\000\000\000M\000\000\000M\000\183\000\170\000\000\000\170\000\184\000\185\000\171\000\000\000\171\000M\000\000\000\183\000\000\000\170\000\000\000\184\000N\000\000\000\171\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\173\000\000\000\182\000\186\000\172\000\000\000\000\000\000\000\187\000\182\000\185\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\003\222\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\189\000\184\000\000\000\183\000\000\000\186\000\000\000\184\000M\000\000\000\187\000\000\000\170\000\000\000\182\000\000\000\000\000\171\000N\000\000\000N\000\191\000\000\000\172\003\224\000\172\000\182\000\000\000\000\000\000\000N\000\173\000\000\000\173\000\189\000\172\000\185\000\000\000\000\000\000\000\000\000\226\000\185\000\173\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000M\000\000\000\171\000\000\000\170\000\000\000\000\000\000\000\183\000\171\000\000\000\000\000\184\000\000\000\000\000\183\000\191\000\000\000\000\000\184\000\000\000\000\000\191\000\000\000\000\000\182\000\000\000\182\000\000\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\228\000\182\000N\000\000\000\171\000\000\000\230\000\172\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\173\000\183\000\000\000\185\000\000\000\184\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\183\000\000\000\000\000\171\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\191\000\172\000M\000N\000\000\000\000\000\170\000\191\000\172\000\173\000\000\000\171\000\185\000\000\000\000\000\000\000\173\000\000\000\182\000\000\000\232\000\000\000\000\000\000\000\185\000\000\000\000\000\234\000M\000\000\000\000\000\000\000\170\000\000\000N\000\000\000\183\000\171\000\183\000\172\000\184\000\000\000\184\000\000\000\191\000\000\000\000\000\173\000\183\000M\000\000\000\000\000\184\000\170\000\000\000\182\000\191\000\000\000\171\000M\000\000\000N\000\182\000\170\000\236\000\000\000\172\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\173\000\185\000\238\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000M\000\185\000\000\000\172\000\170\000\000\000\000\000\182\000\000\000\171\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\183\000\191\000N\000\000\000\184\000\000\000\000\000\172\000\000\000\000\000\000\000\191\000\182\000\000\000\000\000\173\000M\000\000\000\000\000\240\000\170\000\242\000\000\000N\000\000\000\171\000\000\000\000\000\172\000\000\000\000\000\244\000\000\000N\000\000\000\182\000\173\000\183\000\172\000\185\000\000\000\184\000\000\000\000\000\183\000\000\000\173\000\000\000\184\000\000\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\171\000N\000\182\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\173\000\000\000\183\000\185\000\000\000\000\000\184\000\000\000\000\000\182\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\246\000\182\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\183\000\172\000\000\000\000\000\184\000\000\000\191\000\000\000\000\000\173\000\000\000M\000\185\000\191\000\000\000\170\000\000\000\182\000\000\000\000\000\171\000\000\000\000\000\183\000\000\000\000\000\248\000\184\000M\000\000\000N\000\000\000\170\000\250\000\000\000\172\000\000\000\171\000\000\000\185\000\000\000\000\000\000\000\173\000\191\000\000\000\000\000M\000\000\000\183\000\000\000\170\000\000\000\184\000\000\000\182\000\171\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\252\000\000\000\000\000\000\000M\000\000\000\183\000\191\000\170\000\000\000\184\000\000\000\000\000\171\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\182\000\000\000\254\000\000\000N\000\191\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000M\000\000\000\173\000\183\000\170\000\185\000N\000\184\000\000\000\171\001\000\000\172\000\000\000\000\000\000\000\185\000\191\000\000\000\000\000\173\000\000\000\000\000M\000\000\000M\000N\000\170\000\000\000\170\000\000\000\172\000\171\000\000\000\171\000\000\000\000\001\002\000\191\000\173\000\000\000M\000\183\000\185\000\000\000\170\000\184\000N\000\191\000\182\000\171\000\000\000\172\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\173\000\000\000\000\000M\000\000\000\000\000\182\000\170\001x\000\000\000M\000\000\000\171\000\000\000\170\000\191\000\183\000\000\000\000\000\171\000\184\000\185\000\000\000N\000\000\000\182\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\001z\000\173\000\000\000\000\000M\000\000\000\000\000\000\000\170\000\000\000N\000\182\000N\000\171\000\000\000\172\000\000\000\172\000\191\000\000\000\185\000\000\000\000\000\173\000\000\000\173\000M\000\000\000N\000\000\000\170\000\000\000\000\000\172\000\000\000\171\000\000\000\000\001|\000\000\000\000\000\173\000\000\000\000\000\183\000\000\000\000\000\182\000\184\000M\000N\000\000\000\191\000\170\000\000\000\172\000\000\000N\000\171\000\000\000\000\000\183\000\172\000\173\000\000\000\184\000\000\000\000\000\000\000\182\000\173\000\182\001~\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\183\000\000\000\171\000\185\000\184\000\000\000N\000\182\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\185\000\183\000M\000\000\000\000\000\184\000\170\000\000\000N\000\182\000\000\000\171\000\000\000\172\000M\000\191\000\182\000\000\000\170\000\185\000\000\000\173\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\000\000M\000N\000\191\000\000\000\170\001\128\000\172\000\183\000\000\000\171\000\185\000\184\000\000\000\000\000\173\000\182\000\000\000\000\000\000\000\000\000\000\000\191\001\130\000\000\000\000\000N\000\000\000\000\000\000\000\183\000\172\000\183\000\000\000\184\000\000\000\184\000\000\000\182\000\173\000\000\000\000\001\132\000\191\000\000\000\000\000\000\000\185\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\182\000\000\001\134\000\000\000\000\000\000\000N\000\173\000\185\000\183\000\185\000\172\000\000\000\184\000\000\000\000\000\183\000\000\000\191\000\173\000\184\000\000\000N\000\000\000\182\000\000\000\185\000\172\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\173\000\000\000\171\001\136\000\000\000\191\000\000\000\191\000\000\000\000\000\183\000\000\000\000\000\185\000\184\000M\000\000\000\000\000\182\000\170\000\185\000\000\000M\000\191\000\171\001\138\000\170\001\140\000\000\000\000\000\182\000\171\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\001\142\000\000\000\191\000\182\000\000\000\000\000\185\000\000\000\000\000\191\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\001\144\000\000\000\000\000\000\000\000\000\000\000\185\001\146\000M\000\000\000N\000\000\000\170\000\000\000\183\000\172\000\191\000\171\000\184\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000M\000\000\000\000\000\185\000\170\000\000\000N\000\000\000\000\000\171\002\t\000\172\000\191\000N\000\000\000\000\000M\000\183\000\172\000\173\000\170\000\184\000\000\000\000\000\000\000\171\000\173\000\185\000\000\000\183\000M\000\000\002\011\000\184\000\170\000\191\000\000\000M\000\000\000\171\000\000\000\170\000\000\000\182\000M\000\183\000\171\000\000\000\170\000\184\000\000\000\000\000\000\000\171\000\000\002\r\000\185\000\000\000M\000\191\000\000\000\000\000\170\000\000\000N\000\182\000\000\000\171\000\185\000\172\000\000\000\000\000\182\000\000\000M\000\000\000\000\000\173\000\170\002\015\000\000\000M\000N\000\171\000\185\000\170\000\000\000\172\000\191\000\000\000\171\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000N\000\000\000\191\000\000\000\000\000\172\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\173\000N\000\000\000\000\000\000\000\191\000\172\000\000\000N\002\019\000\000\000\000\000\182\000\172\000\173\000N\000\000\000\000\000\000\000\000\000\172\000\173\000\183\000\000\000\000\002\021\000\184\000\000\000\173\000N\000\182\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\183\000N\000\182\000\000\000\184\000\000\000\172\000\183\000N\000\000\000\000\000\184\000\000\000\172\000\173\000\000\000\182\000\185\000\000\000\000\000\000\000\173\000\000\000\182\000\000\000\000\000\000\000M\000\000\000\000\000\182\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\185\000\000\000M\000\000\000\000\000\182\000\170\000\185\000\000\000\000\000\191\000\171\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\184\000\000\000\000\000\000\000\000\000\182\000\000\002\023\000\000\000\191\000\000\000\000\000\000\000\000\000\183\000\000\000\191\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\183\000\000\000\000\000\000\000\184\000\185\002\027\000M\000\000\000\000\000\000\000\170\000\000\000\000\000\183\000\000\000\171\000N\000\184\000\000\000\000\000\183\000\172\000\185\000\000\000\184\000\000\000\000\000\183\000\000\000\173\000N\000\184\000\000\000\000\000\000\000\172\000\191\000\000\000\185\000\000\000\000\000\183\000\000\000\173\000M\000\184\000\000\000\000\000\170\000\000\000\000\000M\000\185\000\171\000\191\000\170\002\029\000\183\000\000\000\185\000\171\000\184\000\000\000\000\000\183\000\000\000\185\000M\000\184\000M\000\191\000\170\000\000\000\170\002\031\000\182\000\171\000\000\000\171\000\000\000\185\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000N\000\182\002!\000\191\000\000\000\172\000\000\000\000\000\185\000\000\000\191\000\000\000\000\000\173\000\000\000\185\002#\000\000\000\000\000\000\000\000\000\000\000\000\002%\000\191\000\000\000\000\000\000\000M\000\000\003\233\000\000\000\170\000\000\000\000\000\000\000\000\000\171\000N\000\000\000\191\000\000\000\000\000\172\003\239\000N\000\000\000\191\000\000\000\000\000\172\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\182\003\241\000N\000\000\000N\000\000\000\000\000\172\003\243\000\172\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\173\000\183\000M\000\000\000\000\000\184\000\170\000\000\000M\000\000\000\000\000\171\000\170\000\000\000M\000\183\000\000\000\171\000\170\000\184\000\000\000\182\000\000\000\171\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000\172\000\185\000\000\000\000\000\000\000\182\000\000\000\182\000\173\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\000\000\000\000\000\000\191\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\191\000\000\000\000\000\172\000N\000\000\003\245\000\182\000\000\000\172\000N\000\173\000\000\000\000\000\000\000\172\000\000\000\173\000\000\000\000\003\247\000\000\000\000\000\173\000\000\000\183\000\185\000\000\000\000\000\184\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\183\000\000\000\184\000\000\000\184\000\000\000\000\000\182\000\191\000\000\000\000\000\000\000\000\000\182\000\185\000\000\000\000\000\000\000\000\000\182\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\183\000\000\000\000\000\000\000\184\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\003\251\000\000\000\000\000\191\000\000\000\191\000\000\003\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\185\000\000\000\000\003\255\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\183\000\000\000\000\000\000\000\184\000\000\000\183\000\000\000\000\000\000\000\184\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\185\000\000\004\003\000\000\000\000\000\000\000\185\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\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000\000\000\000\000\191\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\004\005\000\000\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\000\000\000\000\000\004\t"))
  
  let semantic_action =
    [|
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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
        raise (MenhirLib.TableInterpreter.Accept _1));
      (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_dargexpr = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_aexpr = 
# 2766 "parser_cocci_menhir.mly"
             ( Ast0.set_arg_exp _1 )
# 2032 "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 : (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 2053 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_aexpr = 
# 2768 "parser_cocci_menhir.mly"
      ( let (nm,lenname,pure,clt) = _1 in
      let nm = P.clt2mcode nm clt 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.MetaExprList(nm,lenname,pure)) )
# 2067 "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_aexpr = 
# 2777 "parser_cocci_menhir.mly"
      ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
# 2091 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = r;
            MenhirLib.EngineTypes.startp = _startpos_r_;
            MenhirLib.EngineTypes.endp = _endpos_r_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty : 'tv_signable_types = Obj.magic ty in
        let r : (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 2118 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_all_basic_types = 
# 969 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
# 2125 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = r;
            MenhirLib.EngineTypes.startp = _startpos_r_;
            MenhirLib.EngineTypes.endp = _endpos_r_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty : 'tv_signable_types = Obj.magic ty in
        let r : (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 2152 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_all_basic_types = 
# 971 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
# 2159 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : 'tv_signable_types = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_all_basic_types = 
# 972 "parser_cocci_menhir.mly"
                    ( ty )
# 2183 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : 'tv_non_signable_types = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_all_basic_types = 
# 973 "parser_cocci_menhir.mly"
                        ( ty )
# 2207 "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_nonempty_list_azl_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_andzero_list_eexpr_eexpr_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2237 "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_nonempty_list_azl_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_andzero_list_expr_eexpr_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2267 "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_nonempty_list_azl_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_andzero_list_fun_after_stm_fun_after_dots_or_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2297 "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_nonempty_list_azl_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_andzero_list_fun_start_fun_start_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2327 "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_nonempty_list_azl_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_andzero_list_rule_elem_statement_rule_elem_statement_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2357 "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_nonempty_list_azl_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_andzero_list_statement_statement_ = 
# 2870 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 2387 "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_any_strict = 
# 2893 "parser_cocci_menhir.mly"
            ( Ast.WhenAny )
# 2409 "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_any_strict = 
# 2894 "parser_cocci_menhir.mly"
            ( Ast.WhenStrict )
# 2431 "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_any_strict = 
# 2895 "parser_cocci_menhir.mly"
            ( Ast.WhenForall )
# 2453 "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_any_strict = 
# 2896 "parser_cocci_menhir.mly"
            ( Ast.WhenExists )
# 2475 "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_arg_list_decl_ = let arglist =
          let xs =
            
# 1326 "parser_cocci_menhir.mly"
    ( [] )
# 2494 "parser_cocci_menhir.ml"
            
          in
          
# 1323 "parser_cocci_menhir.mly"
    ( xs )
# 2500 "parser_cocci_menhir.ml"
          
        in
        
# 1301 "parser_cocci_menhir.mly"
     ( let (args,vararg) = cleanup_arglist arglist in
       ((Ast0.wrap args), vararg) )
# 2507 "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 = xs00;
          MenhirLib.EngineTypes.startp = _startpos_xs00_;
          MenhirLib.EngineTypes.endp = _endpos_xs00_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let xs00 : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = Obj.magic xs00 in
        let _startpos = _startpos_xs00_ in
        let _endpos = _endpos_xs00_ in
        let _v : 'tv_arg_list_decl_ = let arglist =
          let xs0 = xs00 in
          let xs =
            let xs = xs0 in
            
# 1328 "parser_cocci_menhir.mly"
    ( xs )
# 2535 "parser_cocci_menhir.ml"
            
          in
          
# 1323 "parser_cocci_menhir.mly"
    ( xs )
# 2541 "parser_cocci_menhir.ml"
          
        in
        
# 1301 "parser_cocci_menhir.mly"
     ( let (args,vararg) = cleanup_arglist arglist in
       ((Ast0.wrap args), vararg) )
# 2548 "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_arg_list_name_opt_decl_ = let arglist =
          let xs =
            
# 1326 "parser_cocci_menhir.mly"
    ( [] )
# 2567 "parser_cocci_menhir.ml"
            
          in
          
# 1323 "parser_cocci_menhir.mly"
    ( xs )
# 2573 "parser_cocci_menhir.ml"
          
        in
        
# 1301 "parser_cocci_menhir.mly"
     ( let (args,vararg) = cleanup_arglist arglist in
       ((Ast0.wrap args), vararg) )
# 2580 "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 = xs00;
          MenhirLib.EngineTypes.startp = _startpos_xs00_;
          MenhirLib.EngineTypes.endp = _endpos_xs00_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let xs00 : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = Obj.magic xs00 in
        let _startpos = _startpos_xs00_ in
        let _endpos = _endpos_xs00_ in
        let _v : 'tv_arg_list_name_opt_decl_ = let arglist =
          let xs0 = xs00 in
          let xs =
            let xs = xs0 in
            
# 1328 "parser_cocci_menhir.mly"
    ( xs )
# 2608 "parser_cocci_menhir.ml"
            
          in
          
# 1323 "parser_cocci_menhir.mly"
    ( xs )
# 2614 "parser_cocci_menhir.ml"
          
        in
        
# 1301 "parser_cocci_menhir.mly"
     ( let (args,vararg) = cleanup_arglist arglist in
       ((Ast0.wrap args), vararg) )
# 2621 "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 = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let arg : 'tv_one_arg_decl_ = Obj.magic arg in
        let _startpos = _startpos_arg_ in
        let _endpos = _endpos_arg_ in
        let _v : 'tv_argorellipsis_one_arg_decl__ = 
# 1305 "parser_cocci_menhir.mly"
          ( Arg arg )
# 2645 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : (
# 216 "parser_cocci_menhir.mly"
       (Data.clt)
# 2666 "parser_cocci_menhir.ml"
        ) = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_argorellipsis_one_arg_decl__ = 
# 1306 "parser_cocci_menhir.mly"
                ( VAEllipsis (x) )
# 2673 "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 = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let y : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 2694 "parser_cocci_menhir.ml"
        ) = Obj.magic y in
        let _startpos = _startpos_y_ in
        let _endpos = _endpos_y_ in
        let _v : 'tv_argorellipsis_one_arg_decl__ = 
# 1307 "parser_cocci_menhir.mly"
              ( Ellipsis (y) )
# 2701 "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 = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let arg : 'tv_one_arg_name_opt_decl_ = Obj.magic arg in
        let _startpos = _startpos_arg_ in
        let _endpos = _endpos_arg_ in
        let _v : 'tv_argorellipsis_one_arg_name_opt_decl__ = 
# 1305 "parser_cocci_menhir.mly"
          ( Arg arg )
# 2725 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : (
# 216 "parser_cocci_menhir.mly"
       (Data.clt)
# 2746 "parser_cocci_menhir.ml"
        ) = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_argorellipsis_one_arg_name_opt_decl__ = 
# 1306 "parser_cocci_menhir.mly"
                ( VAEllipsis (x) )
# 2753 "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 = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let y : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 2774 "parser_cocci_menhir.ml"
        ) = Obj.magic y in
        let _startpos = _startpos_y_ in
        let _endpos = _endpos_y_ in
        let _v : 'tv_argorellipsis_one_arg_name_opt_decl__ = 
# 1307 "parser_cocci_menhir.mly"
              ( Ellipsis (y) )
# 2781 "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_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
# 1961 "parser_cocci_menhir.mly"
                                            ( _1 )
# 2805 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 2837 "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_ = 
# 1963 "parser_cocci_menhir.mly"
    ( P.arith_op Ast.Mul _1 _2 _3 )
# 2845 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 2877 "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_ = 
# 1965 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 2885 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 2917 "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_ = 
# 1967 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Plus _1 _2 _3 )
# 2925 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 2957 "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_ = 
# 1969 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Minus _1 _2 _3 )
# 2965 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 2997 "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_ = 
# 1971 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3005 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 3037 "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_ = 
# 1973 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3045 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 3077 "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_ = 
# 1975 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 3085 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 3117 "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_ = 
# 1977 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.Eq _1 _2 _3 )
# 3125 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 3157 "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_ = 
# 1979 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.NotEq _1 _2 _3 )
# 3165 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 3197 "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_ = 
# 1981 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.And _1 _2 _3 )
# 3205 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 3237 "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_ = 
# 1983 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Or _1 _2 _3 )
# 3245 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 3277 "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_ = 
# 1985 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Xor _1 _2 _3 )
# 3285 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 3317 "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_ = 
# 1987 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.AndLog _1 _2 _3 )
# 3325 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 3357 "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_ = 
# 1989 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.OrLog _1 _2 _3 )
# 3365 "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 : (
# 226 "parser_cocci_menhir.mly"
       (Parse_aux.binaryOpinfo)
# 3397 "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_ = 
# 1991 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op = Ast0.wrap (Ast0.MetaBinary (op', cstrt, pure)) in
      Ast0.wrap (Ast0.Binary(_1, op, _3)) )
# 3408 "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_eexpr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_arith_expr_eexpr_invalid_ = 
# 1961 "parser_cocci_menhir.mly"
                                            ( _1 )
# 3432 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 3464 "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_ = 
# 1963 "parser_cocci_menhir.mly"
    ( P.arith_op Ast.Mul _1 _2 _3 )
# 3472 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 3504 "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_ = 
# 1965 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3512 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 3544 "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_ = 
# 1967 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Plus _1 _2 _3 )
# 3552 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 3584 "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_ = 
# 1969 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Minus _1 _2 _3 )
# 3592 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 3624 "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_ = 
# 1971 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3632 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 3664 "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_ = 
# 1973 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3672 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 3704 "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_ = 
# 1975 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 3712 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 3744 "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_ = 
# 1977 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.Eq _1 _2 _3 )
# 3752 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 3784 "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_ = 
# 1979 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.NotEq _1 _2 _3 )
# 3792 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 3824 "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_ = 
# 1981 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.And _1 _2 _3 )
# 3832 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 3864 "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_ = 
# 1983 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Or _1 _2 _3 )
# 3872 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 3904 "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_ = 
# 1985 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Xor _1 _2 _3 )
# 3912 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 3944 "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_ = 
# 1987 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.AndLog _1 _2 _3 )
# 3952 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 3984 "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_ = 
# 1989 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.OrLog _1 _2 _3 )
# 3992 "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 : (
# 226 "parser_cocci_menhir.mly"
       (Parse_aux.binaryOpinfo)
# 4024 "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_ = 
# 1991 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op = Ast0.wrap (Ast0.MetaBinary (op', cstrt, pure)) in
      Ast0.wrap (Ast0.Binary(_1, op, _3)) )
# 4035 "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_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
# 1961 "parser_cocci_menhir.mly"
                                            ( _1 )
# 4059 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 4091 "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_ = 
# 1963 "parser_cocci_menhir.mly"
    ( P.arith_op Ast.Mul _1 _2 _3 )
# 4099 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4131 "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_ = 
# 1965 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4139 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 4171 "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_ = 
# 1967 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Plus _1 _2 _3 )
# 4179 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 4211 "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_ = 
# 1969 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Minus _1 _2 _3 )
# 4219 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4251 "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_ = 
# 1971 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4259 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4291 "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_ = 
# 1973 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4299 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 4331 "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_ = 
# 1975 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 4339 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 4371 "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_ = 
# 1977 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.Eq _1 _2 _3 )
# 4379 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 4411 "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_ = 
# 1979 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.NotEq _1 _2 _3 )
# 4419 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 4451 "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_ = 
# 1981 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.And _1 _2 _3 )
# 4459 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 4491 "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_ = 
# 1983 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Or _1 _2 _3 )
# 4499 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 4531 "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_ = 
# 1985 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Xor _1 _2 _3 )
# 4539 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 4571 "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_ = 
# 1987 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.AndLog _1 _2 _3 )
# 4579 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 4611 "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_ = 
# 1989 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.OrLog _1 _2 _3 )
# 4619 "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 : (
# 226 "parser_cocci_menhir.mly"
       (Parse_aux.binaryOpinfo)
# 4651 "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_ = 
# 1991 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op = Ast0.wrap (Ast0.MetaBinary (op', cstrt, pure)) in
      Ast0.wrap (Ast0.Binary(_1, op, _3)) )
# 4662 "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_ = 
# 1961 "parser_cocci_menhir.mly"
                                            ( _1 )
# 4686 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 4718 "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_ = 
# 1963 "parser_cocci_menhir.mly"
    ( P.arith_op Ast.Mul _1 _2 _3 )
# 4726 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4758 "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_ = 
# 1965 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4766 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 4798 "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_ = 
# 1967 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Plus _1 _2 _3 )
# 4806 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 4838 "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_ = 
# 1969 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Minus _1 _2 _3 )
# 4846 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4878 "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_ = 
# 1971 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4886 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 4918 "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_ = 
# 1973 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 4926 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 4958 "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_ = 
# 1975 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 4966 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 4998 "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_ = 
# 1977 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.Eq _1 _2 _3 )
# 5006 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 5038 "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_ = 
# 1979 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.NotEq _1 _2 _3 )
# 5046 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 5078 "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_ = 
# 1981 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.And _1 _2 _3 )
# 5086 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 5118 "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_ = 
# 1983 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Or _1 _2 _3 )
# 5126 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 5158 "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_ = 
# 1985 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Xor _1 _2 _3 )
# 5166 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 5198 "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_ = 
# 1987 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.AndLog _1 _2 _3 )
# 5206 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 5238 "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_ = 
# 1989 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.OrLog _1 _2 _3 )
# 5246 "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 : (
# 226 "parser_cocci_menhir.mly"
       (Parse_aux.binaryOpinfo)
# 5278 "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_ = 
# 1991 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op = Ast0.wrap (Ast0.MetaBinary (op', cstrt, pure)) in
      Ast0.wrap (Ast0.Binary(_1, op, _3)) )
# 5289 "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_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_arith_expr_bis = 
# 1999 "parser_cocci_menhir.mly"
                                                             ( _1 )
# 5313 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 5345 "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 = 
# 2001 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Mul _1 _2 _3 )
# 5353 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 5385 "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 = 
# 2003 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 5393 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 5425 "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 = 
# 2005 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Plus _1 _2 _3 )
# 5433 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 5465 "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 = 
# 2007 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Minus _1 _2 _3 )
# 5473 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 5505 "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 = 
# 2009 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 5513 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 5545 "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 = 
# 2011 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 5553 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 5585 "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 = 
# 2013 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 5593 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 5625 "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 = 
# 2015 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.Eq _1 _2 _3 )
# 5633 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 5665 "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 = 
# 2017 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.NotEq _1 _2 _3 )
# 5673 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 5705 "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 = 
# 2019 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.And _1 _2 _3 )
# 5713 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 5745 "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 = 
# 2021 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Or _1 _2 _3 )
# 5753 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 5785 "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 = 
# 2023 "parser_cocci_menhir.mly"
      ( P.arith_op Ast.Xor _1 _2 _3 )
# 5793 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 5825 "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 = 
# 2025 "parser_cocci_menhir.mly"
      ( P.logic_op Ast.AndLog _1 _2 _3 )
# 5833 "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_arity = 
# 872 "parser_cocci_menhir.mly"
              ( Ast.OPT )
# 5855 "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_arity = 
# 873 "parser_cocci_menhir.mly"
              ( Ast.MULTI )
# 5877 "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_arity = 
# 874 "parser_cocci_menhir.mly"
                   ( Ast.NONE )
# 5894 "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 = i;
            MenhirLib.EngineTypes.startp = _startpos_i_;
            MenhirLib.EngineTypes.endp = _endpos_i_;
            MenhirLib.EngineTypes.next = {
              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 r : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 5925 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let i : 'tv_option_eexpr_ = Obj.magic i in
        let l : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 5931 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let _startpos = _startpos_l_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_array_dec = 
# 1722 "parser_cocci_menhir.mly"
                                           ( (l,i,r) )
# 5938 "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_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
# 1917 "parser_cocci_menhir.mly"
                                           ( _1 )
# 5962 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 5994 "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_ = 
# 1919 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.OpAssign op') in
      Ast0.wrap(Ast0.Assignment(_1, op'', Ast0.set_arg_exp _3,false)) )
# 6005 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 6037 "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_ = 
# 1924 "parser_cocci_menhir.mly"
      ( let (op,clt) = ("=",_2) in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.SimpleAssign op') in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6050 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 225 "parser_cocci_menhir.mly"
       (Parse_aux.assignOpinfo)
# 6082 "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_ = 
# 1931 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op'' = Ast0.wrap (Ast0.MetaAssign (op', cstrt, pure)) in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6095 "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_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
# 1917 "parser_cocci_menhir.mly"
                                           ( _1 )
# 6119 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 6151 "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__3_ in
        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
# 1919 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.OpAssign op') in
      Ast0.wrap(Ast0.Assignment(_1, op'', Ast0.set_arg_exp _3,false)) )
# 6162 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 6194 "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__3_ in
        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
# 1924 "parser_cocci_menhir.mly"
      ( let (op,clt) = ("=",_2) in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.SimpleAssign op') in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6207 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 225 "parser_cocci_menhir.mly"
       (Parse_aux.assignOpinfo)
# 6239 "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__3_ in
        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
# 1931 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op'' = Ast0.wrap (Ast0.MetaAssign (op', cstrt, pure)) in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6252 "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_cond_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_assign_expr_expr_invalid_ = 
# 1917 "parser_cocci_menhir.mly"
                                           ( _1 )
# 6276 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 6308 "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__3_ in
        let _v : 'tv_assign_expr_expr_invalid_ = 
# 1919 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.OpAssign op') in
      Ast0.wrap(Ast0.Assignment(_1, op'', Ast0.set_arg_exp _3,false)) )
# 6319 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 6351 "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__3_ in
        let _v : 'tv_assign_expr_expr_invalid_ = 
# 1924 "parser_cocci_menhir.mly"
      ( let (op,clt) = ("=",_2) in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.SimpleAssign op') in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6364 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 225 "parser_cocci_menhir.mly"
       (Parse_aux.assignOpinfo)
# 6396 "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__3_ in
        let _v : 'tv_assign_expr_expr_invalid_ = 
# 1931 "parser_cocci_menhir.mly"
      ( let (mv, cstrt, pure, clt) = _2 in
      let op' = P.clt2mcode mv clt in
      let op'' = Ast0.wrap (Ast0.MetaAssign (op', cstrt, pure)) in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6409 "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_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 = 
# 1939 "parser_cocci_menhir.mly"
                                                            ( _1 )
# 6433 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 6465 "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 = 
# 1941 "parser_cocci_menhir.mly"
      ( let (op,clt) = _2 in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.OpAssign op') in
      Ast0.wrap(Ast0.Assignment(_1, op'', Ast0.set_arg_exp _3,false)) )
# 6476 "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_assign_expr_bis = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 6508 "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 = 
# 1946 "parser_cocci_menhir.mly"
      ( let (op,clt) = ("=",_2) in
      let op' = P.clt2mcode op clt in
      let op'' = Ast0.wrap (Ast0.SimpleAssign op') in
      Ast0.wrap
	  (Ast0.Assignment
	     (_1, op'', Ast0.set_arg_exp _3,false)) )
# 6521 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 6542 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_assignment_operator = 
# 630 "parser_cocci_menhir.mly"
  ( let clt = _1 in
  let op' = P.clt2mcode "=" clt in
  Ast0.wrap (Ast0.SimpleAssign op') )
# 6551 "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 : (
# 277 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 6572 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_assignment_operator = 
# 634 "parser_cocci_menhir.mly"
  ( let (op,clt) = _1 in
  let op' = P.clt2mcode op clt in
  Ast0.wrap (Ast0.OpAssign op') )
# 6581 "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_assignopconstraint = 
# 605 "parser_cocci_menhir.mly"
  ( Ast0.AssignOpNoConstraint )
# 6598 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_assignment_operator_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_assignopconstraint = let ops =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 6636 "parser_cocci_menhir.ml"
          
        in
        
# 607 "parser_cocci_menhir.mly"
  ( Ast0.AssignOpInSet ops )
# 6642 "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 = op;
          MenhirLib.EngineTypes.startp = _startpos_op_;
          MenhirLib.EngineTypes.endp = _endpos_op_;
          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 op : 'tv_assignment_operator = Obj.magic op in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_op_ in
        let _v : 'tv_assignopconstraint = 
# 609 "parser_cocci_menhir.mly"
  ( Ast0.AssignOpInSet [op] )
# 6670 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 6697 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_azl_eexpr_ = 
# 2873 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 6704 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 6731 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_azl_fun_after_dots_or_ = 
# 2873 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 6738 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 6765 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_azl_fun_start_ = 
# 2873 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 6772 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 6799 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_azl_rule_elem_statement_ = 
# 2873 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 6806 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 6833 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_azl_statement_ = 
# 2873 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 6840 "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_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_ = 
# 1914 "parser_cocci_menhir.mly"
                                                           ( _1 )
# 6864 "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_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_ = 
# 1914 "parser_cocci_menhir.mly"
                                                           ( _1 )
# 6888 "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_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_ = 
# 1914 "parser_cocci_menhir.mly"
                                                           ( _1 )
# 6912 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 6933 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 612 "parser_cocci_menhir.mly"
         ( mkarithop _1 )
# 6940 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 6961 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 613 "parser_cocci_menhir.mly"
       ( mkarithop (Ast.Mul,_1) )
# 6968 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 6989 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 614 "parser_cocci_menhir.mly"
        ( mklogop (Ast.Eq,_1) )
# 6996 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 7017 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 615 "parser_cocci_menhir.mly"
         ( mklogop (Ast.NotEq,_1) )
# 7024 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 7045 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 616 "parser_cocci_menhir.mly"
       ( mklogop (Ast.InfEq,_1) )
# 7052 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 7073 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 617 "parser_cocci_menhir.mly"
        ( mkarithop (Ast.Plus,_1) )
# 7080 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 7101 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 618 "parser_cocci_menhir.mly"
         ( mkarithop (Ast.Minus,_1) )
# 7108 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 7129 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 619 "parser_cocci_menhir.mly"
        ( mkarithop _1 )
# 7136 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 7157 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 620 "parser_cocci_menhir.mly"
         ( mkarithop _1 )
# 7164 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 7185 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 621 "parser_cocci_menhir.mly"
       ( mkarithop (Ast.And,_1) )
# 7192 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 7213 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 622 "parser_cocci_menhir.mly"
      ( mkarithop (Ast.Or,_1) )
# 7220 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 7241 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 623 "parser_cocci_menhir.mly"
       ( mkarithop (Ast.Xor,_1) )
# 7248 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 7269 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 624 "parser_cocci_menhir.mly"
         ( mklogop _1 )
# 7276 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 7297 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 625 "parser_cocci_menhir.mly"
          ( mklogop (Ast.AndLog,_1) )
# 7304 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 7325 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_binary_operator = 
# 626 "parser_cocci_menhir.mly"
         ( mklogop (Ast.OrLog,_1) )
# 7332 "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_binaryopconstraint = 
# 595 "parser_cocci_menhir.mly"
  ( Ast0.BinaryOpNoConstraint )
# 7349 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_binary_operator_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_binaryopconstraint = let ops =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 7387 "parser_cocci_menhir.ml"
          
        in
        
# 597 "parser_cocci_menhir.mly"
  ( Ast0.BinaryOpInSet ops )
# 7393 "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 = op;
          MenhirLib.EngineTypes.startp = _startpos_op_;
          MenhirLib.EngineTypes.endp = _endpos_op_;
          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 op : 'tv_binary_operator = Obj.magic op in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_op_ in
        let _v : 'tv_binaryopconstraint = 
# 599 "parser_cocci_menhir.mly"
  ( Ast0.BinaryOpInSet [op] )
# 7421 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7453 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 7458 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_case_line = 
# 1573 "parser_cocci_menhir.mly"
      ( Ast0.wrap
	  (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
# 7466 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7503 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 7509 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_case_line = 
# 1576 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
# 7516 "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_ = 
# 2030 "parser_cocci_menhir.mly"
                                          ( _1 )
# 7540 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7577 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7583 "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_ = 
# 2032 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
			     P.clt2mcode ")" rp, e)) )
# 7591 "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_ = 
# 2030 "parser_cocci_menhir.mly"
                                          ( _1 )
# 7615 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7652 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7658 "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_ = 
# 2032 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
			     P.clt2mcode ")" rp, e)) )
# 7666 "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_ = 
# 2030 "parser_cocci_menhir.mly"
                                          ( _1 )
# 7690 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7727 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7733 "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_ = 
# 2032 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
			     P.clt2mcode ")" rp, e)) )
# 7741 "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_ = 
# 2030 "parser_cocci_menhir.mly"
                                          ( _1 )
# 7765 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7802 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7808 "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_ = 
# 2032 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
			     P.clt2mcode ")" rp, e)) )
# 7816 "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 = 
# 429 "parser_cocci_menhir.mly"
                                                 ( List.map P.id2name _2 )
# 7844 "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_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_cond_expr_eexpr_dot_expressions_ = 
# 1954 "parser_cocci_menhir.mly"
                                             ( _1 )
# 7868 "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 = dd;
            MenhirLib.EngineTypes.startp = _startpos_dd_;
            MenhirLib.EngineTypes.endp = _endpos_dd_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = w;
                MenhirLib.EngineTypes.startp = _startpos_w_;
                MenhirLib.EngineTypes.endp = _endpos_w_;
                MenhirLib.EngineTypes.next = {
                  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 r : 'tv_eargexpr = Obj.magic r in
        let dd : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7910 "parser_cocci_menhir.ml"
        ) = Obj.magic dd in
        let t : 'tv_option_eexpr_ = Obj.magic t in
        let w : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7916 "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_ = 
# 1957 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
				 P.clt2mcode ":" dd, r)) )
# 7925 "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_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_cond_expr_eexpr_nest_expressions_ = 
# 1954 "parser_cocci_menhir.mly"
                                             ( _1 )
# 7949 "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 = dd;
            MenhirLib.EngineTypes.startp = _startpos_dd_;
            MenhirLib.EngineTypes.endp = _endpos_dd_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = w;
                MenhirLib.EngineTypes.startp = _startpos_w_;
                MenhirLib.EngineTypes.endp = _endpos_w_;
                MenhirLib.EngineTypes.next = {
                  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 r : 'tv_eargexpr = Obj.magic r in
        let dd : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7991 "parser_cocci_menhir.ml"
        ) = Obj.magic dd in
        let t : 'tv_option_eexpr_ = Obj.magic t in
        let w : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 7997 "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_ = 
# 1957 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
				 P.clt2mcode ":" dd, r)) )
# 8006 "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_arith_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_cond_expr_expr_invalid_ = 
# 1954 "parser_cocci_menhir.mly"
                                             ( _1 )
# 8030 "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 = dd;
            MenhirLib.EngineTypes.startp = _startpos_dd_;
            MenhirLib.EngineTypes.endp = _endpos_dd_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = w;
                MenhirLib.EngineTypes.startp = _startpos_w_;
                MenhirLib.EngineTypes.endp = _endpos_w_;
                MenhirLib.EngineTypes.next = {
                  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 r : 'tv_eargexpr = Obj.magic r in
        let dd : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 8072 "parser_cocci_menhir.ml"
        ) = Obj.magic dd in
        let t : 'tv_option_eexpr_ = Obj.magic t in
        let w : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 8078 "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_ = 
# 1957 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
				 P.clt2mcode ":" dd, r)) )
# 8087 "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 : (
# 213 "parser_cocci_menhir.mly"
      (Data.clt)
# 8108 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_const_vol = 
# 1451 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.Const _1 )
# 8115 "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 : (
# 213 "parser_cocci_menhir.mly"
      (Data.clt)
# 8136 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_const_vol = 
# 1452 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.Volatile _1 )
# 8143 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
# 2567 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 8167 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8193 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
# 2569 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 8202 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8234 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
# 2572 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 8244 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
# 2575 "parser_cocci_menhir.mly"
                                                 ( list )
# 8272 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
# 2567 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 8296 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8322 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
# 2569 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 8331 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8363 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
# 2572 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 8373 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
# 2575 "parser_cocci_menhir.mly"
                                                 ( list )
# 8401 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2567 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 8425 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8451 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2569 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 8460 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8492 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2572 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 8502 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2575 "parser_cocci_menhir.mly"
                                                 ( list )
# 8530 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
# 2567 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 8554 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8580 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
# 2569 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 8589 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8621 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
# 2572 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 8631 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
# 2575 "parser_cocci_menhir.mly"
                                                 ( list )
# 8659 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
# 2567 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 8683 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8709 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
# 2569 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 8718 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 8750 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
# 2572 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 8760 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
# 2575 "parser_cocci_menhir.mly"
                                                 ( list )
# 8788 "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 = 
# 1055 "parser_cocci_menhir.mly"
                                     ( [] )
# 8805 "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 = 
# 1056 "parser_cocci_menhir.mly"
                                     ( _1@_2 )
# 8835 "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 = 
# 1057 "parser_cocci_menhir.mly"
                                     ( _1 )
# 8859 "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 = ty;
            MenhirLib.EngineTypes.startp = _startpos_ty_;
            MenhirLib.EngineTypes.endp = _endpos_ty_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let m : 'tv_list_mul_ = Obj.magic m in
        let ty : 'tv_all_basic_types = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_m_ in
        let _v : 'tv_ctype = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 8890 "parser_cocci_menhir.ml"
          
        in
        
# 980 "parser_cocci_menhir.mly"
    ( List.fold_left
	(function prev ->
	  function (star,cv) ->
	    P.make_cv cv (P.pointerify prev [star]))
	(P.make_cv cv ty) m )
# 8900 "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 = ty;
            MenhirLib.EngineTypes.startp = _startpos_ty_;
            MenhirLib.EngineTypes.endp = _endpos_ty_;
            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_mul_ = Obj.magic m in
        let ty : 'tv_all_basic_types = Obj.magic ty 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 cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 8938 "parser_cocci_menhir.ml"
          
        in
        
# 980 "parser_cocci_menhir.mly"
    ( List.fold_left
	(function prev ->
	  function (star,cv) ->
	    P.make_cv cv (P.pointerify prev [star]))
	(P.make_cv cv ty) m )
# 8948 "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 = r;
          MenhirLib.EngineTypes.startp = _startpos_r_;
          MenhirLib.EngineTypes.endp = _endpos_r_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let r : (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 8969 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_ctype = 
# 986 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
# 8976 "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 = r;
          MenhirLib.EngineTypes.startp = _startpos_r_;
          MenhirLib.EngineTypes.endp = _endpos_r_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let r : (
# 210 "parser_cocci_menhir.mly"
      (Data.clt)
# 8997 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_ctype = 
# 988 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
# 9004 "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.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 rp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9035 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
        let lp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9041 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let _startpos = _startpos_lp_ in
        let _endpos = _endpos_rp_ in
        let _v : 'tv_ctype = 
# 990 "parser_cocci_menhir.mly"
    ( let (mids,code) = t in
      Ast0.wrap
	(Ast0.DisjType(P.id2mcode lp,code,mids, P.id2mcode rp)) )
# 9050 "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_list_array_dec_ = Obj.magic _2 in
        let _1 : 'tv_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_d_ident = 
# 1720 "parser_cocci_menhir.mly"
      ( (_1, function t -> P.arrayify t _2) )
# 9080 "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_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_dargexpr = 
# 1871 "parser_cocci_menhir.mly"
                                             ( _1 )
# 9104 "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 = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          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 = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let a : 'tv_list_array_dec_ = Obj.magic a in
        let i : 'tv_disj_ident = Obj.magic i in
        let t : 'tv_ctype = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos_a_ in
        let _v : 'tv_decl = 
# 1424 "parser_cocci_menhir.mly"
 ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
# 9140 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 = 
# 1425 "parser_cocci_menhir.mly"
              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
# 9164 "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 = 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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 9220 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 9226 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 9231 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let i : 'tv_disj_ident = Obj.magic i in
        let s : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 9237 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 9242 "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 = 
# 1428 "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)) )
# 9255 "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 : (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 9276 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl = 
# 1435 "parser_cocci_menhir.mly"
 ( let (nm,pure,clt) = _1 in
	Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
# 9284 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 9305 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl = 
# 1437 "parser_cocci_menhir.mly"
            ( tmeta_to_param _1 )
# 9312 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9333 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_ident = 
# 2492 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 9340 "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 : (
# 224 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 9361 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_ident = 
# 2494 "parser_cocci_menhir.mly"
         ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
# 9369 "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_ = 
# 2516 "parser_cocci_menhir.mly"
     ( Ast0.wrap
	 (_1
	    (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
	    (fun c -> Ast0.PComma c)) )
# 9396 "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 : (
# 231 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 9417 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement = 
# 1783 "parser_cocci_menhir.mly"
                 ( [P.meta_stm_list _1] )
# 9424 "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_var = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement = 
# 1785 "parser_cocci_menhir.mly"
      ( List.map
	  (function x ->
	    Ast0.wrap
	      (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
	  _1 )
# 9452 "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_statement = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement = 
# 1790 "parser_cocci_menhir.mly"
              ( [_1] )
# 9476 "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 = 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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let _3 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9507 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9513 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_decl_statement = 
# 1799 "parser_cocci_menhir.mly"
      ( let (mids,code) = t in
	if List.for_all
	    (function x ->
	      match Ast0.unwrap x with [] -> true | _ -> false)
	    code
      then []
      else
	  [Ast0.wrap(Ast0.Disj(P.id2mcode _1, code, mids,
			       P.id2mcode _3))] )
# 9528 "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 = 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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let _3 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9559 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let t : 'tv_andzero_list_fun_start_fun_start_ = Obj.magic t in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9565 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_decl_statement = 
# 1809 "parser_cocci_menhir.mly"
      ( let (mids,code) = t in
	if List.for_all
	    (function x ->
	      match Ast0.unwrap x with [] -> true | _ -> false)
	    code
      then []
      else
	  [Ast0.wrap(Ast0.Conj(P.id2mcode _1, code, mids,
			       P.id2mcode _3))] )
# 9580 "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 : (
# 231 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 9601 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement_expr = 
# 1821 "parser_cocci_menhir.mly"
                 ( [P.meta_stm_list _1] )
# 9608 "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_var = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement_expr = 
# 1823 "parser_cocci_menhir.mly"
      ( List.map
	  (function x ->
	    Ast0.wrap
	      (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
	  _1 )
# 9636 "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_statement = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_statement_expr = 
# 1828 "parser_cocci_menhir.mly"
              ( [_1] )
# 9660 "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 = 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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let _3 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9691 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9697 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_decl_statement_expr = 
# 1837 "parser_cocci_menhir.mly"
      ( let (mids,code) = t in
	if List.for_all (function [] -> true | _ -> false) code
      then []
      else
	  let dot_code = List.map Ast0.wrap code in
	  [Ast0.wrap(Ast0.Disj(P.id2mcode _1, dot_code, mids,
			       P.id2mcode _3))] )
# 9710 "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 = 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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let _3 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9741 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let t : 'tv_andzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 9747 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_decl_statement_expr = 
# 1845 "parser_cocci_menhir.mly"
      ( let (mids,code) = t in
	if List.for_all (function [] -> true | _ -> false) code
      then []
      else
	  let dot_code = List.map Ast0.wrap code in
	  [Ast0.wrap(Ast0.Conj(P.id2mcode _1, dot_code, mids,
			       P.id2mcode _3))] )
# 9760 "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.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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 9786 "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 = 
# 1588 "parser_cocci_menhir.mly"
      ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
# 9794 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 9815 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_decl_var = 
# 1589 "parser_cocci_menhir.mly"
              ( [P.meta_decl _1] )
# 9822 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 9853 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let t : 'tv_ctype = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 9864 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 9871 "parser_cocci_menhir.ml"
          
        in
        
# 1591 "parser_cocci_menhir.mly"
      ( List.map
	  (function (id,fn) ->
	    Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
	  d )
# 9880 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 = x0;
                MenhirLib.EngineTypes.startp = _startpos_x0_;
                MenhirLib.EngineTypes.endp = _endpos_x0_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let pv : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 9916 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 9928 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 9936 "parser_cocci_menhir.ml"
          
        in
        
# 1591 "parser_cocci_menhir.mly"
      ( List.map
	  (function (id,fn) ->
	    Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
	  d )
# 9945 "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 = f;
          MenhirLib.EngineTypes.startp = _startpos_f_;
          MenhirLib.EngineTypes.endp = _endpos_f_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let f : 'tv_funproto = Obj.magic f in
        let _startpos = _startpos_f_ in
        let _endpos = _endpos_f_ in
        let _v : 'tv_decl_var = 
# 1595 "parser_cocci_menhir.mly"
               ( [f] )
# 9969 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10010 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10016 "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
        let _startpos = _startpos_t_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10026 "parser_cocci_menhir.ml"
          
        in
        
# 1597 "parser_cocci_menhir.mly"
      (let (id,fn) = d in
      [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
# 10033 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = d;
                MenhirLib.EngineTypes.startp = _startpos_d_;
                MenhirLib.EngineTypes.endp = _endpos_d_;
                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 = x0;
                    MenhirLib.EngineTypes.startp = _startpos_x0_;
                    MenhirLib.EngineTypes.endp = _endpos_x0_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let pv : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10079 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10085 "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
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10097 "parser_cocci_menhir.ml"
          
        in
        
# 1597 "parser_cocci_menhir.mly"
      (let (id,fn) = d in
      [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
# 10104 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10135 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 10146 "parser_cocci_menhir.ml"
          
        in
        let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10153 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10160 "parser_cocci_menhir.ml"
          
        in
        
# 1602 "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 )
# 10171 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10207 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let i : 'tv_pure_ident_or_symbol = 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_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 10219 "parser_cocci_menhir.ml"
          
        in
        let cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10227 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10234 "parser_cocci_menhir.ml"
          
        in
        
# 1602 "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 )
# 10245 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10281 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 10293 "parser_cocci_menhir.ml"
          
        in
        let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10300 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10308 "parser_cocci_menhir.ml"
          
        in
        
# 1602 "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 )
# 10319 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = i;
              MenhirLib.EngineTypes.startp = _startpos_i_;
              MenhirLib.EngineTypes.endp = _endpos_i_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = x1;
                MenhirLib.EngineTypes.startp = _startpos_x1_;
                MenhirLib.EngineTypes.endp = _endpos_x1_;
                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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10360 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic l0 in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x1 : 'tv_const_vol = Obj.magic x1 in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let d =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 10373 "parser_cocci_menhir.ml"
          
        in
        let cv =
          let x = x1 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10381 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10389 "parser_cocci_menhir.ml"
          
        in
        
# 1602 "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 )
# 10400 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10441 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10447 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10457 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10464 "parser_cocci_menhir.ml"
          
        in
        
# 1610 "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))] )
# 10474 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10520 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10526 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = 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_decl_var = let cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10538 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10545 "parser_cocci_menhir.ml"
          
        in
        
# 1610 "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))] )
# 10555 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10601 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10607 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10618 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10626 "parser_cocci_menhir.ml"
          
        in
        
# 1610 "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))] )
# 10636 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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.semv = x1;
                    MenhirLib.EngineTypes.startp = _startpos_x1_;
                    MenhirLib.EngineTypes.endp = _endpos_x1_;
                    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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10687 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10693 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x1 : 'tv_const_vol = Obj.magic x1 in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let cv =
          let x = x1 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10706 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10714 "parser_cocci_menhir.ml"
          
        in
        
# 1610 "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))] )
# 10724 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10785 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10790 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10796 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10801 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 10807 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10812 "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_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 10821 "parser_cocci_menhir.ml"
          
        in
        
# 1620 "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(s,fn t,id,P.clt2mcode ";" pv))] )
# 10833 "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.semv = t;
                          MenhirLib.EngineTypes.startp = _startpos_t_;
                          MenhirLib.EngineTypes.endp = _endpos_t_;
                          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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10899 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10904 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10910 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10915 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 10921 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10926 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 10937 "parser_cocci_menhir.ml"
          
        in
        
# 1620 "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(s,fn t,id,P.clt2mcode ";" pv))] )
# 10949 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            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.semv = o;
                MenhirLib.EngineTypes.startp = _startpos_o_;
                MenhirLib.EngineTypes.endp = _endpos_o_;
                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 p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 10990 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 10995 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11001 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 11010 "parser_cocci_menhir.ml"
          
        in
        
# 1629 "parser_cocci_menhir.mly"
      ( [Ast0.wrap(Ast0.MacroDecl(s,d,P.clt2mcode "(" o,e,
				  P.clt2mcode ")" c,P.clt2mcode ";" p))] )
# 11017 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            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.semv = o;
                MenhirLib.EngineTypes.startp = _startpos_o_;
                MenhirLib.EngineTypes.endp = _endpos_o_;
                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 = x0;
                    MenhirLib.EngineTypes.startp = _startpos_x0_;
                    MenhirLib.EngineTypes.endp = _endpos_x0_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11063 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11068 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11074 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 11085 "parser_cocci_menhir.ml"
          
        in
        
# 1629 "parser_cocci_menhir.mly"
      ( [Ast0.wrap(Ast0.MacroDecl(s,d,P.clt2mcode "(" o,e,
				  P.clt2mcode ")" c,P.clt2mcode ";" p))] )
# 11092 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = i;
            MenhirLib.EngineTypes.startp = _startpos_i_;
            MenhirLib.EngineTypes.endp = _endpos_i_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                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.semv = o;
                    MenhirLib.EngineTypes.startp = _startpos_o_;
                    MenhirLib.EngineTypes.endp = _endpos_o_;
                    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 p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11143 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let i : 'tv_initialize = Obj.magic i in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11149 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11154 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11160 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 11169 "parser_cocci_menhir.ml"
          
        in
        
# 1634 "parser_cocci_menhir.mly"
      ( [Ast0.wrap
	    (Ast0.MacroDeclInit
	       (s,d,P.clt2mcode "(" o,e,
		P.clt2mcode ")" c,P.clt2mcode "=" q,i,
		P.clt2mcode ";" p))] )
# 11179 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = i;
            MenhirLib.EngineTypes.startp = _startpos_i_;
            MenhirLib.EngineTypes.endp = _endpos_i_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                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.semv = o;
                    MenhirLib.EngineTypes.startp = _startpos_o_;
                    MenhirLib.EngineTypes.endp = _endpos_o_;
                    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 = x0;
                        MenhirLib.EngineTypes.startp = _startpos_x0_;
                        MenhirLib.EngineTypes.endp = _endpos_x0_;
                        MenhirLib.EngineTypes.next = _menhir_stack;
                        };
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11235 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let i : 'tv_initialize = Obj.magic i in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11241 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11246 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11252 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 11263 "parser_cocci_menhir.ml"
          
        in
        
# 1634 "parser_cocci_menhir.mly"
      ( [Ast0.wrap
	    (Ast0.MacroDeclInit
	       (s,d,P.clt2mcode "(" o,e,
		P.clt2mcode ")" c,P.clt2mcode "=" q,i,
		P.clt2mcode ";" p))] )
# 11273 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11344 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11350 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11355 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11361 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11366 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 11372 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11377 "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_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 11386 "parser_cocci_menhir.ml"
          
        in
        
# 1643 "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.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
# 11398 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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.semv = t;
                              MenhirLib.EngineTypes.startp = _startpos_t_;
                              MenhirLib.EngineTypes.endp = _endpos_t_;
                              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11474 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11480 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11485 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11491 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11496 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 11502 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11507 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 11518 "parser_cocci_menhir.ml"
          
        in
        
# 1643 "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.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
# 11530 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 = s;
                MenhirLib.EngineTypes.startp = _startpos_s_;
                MenhirLib.EngineTypes.endp = _endpos_s_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let pv : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 11566 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let l0 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic l0 in
        let t : 'tv_typedef_ctype = Obj.magic t in
        let s : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 11573 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_decl_var = let id =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 11582 "parser_cocci_menhir.ml"
          
        in
        
# 1651 "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 )
# 11592 "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_dparam_TEllipsis_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_define_param_list_option = 
# 1290 "parser_cocci_menhir.mly"
      ( Ast0.wrap
	  (_1
	     (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
	     (fun c -> Ast0.DPComma c)) )
# 11619 "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 : (
# 248 "parser_cocci_menhir.mly"
       (Data.clt * token)
# 11640 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_defineop = 
# 1234 "parser_cocci_menhir.mly"
    ( let (clt,ident) = _1 in
      let aft = P.get_aft clt in (* move stuff after the define to the ident *)
      function body ->
	Ast0.wrap
	  (Ast0.Define
	     (P.clt2mcode "#define" (P.drop_aft clt),
	      (match ident with
		TMetaId((nm,constraints,seed,pure,clt)) ->
		  let clt = P.set_aft aft clt in
		  Ast0.wrap
		    (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
	      | TIdent((nm,clt)) ->
		  let clt = P.set_aft aft clt in
		  Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	      | TSymId(nm,clt) ->
		  let clt = P.set_aft aft clt in
		  Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	      | _ ->
		  raise
		    (Semantic_cocci.Semantic
		       "unexpected name for a #define")),
	      Ast0.wrap Ast0.NoParams,
	      body)) )
# 11669 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 11700 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_define_param_list_option = Obj.magic _2 in
        let _1 : (
# 250 "parser_cocci_menhir.mly"
       (Data.clt * token * int * int)
# 11706 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_defineop = 
# 1258 "parser_cocci_menhir.mly"
    ( let (clt,ident,parenoff,parencol) = _1 in
      let aft = P.get_aft clt in (* move stuff after the define to the ( *)
      (* clt is the start of the #define itself *)
      let (arity,line,lline,llineend,offset,col,strbef,straft,pos,ws) = clt in
      let lp =
	P.clt2mcode "("
	  (arity,line,lline,llineend,parenoff,parencol,[],[],[],"") in
      function body ->
	Ast0.wrap
	  (Ast0.Define
	     (P.clt2mcode "#define" (P.drop_aft clt),
	      (match ident with
		TMetaId((nm,constraints,seed,pure,clt)) ->
		  Ast0.wrap
		    (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
	      | TIdent((nm,clt)) ->
		  Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	      | TSymId(nm,clt) ->
		  Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	      | _ ->
		  raise
		    (Semantic_cocci.Semantic
		       "unexpected name for a #define")),
	      (let clt = P.set_aft aft _3 in
	      Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) )
# 11737 "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 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 11758 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_dep = 
# 418 "parser_cocci_menhir.mly"
                   ( Ast0.Dep _1 )
# 11765 "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 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 11790 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_dep = 
# 419 "parser_cocci_menhir.mly"
                   ( Ast0.AntiDep (Ast0.Dep _2) )
# 11797 "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 = _3;
            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 _3 : 'tv_dep = Obj.magic _3 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_dep = 
# 421 "parser_cocci_menhir.mly"
                   ( Ast0.AntiDep _3 )
# 11833 "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 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 11858 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_dep = 
# 422 "parser_cocci_menhir.mly"
                   ( Ast0.EverDep _2 )
# 11865 "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 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 11890 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_dep = 
# 423 "parser_cocci_menhir.mly"
                   ( Ast0.NeverDep _2 )
# 11897 "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.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_dep = Obj.magic _3 in
        let _1 : 'tv_dep = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_dep = 
# 424 "parser_cocci_menhir.mly"
                   ( Ast0.AndDep(_1, _3) )
# 11931 "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.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_dep = Obj.magic _3 in
        let _1 : 'tv_dep = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_dep = 
# 425 "parser_cocci_menhir.mly"
                   ( Ast0.OrDep (_1, _3) )
# 11965 "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.state = _menhir_s;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let _2 : 'tv_dep = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_dep = 
# 426 "parser_cocci_menhir.mly"
                   ( _2 )
# 11997 "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_depends = 
# 414 "parser_cocci_menhir.mly"
                           ( Ast0.NoDep )
# 12014 "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 = parents;
          MenhirLib.EngineTypes.startp = _startpos_parents_;
          MenhirLib.EngineTypes.endp = _endpos_parents_;
          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 parents : 'tv_dep = Obj.magic parents in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_parents_ in
        let _v : 'tv_depends = 
# 415 "parser_cocci_menhir.mly"
                           ( parents )
# 12046 "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_disj_ident = Obj.magic _2 in
        let _1 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 12073 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_designator = 
# 1770 "parser_cocci_menhir.mly"
     ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
# 12080 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 12111 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 12117 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_designator = 
# 1772 "parser_cocci_menhir.mly"
     ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
# 12124 "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 = _5;
          MenhirLib.EngineTypes.startp = _startpos__5_;
          MenhirLib.EngineTypes.endp = _endpos__5_;
          MenhirLib.EngineTypes.next = {
            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 _5 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 12165 "parser_cocci_menhir.ml"
        ) = Obj.magic _5 in
        let _4 : 'tv_eexpr = Obj.magic _4 in
        let _3 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12171 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 12177 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_designator = 
# 1774 "parser_cocci_menhir.mly"
     ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
			     _4,P.clt2mcode "]" _5) )
# 12185 "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_pre_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_dexpr = 
# 1870 "parser_cocci_menhir.mly"
                                              ( _1 )
# 12209 "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_pure_ident_ = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_disable = 
# 432 "parser_cocci_menhir.mly"
                                                      ( List.map P.id2name _2 )
# 12237 "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_disj_ident = 
# 2477 "parser_cocci_menhir.mly"
              ( _1 )
# 12261 "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.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 rp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 12292 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
        let lp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 12298 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let _startpos = _startpos_lp_ in
        let _endpos = _endpos_rp_ in
        let _v : 'tv_disj_ident = 
# 2479 "parser_cocci_menhir.mly"
  ( let (mids,code) = t in
	 Ast0.wrap
	   (Ast0.DisjId(P.id2mcode lp,code,mids, P.id2mcode rp)) )
# 12307 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12328 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_dot_expressions = 
# 1880 "parser_cocci_menhir.mly"
            ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
# 12335 "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_nest_expressions = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_dot_expressions = 
# 1881 "parser_cocci_menhir.mly"
                   ( _1 )
# 12359 "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_dparam = 
# 1286 "parser_cocci_menhir.mly"
               ( Ast0.wrap(Ast0.DParam _1) )
# 12383 "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_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_eargexpr = 
# 1868 "parser_cocci_menhir.mly"
                                            ( _1 )
# 12407 "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 = _menhir_stack;
          } = _menhir_stack in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12428 "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_ = 
# 2876 "parser_cocci_menhir.mly"
                                                  ( (d,None) )
# 12435 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              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 = d;
                  MenhirLib.EngineTypes.startp = _startpos_d_;
                  MenhirLib.EngineTypes.endp = _endpos_d_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_eexpr = Obj.magic w in
        let e : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 12476 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 12481 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12486 "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_ = 
# 2878 "parser_cocci_menhir.mly"
    ( (d, Some (P.clt2mcode "when" t, P.clt2mcode "!=" e,w)) )
# 12493 "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 = _menhir_stack;
          } = _menhir_stack in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12514 "parser_cocci_menhir.ml"
        ) = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos_d_ in
        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
# 2876 "parser_cocci_menhir.mly"
                                                  ( (d,None) )
# 12521 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              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 = d;
                  MenhirLib.EngineTypes.startp = _startpos_d_;
                  MenhirLib.EngineTypes.endp = _endpos_d_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_enum_decl_one = Obj.magic w in
        let e : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 12562 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 12567 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12572 "parser_cocci_menhir.ml"
        ) = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
# 2878 "parser_cocci_menhir.mly"
    ( (d, Some (P.clt2mcode "when" t, P.clt2mcode "!=" e,w)) )
# 12579 "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 = _menhir_stack;
          } = _menhir_stack in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12600 "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_ = 
# 2876 "parser_cocci_menhir.mly"
                                                  ( (d,None) )
# 12607 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              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 = d;
                  MenhirLib.EngineTypes.startp = _startpos_d_;
                  MenhirLib.EngineTypes.endp = _endpos_d_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_initialize = Obj.magic w in
        let e : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 12648 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 12653 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12658 "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_ = 
# 2878 "parser_cocci_menhir.mly"
    ( (d, Some (P.clt2mcode "when" t, P.clt2mcode "!=" e,w)) )
# 12665 "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 = _menhir_stack;
          } = _menhir_stack in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12686 "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_one_ = 
# 2876 "parser_cocci_menhir.mly"
                                                  ( (d,None) )
# 12693 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              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 = d;
                  MenhirLib.EngineTypes.startp = _startpos_d_;
                  MenhirLib.EngineTypes.endp = _endpos_d_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_struct_decl_one = Obj.magic w in
        let e : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 12734 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 12739 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let d : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 12744 "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_one_ = 
# 2878 "parser_cocci_menhir.mly"
    ( (d, Some (P.clt2mcode "when" t, P.clt2mcode "!=" e,w)) )
# 12751 "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_pre_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_eexpr = 
# 1867 "parser_cocci_menhir.mly"
                                             ( _1 )
# 12775 "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_aexpr_TEllipsis_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_eexpr_list_option = 
# 2781 "parser_cocci_menhir.mly"
      ( Ast0.wrap
	  (_1
	     (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
	     (fun c -> Ast0.EComma c)) )
# 12802 "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_ = 
# 2543 "parser_cocci_menhir.mly"
              ( fun build_dots build_comma -> [] )
# 12819 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let list : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos_list_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = 
# 2544 "parser_cocci_menhir.mly"
                                        ( list )
# 12843 "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_dparam_TEllipsis_ = 
# 2543 "parser_cocci_menhir.mly"
              ( fun build_dots build_comma -> [] )
# 12860 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let list : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos_list_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
# 2544 "parser_cocci_menhir.mly"
                                        ( list )
# 12884 "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__ = 
# 2543 "parser_cocci_menhir.mly"
              ( fun build_dots build_comma -> [] )
# 12901 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let list : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic list in
        let _startpos = _startpos_list_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2544 "parser_cocci_menhir.mly"
                                        ( list )
# 12925 "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_ = 
# 2543 "parser_cocci_menhir.mly"
              ( fun build_dots build_comma -> [] )
# 12942 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let list : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic list in
        let _startpos = _startpos_list_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2544 "parser_cocci_menhir.mly"
                                        ( list )
# 12966 "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 = 
# 1095 "parser_cocci_menhir.mly"
     ( Ast0.wrap(_1 P.mkedots (fun c -> Ast0.EComma c)) )
# 12990 "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_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_decl_one = 
# 1064 "parser_cocci_menhir.mly"
                    ( Ast0.wrap(Ast0.Ident(_1)) )
# 13014 "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_enum_val = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 13046 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_enum_decl_one = 
# 1066 "parser_cocci_menhir.mly"
 ( let id = Ast0.wrap(Ast0.Ident(_1)) in
        let (op,clt) = ("=",_2) in
        let op' = P.clt2mcode op clt in
        let op'' = Ast0.wrap (Ast0.SimpleAssign op') in
	Ast0.wrap
	  (Ast0.Assignment
	     (id, op'', Ast0.set_arg_exp _3, false)) )
# 13060 "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 = 
# 1075 "parser_cocci_menhir.mly"
            ( Ast0.wrap(Ast0.Ident(_1)) )
# 13084 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13105 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_val = 
# 1077 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 13113 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 13134 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_val = 
# 1079 "parser_cocci_menhir.mly"
         ( tmeta_to_exp _1 )
# 13141 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 13162 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_val = 
# 1081 "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)) )
# 13171 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 13192 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_val = 
# 1085 "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)) )
# 13201 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 13222 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_enum_val = 
# 1089 "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)) )
# 13231 "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_exec_front_ident = 
# 2801 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Ident(_1)) )
# 13255 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 13276 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_exec_front_ident = 
# 2803 "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)) )
# 13285 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 13306 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_exec_front_ident = 
# 2807 "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)) )
# 13315 "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_exec_ident = 
# 2812 "parser_cocci_menhir.mly"
     ( function prev -> prev )
# 13332 "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_exec_ident = Obj.magic _3 in
        let _2 : 'tv_disj_ident = Obj.magic _2 in
        let _1 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 13365 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_exec_ident = 
# 2814 "parser_cocci_menhir.mly"
     ( function prev ->
       _3 (Ast0.wrap(Ast0.RecordAccess(prev, P.clt2mcode "." _1, _2))) )
# 13373 "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_exec_ident = Obj.magic _3 in
        let _2 : 'tv_disj_ident = Obj.magic _2 in
        let _1 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 13406 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_exec_ident = 
# 2817 "parser_cocci_menhir.mly"
     ( function prev ->
       _3 (Ast0.wrap(Ast0.RecordPtAccess(prev, P.clt2mcode "->" _1,
				     _2))) )
# 13415 "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_exec_ident2 = 
# 2822 "parser_cocci_menhir.mly"
     ( [] )
# 13432 "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_exec_ident2 = Obj.magic _3 in
        let _2 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13464 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 13469 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_exec_ident2 = 
# 2824 "parser_cocci_menhir.mly"
     ( (P.clt2mcode "." _1) :: (P.clt2mcode (fst _2) (snd _2)) :: _3 )
# 13476 "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_exec_ident2 = Obj.magic _3 in
        let _2 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13508 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 13513 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_exec_ident2 = 
# 2826 "parser_cocci_menhir.mly"
     ( (P.clt2mcode "." _1) :: (P.clt2mcode (fst _2) (snd _2)) :: _3 )
# 13520 "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_exec_list = 
# 2790 "parser_cocci_menhir.mly"
                ( [] )
# 13537 "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_exec_list = Obj.magic _4 in
        let _3 : 'tv_exec_ident = Obj.magic _3 in
        let _2 : 'tv_exec_front_ident = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 13576 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_exec_list = 
# 2792 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ExecEval(P.clt2mcode ":" _1,_3 _2)) :: _4 )
# 13583 "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_exec_list = Obj.magic _3 in
        let _2 : 'tv_exec_ident2 = Obj.magic _2 in
        let _1 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13616 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_exec_list = 
# 2794 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ExecToken(P.clt2mcode (fst _1) (snd _1))) ::
	List.map (function x -> Ast0.wrap(Ast0.ExecToken x)) _2 @ _3 )
# 13624 "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_exec_list = Obj.magic _2 in
        let _1 : 'tv_token = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_exec_list = 
# 2796 "parser_cocci_menhir.mly"
                    ( Ast0.wrap(Ast0.ExecToken _1) :: _2 )
# 13654 "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_exec_list = Obj.magic _2 in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 13681 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_exec_list = 
# 2798 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ExecDots(P.clt2mcode "..." _1)) :: _2 )
# 13688 "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_exists = 
# 435 "parser_cocci_menhir.mly"
          ( Ast.Exists )
# 13710 "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_exists = 
# 436 "parser_cocci_menhir.mly"
          ( Ast.Forall )
# 13732 "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_exists = 
# 437 "parser_cocci_menhir.mly"
          ( Ast.Undetermined )
# 13749 "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_pre_basic_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_expr = 
# 1865 "parser_cocci_menhir.mly"
                                    ( _1 )
# 13773 "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 = r;
          MenhirLib.EngineTypes.startp = _startpos_r_;
          MenhirLib.EngineTypes.endp = _endpos_r_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_expr_dots_TEllipsis_ = 
# 2164 "parser_cocci_menhir.mly"
                                                       ( r )
# 13797 "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 = 
# 820 "parser_cocci_menhir.mly"
                        ( P.ty_pointerify Type_cocci.Unknown m )
# 13821 "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 = 
# 822 "parser_cocci_menhir.mly"
    ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
# 13849 "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 = 
# 824 "parser_cocci_menhir.mly"
    ( P.ty_pointerify
	(Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
# 13878 "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 = 
# 827 "parser_cocci_menhir.mly"
    ( P.ty_pointerify
	(Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
# 13907 "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_extends = 
# 409 "parser_cocci_menhir.mly"
                                                  ( () )
# 13924 "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 = parent;
          MenhirLib.EngineTypes.startp = _startpos_parent_;
          MenhirLib.EngineTypes.endp = _endpos_parent_;
          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 parent : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 13949 "parser_cocci_menhir.ml"
        ) = Obj.magic parent in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_parent_ in
        let _v : 'tv_extends = 
# 411 "parser_cocci_menhir.mly"
    ( !Data.install_bindings (parent) )
# 13956 "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 : (
# 251 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13982 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 251 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 13987 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_filespec = 
# 1160 "parser_cocci_menhir.mly"
    ( [Ast0.wrap
	  (Ast0.FILEINFO(P.id2mcode _1,
			 P.id2mcode _2))] )
# 13996 "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_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_fn_ident = 
# 2443 "parser_cocci_menhir.mly"
                     ( _1 )
# 14020 "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 : (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 14041 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_fn_ident = 
# 2445 "parser_cocci_menhir.mly"
         ( let (nm,constraints,pure,clt) = _1 in
	 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
# 14049 "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 : (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 14070 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_fn_ident = 
# 2448 "parser_cocci_menhir.mly"
  ( let (nm,constraints,pure,clt) = _1 in
	 Ast0.wrap
	   (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
# 14079 "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_fninfo = 
# 1379 "parser_cocci_menhir.mly"
                ( [] )
# 14096 "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_fninfo = Obj.magic _2 in
        let _1 : 'tv_storage = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo = 
# 1381 "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 )
# 14130 "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 = t;
            MenhirLib.EngineTypes.startp = _startpos_t_;
            MenhirLib.EngineTypes.endp = _endpos_t_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let r : 'tv_fninfo_nt = Obj.magic r in
        let t : 'tv_ctype = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_fninfo = 
# 1386 "parser_cocci_menhir.mly"
                        ( (Ast0.FType(t))::r )
# 14160 "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_fninfo = Obj.magic _2 in
        let _1 : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 14187 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo = 
# 1388 "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 )
# 14197 "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_fninfo = Obj.magic _2 in
        let _1 : (
# 214 "parser_cocci_menhir.mly"
      (string * Data.clt)
# 14224 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo = 
# 1393 "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 )
# 14234 "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_fninfo_nt = 
# 1399 "parser_cocci_menhir.mly"
                ( [] )
# 14251 "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_fninfo_nt = Obj.magic _2 in
        let _1 : 'tv_storage = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo_nt = 
# 1401 "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 )
# 14285 "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_fninfo_nt = Obj.magic _2 in
        let _1 : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 14312 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo_nt = 
# 1407 "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 )
# 14322 "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_fninfo_nt = Obj.magic _2 in
        let _1 : (
# 214 "parser_cocci_menhir.mly"
      (string * Data.clt)
# 14349 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fninfo_nt = 
# 1412 "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 )
# 14359 "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_fun_after_dots = 
# 2714 "parser_cocci_menhir.mly"
                               ([])
# 14376 "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_fun_after_exp = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fun_after_dots = 
# 2715 "parser_cocci_menhir.mly"
                               (_2)
# 14404 "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_fun_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_fun_after_dots = 
# 2716 "parser_cocci_menhir.mly"
                               (Ast0.wrap(Ast0.Exp(_1))::_2)
# 14434 "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_fun_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_fun_after_dots = 
# 2717 "parser_cocci_menhir.mly"
                                    (_1@_2)
# 14464 "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_fun_after_dots_or = 
# 2724 "parser_cocci_menhir.mly"
                               ([])
# 14481 "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_fun_after_exp_or = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_fun_after_dots_or = 
# 2725 "parser_cocci_menhir.mly"
                               (_2)
# 14509 "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_fun_after_exp_or = 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_fun_after_dots_or = 
# 2726 "parser_cocci_menhir.mly"
                               (Ast0.wrap(Ast0.Exp(_1))::_2)
# 14539 "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_fun_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_fun_after_dots_or = 
# 2727 "parser_cocci_menhir.mly"
                                    (_1@_2)
# 14569 "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_fun_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_fun_after_exp = 
# 2720 "parser_cocci_menhir.mly"
                               (_1::_2)
# 14599 "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_fun_after_exp_or = 
# 2730 "parser_cocci_menhir.mly"
                               ([])
# 14616 "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_fun_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_fun_after_exp_or = 
# 2731 "parser_cocci_menhir.mly"
                               (_1::_2)
# 14646 "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_fun_after_stm = 
# 2709 "parser_cocci_menhir.mly"
                               ([])
# 14663 "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_fun_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_fun_after_stm = 
# 2710 "parser_cocci_menhir.mly"
                               (_1::_2)
# 14693 "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_fun_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_fun_after_stm = 
# 2711 "parser_cocci_menhir.mly"
                               (_1@_2)
# 14723 "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_fun_after_stm = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_fun_start = 
# 2706 "parser_cocci_menhir.mly"
                 ( Ast0.wrap _1 )
# 14747 "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_func_ident = 
# 2434 "parser_cocci_menhir.mly"
             ( _1 )
# 14771 "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 : (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 14792 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_func_ident = 
# 2436 "parser_cocci_menhir.mly"
         ( let (nm,constraints,pure,clt) = _1 in
	 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
# 14800 "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 : (
# 223 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 14821 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_func_ident = 
# 2439 "parser_cocci_menhir.mly"
  ( let (nm,constraints,pure,clt) = _1 in
	 Ast0.wrap
	   (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
# 14830 "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 = rb;
          MenhirLib.EngineTypes.startp = _startpos_rb_;
          MenhirLib.EngineTypes.endp = _endpos_rb_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = b;
            MenhirLib.EngineTypes.startp = _startpos_b_;
            MenhirLib.EngineTypes.endp = _endpos_b_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = lb;
              MenhirLib.EngineTypes.startp = _startpos_lb_;
              MenhirLib.EngineTypes.endp = _endpos_lb_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = rp;
                MenhirLib.EngineTypes.startp = _startpos_rp_;
                MenhirLib.EngineTypes.endp = _endpos_rp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = arglist;
                  MenhirLib.EngineTypes.startp = _startpos_arglist_;
                  MenhirLib.EngineTypes.endp = _endpos_arglist_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.semv = lp;
                    MenhirLib.EngineTypes.startp = _startpos_lp_;
                    MenhirLib.EngineTypes.endp = _endpos_lp_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.semv = i;
                      MenhirLib.EngineTypes.startp = _startpos_i_;
                      MenhirLib.EngineTypes.endp = _endpos_i_;
                      MenhirLib.EngineTypes.next = {
                        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.next = _menhir_stack;
                          };
                        };
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let rb : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 14890 "parser_cocci_menhir.ml"
        ) = Obj.magic rb in
        let b : 'tv_fun_start = Obj.magic b in
        let lb : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 14896 "parser_cocci_menhir.ml"
        ) = Obj.magic lb in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 14901 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 14907 "parser_cocci_menhir.ml"
        ) = Obj.magic lp 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 = 
# 1369 "parser_cocci_menhir.mly"
      ( let (args,vararg) = arglist in
        Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
			       f, i,
			       P.clt2mcode "(" (lp), args, vararg,
			       P.clt2mcode ")" rp,
			       P.clt2mcode "{" lb, b,
			       P.clt2mcode "}" rb,
			       (Ast0.default_info(),Ast0.context_befaft()))) )
# 14923 "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 = pt;
          MenhirLib.EngineTypes.startp = _startpos_pt_;
          MenhirLib.EngineTypes.endp = _endpos_pt_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = rp;
            MenhirLib.EngineTypes.startp = _startpos_rp_;
            MenhirLib.EngineTypes.endp = _endpos_rp_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = arglist;
              MenhirLib.EngineTypes.startp = _startpos_arglist_;
              MenhirLib.EngineTypes.endp = _endpos_arglist_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = lp;
                MenhirLib.EngineTypes.startp = _startpos_lp_;
                MenhirLib.EngineTypes.endp = _endpos_lp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = id;
                  MenhirLib.EngineTypes.startp = _startpos_id_;
                  MenhirLib.EngineTypes.endp = _endpos_id_;
                  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 pt : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 14969 "parser_cocci_menhir.ml"
        ) = Obj.magic pt in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 14974 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_name_opt_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 14980 "parser_cocci_menhir.ml"
        ) = Obj.magic lp 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
        let _v : 'tv_funproto = let i =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 14990 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 14997 "parser_cocci_menhir.ml"
          
        in
        
# 1341 "parser_cocci_menhir.mly"
      ( let s = match s with None -> [] | Some s -> [Ast0.FStorage s] in
        let i =
	  match i with
	    None -> []
	  | Some i -> [Ast0.FInline (P.clt2mcode "inline" i)] in
	let t = [Ast0.FType t] in
        let (args,vararg) = arglist in
	Ast0.wrap
	  (Ast0.FunProto
	     (s @ i @ t, id,
	      P.clt2mcode "(" lp, args, vararg, P.clt2mcode ")" rp,
	      P.clt2mcode ";" pt)) )
# 15014 "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 = pt;
          MenhirLib.EngineTypes.startp = _startpos_pt_;
          MenhirLib.EngineTypes.endp = _endpos_pt_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = rp;
            MenhirLib.EngineTypes.startp = _startpos_rp_;
            MenhirLib.EngineTypes.endp = _endpos_rp_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = arglist;
              MenhirLib.EngineTypes.startp = _startpos_arglist_;
              MenhirLib.EngineTypes.endp = _endpos_arglist_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = lp;
                MenhirLib.EngineTypes.startp = _startpos_lp_;
                MenhirLib.EngineTypes.endp = _endpos_lp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = id;
                  MenhirLib.EngineTypes.startp = _startpos_id_;
                  MenhirLib.EngineTypes.endp = _endpos_id_;
                  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 = x0;
                      MenhirLib.EngineTypes.startp = _startpos_x0_;
                      MenhirLib.EngineTypes.endp = _endpos_x0_;
                      MenhirLib.EngineTypes.next = _menhir_stack;
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let pt : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 15065 "parser_cocci_menhir.ml"
        ) = Obj.magic pt in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15070 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_name_opt_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15076 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let id : 'tv_fn_ident = Obj.magic id in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 15083 "parser_cocci_menhir.ml"
        ) = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pt_ in
        let _v : 'tv_funproto = let i =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 15092 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 15099 "parser_cocci_menhir.ml"
          
        in
        
# 1341 "parser_cocci_menhir.mly"
      ( let s = match s with None -> [] | Some s -> [Ast0.FStorage s] in
        let i =
	  match i with
	    None -> []
	  | Some i -> [Ast0.FInline (P.clt2mcode "inline" i)] in
	let t = [Ast0.FType t] in
        let (args,vararg) = arglist in
	Ast0.wrap
	  (Ast0.FunProto
	     (s @ i @ t, id,
	      P.clt2mcode "(" lp, args, vararg, P.clt2mcode ")" rp,
	      P.clt2mcode ";" pt)) )
# 15116 "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 = pt;
          MenhirLib.EngineTypes.startp = _startpos_pt_;
          MenhirLib.EngineTypes.endp = _endpos_pt_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = rp;
            MenhirLib.EngineTypes.startp = _startpos_rp_;
            MenhirLib.EngineTypes.endp = _endpos_rp_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = arglist;
              MenhirLib.EngineTypes.startp = _startpos_arglist_;
              MenhirLib.EngineTypes.endp = _endpos_arglist_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = lp;
                MenhirLib.EngineTypes.startp = _startpos_lp_;
                MenhirLib.EngineTypes.endp = _endpos_lp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = id;
                  MenhirLib.EngineTypes.startp = _startpos_id_;
                  MenhirLib.EngineTypes.endp = _endpos_id_;
                  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 = x0;
                      MenhirLib.EngineTypes.startp = _startpos_x0_;
                      MenhirLib.EngineTypes.endp = _endpos_x0_;
                      MenhirLib.EngineTypes.next = _menhir_stack;
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let pt : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 15167 "parser_cocci_menhir.ml"
        ) = Obj.magic pt in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15172 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_name_opt_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15178 "parser_cocci_menhir.ml"
        ) = Obj.magic lp 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
        let _endpos = _endpos_pt_ in
        let _v : 'tv_funproto = let i =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 15189 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 15197 "parser_cocci_menhir.ml"
          
        in
        
# 1341 "parser_cocci_menhir.mly"
      ( let s = match s with None -> [] | Some s -> [Ast0.FStorage s] in
        let i =
	  match i with
	    None -> []
	  | Some i -> [Ast0.FInline (P.clt2mcode "inline" i)] in
	let t = [Ast0.FType t] in
        let (args,vararg) = arglist in
	Ast0.wrap
	  (Ast0.FunProto
	     (s @ i @ t, id,
	      P.clt2mcode "(" lp, args, vararg, P.clt2mcode ")" rp,
	      P.clt2mcode ";" pt)) )
# 15214 "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 = pt;
          MenhirLib.EngineTypes.startp = _startpos_pt_;
          MenhirLib.EngineTypes.endp = _endpos_pt_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = rp;
            MenhirLib.EngineTypes.startp = _startpos_rp_;
            MenhirLib.EngineTypes.endp = _endpos_rp_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = arglist;
              MenhirLib.EngineTypes.startp = _startpos_arglist_;
              MenhirLib.EngineTypes.endp = _endpos_arglist_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = lp;
                MenhirLib.EngineTypes.startp = _startpos_lp_;
                MenhirLib.EngineTypes.endp = _endpos_lp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = id;
                  MenhirLib.EngineTypes.startp = _startpos_id_;
                  MenhirLib.EngineTypes.endp = _endpos_id_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.semv = t;
                    MenhirLib.EngineTypes.startp = _startpos_t_;
                    MenhirLib.EngineTypes.endp = _endpos_t_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.semv = x1;
                      MenhirLib.EngineTypes.startp = _startpos_x1_;
                      MenhirLib.EngineTypes.endp = _endpos_x1_;
                      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 pt : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 15270 "parser_cocci_menhir.ml"
        ) = Obj.magic pt in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15275 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_name_opt_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15281 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let id : 'tv_fn_ident = Obj.magic id in
        let t : 'tv_ctype = Obj.magic t in
        let x1 : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 15288 "parser_cocci_menhir.ml"
        ) = Obj.magic x1 in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pt_ in
        let _v : 'tv_funproto = let i =
          let x = x1 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 15298 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 15306 "parser_cocci_menhir.ml"
          
        in
        
# 1341 "parser_cocci_menhir.mly"
      ( let s = match s with None -> [] | Some s -> [Ast0.FStorage s] in
        let i =
	  match i with
	    None -> []
	  | Some i -> [Ast0.FInline (P.clt2mcode "inline" i)] in
	let t = [Ast0.FType t] in
        let (args,vararg) = arglist in
	Ast0.wrap
	  (Ast0.FunProto
	     (s @ i @ t, id,
	      P.clt2mcode "(" lp, args, vararg, P.clt2mcode ")" rp,
	      P.clt2mcode ";" pt)) )
# 15323 "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 = pt;
          MenhirLib.EngineTypes.startp = _startpos_pt_;
          MenhirLib.EngineTypes.endp = _endpos_pt_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = rp;
            MenhirLib.EngineTypes.startp = _startpos_rp_;
            MenhirLib.EngineTypes.endp = _endpos_rp_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = arglist;
              MenhirLib.EngineTypes.startp = _startpos_arglist_;
              MenhirLib.EngineTypes.endp = _endpos_arglist_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = lp;
                MenhirLib.EngineTypes.startp = _startpos_lp_;
                MenhirLib.EngineTypes.endp = _endpos_lp_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = id;
                  MenhirLib.EngineTypes.startp = _startpos_id_;
                  MenhirLib.EngineTypes.endp = _endpos_id_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.semv = t;
                    MenhirLib.EngineTypes.startp = _startpos_t_;
                    MenhirLib.EngineTypes.endp = _endpos_t_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.semv = s;
                      MenhirLib.EngineTypes.startp = _startpos_s_;
                      MenhirLib.EngineTypes.endp = _endpos_s_;
                      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 pt : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 15379 "parser_cocci_menhir.ml"
        ) = Obj.magic pt in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15384 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let arglist : 'tv_arg_list_name_opt_decl_ = Obj.magic arglist in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 15390 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let id : 'tv_fn_ident = Obj.magic id in
        let t : 'tv_ctype = Obj.magic t in
        let s : 'tv_storage = Obj.magic s in
        let i : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 15398 "parser_cocci_menhir.ml"
        ) = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pt_ in
        let _v : 'tv_funproto = 
# 1355 "parser_cocci_menhir.mly"
      ( let s = [Ast0.FStorage s] in
        let i = [Ast0.FInline (P.clt2mcode "inline" i)] in
	let t = [Ast0.FType t] in
        let (args,vararg) = arglist in
	Ast0.wrap
	  (Ast0.FunProto
	     (s @ i @ t, id,
	      P.clt2mcode "(" lp, args, vararg, P.clt2mcode ")" rp,
	      P.clt2mcode ";" pt)) )
# 15413 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_idcstr = 
# 2307 "parser_cocci_menhir.mly"
         ( (if !Data.in_iso
	   then failwith "constraints not allowed in iso file");
	   (if !Data.in_generating
           (* pb: constraints not stored with metavars; too lazy to search for
	      them in the pattern *)
	   then failwith "constraints not allowed in a generated rule file");
	   (match i with
	     (Some rn,id) ->
	       let i =
		 P.check_inherited_constraint i
		   (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
	       ([],[i])
	   | (None,i) -> ([i],[])) )
# 15449 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_idcstr = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 15483 "parser_cocci_menhir.ml"
          
        in
        
# 2321 "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 (str,meta) =
	     List.fold_left
	       (function (str,meta) ->
		 function
		   (Some rn,id) as i ->
		     let i =
		       P.check_inherited_constraint i
			 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
		     (str,i::meta)
		 | (None,i) -> (i::str,meta))
	       ([],[]) l in
	   (str,meta)
	 )
# 15505 "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_ident = 
# 2453 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 15529 "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_wrapped_sym_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident = 
# 2454 "parser_cocci_menhir.mly"
                         ( _1 )
# 15553 "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 : (
# 222 "parser_cocci_menhir.mly"
       (Parse_aux.midinfo)
# 15574 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident = 
# 2456 "parser_cocci_menhir.mly"
         ( let (nm,constraints,seed,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
# 15582 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let i : 'tv_pure_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_ident_or_const = 
# 2406 "parser_cocci_menhir.mly"
                    ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
# 15606 "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_wrapped_sym_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_const = 
# 2407 "parser_cocci_menhir.mly"
                         ( Ast0.wrap(Ast0.Ident(_1)) )
# 15630 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 15651 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_const = 
# 2409 "parser_cocci_menhir.mly"
  ( let (x,clt) = _1 in
	 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 15659 "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_ident_or_kwd = 
# 2460 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 15683 "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_wrapped_sym_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_kwd = 
# 2461 "parser_cocci_menhir.mly"
                         ( _1 )
# 15707 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 15728 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_kwd = 
# 2462 "parser_cocci_menhir.mly"
             ( tmeta_to_ident _1 )
# 15735 "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 : (
# 222 "parser_cocci_menhir.mly"
       (Parse_aux.midinfo)
# 15756 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_kwd = 
# 2464 "parser_cocci_menhir.mly"
         ( let (nm,constraints,seed,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
# 15764 "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 : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 15785 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_ident_or_kwd = 
# 2466 "parser_cocci_menhir.mly"
               ( Ast0.wrap(Ast0.Id(P.clt2mcode "inline" _1)) )
# 15792 "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 : (
# 247 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 15813 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_incl = 
# 450 "parser_cocci_menhir.mly"
                      ( let (x,_) = _1 in Data.Include(x) )
# 15820 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 15845 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_incl = 
# 451 "parser_cocci_menhir.mly"
                      ( Data.Iso(Common.Left(P.id2name _2)) )
# 15852 "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 : (
# 246 "parser_cocci_menhir.mly"
       (string)
# 15877 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_incl = 
# 452 "parser_cocci_menhir.mly"
                      ( Data.Iso(Common.Right _2) )
# 15884 "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 = l0;
          MenhirLib.EngineTypes.startp = _startpos_l0_;
          MenhirLib.EngineTypes.endp = _endpos_l0_;
          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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_l0_ in
        let _v : 'tv_incl = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 15914 "parser_cocci_menhir.ml"
          
        in
        
# 454 "parser_cocci_menhir.mly"
    ( let names = List.map P.id2name ids 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) )
# 15927 "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_list_incl_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 331 "parser_cocci_menhir.mly"
      (Data.incl_iso list)
# 15955 "parser_cocci_menhir.ml"
        ) = 
# 446 "parser_cocci_menhir.mly"
                       ( _1 )
# 15959 "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_list_incl_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 331 "parser_cocci_menhir.mly"
      (Data.incl_iso list)
# 15987 "parser_cocci_menhir.ml"
        ) = 
# 447 "parser_cocci_menhir.mly"
                       ( _1 )
# 15991 "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 : (
# 247 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 16012 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_includes = 
# 1166 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.Include(P.clt2mcode "#include"
			(P.drop_pos (P.drop_aft (P.id2clt _1))),
		      let (arity,ln,lln,llne,offset,col,strbef,straft,pos,_) =
			P.id2clt _1 in
		      let clt = (* default to one space whitespace *)
			(arity,ln,lln,llne,offset,0,strbef,straft,pos," ") in
		      P.clt2mcode
			(Ast.Local (Parse_aux.str2inc (P.id2name _1)))
			(P.drop_bef clt))) )
# 16028 "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 : (
# 247 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 16049 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_includes = 
# 1177 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.Include(P.clt2mcode "#include"
			(P.drop_pos (P.drop_aft (P.id2clt _1))),
		      let (arity,ln,lln,llne,offset,col,strbef,straft,pos,_) =
			P.id2clt _1 in
		      let clt = (* default to one space whitespace *)
			(arity,ln,lln,llne,offset,0,strbef,straft,pos," ") in
		      P.clt2mcode
			(Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
			(P.drop_bef clt))) )
# 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.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 : (
# 248 "parser_cocci_menhir.mly"
       (Data.clt * token)
# 16090 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_includes = 
# 1188 "parser_cocci_menhir.mly"
    ( let (clt,ident) = _1 in
      let aft = P.get_aft clt in (* move stuff after the define to the ident *)
      Ast0.wrap
      (Ast0.Undef
	 (P.clt2mcode "#undef" (P.drop_aft clt),
	  (match ident with
	    TMetaId((nm,constraints,seed,pure,clt)) ->
	      let clt = P.set_aft aft clt in
	      Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
	  | TIdent((nm,clt)) ->
	      let clt = P.set_aft aft clt in
	      Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	  | TSymId(nm,clt) ->
	      let clt = P.set_aft aft clt in
	      Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
	  | _ ->
	      raise
		(Semantic_cocci.Semantic
		   "unexpected name for a #define")))) )
# 16115 "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 = d;
            MenhirLib.EngineTypes.startp = _startpos_d_;
            MenhirLib.EngineTypes.endp = _endpos_d_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let d : 'tv_defineop = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_includes = 
# 1208 "parser_cocci_menhir.mly"
    ( d (Ast0.wrap []) )
# 16143 "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 = t;
            MenhirLib.EngineTypes.startp = _startpos_t_;
            MenhirLib.EngineTypes.endp = _endpos_t_;
            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 t : 'tv_ctype = Obj.magic t in
        let d : 'tv_defineop = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_includes = 
# 1210 "parser_cocci_menhir.mly"
    ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
      d (Ast0.wrap [ty]) )
# 16178 "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 = b;
            MenhirLib.EngineTypes.startp = _startpos_b_;
            MenhirLib.EngineTypes.endp = _endpos_b_;
            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_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
        let _1 : 'tv_defineop = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_includes = 
# 1213 "parser_cocci_menhir.mly"
    ( let body =
	match b with
	  [e] ->
	    (match Ast0.unwrap e with
	      Ast0.Exp(e1) ->
		[Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
	    | _ -> b)
	| _ -> b in
      _1 (Ast0.wrap body) )
# 16220 "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 = _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_pragmabody = Obj.magic _3 in
        let _2 : 'tv_ident_or_kwd = Obj.magic _2 in
        let _1 : (
# 249 "parser_cocci_menhir.mly"
       (Data.clt)
# 16257 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_includes = 
# 1223 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Pragma(P.clt2mcode "#pragma" _1, _2, _3)) )
# 16264 "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_eexpr = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize = 
# 1726 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.InitExpr(_1)) )
# 16288 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 16319 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_initialize_list = Obj.magic _2 in
        let _1 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 16325 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_initialize = 
# 1728 "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)) )
# 16337 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 16358 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize = 
# 1735 "parser_cocci_menhir.mly"
      (let (nm,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
# 16366 "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_arith_expr_eexpr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize2 = 
# 1741 "parser_cocci_menhir.mly"
                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
# 16390 "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_nest_expressions_only = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize2 = 
# 1742 "parser_cocci_menhir.mly"
                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
# 16414 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 16445 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_initialize_list = Obj.magic _2 in
        let _1 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 16451 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_initialize2 = 
# 1744 "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)) )
# 16463 "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_initialize2 = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 16495 "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 = 
# 1752 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
# 16503 "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_initialize2 = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 16535 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_mident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_initialize2 = 
# 1754 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
# 16543 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 16564 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize2 = 
# 1756 "parser_cocci_menhir.mly"
      (let (nm,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
# 16572 "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 : (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 16593 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize2 = 
# 1759 "parser_cocci_menhir.mly"
      (let (nm,lenname,pure,clt) = _1 in
      let nm = P.clt2mcode nm clt 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.MetaInitList(nm,lenname,pure)) )
# 16607 "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_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_initialize_list = 
# 1779 "parser_cocci_menhir.mly"
     ( Ast0.wrap(_1 P.mkidots (fun c -> Ast0.IComma c)) )
# 16631 "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_invalid = 
# 1877 "parser_cocci_menhir.mly"
           ( raise (Semantic_cocci.Semantic "not matchable") )
# 16653 "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_is_expression = 
# 440 "parser_cocci_menhir.mly"
              ( Ast.AnyP )
# 16670 "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_is_expression = 
# 441 "parser_cocci_menhir.mly"
              ( Ast.ExpP )
# 16692 "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_is_expression = 
# 442 "parser_cocci_menhir.mly"
              ( Ast.IdP )
# 16714 "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_is_expression = 
# 443 "parser_cocci_menhir.mly"
              ( Ast.TyP )
# 16736 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_ctype = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_ctype_ = 
# 2937 "parser_cocci_menhir.mly"
                ( Common.Left t )
# 16764 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_ctype = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_ctype_ = 
# 2938 "parser_cocci_menhir.mly"
                     ( Common.Right t )
# 16792 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_decl_var = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_decl_var_ = 
# 2937 "parser_cocci_menhir.mly"
                ( Common.Left t )
# 16820 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_decl_var = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_decl_var_ = 
# 2938 "parser_cocci_menhir.mly"
                     ( Common.Right t )
# 16848 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_eexpr = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_eexpr_ = 
# 2937 "parser_cocci_menhir.mly"
                ( Common.Left t )
# 16876 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_eexpr = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_eexpr_ = 
# 2938 "parser_cocci_menhir.mly"
                     ( Common.Right t )
# 16904 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_iso_statement = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_iso_statement_ = 
# 2937 "parser_cocci_menhir.mly"
                ( Common.Left t )
# 16932 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_iso_statement = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_iso_statement_ = 
# 2938 "parser_cocci_menhir.mly"
                     ( Common.Right t )
# 16960 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_nest_start = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_nest_start_ = 
# 2937 "parser_cocci_menhir.mly"
                ( Common.Left t )
# 16988 "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 = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          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 t : 'tv_nest_start = Obj.magic t in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_t_ in
        let _v : 'tv_iso_nest_start_ = 
# 2938 "parser_cocci_menhir.mly"
                     ( Common.Right t )
# 17016 "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 = el;
            MenhirLib.EngineTypes.startp = _startpos_el_;
            MenhirLib.EngineTypes.endp = _endpos_el_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e1;
              MenhirLib.EngineTypes.startp = _startpos_e1_;
              MenhirLib.EngineTypes.endp = _endpos_e1_;
              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 el : 'tv_list_iso_eexpr__ = Obj.magic el in
        let e1 : 'tv_eexpr = Obj.magic e1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17054 "parser_cocci_menhir.ml"
        ) = 
# 2905 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
# 17058 "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 = el;
            MenhirLib.EngineTypes.startp = _startpos_el_;
            MenhirLib.EngineTypes.endp = _endpos_el_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e1;
              MenhirLib.EngineTypes.startp = _startpos_e1_;
              MenhirLib.EngineTypes.endp = _endpos_e1_;
              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 el : 'tv_list_iso_eexpr__ = Obj.magic el in
        let e1 : 'tv_eexpr = Obj.magic e1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17096 "parser_cocci_menhir.ml"
        ) = 
# 2907 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
# 17100 "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 = el;
            MenhirLib.EngineTypes.startp = _startpos_el_;
            MenhirLib.EngineTypes.endp = _endpos_el_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e1;
              MenhirLib.EngineTypes.startp = _startpos_e1_;
              MenhirLib.EngineTypes.endp = _endpos_e1_;
              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 el : 'tv_list_iso_eexpr__ = Obj.magic el in
        let e1 : 'tv_eexpr = Obj.magic e1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17138 "parser_cocci_menhir.ml"
        ) = 
# 2909 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
# 17142 "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 = el;
            MenhirLib.EngineTypes.startp = _startpos_el_;
            MenhirLib.EngineTypes.endp = _endpos_el_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e1;
              MenhirLib.EngineTypes.startp = _startpos_e1_;
              MenhirLib.EngineTypes.endp = _endpos_e1_;
              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 el : 'tv_list_iso_eexpr__ = Obj.magic el in
        let e1 : 'tv_eexpr = Obj.magic e1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17180 "parser_cocci_menhir.ml"
        ) = 
# 2911 "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 )
# 17186 "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 = sl;
            MenhirLib.EngineTypes.startp = _startpos_sl_;
            MenhirLib.EngineTypes.endp = _endpos_sl_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = s1;
              MenhirLib.EngineTypes.startp = _startpos_s1_;
              MenhirLib.EngineTypes.endp = _endpos_s1_;
              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 sl : 'tv_list_iso_iso_statement__ = Obj.magic sl in
        let s1 : 'tv_iso_statement = Obj.magic s1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17224 "parser_cocci_menhir.ml"
        ) = 
# 2915 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
# 17228 "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 = tl;
            MenhirLib.EngineTypes.startp = _startpos_tl_;
            MenhirLib.EngineTypes.endp = _endpos_tl_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = t1;
              MenhirLib.EngineTypes.startp = _startpos_t1_;
              MenhirLib.EngineTypes.endp = _endpos_t1_;
              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 tl : 'tv_list_iso_ctype__ = Obj.magic tl in
        let t1 : 'tv_ctype = Obj.magic t1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17266 "parser_cocci_menhir.ml"
        ) = 
# 2917 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
# 17270 "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 = el;
            MenhirLib.EngineTypes.startp = _startpos_el_;
            MenhirLib.EngineTypes.endp = _endpos_el_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e1;
              MenhirLib.EngineTypes.startp = _startpos_e1_;
              MenhirLib.EngineTypes.endp = _endpos_e1_;
              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 el : 'tv_list_iso_nest_start__ = Obj.magic el in
        let e1 : 'tv_nest_start = Obj.magic e1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17308 "parser_cocci_menhir.ml"
        ) = 
# 2919 "parser_cocci_menhir.mly"
    ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
# 17312 "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 = dl;
            MenhirLib.EngineTypes.startp = _startpos_dl_;
            MenhirLib.EngineTypes.endp = _endpos_dl_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = d1;
              MenhirLib.EngineTypes.startp = _startpos_d1_;
              MenhirLib.EngineTypes.endp = _endpos_d1_;
              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 dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
        let d1 : 'tv_decl_var = Obj.magic d1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 17350 "parser_cocci_menhir.ml"
        ) = 
# 2921 "parser_cocci_menhir.mly"
    ( let check_one = function
	[x] -> x
      | _ ->
	  raise
	    (Semantic_cocci.Semantic
	       "only one variable per declaration in an isomorphism rule") in
    let d1 = check_one d1 in
    let dl =
      List.map
	(function
	    Common.Left x -> Common.Left(check_one x)
	  | Common.Right x -> Common.Right(check_one x))
	dl in
    let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
# 17367 "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_metadec = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos_m_ in
        let _v : (
# 351 "parser_cocci_menhir.mly"
      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
# 17391 "parser_cocci_menhir.ml"
        ) = 
# 375 "parser_cocci_menhir.mly"
                         ( m "" )
# 17395 "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 = nm;
            MenhirLib.EngineTypes.startp = _startpos_nm_;
            MenhirLib.EngineTypes.endp = _endpos_nm_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let nm : 'tv_pure_ident = Obj.magic nm in
        let _startpos = _startpos_nm_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 334 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 17423 "parser_cocci_menhir.ml"
        ) = 
# 390 "parser_cocci_menhir.mly"
                      ( P.make_iso_rule_name_result (P.id2name nm) )
# 17427 "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_statement = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_iso_statement = 
# 1563 "parser_cocci_menhir.mly"
                                      ( _1 )
# 17451 "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_var = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_iso_statement = 
# 1565 "parser_cocci_menhir.mly"
      ( match _1 with
	[decl] ->
	  Ast0.wrap
	    (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),decl))
      |	_ -> failwith "exactly one decl allowed in statement iso" )
# 17479 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 17500 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_iter_ident = 
# 2499 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 17507 "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 : (
# 224 "parser_cocci_menhir.mly"
       (Parse_aux.idinfo)
# 17528 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_iter_ident = 
# 2501 "parser_cocci_menhir.mly"
         ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
# 17536 "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_TMul_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17553 "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_TMul_ = Obj.magic xs in
        let x : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 17580 "parser_cocci_menhir.ml"
        ) = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_TMul_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17587 "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_array_dec_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17604 "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_array_dec_ = Obj.magic xs in
        let x : 'tv_array_dec = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_array_dec_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17634 "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_case_line_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17651 "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_case_line_ = Obj.magic xs in
        let x : 'tv_case_line = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_case_line_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17681 "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_decl_var_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17698 "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_decl_var_ = Obj.magic xs in
        let x : 'tv_decl_var = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_decl_var_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17728 "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_designator_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17745 "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_designator_ = Obj.magic xs in
        let x : 'tv_designator = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_designator_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17775 "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_incl_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17792 "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_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_incl_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17822 "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_iso_ctype__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17839 "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_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_iso_ctype__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17869 "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_iso_decl_var__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17886 "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_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_decl_var__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17916 "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_iso_eexpr__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17933 "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_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_eexpr__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 17963 "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_iso_iso_statement__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 17980 "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_iso_iso_statement__ = Obj.magic xs in
        let x : 'tv_iso_iso_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_iso_iso_statement__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18010 "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_iso_nest_start__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18027 "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_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_nest_start__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18057 "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_mul_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18074 "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_mul_ = Obj.magic xs in
        let x : 'tv_mul = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_mul_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18104 "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_mzl_ctype__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18121 "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_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_mzl_ctype__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18151 "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_mzl_disj_ident__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18168 "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_mzl_disj_ident__ = Obj.magic xs in
        let x : 'tv_mzl_disj_ident_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_mzl_disj_ident__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18198 "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_mzl_eexpr__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18215 "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_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_eexpr__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18245 "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_mzl_fun_after_dots_or__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18262 "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_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_fun_after_dots_or__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18292 "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_mzl_fun_start__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18309 "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_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_start__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18339 "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_mzl_mctype__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18356 "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_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_mctype__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18386 "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_mzl_rule_elem_statement__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18403 "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_mzl_rule_elem_statement__ = Obj.magic xs in
        let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_mzl_rule_elem_statement__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18433 "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_mzl_statement__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18450 "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_mzl_statement__ = Obj.magic xs in
        let x : 'tv_mzl_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_mzl_statement__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18480 "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_mzl_struct_decl_one__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18497 "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_mzl_struct_decl_one__ = Obj.magic xs in
        let x : 'tv_mzl_struct_decl_one_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_mzl_struct_decl_one__ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18527 "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_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18544 "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.semv = y0;
            MenhirLib.EngineTypes.startp = _startpos_y0_;
            MenhirLib.EngineTypes.endp = _endpos_y0_;
            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 xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
        let y0 : 'tv_dexpr = Obj.magic y0 in
        let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
          let y = y0 in
          let x = x0 in
          
# 70 "/usr/share/menhir/standard.mly"
    ( (x, y) )
# 18583 "parser_cocci_menhir.ml"
          
        in
        
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18589 "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_whenppdecs_ = 
# 114 "/usr/share/menhir/standard.mly"
    ( [] )
# 18606 "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_whenppdecs_ = Obj.magic xs in
        let x : 'tv_whenppdecs = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_list_whenppdecs_ = 
# 116 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 18636 "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 = 
# 639 "parser_cocci_menhir.mly"
                           ( Common.Left _1 )
# 18660 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 18681 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_list_len = 
# 640 "parser_cocci_menhir.mly"
       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
# 18688 "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.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 _3 : 'tv_pure_ident = Obj.magic _3 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_list_len = 
# 642 "parser_cocci_menhir.mly"
    ( let nm = ("virtual",P.id2name _3) in
    Iteration.parsed_virtual_identifiers :=
      Common.union_set [snd nm]
        !Iteration.parsed_virtual_identifiers;
    try
    Common.Right (int_of_string
		    (List.assoc (snd nm) !Flag.defined_virtual_env))
    with Not_found | Failure "int_of_string" ->
      begin
	Common.Left (Some "virtual",P.id2name _3)
      end
    )
# 18731 "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_loption_choose_iso_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18748 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_choose_iso = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_choose_iso_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18772 "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_loption_disable_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18789 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_disable = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_disable_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18813 "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_loption_filespec_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18830 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_filespec = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_filespec_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18854 "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_loption_minus_start_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18871 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_minus_start = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_minus_start_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18895 "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_loption_not_pos_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18912 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_not_pos = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_not_pos_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18936 "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_loption_plus_start_ = 
# 57 "/usr/share/menhir/standard.mly"
    ( [] )
# 18953 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_plus_start = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_loption_plus_start_ = 
# 59 "/usr/share/menhir/standard.mly"
    ( x )
# 18977 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 18998 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_mctype = 
# 997 "parser_cocci_menhir.mly"
        ( tmeta_to_type _1 )
# 19005 "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 = 
# 998 "parser_cocci_menhir.mly"
        (_1)
# 19029 "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 = 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_t_ in
        let _v : 'tv_meta_exp_type = 
# 864 "parser_cocci_menhir.mly"
    ( [Ast0_cocci.ast0_type_to_type true t] )
# 19053 "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 = 
# 866 "parser_cocci_menhir.mly"
    ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type true t)] )
# 19085 "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.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l0;
              MenhirLib.EngineTypes.startp = _startpos_l0_;
              MenhirLib.EngineTypes.endp = _endpos_l0_;
              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 l0 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_m_ in
        let _v : 'tv_meta_exp_type = let t =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19125 "parser_cocci_menhir.ml"
          
        in
        
# 868 "parser_cocci_menhir.mly"
    ( List.map
	(function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type true x) m)
	t )
# 19133 "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.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_pure_ident = Obj.magic _3 in
        let _1 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 19164 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_meta_ident = 
# 2207 "parser_cocci_menhir.mly"
                                   ( (Some _1,P.id2name _3) )
# 19171 "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.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_pure_ident_kwd = Obj.magic _3 in
        let _1 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 19202 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_meta_ident = 
# 2208 "parser_cocci_menhir.mly"
                                   ( (Some _1,_3) )
# 19209 "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_metadec = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos_m_ in
        let _v : (
# 342 "parser_cocci_menhir.mly"
      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
# 19233 "parser_cocci_menhir.ml"
        ) = 
# 374 "parser_cocci_menhir.mly"
                       ( m (!Ast0.rule_name) )
# 19237 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19283 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 665 "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) )
# 19292 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19298 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19344 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 669 "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) )
# 19353 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19359 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19409 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 673 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let len = Ast.AnyLen in
      let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
      !Data.add_paramlist_meta name len pure; tok) )
# 19419 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19425 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19475 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 678 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let len = Ast.AnyLen in
      let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
      !Data.add_explist_meta name len pure; tok) )
# 19485 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19491 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19537 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 683 "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) )
# 19546 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19552 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19598 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 687 "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) )
# 19607 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19613 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19663 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 691 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let len = Ast.AnyLen in
      let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in
      !Data.add_initlist_meta name len pure; tok) )
# 19673 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19679 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19725 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 696 "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) )
# 19734 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19740 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19786 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 700 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
      !Data.add_decl_meta name pure; tok) )
# 19795 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19801 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19847 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 704 "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) )
# 19856 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19862 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19912 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 708 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let len = Ast.AnyLen in
      let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
      !Data.add_field_list_meta name len pure; tok) )
# 19922 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19928 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 19978 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 713 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta ->
      let len = Ast.AnyLen in
      let tok = check_meta(Ast.MetaStmListDecl(arity,name,len)) in
      !Data.add_stmlist_meta name len pure; tok) )
# 19988 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 19994 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20040 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 718 "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")) )
# 20050 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 20056 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20102 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 723 "parser_cocci_menhir.mly"
    ( (fun arity (_,name) pure check_meta ->
      if arity = Ast.NONE && pure = Ast0.Impure
      then (!Data.add_attribute name; [])
      else raise (Semantic_cocci.Semantic "bad attribute")) )
# 20112 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 20118 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20168 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 728 "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")) )
# 20178 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 20184 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20234 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 733 "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")) )
# 20244 "parser_cocci_menhir.ml"
          
        in
        
# 466 "parser_cocci_menhir.mly"
    ( P.create_metadec ar ispure kindfn ids )
# 20250 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20288 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 658 "parser_cocci_menhir.mly"
    ( (fun name check_meta seed ->
      let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
      !Data.add_fresh_id_meta name seed; tok) )
# 20297 "parser_cocci_menhir.ml"
          
        in
        
# 469 "parser_cocci_menhir.mly"
    ( P.create_fresh_metadec kindfn ids )
# 20303 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20349 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 740 "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) )
# 20371 "parser_cocci_menhir.ml"
          
        in
        
# 475 "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) )
# 20381 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20427 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 759 "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) )
# 20436 "parser_cocci_menhir.ml"
          
        in
        
# 484 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20442 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20492 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 763 "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) )
# 20502 "parser_cocci_menhir.ml"
          
        in
        
# 484 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20508 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20554 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 768 "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) )
# 20563 "parser_cocci_menhir.ml"
          
        in
        
# 484 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20569 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20615 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 772 "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) )
# 20624 "parser_cocci_menhir.ml"
          
        in
        
# 484 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20630 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20676 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 778 "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) )
# 20685 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20691 "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 = l1;
            MenhirLib.EngineTypes.startp = _startpos_l1_;
            MenhirLib.EngineTypes.endp = _endpos_l1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.startp = _startpos__4_;
              MenhirLib.EngineTypes.endp = _endpos__4_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = l0;
                MenhirLib.EngineTypes.startp = _startpos_l0_;
                MenhirLib.EngineTypes.endp = _endpos_l0_;
                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 l1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l1 in
        let l0 : 'tv_option_TLocal_ = Obj.magic l0 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 ids =
          let l = l1 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20743 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let l = l0 in
          let ty =
            
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 20752 "parser_cocci_menhir.ml"
            
          in
          
# 782 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      match l with
	None ->
	  !Data.add_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaIdExpDecl(arity,name,ty))
      | Some _ ->
	  !Data.add_local_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
# 20765 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20771 "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 = l1;
            MenhirLib.EngineTypes.startp = _startpos_l1_;
            MenhirLib.EngineTypes.endp = _endpos_l1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = x00;
              MenhirLib.EngineTypes.startp = _startpos_x00_;
              MenhirLib.EngineTypes.endp = _endpos_x00_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.startp = _startpos__4_;
                MenhirLib.EngineTypes.endp = _endpos__4_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = l0;
                  MenhirLib.EngineTypes.startp = _startpos_l0_;
                  MenhirLib.EngineTypes.endp = _endpos_l0_;
                  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 l1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l1 in
        let x00 : 'tv_meta_exp_type = Obj.magic x00 in
        let l0 : 'tv_option_TLocal_ = Obj.magic l0 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 ids =
          let l = l1 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20829 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let x0 = x00 in
          let l = l0 in
          let ty =
            let x = x0 in
            
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 20840 "parser_cocci_menhir.ml"
            
          in
          
# 782 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      match l with
	None ->
	  !Data.add_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaIdExpDecl(arity,name,ty))
      | Some _ ->
	  !Data.add_local_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
# 20853 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 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.startp = _startpos__7_;
          MenhirLib.EngineTypes.endp = _endpos__7_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = l1;
            MenhirLib.EngineTypes.startp = _startpos_l1_;
            MenhirLib.EngineTypes.endp = _endpos_l1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = m0;
              MenhirLib.EngineTypes.startp = _startpos_m0_;
              MenhirLib.EngineTypes.endp = _endpos_m0_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.startp = _startpos__4_;
                MenhirLib.EngineTypes.endp = _endpos__4_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = l0;
                  MenhirLib.EngineTypes.startp = _startpos_l0_;
                  MenhirLib.EngineTypes.endp = _endpos_l0_;
                  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 l1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l1 in
        let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
        let l0 : 'tv_option_TLocal_ = Obj.magic l0 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 ids =
          let l = l1 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20917 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let m = m0 in
          let l = l0 in
          
# 791 "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
	None ->
	  !Data.add_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaIdExpDecl(arity,name,ty))
      | Some _ ->
	  !Data.add_local_idexp_meta ty name constraints pure;
	  check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
# 20934 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 20940 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 20990 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let ty =
            
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 20998 "parser_cocci_menhir.ml"
            
          in
          
# 801 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      !Data.add_global_idexp_meta ty name constraints pure;
      check_meta(Ast.MetaGlobalIdExpDecl(arity,name,ty))) )
# 21006 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21012 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = x00;
              MenhirLib.EngineTypes.startp = _startpos_x00_;
              MenhirLib.EngineTypes.endp = _endpos_x00_;
              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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 in
        let x00 : 'tv_meta_exp_type = Obj.magic x00 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21068 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let x0 = x00 in
          let ty =
            let x = x0 in
            
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 21078 "parser_cocci_menhir.ml"
            
          in
          
# 801 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      !Data.add_global_idexp_meta ty name constraints pure;
      check_meta(Ast.MetaGlobalIdExpDecl(arity,name,ty))) )
# 21086 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21092 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = m0;
              MenhirLib.EngineTypes.startp = _startpos_m0_;
              MenhirLib.EngineTypes.endp = _endpos_m0_;
              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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 in
        let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21148 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let m = m0 in
          
# 805 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
      !Data.add_global_idexp_meta ty name constraints pure;
      check_meta(Ast.MetaGlobalIdExpDecl(arity,name,ty))) )
# 21159 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21165 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              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_;
                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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21217 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let ty = ty0 in
          
# 810 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      let ty = Some [ty] in
      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
      !Data.add_exp_meta ty name constraints pure; tok) )
# 21228 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21234 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21280 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let ty =
            
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 21288 "parser_cocci_menhir.ml"
            
          in
          
# 815 "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) )
# 21296 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21302 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = x00;
              MenhirLib.EngineTypes.startp = _startpos_x00_;
              MenhirLib.EngineTypes.endp = _endpos_x00_;
              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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic l0 in
        let x00 : 'tv_meta_exp_type = Obj.magic x00 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21354 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let x0 = x00 in
          let ty =
            let x = x0 in
            
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 21364 "parser_cocci_menhir.ml"
            
          in
          
# 815 "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) )
# 21372 "parser_cocci_menhir.ml"
          
        in
        
# 489 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21378 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic l0 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 ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21424 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          
# 833 "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) )
# 21433 "parser_cocci_menhir.ml"
          
        in
        
# 494 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21439 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic l0 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__5_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21487 "parser_cocci_menhir.ml"
          
        in
        let kindfn =
          let vl = vl0 in
          
# 837 "parser_cocci_menhir.mly"
    ( (fun arity name pure check_meta constraints ->
      let ty = Some vl in
      (match constraints with
	Ast0.NotExpCstrt constraints ->
	  List.iter
	    (function c ->
	      match Ast0.unwrap c with
		Ast0.Constant(_) ->
		  if not
		      (List.exists
			 (function
			     Type_cocci.BaseType(Type_cocci.IntType) -> true
			   | Type_cocci.BaseType(Type_cocci.ShortType) -> true
			   | Type_cocci.BaseType(Type_cocci.LongType) -> true
			   | _ -> false)
			 vl)
		  then
		    failwith "metavariable with int constraint must be an int"
	      | _ -> ())
	    constraints
      |	_ -> ());
      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
      !Data.add_exp_meta ty name constraints pure; tok)
    )
# 21518 "parser_cocci_menhir.ml"
          
        in
        
# 494 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar ispure kindfn ids )
# 21524 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21570 "parser_cocci_menhir.ml"
          
        in
        
# 500 "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 )
# 21582 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21646 "parser_cocci_menhir.ml"
          
        in
        
# 510 "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 )
# 21656 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21720 "parser_cocci_menhir.ml"
          
        in
        
# 518 "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 )
# 21730 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21794 "parser_cocci_menhir.ml"
          
        in
        
# 526 "parser_cocci_menhir.mly"
    ( P.create_len_metadec ar ispure
	(fun lenname arity name pure check_meta ->
	  let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
	  !Data.add_field_list_meta name lenname pure; tok)
	len ids )
# 21804 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21868 "parser_cocci_menhir.ml"
          
        in
        
# 534 "parser_cocci_menhir.mly"
    ( P.create_len_metadec ar ispure
	(fun lenname arity name pure check_meta ->
	  let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in
	  !Data.add_initlist_meta name lenname pure; tok)
	len ids )
# 21878 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 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 = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21942 "parser_cocci_menhir.ml"
          
        in
        
# 541 "parser_cocci_menhir.mly"
    ( P.create_len_metadec ar ispure
	(fun lenname arity name pure check_meta ->
	  let tok = check_meta(Ast.MetaStmListDecl(arity,name,lenname)) in
	  !Data.add_stmlist_meta name lenname pure; tok)
	len ids )
# 21952 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 21986 "parser_cocci_menhir.ml"
          
        in
        
# 547 "parser_cocci_menhir.mly"
    ( (fun _ ->
        let add_sym = fun (nm,_) -> !Data.add_symbol_meta nm in
          List.iter add_sym ids; [])
    )
# 21995 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_only__ = Obj.magic l0 in
        let ar : 'tv_arity = Obj.magic ar in
        let _startpos = _startpos_ar_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 22035 "parser_cocci_menhir.ml"
          
        in
        
# 554 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar Ast0.Impure
	(fun arity name pure check_meta constraints ->
	  let tok = check_meta(Ast.MetaFmtDecl(arity,name)) in
	  !Data.add_fmt_meta name constraints; tok)
    ids )
# 22045 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 = ar;
                  MenhirLib.EngineTypes.startp = _startpos_ar_;
                  MenhirLib.EngineTypes.endp = _endpos_ar_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 in
        let ar : 'tv_arity = Obj.magic ar in
        let _startpos = _startpos_ar_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 22089 "parser_cocci_menhir.ml"
          
        in
        
# 561 "parser_cocci_menhir.mly"
    ( P.create_metadec ar Ast0.Impure
	(fun arity name pure check_meta ->
	  let len = Ast.AnyLen in
	  let tok = check_meta(Ast.MetaFragListDecl(arity,name,len)) in
	  !Data.add_fmtlist_meta name len; tok)
	ids )
# 22100 "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__8_;
          MenhirLib.EngineTypes.endp = _endpos__8_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.startp = _startpos__6_;
              MenhirLib.EngineTypes.endp = _endpos__6_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = len;
                MenhirLib.EngineTypes.startp = _startpos_len_;
                MenhirLib.EngineTypes.endp = _endpos_len_;
                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.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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic l0 in
        let len : 'tv_list_len = Obj.magic len in
        let ar : 'tv_arity = Obj.magic ar in
        let _startpos = _startpos_ar_ in
        let _endpos = _endpos__8_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 22158 "parser_cocci_menhir.ml"
          
        in
        
# 570 "parser_cocci_menhir.mly"
    ( P.create_len_metadec ar Ast0.Impure
	(fun lenname arity name pure check_meta ->
	  let tok = check_meta(Ast.MetaFragListDecl(arity,name,lenname)) in
	  !Data.add_fmtlist_meta name lenname; tok)
	len ids )
# 22168 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 = ar;
                  MenhirLib.EngineTypes.startp = _startpos_ar_;
                  MenhirLib.EngineTypes.endp = _endpos_ar_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_binop_constraint_ = Obj.magic l0 in
        let ar : 'tv_arity = Obj.magic ar in
        let _startpos = _startpos_ar_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 22212 "parser_cocci_menhir.ml"
          
        in
        
# 577 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar Ast0.Impure
	(fun arity name pure check_meta constraints ->
	  let tok = check_meta(Ast.MetaBinaryOperatorDecl(arity,name)) in
	  !Data.add_binaryOp_meta name constraints pure; tok)
        ids )
# 22222 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 = ar;
                  MenhirLib.EngineTypes.startp = _startpos_ar_;
                  MenhirLib.EngineTypes.endp = _endpos_ar_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let l0 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_assignop_constraint_ = Obj.magic l0 in
        let ar : 'tv_arity = Obj.magic ar in
        let _startpos = _startpos_ar_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_metadec = let ids =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 22266 "parser_cocci_menhir.ml"
          
        in
        
# 585 "parser_cocci_menhir.mly"
    ( P.create_metadec_with_constraints ar Ast0.Impure
	(fun arity name pure check_meta constraints ->
	  let tok = check_meta(Ast.MetaAssignmentOperatorDecl(arity,name)) in
	  !Data.add_assignOp_meta name constraints pure; tok)
        ids )
# 22276 "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 = 
# 2469 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 22300 "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_wrapped_sym_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_mident = 
# 2470 "parser_cocci_menhir.mly"
                         ( _1 )
# 22324 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 22345 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_mident = 
# 2471 "parser_cocci_menhir.mly"
             ( tmeta_to_ident _1 )
# 22352 "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 : (
# 222 "parser_cocci_menhir.mly"
       (Parse_aux.midinfo)
# 22373 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_mident = 
# 2473 "parser_cocci_menhir.mly"
         ( let (nm,constraints,seed,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
# 22381 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22411 "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_disj_ident__ = Obj.magic b in
        let a : 'tv_disj_ident = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_midzero_list_disj_ident_disj_ident_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22441 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22471 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22501 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22531 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22561 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22591 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22621 "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_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22651 "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_struct_decl_one__ = Obj.magic b in
        let a : 'tv_struct_decl_one = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_midzero_list_struct_decl_one_struct_decl_one_ = 
# 2863 "parser_cocci_menhir.mly"
     ( let (mids,code) = List.split b in (mids,(a::code)) )
# 22681 "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 = 
# 1106 "parser_cocci_menhir.mly"
    ( match f@b(*@ew*) with
      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
    | code -> code )
# 22713 "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 = 
# 1120 "parser_cocci_menhir.mly"
    ( match f@[b](*@ew*) with
      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
    | code -> code )
# 22745 "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 : (
# 310 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22773 "parser_cocci_menhir.ml"
        ) = 
# 362 "parser_cocci_menhir.mly"
                                   ( _1 )
# 22777 "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 : (
# 310 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22805 "parser_cocci_menhir.ml"
        ) = 
# 362 "parser_cocci_menhir.mly"
                                                                       ( m )
# 22809 "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 : (
# 310 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22837 "parser_cocci_menhir.ml"
        ) = 
# 363 "parser_cocci_menhir.mly"
                         ( m )
# 22841 "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_ident = 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_id_body = 
# 1148 "parser_cocci_menhir.mly"
    ( match f@[b](*@ew*) with
      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
    | code -> code )
# 22873 "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_id_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 316 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22901 "parser_cocci_menhir.ml"
        ) = 
# 366 "parser_cocci_menhir.mly"
                                 ( _1 )
# 22905 "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_id_body = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 316 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22933 "parser_cocci_menhir.ml"
        ) = 
# 366 "parser_cocci_menhir.mly"
                                                                    ( m )
# 22937 "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_id_body = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 316 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22965 "parser_cocci_menhir.ml"
        ) = 
# 367 "parser_cocci_menhir.mly"
                        ( m )
# 22969 "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 : (
# 307 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 22997 "parser_cocci_menhir.ml"
        ) = 
# 358 "parser_cocci_menhir.mly"
                           ( _1 )
# 23001 "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 : (
# 307 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 23029 "parser_cocci_menhir.ml"
        ) = 
# 358 "parser_cocci_menhir.mly"
                                                           ( m )
# 23033 "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 : (
# 307 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 23061 "parser_cocci_menhir.ml"
        ) = 
# 359 "parser_cocci_menhir.mly"
                     ( m )
# 23065 "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 = 
# 2620 "parser_cocci_menhir.mly"
                         ( [Ast0.wrap(Ast0.OTHER(_1))] )
# 23089 "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 = 
# 2621 "parser_cocci_menhir.mly"
                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
# 23113 "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 = 
# 2622 "parser_cocci_menhir.mly"
                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
# 23137 "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 = 
# 2624 "parser_cocci_menhir.mly"
    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
# 23161 "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_ctype = 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_ty_body = 
# 1134 "parser_cocci_menhir.mly"
    ( match f@[b](*@ew*) with
      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
    | code -> code )
# 23193 "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_ty_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 313 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 23221 "parser_cocci_menhir.ml"
        ) = 
# 364 "parser_cocci_menhir.mly"
                                 ( _1 )
# 23225 "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_ty_body = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 313 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 23253 "parser_cocci_menhir.ml"
        ) = 
# 364 "parser_cocci_menhir.mly"
                                                                    ( m )
# 23257 "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_ty_body = Obj.magic m in
        let _startpos = _startpos_m_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 313 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 23285 "parser_cocci_menhir.ml"
        ) = 
# 365 "parser_cocci_menhir.mly"
                        ( m )
# 23289 "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 = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let a : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 23310 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_a_ in
        let _v : 'tv_mul = let b =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 23318 "parser_cocci_menhir.ml"
          
        in
        
# 994 "parser_cocci_menhir.mly"
                                 ( (a,b) )
# 23324 "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 = x0;
          MenhirLib.EngineTypes.startp = _startpos_x0_;
          MenhirLib.EngineTypes.endp = _endpos_x0_;
          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 x0 : 'tv_const_vol = Obj.magic x0 in
        let a : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 23351 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_x0_ in
        let _v : 'tv_mul = let b =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 23360 "parser_cocci_menhir.ml"
          
        in
        
# 994 "parser_cocci_menhir.mly"
                                 ( (a,b) )
# 23366 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23393 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_ctype_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23400 "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_disj_ident = Obj.magic b in
        let a : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23427 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_disj_ident_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23434 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23461 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_eexpr_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23468 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23495 "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_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23502 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23529 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_fun_start_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23536 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23563 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_mctype_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23570 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23597 "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_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23604 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23631 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_statement_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 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 = 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_struct_decl_one = Obj.magic b in
        let a : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 23665 "parser_cocci_menhir.ml"
        ) = Obj.magic a in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_mzl_struct_decl_one_ = 
# 2866 "parser_cocci_menhir.mly"
                 ( (P.id2mcode a, b) )
# 23672 "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 = 
# 1440 "parser_cocci_menhir.mly"
            ( _1 )
# 23696 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 23747 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 23753 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let rp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 23758 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let s : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 23763 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 23768 "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 = 
# 1443 "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)) )
# 23781 "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 = 
# 2740 "parser_cocci_menhir.mly"
                                     (_1@_2)
# 23811 "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 = 
# 2741 "parser_cocci_menhir.mly"
                                (_2)
# 23839 "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 = 
# 2742 "parser_cocci_menhir.mly"
                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
# 23869 "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 = 
# 2750 "parser_cocci_menhir.mly"
                                ([])
# 23886 "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 = 
# 2751 "parser_cocci_menhir.mly"
                                (_1::_2)
# 23916 "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 = 
# 2745 "parser_cocci_menhir.mly"
                                ([])
# 23933 "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 = 
# 2746 "parser_cocci_menhir.mly"
                                (_1::_2)
# 23963 "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 = 
# 2747 "parser_cocci_menhir.mly"
                                (_1@_2)
# 23993 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24024 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24030 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_nest_expressions = 
# 1886 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
			      Ast0.wrap(e (P.mkedots "...")),
			      P.clt2mcode "...>" c, None, false)) )
# 24039 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24070 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24076 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_nest_expressions = 
# 1890 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
			      Ast0.wrap(e (P.mkedots "...")),
			      P.clt2mcode "...+>" c, None, true)) )
# 24085 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 24106 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_nest_expressions = 
# 1893 "parser_cocci_menhir.mly"
        ( tmeta_to_exp _1 )
# 24113 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24144 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24150 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_nest_expressions_only = 
# 1897 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
			      Ast0.wrap(e (P.mkedots "...")),
			      P.clt2mcode "...>" c, None, false)) )
# 24159 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24190 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 24196 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_nest_expressions_only = 
# 1901 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
			      Ast0.wrap(e (P.mkedots "...")),
			      P.clt2mcode "...+>" c, None, true)) )
# 24205 "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_nest_after_dots = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_nest_start = 
# 2737 "parser_cocci_menhir.mly"
                   ( Ast0.wrap _1 )
# 24229 "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 : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 24251 "parser_cocci_menhir.ml"
        ) = 
# 2945 "parser_cocci_menhir.mly"
                       ( () )
# 24255 "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.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 24281 "parser_cocci_menhir.ml"
        ) = 
# 2946 "parser_cocci_menhir.mly"
                    ( () )
# 24285 "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 : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 24307 "parser_cocci_menhir.ml"
        ) = 
# 2947 "parser_cocci_menhir.mly"
                    ( () )
# 24311 "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 : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 24333 "parser_cocci_menhir.ml"
        ) = 
# 2948 "parser_cocci_menhir.mly"
                  ( () )
# 24337 "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 : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 24359 "parser_cocci_menhir.ml"
        ) = 
# 2949 "parser_cocci_menhir.mly"
                ( () )
# 24363 "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 = dg;
          MenhirLib.EngineTypes.startp = _startpos_dg_;
          MenhirLib.EngineTypes.endp = _endpos_dg_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = g;
            MenhirLib.EngineTypes.startp = _startpos_g_;
            MenhirLib.EngineTypes.endp = _endpos_g_;
            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__ = 
# 2169 "parser_cocci_menhir.mly"
  ( function dot_builder ->
      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
# 24394 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 24415 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 919 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
# 24422 "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 = ty2;
          MenhirLib.EngineTypes.startp = _startpos_ty2_;
          MenhirLib.EngineTypes.endp = _endpos_ty2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = ty1;
            MenhirLib.EngineTypes.startp = _startpos_ty1_;
            MenhirLib.EngineTypes.endp = _endpos_ty1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty2 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 24448 "parser_cocci_menhir.ml"
        ) = Obj.magic ty2 in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 24453 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty2_ in
        let _v : 'tv_non_signable_types = 
# 921 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.BaseType
	   (Ast.LongDoubleType,
	    [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) )
# 24463 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 24484 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 926 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
# 24491 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 24512 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 928 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
# 24519 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 24540 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 930 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
# 24547 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 24568 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 932 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
# 24575 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 208 "parser_cocci_menhir.mly"
      (Data.clt)
# 24596 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_non_signable_types = 
# 934 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
# 24603 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_ident = Obj.magic i in
        let s : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 24630 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_non_signable_types = 
# 936 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
# 24637 "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 = ids;
            MenhirLib.EngineTypes.startp = _startpos_ids_;
            MenhirLib.EngineTypes.endp = _endpos_ids_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              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 r : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24673 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let ids : 'tv_enum_decl_list = Obj.magic ids in
        let l : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24679 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let s : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 24684 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_non_signable_types = let i =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 24692 "parser_cocci_menhir.ml"
          
        in
        
# 938 "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)) )
# 24701 "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 = ids;
            MenhirLib.EngineTypes.startp = _startpos_ids_;
            MenhirLib.EngineTypes.endp = _endpos_ids_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = x0;
                MenhirLib.EngineTypes.startp = _startpos_x0_;
                MenhirLib.EngineTypes.endp = _endpos_x0_;
                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 r : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24742 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let ids : 'tv_enum_decl_list = Obj.magic ids in
        let l : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24748 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let x0 : 'tv_ident = Obj.magic x0 in
        let s : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 24754 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_non_signable_types = let i =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 24763 "parser_cocci_menhir.ml"
          
        in
        
# 938 "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)) )
# 24772 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_type_ident = Obj.magic i in
        let s : 'tv_struct_or_union = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_non_signable_types = 
# 943 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
# 24802 "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 = d;
            MenhirLib.EngineTypes.startp = _startpos_d_;
            MenhirLib.EngineTypes.endp = _endpos_d_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              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 r : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24838 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let d : 'tv_struct_decl_list = Obj.magic d in
        let l : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24844 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let s : 'tv_struct_or_union = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_non_signable_types = let i =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 24853 "parser_cocci_menhir.ml"
          
        in
        
# 946 "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)) )
# 24863 "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 = d;
            MenhirLib.EngineTypes.startp = _startpos_d_;
            MenhirLib.EngineTypes.endp = _endpos_d_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = x0;
                MenhirLib.EngineTypes.startp = _startpos_x0_;
                MenhirLib.EngineTypes.endp = _endpos_x0_;
                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 r : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24904 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let d : 'tv_struct_decl_list = Obj.magic d in
        let l : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24910 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let x0 : 'tv_type_ident = Obj.magic x0 in
        let s : 'tv_struct_or_union = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_non_signable_types = let i =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 24921 "parser_cocci_menhir.ml"
          
        in
        
# 946 "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)) )
# 24931 "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 = d;
            MenhirLib.EngineTypes.startp = _startpos_d_;
            MenhirLib.EngineTypes.endp = _endpos_d_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              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 r : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24967 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let d : 'tv_struct_decl_list = Obj.magic d in
        let l : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 24973 "parser_cocci_menhir.ml"
        ) = Obj.magic l in
        let s : (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 24978 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_r_ in
        let _v : 'tv_non_signable_types = 
# 952 "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)) )
# 24987 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let p : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 25008 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_non_signable_types = 
# 956 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
# 25015 "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 = _6;
          MenhirLib.EngineTypes.startp = _startpos__6_;
          MenhirLib.EngineTypes.endp = _endpos__6_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _5;
            MenhirLib.EngineTypes.startp = _startpos__5_;
            MenhirLib.EngineTypes.endp = _endpos__5_;
            MenhirLib.EngineTypes.next = {
              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 _6 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 25061 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_enum_val = Obj.magic _5 in
        let _4 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25067 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_enum_val = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 25073 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 25078 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__6_ in
        let _v : 'tv_non_signable_types = 
# 958 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Decimal(P.clt2mcode "decimal" _1,
			     P.clt2mcode "(" _2,_3,
			     Some (P.clt2mcode "," _4), Some _5,
			     P.clt2mcode ")" _6)) )
# 25088 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 25124 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_enum_val = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 25130 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 25135 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_non_signable_types = 
# 963 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Decimal(P.clt2mcode "decimal" _1,
			     P.clt2mcode "(" _2,_3,None,None,
			     P.clt2mcode ")" _4)) )
# 25144 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 25165 "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 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25172 "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_nonempty_list_TMul_ = Obj.magic xs in
        let x : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 25199 "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 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25206 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_azl_eexpr_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_azl_eexpr__ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25230 "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_nonempty_list_azl_eexpr__ = Obj.magic xs in
        let x : 'tv_azl_eexpr_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_azl_eexpr__ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25260 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_azl_fun_after_dots_or_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_azl_fun_after_dots_or__ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25284 "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_nonempty_list_azl_fun_after_dots_or__ = Obj.magic xs in
        let x : 'tv_azl_fun_after_dots_or_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_azl_fun_after_dots_or__ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25314 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_azl_fun_start_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_azl_fun_start__ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25338 "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_nonempty_list_azl_fun_start__ = Obj.magic xs in
        let x : 'tv_azl_fun_start_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_azl_fun_start__ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25368 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_azl_rule_elem_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_azl_rule_elem_statement__ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25392 "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_nonempty_list_azl_rule_elem_statement__ = Obj.magic xs in
        let x : 'tv_azl_rule_elem_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_azl_rule_elem_statement__ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25422 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_azl_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_azl_statement__ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25446 "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_nonempty_list_azl_statement__ = Obj.magic xs in
        let x : 'tv_azl_statement_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_azl_statement__ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25476 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_nonempty_list_ident_ = 
# 124 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 25500 "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_nonempty_list_ident_ = Obj.magic xs in
        let x : 'tv_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_nonempty_list_ident_ = 
# 126 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 25530 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2547 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 25554 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25580 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2549 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 25589 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25621 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_aexpr = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2552 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 25631 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2555 "parser_cocci_menhir.mly"
                                                 ( list )
# 25659 "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 = dotter;
          MenhirLib.EngineTypes.startp = _startpos_dotter_;
          MenhirLib.EngineTypes.endp = _endpos_dotter_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 25680 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_dotter_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2556 "parser_cocci_menhir.mly"
                ( fun build_dots build_comma -> [(build_dots "..." dotter)] )
# 25687 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = dotter;
            MenhirLib.EngineTypes.startp = _startpos_dotter_;
            MenhirLib.EngineTypes.endp = _endpos_dotter_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25713 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 25718 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2558 "parser_cocci_menhir.mly"
      ( fun build_dots build_comma ->
	[(build_dots "..." dotter);Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 25726 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = dotter;
              MenhirLib.EngineTypes.startp = _startpos_dotter_;
              MenhirLib.EngineTypes.endp = _endpos_dotter_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25758 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 25763 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
# 2561 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      (build_dots "..." dotter)::
      (Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 25773 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2547 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 25797 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25823 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2549 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 25832 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25864 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_dparam = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2552 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 25874 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2555 "parser_cocci_menhir.mly"
                                                 ( list )
# 25902 "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 = dotter;
          MenhirLib.EngineTypes.startp = _startpos_dotter_;
          MenhirLib.EngineTypes.endp = _endpos_dotter_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 25923 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_dotter_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2556 "parser_cocci_menhir.mly"
                ( fun build_dots build_comma -> [(build_dots "..." dotter)] )
# 25930 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = dotter;
            MenhirLib.EngineTypes.startp = _startpos_dotter_;
            MenhirLib.EngineTypes.endp = _endpos_dotter_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 25956 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 25961 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2558 "parser_cocci_menhir.mly"
      ( fun build_dots build_comma ->
	[(build_dots "..." dotter);Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 25969 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = dotter;
              MenhirLib.EngineTypes.startp = _startpos_dotter_;
              MenhirLib.EngineTypes.endp = _endpos_dotter_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26001 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 26006 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
# 2561 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      (build_dots "..." dotter)::
      (Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26016 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2547 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 26040 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26066 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2549 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26075 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26107 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_enum_decl_one = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2552 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26117 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2555 "parser_cocci_menhir.mly"
                                                 ( list )
# 26145 "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 = dotter;
          MenhirLib.EngineTypes.startp = _startpos_dotter_;
          MenhirLib.EngineTypes.endp = _endpos_dotter_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let dotter : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_dotter_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2556 "parser_cocci_menhir.mly"
                ( fun build_dots build_comma -> [(build_dots "..." dotter)] )
# 26169 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = dotter;
            MenhirLib.EngineTypes.startp = _startpos_dotter_;
            MenhirLib.EngineTypes.endp = _endpos_dotter_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26195 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2558 "parser_cocci_menhir.mly"
      ( fun build_dots build_comma ->
	[(build_dots "..." dotter);Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26204 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = dotter;
              MenhirLib.EngineTypes.startp = _startpos_dotter_;
              MenhirLib.EngineTypes.endp = _endpos_dotter_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26236 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
# 2561 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      (build_dots "..." dotter)::
      (Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26247 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2547 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 26271 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26297 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2549 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26306 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26338 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_initialize2 = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2552 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26348 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2555 "parser_cocci_menhir.mly"
                                                 ( list )
# 26376 "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 = dotter;
          MenhirLib.EngineTypes.startp = _startpos_dotter_;
          MenhirLib.EngineTypes.endp = _endpos_dotter_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let dotter : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_dotter_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2556 "parser_cocci_menhir.mly"
                ( fun build_dots build_comma -> [(build_dots "..." dotter)] )
# 26400 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = dotter;
            MenhirLib.EngineTypes.startp = _startpos_dotter_;
            MenhirLib.EngineTypes.endp = _endpos_dotter_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26426 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2558 "parser_cocci_menhir.mly"
      ( fun build_dots build_comma ->
	[(build_dots "..." dotter);Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26435 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = dotter;
              MenhirLib.EngineTypes.startp = _startpos_dotter_;
              MenhirLib.EngineTypes.endp = _endpos_dotter_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26467 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
# 2561 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      (build_dots "..." dotter)::
      (Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26478 "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 = element;
          MenhirLib.EngineTypes.startp = _startpos_element_;
          MenhirLib.EngineTypes.endp = _endpos_element_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_element_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2547 "parser_cocci_menhir.mly"
               ( fun build_dots build_comma -> [element] )
# 26502 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = element;
            MenhirLib.EngineTypes.startp = _startpos_element_;
            MenhirLib.EngineTypes.endp = _endpos_element_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26528 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2549 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::[Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26537 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = element;
              MenhirLib.EngineTypes.startp = _startpos_element_;
              MenhirLib.EngineTypes.endp = _endpos_element_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26569 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let element : 'tv_one_dec_name_opt_decl_ = Obj.magic element in
        let _startpos = _startpos_element_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2552 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      element::(Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26579 "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 = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          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 list : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic list in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2555 "parser_cocci_menhir.mly"
                                                 ( list )
# 26607 "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 = dotter;
          MenhirLib.EngineTypes.startp = _startpos_dotter_;
          MenhirLib.EngineTypes.endp = _endpos_dotter_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 26628 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_dotter_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2556 "parser_cocci_menhir.mly"
                ( fun build_dots build_comma -> [(build_dots "..." dotter)] )
# 26635 "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 = comma;
          MenhirLib.EngineTypes.startp = _startpos_comma_;
          MenhirLib.EngineTypes.endp = _endpos_comma_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = dotter;
            MenhirLib.EngineTypes.startp = _startpos_dotter_;
            MenhirLib.EngineTypes.endp = _endpos_dotter_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26661 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 26666 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_comma_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2558 "parser_cocci_menhir.mly"
      ( fun build_dots build_comma ->
	[(build_dots "..." dotter);Ast0.wrap(build_comma(P.clt2mcode "," comma))] )
# 26674 "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 = remainder;
          MenhirLib.EngineTypes.startp = _startpos_remainder_;
          MenhirLib.EngineTypes.endp = _endpos_remainder_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = comma;
            MenhirLib.EngineTypes.startp = _startpos_comma_;
            MenhirLib.EngineTypes.endp = _endpos_comma_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = dotter;
              MenhirLib.EngineTypes.startp = _startpos_dotter_;
              MenhirLib.EngineTypes.endp = _endpos_dotter_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let remainder : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic remainder in
        let comma : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 26706 "parser_cocci_menhir.ml"
        ) = Obj.magic comma in
        let dotter : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 26711 "parser_cocci_menhir.ml"
        ) = Obj.magic dotter in
        let _startpos = _startpos_dotter_ in
        let _endpos = _endpos_remainder_ in
        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
# 2561 "parser_cocci_menhir.mly"
    ( fun build_dots build_comma ->
      (build_dots "..." dotter)::
      (Ast0.wrap(build_comma(P.clt2mcode "," comma)))::
      (remainder build_dots build_comma) )
# 26721 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_ident_or_const = Obj.magic i in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_not_ceq = 
# 2369 "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] )
# 26753 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_not_ceq = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 26791 "parser_cocci_menhir.ml"
          
        in
        
# 2375 "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 )
# 26801 "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 = ceq;
          MenhirLib.EngineTypes.startp = _startpos_ceq_;
          MenhirLib.EngineTypes.endp = _endpos_ceq_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ceq : 'tv_not_ceq = Obj.magic ceq in
        let _startpos = _startpos_ceq_ in
        let _endpos = _endpos_ceq_ in
        let _v : 'tv_not_ceq_or_sub = 
# 2345 "parser_cocci_menhir.mly"
                  (Ast0.NotExpCstrt ceq)
# 26825 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : 'tv_sub = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_not_ceq_or_sub = 
# 2346 "parser_cocci_menhir.mly"
                  (Ast0.SubExpCstrt s)
# 26849 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_pure_ident = Obj.magic i in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_not_eqe = 
# 2350 "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))))]
	 )
# 26882 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_not_eqe = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 26920 "parser_cocci_menhir.ml"
          
        in
        
# 2357 "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");
	   List.map
	     (function i ->
		Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
	     l
	 )
# 26934 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_meta_ident = Obj.magic i in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_not_pos = 
# 2414 "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 i =
	     P.check_inherited_constraint i
	       (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
	   [i] )
# 26969 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_not_pos = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 27007 "parser_cocci_menhir.ml"
          
        in
        
# 2423 "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");
	   List.map
	     (function i ->
	       P.check_inherited_constraint i
		 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
	     l )
# 27021 "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 = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let arg : 'tv_decl = Obj.magic arg in
        let _startpos = _startpos_arg_ in
        let _endpos = _endpos_arg_ in
        let _v : 'tv_one_arg_decl_ = 
# 1310 "parser_cocci_menhir.mly"
           ( arg )
# 27045 "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 = metaparamlist;
          MenhirLib.EngineTypes.startp = _startpos_metaparamlist_;
          MenhirLib.EngineTypes.endp = _endpos_metaparamlist_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let metaparamlist : (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 27066 "parser_cocci_menhir.ml"
        ) = Obj.magic metaparamlist in
        let _startpos = _startpos_metaparamlist_ in
        let _endpos = _endpos_metaparamlist_ in
        let _v : 'tv_one_arg_decl_ = 
# 1312 "parser_cocci_menhir.mly"
    ( let (nm,lenname,pure,clt) = metaparamlist in
      let nm = P.clt2mcode nm clt 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)) )
# 27080 "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 = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let arg : 'tv_name_opt_decl = Obj.magic arg in
        let _startpos = _startpos_arg_ in
        let _endpos = _endpos_arg_ in
        let _v : 'tv_one_arg_name_opt_decl_ = 
# 1310 "parser_cocci_menhir.mly"
           ( arg )
# 27104 "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 = metaparamlist;
          MenhirLib.EngineTypes.startp = _startpos_metaparamlist_;
          MenhirLib.EngineTypes.endp = _endpos_metaparamlist_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let metaparamlist : (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 27125 "parser_cocci_menhir.ml"
        ) = Obj.magic metaparamlist in
        let _startpos = _startpos_metaparamlist_ in
        let _endpos = _endpos_metaparamlist_ in
        let _v : 'tv_one_arg_name_opt_decl_ = 
# 1312 "parser_cocci_menhir.mly"
    ( let (nm,lenname,pure,clt) = metaparamlist in
      let nm = P.clt2mcode nm clt 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)) )
# 27139 "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_name_opt_decl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_one_dec_name_opt_decl_ = 
# 2522 "parser_cocci_menhir.mly"
        ( _1 )
# 27163 "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 : (
# 230 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 27184 "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_ = 
# 2524 "parser_cocci_menhir.mly"
    ( let (nm,lenname,pure,clt) = _1 in
    let nm = P.clt2mcode nm clt 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)) )
# 27198 "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.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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27224 "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 = 
# 1659 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
# 27232 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 27253 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_one_decl_var = 
# 1660 "parser_cocci_menhir.mly"
              ( P.meta_decl _1 )
# 27260 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27291 "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_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27301 "parser_cocci_menhir.ml"
          
        in
        
# 1662 "parser_cocci_menhir.mly"
      ( let (id,fn) = d in
        Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
# 27308 "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 = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27344 "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 x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27356 "parser_cocci_menhir.ml"
          
        in
        
# 1662 "parser_cocci_menhir.mly"
      ( let (id,fn) = d in
        Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
# 27363 "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 = f;
          MenhirLib.EngineTypes.startp = _startpos_f_;
          MenhirLib.EngineTypes.endp = _endpos_f_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let f : 'tv_funproto = Obj.magic f in
        let _startpos = _startpos_f_ in
        let _endpos = _endpos_f_ in
        let _v : 'tv_one_decl_var = 
# 1664 "parser_cocci_menhir.mly"
               ( f )
# 27387 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27428 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27434 "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
        let _startpos = _startpos_t_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27444 "parser_cocci_menhir.ml"
          
        in
        
# 1666 "parser_cocci_menhir.mly"
      ( let (id,fn) = d in
      Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
# 27451 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = d;
                MenhirLib.EngineTypes.startp = _startpos_d_;
                MenhirLib.EngineTypes.endp = _endpos_d_;
                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 = x0;
                    MenhirLib.EngineTypes.startp = _startpos_x0_;
                    MenhirLib.EngineTypes.endp = _endpos_x0_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let pv : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27497 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27503 "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
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27515 "parser_cocci_menhir.ml"
          
        in
        
# 1666 "parser_cocci_menhir.mly"
      ( let (id,fn) = d in
      Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
# 27522 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27553 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27563 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27570 "parser_cocci_menhir.ml"
          
        in
        
# 1671 "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)) )
# 27578 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27614 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = 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_one_decl_var = let cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27626 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27633 "parser_cocci_menhir.ml"
          
        in
        
# 1671 "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)) )
# 27641 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27677 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27688 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27696 "parser_cocci_menhir.ml"
          
        in
        
# 1671 "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)) )
# 27704 "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.semv = x1;
                MenhirLib.EngineTypes.startp = _startpos_x1_;
                MenhirLib.EngineTypes.endp = _endpos_x1_;
                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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27745 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x1 : 'tv_const_vol = Obj.magic x1 in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          let x = x1 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27758 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27766 "parser_cocci_menhir.ml"
          
        in
        
# 1671 "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)) )
# 27774 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27815 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27821 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27831 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27838 "parser_cocci_menhir.ml"
          
        in
        
# 1676 "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)) )
# 27848 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27894 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27900 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = 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_one_decl_var = let cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 27912 "parser_cocci_menhir.ml"
          
        in
        let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27919 "parser_cocci_menhir.ml"
          
        in
        
# 1676 "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)) )
# 27929 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27975 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 27981 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 27992 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28000 "parser_cocci_menhir.ml"
          
        in
        
# 1676 "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)) )
# 28010 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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.semv = x1;
                    MenhirLib.EngineTypes.startp = _startpos_x1_;
                    MenhirLib.EngineTypes.endp = _endpos_x1_;
                    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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28061 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28067 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let x1 : 'tv_const_vol = Obj.magic x1 in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let cv =
          let x = x1 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28080 "parser_cocci_menhir.ml"
          
        in
        let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28088 "parser_cocci_menhir.ml"
          
        in
        
# 1676 "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)) )
# 28098 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28159 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28164 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28170 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28175 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 28181 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28186 "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_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 28195 "parser_cocci_menhir.ml"
          
        in
        
# 1686 "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(s,fn t,id,P.clt2mcode ";" pv)) )
# 28207 "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.semv = t;
                          MenhirLib.EngineTypes.startp = _startpos_t_;
                          MenhirLib.EngineTypes.endp = _endpos_t_;
                          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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28273 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28278 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28284 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28289 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 28295 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28300 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28311 "parser_cocci_menhir.ml"
          
        in
        
# 1686 "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(s,fn t,id,P.clt2mcode ";" pv)) )
# 28323 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            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.semv = o;
                MenhirLib.EngineTypes.startp = _startpos_o_;
                MenhirLib.EngineTypes.endp = _endpos_o_;
                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 p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28364 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28369 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28375 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 28384 "parser_cocci_menhir.ml"
          
        in
        
# 1695 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.MacroDecl(s,d,P.clt2mcode "(" o,e,
				  P.clt2mcode ")" c,P.clt2mcode ";" p)) )
# 28391 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            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.semv = o;
                MenhirLib.EngineTypes.startp = _startpos_o_;
                MenhirLib.EngineTypes.endp = _endpos_o_;
                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 = x0;
                    MenhirLib.EngineTypes.startp = _startpos_x0_;
                    MenhirLib.EngineTypes.endp = _endpos_x0_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28437 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28442 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28448 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28459 "parser_cocci_menhir.ml"
          
        in
        
# 1695 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.MacroDecl(s,d,P.clt2mcode "(" o,e,
				  P.clt2mcode ")" c,P.clt2mcode ";" p)) )
# 28466 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = i;
            MenhirLib.EngineTypes.startp = _startpos_i_;
            MenhirLib.EngineTypes.endp = _endpos_i_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                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.semv = o;
                    MenhirLib.EngineTypes.startp = _startpos_o_;
                    MenhirLib.EngineTypes.endp = _endpos_o_;
                    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 p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28517 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let i : 'tv_initialize = Obj.magic i in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28523 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28528 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28534 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let _startpos = _startpos_d_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 28543 "parser_cocci_menhir.ml"
          
        in
        
# 1700 "parser_cocci_menhir.mly"
      ( Ast0.wrap
            (Ast0.MacroDeclInit
               (s,d,P.clt2mcode "(" o,e,
                P.clt2mcode ")" c,P.clt2mcode "=" q,i,
                P.clt2mcode ";" p)) )
# 28553 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = i;
            MenhirLib.EngineTypes.startp = _startpos_i_;
            MenhirLib.EngineTypes.endp = _endpos_i_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              MenhirLib.EngineTypes.next = {
                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.semv = o;
                    MenhirLib.EngineTypes.startp = _startpos_o_;
                    MenhirLib.EngineTypes.endp = _endpos_o_;
                    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 = x0;
                        MenhirLib.EngineTypes.startp = _startpos_x0_;
                        MenhirLib.EngineTypes.endp = _endpos_x0_;
                        MenhirLib.EngineTypes.next = _menhir_stack;
                        };
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let p : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28609 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let i : 'tv_initialize = Obj.magic i in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28615 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let c : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28620 "parser_cocci_menhir.ml"
        ) = Obj.magic c in
        let e : 'tv_eexpr_list_option = Obj.magic e in
        let o : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28626 "parser_cocci_menhir.ml"
        ) = Obj.magic o in
        let d : 'tv_decl_ident = Obj.magic d in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28637 "parser_cocci_menhir.ml"
          
        in
        
# 1700 "parser_cocci_menhir.mly"
      ( Ast0.wrap
            (Ast0.MacroDeclInit
               (s,d,P.clt2mcode "(" o,e,
                P.clt2mcode ")" c,P.clt2mcode "=" q,i,
                P.clt2mcode ";" p)) )
# 28647 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28718 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28724 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28729 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28735 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28740 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 28746 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28751 "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_one_decl_var = let s =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 28760 "parser_cocci_menhir.ml"
          
        in
        
# 1709 "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.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
# 28772 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = q;
              MenhirLib.EngineTypes.startp = _startpos_q_;
              MenhirLib.EngineTypes.endp = _endpos_q_;
              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.semv = t;
                              MenhirLib.EngineTypes.startp = _startpos_t_;
                              MenhirLib.EngineTypes.endp = _endpos_t_;
                              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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28848 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let e : 'tv_initialize = Obj.magic e in
        let q : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 28854 "parser_cocci_menhir.ml"
        ) = Obj.magic q in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28859 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28865 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28870 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 28876 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 28881 "parser_cocci_menhir.ml"
        ) = Obj.magic lp1 in
        let t : 'tv_ctype = Obj.magic t in
        let x0 : 'tv_storage = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_one_decl_var = let s =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28892 "parser_cocci_menhir.ml"
          
        in
        
# 1709 "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.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
# 28904 "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_option_TLocal_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 28921 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : unit = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_TLocal_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28945 "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_option_TPosAny_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 28962 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : unit = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_TPosAny_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 28986 "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_option_eexpr_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29003 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_eexpr = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_eexpr_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29027 "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_option_expr_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29044 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_expr = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_expr_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29068 "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_option_not_ceq_or_sub_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29085 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_not_ceq_or_sub = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_not_ceq_or_sub_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29109 "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_option_re_only_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29126 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_re_only = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_re_only_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29150 "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_option_re_or_not_eqe_or_sub_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29167 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29191 "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_option_re_or_not_eqid_ = 
# 29 "/usr/share/menhir/standard.mly"
    ( None )
# 29208 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_re_or_not_eqid = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_option_re_or_not_eqid_ = 
# 31 "/usr/share/menhir/standard.mly"
    ( Some x )
# 29232 "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_plus_after_dots = 
# 2687 "parser_cocci_menhir.mly"
                                                                         ([])
# 29249 "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_plus_after_exp = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_plus_after_dots = 
# 2688 "parser_cocci_menhir.mly"
                                                                         (_2)
# 29277 "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_plus_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_plus_after_dots = 
# 2690 "parser_cocci_menhir.mly"
                     ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
# 29307 "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_plus_after_stm = Obj.magic _2 in
        let _1 : 'tv_fundecl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_plus_after_dots = 
# 2691 "parser_cocci_menhir.mly"
                                             ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
# 29337 "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_plus_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_plus_after_dots = 
# 2693 "parser_cocci_menhir.mly"
                ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
# 29367 "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_plus_after_exp = 
# 2683 "parser_cocci_menhir.mly"
                                                                         ([])
# 29384 "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_plus_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_plus_after_exp = 
# 2684 "parser_cocci_menhir.mly"
                                          ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
# 29414 "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_plus_after_stm = 
# 2696 "parser_cocci_menhir.mly"
                                                                         ([])
# 29431 "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_plus_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_plus_after_stm = 
# 2697 "parser_cocci_menhir.mly"
                                          ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
# 29461 "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_plus_after_stm = Obj.magic _2 in
        let _1 : 'tv_fundecl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_plus_after_stm = 
# 2698 "parser_cocci_menhir.mly"
                                             ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
# 29491 "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_plus_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_plus_after_stm = 
# 2700 "parser_cocci_menhir.mly"
                ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
# 29521 "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_plus_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_plus_body = 
# 1114 "parser_cocci_menhir.mly"
    ( f@b(*@ew*) )
# 29551 "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_plus_exp_body = 
# 1128 "parser_cocci_menhir.mly"
    ( f@[b](*@ew*) )
# 29581 "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_plus_exp_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 322 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29609 "parser_cocci_menhir.ml"
        ) = 
# 368 "parser_cocci_menhir.mly"
                                 ( _1 )
# 29613 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_exp_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 322 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29641 "parser_cocci_menhir.ml"
        ) = 
# 368 "parser_cocci_menhir.mly"
                                                                    ( p )
# 29645 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_exp_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 322 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29673 "parser_cocci_menhir.ml"
        ) = 
# 369 "parser_cocci_menhir.mly"
                        ( p )
# 29677 "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_ident = 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_plus_id_body = 
# 1156 "parser_cocci_menhir.mly"
    ( f@[b](*@ew*) )
# 29707 "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_plus_id_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 328 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29735 "parser_cocci_menhir.ml"
        ) = 
# 372 "parser_cocci_menhir.mly"
                               ( _1 )
# 29739 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_id_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 328 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29767 "parser_cocci_menhir.ml"
        ) = 
# 372 "parser_cocci_menhir.mly"
                                                                 ( p )
# 29771 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_id_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 328 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29799 "parser_cocci_menhir.ml"
        ) = 
# 373 "parser_cocci_menhir.mly"
                       ( p )
# 29803 "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_plus_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 319 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29831 "parser_cocci_menhir.ml"
        ) = 
# 360 "parser_cocci_menhir.mly"
                         ( _1 )
# 29835 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 319 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29863 "parser_cocci_menhir.ml"
        ) = 
# 360 "parser_cocci_menhir.mly"
                                                        ( p )
# 29867 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 319 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 29895 "parser_cocci_menhir.ml"
        ) = 
# 361 "parser_cocci_menhir.mly"
                    ( p )
# 29899 "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_plus_start = 
# 2672 "parser_cocci_menhir.mly"
                          ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
# 29923 "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_plus_start = 
# 2673 "parser_cocci_menhir.mly"
                     ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
# 29947 "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_plus_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_plus_start = 
# 2675 "parser_cocci_menhir.mly"
                                          ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
# 29977 "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_plus_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_plus_start = 
# 2677 "parser_cocci_menhir.mly"
                     ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
# 30007 "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_plus_after_stm = Obj.magic _2 in
        let _1 : 'tv_fundecl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_plus_start = 
# 2678 "parser_cocci_menhir.mly"
                                             ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
# 30037 "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_plus_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_plus_start = 
# 2680 "parser_cocci_menhir.mly"
                ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
# 30067 "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_ctype = 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_plus_ty_body = 
# 1142 "parser_cocci_menhir.mly"
    ( f@[b](*@ew*) )
# 30097 "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_plus_ty_body = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 325 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 30125 "parser_cocci_menhir.ml"
        ) = 
# 370 "parser_cocci_menhir.mly"
                               ( _1 )
# 30129 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_ty_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 325 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 30157 "parser_cocci_menhir.ml"
        ) = 
# 370 "parser_cocci_menhir.mly"
                                                                 ( p )
# 30161 "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 = p;
            MenhirLib.EngineTypes.startp = _startpos_p_;
            MenhirLib.EngineTypes.endp = _endpos_p_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let p : 'tv_plus_ty_body = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos__2_ in
        let _v : (
# 325 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 30189 "parser_cocci_menhir.ml"
        ) = 
# 371 "parser_cocci_menhir.mly"
                       ( p )
# 30193 "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_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
# 2074 "parser_cocci_menhir.mly"
                                                 ( _1 )
# 30217 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30253 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30259 "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_ = 
# 2076 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
				       P.clt2mcode "]" _4)) )
# 30268 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 30300 "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_ = 
# 2079 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
# 30308 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 30340 "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_ = 
# 2081 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
				     _3)) )
# 30349 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 30375 "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_ = 
# 2084 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
# 30383 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 30409 "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_ = 
# 2086 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
# 30417 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30453 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30459 "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_ = 
# 2088 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
			      _3,
			      P.clt2mcode ")" _4)) )
# 30469 "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 = _6;
          MenhirLib.EngineTypes.startp = _startpos__6_;
          MenhirLib.EngineTypes.endp = _endpos__6_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _5;
            MenhirLib.EngineTypes.startp = _startpos__5_;
            MenhirLib.EngineTypes.endp = _endpos__5_;
            MenhirLib.EngineTypes.next = {
              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 _6 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 30515 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_initialize_list = Obj.magic _5 in
        let _4 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 30521 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30526 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_ctype = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30532 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__6_ in
        let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
# 2094 "parser_cocci_menhir.mly"
     ( let init =
       if P.struct_initializer _5
       then
	 let il = P.drop_dot_commas _5 in
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
       else
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
     Ast0.wrap
       (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
# 30549 "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_primary_expr_eexpr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_postfix_expr_eexpr_invalid_ = 
# 2074 "parser_cocci_menhir.mly"
                                                 ( _1 )
# 30573 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30609 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30615 "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_ = 
# 2076 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
				       P.clt2mcode "]" _4)) )
# 30624 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 30656 "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_ = 
# 2079 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
# 30664 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 30696 "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_ = 
# 2081 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
				     _3)) )
# 30705 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 30731 "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_ = 
# 2084 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
# 30739 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 30765 "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_ = 
# 2086 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
# 30773 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30809 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30815 "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_ = 
# 2088 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
			      _3,
			      P.clt2mcode ")" _4)) )
# 30825 "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 = _6;
          MenhirLib.EngineTypes.startp = _startpos__6_;
          MenhirLib.EngineTypes.endp = _endpos__6_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _5;
            MenhirLib.EngineTypes.startp = _startpos__5_;
            MenhirLib.EngineTypes.endp = _endpos__5_;
            MenhirLib.EngineTypes.next = {
              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 _6 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 30871 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_initialize_list = Obj.magic _5 in
        let _4 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 30877 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30882 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_ctype = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 30888 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__6_ in
        let _v : 'tv_postfix_expr_eexpr_invalid_ = 
# 2094 "parser_cocci_menhir.mly"
     ( let init =
       if P.struct_initializer _5
       then
	 let il = P.drop_dot_commas _5 in
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
       else
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
     Ast0.wrap
       (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
# 30905 "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_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
# 2074 "parser_cocci_menhir.mly"
                                                 ( _1 )
# 30929 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30965 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 30971 "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_ = 
# 2076 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
				       P.clt2mcode "]" _4)) )
# 30980 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 31012 "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_ = 
# 2079 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
# 31020 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 31052 "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_ = 
# 2081 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
				     _3)) )
# 31061 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 31087 "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_ = 
# 2084 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
# 31095 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 31121 "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_ = 
# 2086 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
# 31129 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31165 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31171 "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_ = 
# 2088 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
			      _3,
			      P.clt2mcode ")" _4)) )
# 31181 "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 = _6;
          MenhirLib.EngineTypes.startp = _startpos__6_;
          MenhirLib.EngineTypes.endp = _endpos__6_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _5;
            MenhirLib.EngineTypes.startp = _startpos__5_;
            MenhirLib.EngineTypes.endp = _endpos__5_;
            MenhirLib.EngineTypes.next = {
              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 _6 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 31227 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_initialize_list = Obj.magic _5 in
        let _4 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 31233 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31238 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_ctype = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31244 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__6_ in
        let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
# 2094 "parser_cocci_menhir.mly"
     ( let init =
       if P.struct_initializer _5
       then
	 let il = P.drop_dot_commas _5 in
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
       else
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
     Ast0.wrap
       (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
# 31261 "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_primary_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_postfix_expr_expr_invalid_ = 
# 2074 "parser_cocci_menhir.mly"
                                                 ( _1 )
# 31285 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 31321 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 31327 "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_ = 
# 2076 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
				       P.clt2mcode "]" _4)) )
# 31336 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 31368 "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_ = 
# 2079 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
# 31376 "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_disj_ident = Obj.magic _3 in
        let _2 : (
# 273 "parser_cocci_menhir.mly"
       (Data.clt)
# 31408 "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_ = 
# 2081 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
				     _3)) )
# 31417 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 31443 "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_ = 
# 2084 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
# 31451 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 31477 "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_ = 
# 2086 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
# 31485 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31521 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31527 "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_ = 
# 2088 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
			      _3,
			      P.clt2mcode ")" _4)) )
# 31537 "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 = _6;
          MenhirLib.EngineTypes.startp = _startpos__6_;
          MenhirLib.EngineTypes.endp = _endpos__6_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _5;
            MenhirLib.EngineTypes.startp = _startpos__5_;
            MenhirLib.EngineTypes.endp = _endpos__5_;
            MenhirLib.EngineTypes.next = {
              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 _6 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 31583 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_initialize_list = Obj.magic _5 in
        let _4 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 31589 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31594 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_ctype = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31600 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__6_ in
        let _v : 'tv_postfix_expr_expr_invalid_ = 
# 2094 "parser_cocci_menhir.mly"
     ( let init =
       if P.struct_initializer _5
       then
	 let il = P.drop_dot_commas _5 in
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
       else
	 Ast0.wrap
	   (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
     Ast0.wrap
       (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
# 31617 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31648 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr_list_option = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 31654 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_pragmabody = 
# 1227 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.PragmaTuple(P.clt2mcode "(" _1,_2,P.clt2mcode ")" _3)) )
# 31661 "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 = l;
          MenhirLib.EngineTypes.startp = _startpos_l_;
          MenhirLib.EngineTypes.endp = _endpos_l_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let l : 'tv_nonempty_list_ident_ = Obj.magic l in
        let _startpos = _startpos_l_ in
        let _endpos = _endpos_l_ in
        let _v : 'tv_pragmabody = 
# 1229 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.PragmaIdList(Ast0.wrap l)) )
# 31685 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 31706 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pragmabody = 
# 1230 "parser_cocci_menhir.mly"
            ( Ast0.wrap(Ast0.PragmaDots(P.clt2mcode "..." _1)) )
# 31713 "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_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pre_basic_expr_eexpr_dot_expressions_ = 
# 1908 "parser_cocci_menhir.mly"
                                                          ( _1 )
# 31737 "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_basic_expr_eexpr_dot_expressions_ = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 31769 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_pre_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_pre_basic_expr_eexpr_dot_expressions_ = 
# 1911 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Sequence(_1,P.clt2mcode "," _2,_3)) )
# 31777 "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_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pre_basic_expr_eexpr_nest_expressions_ = 
# 1908 "parser_cocci_menhir.mly"
                                                          ( _1 )
# 31801 "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_basic_expr_eexpr_nest_expressions_ = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 31833 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_pre_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_pre_basic_expr_eexpr_nest_expressions_ = 
# 1911 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Sequence(_1,P.clt2mcode "," _2,_3)) )
# 31841 "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_basic_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pre_basic_expr_expr_invalid_ = 
# 1908 "parser_cocci_menhir.mly"
                                                          ( _1 )
# 31865 "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_basic_expr_expr_invalid_ = Obj.magic _3 in
        let _2 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 31897 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_pre_basic_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_pre_basic_expr_expr_invalid_ = 
# 1911 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Sequence(_1,P.clt2mcode "," _2,_3)) )
# 31905 "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_func_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
# 2107 "parser_cocci_menhir.mly"
                ( Ast0.wrap(Ast0.Ident(_1)) )
# 31929 "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_ident = Obj.magic _2 in
        let _1 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 31956 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
# 2109 "parser_cocci_menhir.mly"
     ( let op = P.clt2mcode Ast.GetRefLabel _1 in
     Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
# 31964 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 31985 "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_ = 
# 2112 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 31993 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32014 "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_ = 
# 2115 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
# 32022 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32043 "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_ = 
# 2118 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in P.parse_string x clt )
# 32050 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32071 "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_ = 
# 2120 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
# 32079 "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 : (
# 256 "parser_cocci_menhir.mly"
       (string * string (*n*) * string (*p*) * Data.clt)
# 32100 "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_ = 
# 2123 "parser_cocci_menhir.mly"
     ( let (x,l,p,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.DecimalConst(x,l,p)) clt)) )
# 32108 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32129 "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_ = 
# 2126 "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)) )
# 32138 "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 : (
# 227 "parser_cocci_menhir.mly"
       (Parse_aux.expinfo)
# 32159 "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_ = 
# 2130 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,clt) = _1 in
     Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
# 32167 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32188 "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_ = 
# 2133 "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)) )
# 32197 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32218 "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_ = 
# 2137 "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)) )
# 32227 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32248 "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_ = 
# 2141 "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)) )
# 32257 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32278 "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_ = 
# 2145 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,ty,clt) = _1 in
     Ast0.wrap
       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.GlobalID,pure)) )
# 32287 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 32318 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 32324 "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_ = 
# 2149 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
			    P.clt2mcode ")" _3)) )
# 32332 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32363 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32369 "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_ = 
# 2152 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.DisjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 32379 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32410 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32416 "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_ = 
# 2157 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.ConjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 32426 "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_dot_expressions = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
# 2161 "parser_cocci_menhir.mly"
                 ( _1 )
# 32450 "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_func_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_invalid_ = 
# 2107 "parser_cocci_menhir.mly"
                ( Ast0.wrap(Ast0.Ident(_1)) )
# 32474 "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_ident = Obj.magic _2 in
        let _1 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 32501 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_primary_expr_eexpr_invalid_ = 
# 2109 "parser_cocci_menhir.mly"
     ( let op = P.clt2mcode Ast.GetRefLabel _1 in
     Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
# 32509 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32530 "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_ = 
# 2112 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 32538 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32559 "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_ = 
# 2115 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
# 32567 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32588 "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_ = 
# 2118 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in P.parse_string x clt )
# 32595 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32616 "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_ = 
# 2120 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
# 32624 "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 : (
# 256 "parser_cocci_menhir.mly"
       (string * string (*n*) * string (*p*) * Data.clt)
# 32645 "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_ = 
# 2123 "parser_cocci_menhir.mly"
     ( let (x,l,p,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.DecimalConst(x,l,p)) clt)) )
# 32653 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32674 "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_ = 
# 2126 "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)) )
# 32683 "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 : (
# 227 "parser_cocci_menhir.mly"
       (Parse_aux.expinfo)
# 32704 "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_ = 
# 2130 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,clt) = _1 in
     Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
# 32712 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32733 "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_ = 
# 2133 "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)) )
# 32742 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32763 "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_ = 
# 2137 "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)) )
# 32772 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32793 "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_ = 
# 2141 "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)) )
# 32802 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 32823 "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_ = 
# 2145 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,ty,clt) = _1 in
     Ast0.wrap
       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.GlobalID,pure)) )
# 32832 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 32863 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 32869 "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_ = 
# 2149 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
			    P.clt2mcode ")" _3)) )
# 32877 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32908 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32914 "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_ = 
# 2152 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.DisjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 32924 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32955 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 32961 "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_ = 
# 2157 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.ConjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 32971 "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_invalid = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_invalid_ = 
# 2161 "parser_cocci_menhir.mly"
                 ( _1 )
# 32995 "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_func_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
# 2107 "parser_cocci_menhir.mly"
                ( Ast0.wrap(Ast0.Ident(_1)) )
# 33019 "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_ident = Obj.magic _2 in
        let _1 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 33046 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
# 2109 "parser_cocci_menhir.mly"
     ( let op = P.clt2mcode Ast.GetRefLabel _1 in
     Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
# 33054 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33075 "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_ = 
# 2112 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 33083 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33104 "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_ = 
# 2115 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
# 33112 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33133 "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_ = 
# 2118 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in P.parse_string x clt )
# 33140 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33161 "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_ = 
# 2120 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
# 33169 "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 : (
# 256 "parser_cocci_menhir.mly"
       (string * string (*n*) * string (*p*) * Data.clt)
# 33190 "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_ = 
# 2123 "parser_cocci_menhir.mly"
     ( let (x,l,p,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.DecimalConst(x,l,p)) clt)) )
# 33198 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33219 "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_ = 
# 2126 "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)) )
# 33228 "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 : (
# 227 "parser_cocci_menhir.mly"
       (Parse_aux.expinfo)
# 33249 "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_ = 
# 2130 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,clt) = _1 in
     Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
# 33257 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33278 "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_ = 
# 2133 "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)) )
# 33287 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33308 "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_ = 
# 2137 "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)) )
# 33317 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33338 "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_ = 
# 2141 "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)) )
# 33347 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33368 "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_ = 
# 2145 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,ty,clt) = _1 in
     Ast0.wrap
       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.GlobalID,pure)) )
# 33377 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 33408 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 33414 "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_ = 
# 2149 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
			    P.clt2mcode ")" _3)) )
# 33422 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33453 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33459 "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_ = 
# 2152 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.DisjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 33469 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33500 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_eexpr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33506 "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_ = 
# 2157 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.ConjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 33516 "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_nest_expressions = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
# 2161 "parser_cocci_menhir.mly"
                 ( _1 )
# 33540 "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_func_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_expr_invalid_ = 
# 2107 "parser_cocci_menhir.mly"
                ( Ast0.wrap(Ast0.Ident(_1)) )
# 33564 "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_ident = Obj.magic _2 in
        let _1 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 33591 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_primary_expr_expr_invalid_ = 
# 2109 "parser_cocci_menhir.mly"
     ( let op = P.clt2mcode Ast.GetRefLabel _1 in
     Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
# 33599 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33620 "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_ = 
# 2112 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
# 33628 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33649 "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_ = 
# 2115 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
# 33657 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33678 "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_ = 
# 2118 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in P.parse_string x clt )
# 33685 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33706 "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_ = 
# 2120 "parser_cocci_menhir.mly"
     ( let (x,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
# 33714 "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 : (
# 256 "parser_cocci_menhir.mly"
       (string * string (*n*) * string (*p*) * Data.clt)
# 33735 "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_ = 
# 2123 "parser_cocci_menhir.mly"
     ( let (x,l,p,clt) = _1 in
     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.DecimalConst(x,l,p)) clt)) )
# 33743 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33764 "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_ = 
# 2126 "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)) )
# 33773 "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 : (
# 227 "parser_cocci_menhir.mly"
       (Parse_aux.expinfo)
# 33794 "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_ = 
# 2130 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,clt) = _1 in
     Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
# 33802 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33823 "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_ = 
# 2133 "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)) )
# 33832 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33853 "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_ = 
# 2137 "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)) )
# 33862 "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 : (
# 232 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33883 "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_ = 
# 2141 "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)) )
# 33892 "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 : (
# 233 "parser_cocci_menhir.mly"
       (Parse_aux.typed_expinfo)
# 33913 "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_ = 
# 2145 "parser_cocci_menhir.mly"
     ( let (nm,constraints,pure,ty,clt) = _1 in
     Ast0.wrap
       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.GlobalID,pure)) )
# 33922 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 33953 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 33959 "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_ = 
# 2149 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
			    P.clt2mcode ")" _3)) )
# 33967 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 33998 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 34004 "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_ = 
# 2152 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.DisjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 34014 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 34045 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_expr_eexpr_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 34051 "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_ = 
# 2157 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
       Ast0.wrap(Ast0.ConjExpr(P.id2mcode _1,
			       code, mids,
			       P.id2mcode _3)) )
# 34061 "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_invalid = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_primary_expr_expr_invalid_ = 
# 2161 "parser_cocci_menhir.mly"
                 ( _1 )
# 34085 "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_pure = 
# 383 "parser_cocci_menhir.mly"
                 ( Ast0.Pure )
# 34107 "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_pure = 
# 384 "parser_cocci_menhir.mly"
                 ( Ast0.Context )
# 34129 "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.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_pure = 
# 385 "parser_cocci_menhir.mly"
                 ( Ast0.PureContext )
# 34155 "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.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_pure = 
# 386 "parser_cocci_menhir.mly"
                 ( Ast0.PureContext )
# 34181 "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_pure = 
# 387 "parser_cocci_menhir.mly"
                 ( Ast0.Impure )
# 34198 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 34219 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pure_ident = 
# 2175 "parser_cocci_menhir.mly"
           ( _1 )
# 34226 "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_pure_ident_kwd = 
# 2182 "parser_cocci_menhir.mly"
                 ( "identifier" )
# 34248 "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_pure_ident_kwd = 
# 2183 "parser_cocci_menhir.mly"
                 ( "expression" )
# 34270 "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_pure_ident_kwd = 
# 2184 "parser_cocci_menhir.mly"
                ( "statement" )
# 34292 "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_pure_ident_kwd = 
# 2185 "parser_cocci_menhir.mly"
               ( "function" )
# 34314 "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_pure_ident_kwd = 
# 2186 "parser_cocci_menhir.mly"
            ( "local" )
# 34336 "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_pure_ident_kwd = 
# 2187 "parser_cocci_menhir.mly"
           ( "type" )
# 34358 "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_pure_ident_kwd = 
# 2188 "parser_cocci_menhir.mly"
                ( "parameter" )
# 34380 "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_pure_ident_kwd = 
# 2189 "parser_cocci_menhir.mly"
                   ( "idexpression" )
# 34402 "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_pure_ident_kwd = 
# 2190 "parser_cocci_menhir.mly"
                  ( "initialiser" )
# 34424 "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_pure_ident_kwd = 
# 2191 "parser_cocci_menhir.mly"
           ( "list" )
# 34446 "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_pure_ident_kwd = 
# 2192 "parser_cocci_menhir.mly"
            ( "fresh" )
# 34468 "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_pure_ident_kwd = 
# 2193 "parser_cocci_menhir.mly"
               ( "constant" )
# 34490 "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_pure_ident_kwd = 
# 2194 "parser_cocci_menhir.mly"
            ( "error" )
# 34512 "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_pure_ident_kwd = 
# 2195 "parser_cocci_menhir.mly"
            ( "words" )
# 34534 "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_pure_ident_kwd = 
# 2196 "parser_cocci_menhir.mly"
           ( "pure" )
# 34556 "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_pure_ident_kwd = 
# 2197 "parser_cocci_menhir.mly"
              ( "context" )
# 34578 "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_pure_ident_kwd = 
# 2198 "parser_cocci_menhir.mly"
                ( "generated" )
# 34600 "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_pure_ident_kwd = 
# 2199 "parser_cocci_menhir.mly"
              ( "typedef" )
# 34622 "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_pure_ident_kwd = 
# 2200 "parser_cocci_menhir.mly"
               ( "declarer" )
# 34644 "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_pure_ident_kwd = 
# 2201 "parser_cocci_menhir.mly"
               ( "iterator" )
# 34666 "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_pure_ident_kwd = 
# 2202 "parser_cocci_menhir.mly"
           ( "name" )
# 34688 "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_pure_ident_kwd = 
# 2203 "parser_cocci_menhir.mly"
               ( "position" )
# 34710 "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_pure_ident_kwd = 
# 2204 "parser_cocci_menhir.mly"
             ( "symbol" )
# 34732 "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_pure_ident_or_meta_ident = 
# 2211 "parser_cocci_menhir.mly"
                                 ( (None,P.id2name _1) )
# 34756 "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_kwd = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pure_ident_or_meta_ident = 
# 2212 "parser_cocci_menhir.mly"
                                 ( (None,_1) )
# 34780 "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_meta_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pure_ident_or_meta_ident = 
# 2213 "parser_cocci_menhir.mly"
                                 ( _1 )
# 34804 "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.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 c : 'tv_assignopconstraint = Obj.magic c in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_assignop_constraint = 
# 602 "parser_cocci_menhir.mly"
                                                    ( (i,c) )
# 34834 "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.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 c : 'tv_binaryopconstraint = Obj.magic c in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_binop_constraint = 
# 592 "parser_cocci_menhir.mly"
                                                    ( (i,c) )
# 34864 "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 = optc;
          MenhirLib.EngineTypes.startp = _startpos_optc_;
          MenhirLib.EngineTypes.endp = _endpos_optc_;
          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 optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_optc_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = 
# 2250 "parser_cocci_menhir.mly"
    (
      match optc with
	  None   -> (i, Ast0.NoConstraint)
	| Some c -> (i, c)
    )
# 34898 "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 = optc;
          MenhirLib.EngineTypes.startp = _startpos_optc_;
          MenhirLib.EngineTypes.endp = _endpos_optc_;
          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 optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        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_ = 
# 2250 "parser_cocci_menhir.mly"
    (
      match optc with
	  None   -> (i, Ast0.NoConstraint)
	| Some c -> (i, c)
    )
# 34932 "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.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 c : 'tv_option_re_only_ = Obj.magic c in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_only_ = 
# 2275 "parser_cocci_menhir.mly"
    (
      match c with
	  None -> (i, Ast.IdNoConstraint)
	| Some constraint_ -> (i,constraint_)
    )
# 34966 "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.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 c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = 
# 2275 "parser_cocci_menhir.mly"
    (
      match c with
	  None -> (i, Ast.IdNoConstraint)
	| Some constraint_ -> (i,constraint_)
    )
# 35000 "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.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 c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        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_ = 
# 2258 "parser_cocci_menhir.mly"
    (
      Common.Left
        (match c with
	  None -> (i, Ast.IdNoConstraint)
	| Some constraint_ -> (i,constraint_))
    )
# 35035 "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.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 _3 : 'tv_pure_ident = Obj.magic _3 in
        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_ = 
# 2265 "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
    )
# 35073 "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_pure_ident_or_meta_ident_with_seed = 
# 2219 "parser_cocci_menhir.mly"
                                ( (_1,Ast.NoVal) )
# 35097 "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.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_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
        let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_seed = 
# 2222 "parser_cocci_menhir.mly"
  ( match _3 with
	   [Ast.SeedString s] -> (_1,Ast.StringSeed s)
	 | _ -> (_1,Ast.ListSeed _3) )
# 35133 "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 = l;
          MenhirLib.EngineTypes.startp = _startpos_l_;
          MenhirLib.EngineTypes.endp = _endpos_l_;
          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 l : 'tv_loption_not_pos_ = Obj.magic l in
        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_l_ in
        let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = 
# 2244 "parser_cocci_menhir.mly"
    (
      (i, l)
    )
# 35165 "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_pure_ident_or_symbol = 
# 2178 "parser_cocci_menhir.mly"
               ( _1 )
# 35189 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35210 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_pure_ident_or_symbol = 
# 2179 "parser_cocci_menhir.mly"
           ( _1 )
# 35217 "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 = re;
          MenhirLib.EngineTypes.startp = _startpos_re_;
          MenhirLib.EngineTypes.endp = _endpos_re_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let re : 'tv_regexp_eqid = Obj.magic re in
        let _startpos = _startpos_re_ in
        let _endpos = _endpos_re_ in
        let _v : 'tv_re_only = 
# 2287 "parser_cocci_menhir.mly"
                  (Ast.IdRegExpConstraint re)
# 35241 "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 = re;
          MenhirLib.EngineTypes.startp = _startpos_re_;
          MenhirLib.EngineTypes.endp = _endpos_re_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let re : 'tv_regexp_eqid = Obj.magic re in
        let _startpos = _startpos_re_ in
        let _endpos = _endpos_re_ in
        let _v : 'tv_re_or_not_eqe_or_sub = 
# 2340 "parser_cocci_menhir.mly"
                  (Ast0.NotIdCstrt  re)
# 35265 "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 = ne;
          MenhirLib.EngineTypes.startp = _startpos_ne_;
          MenhirLib.EngineTypes.endp = _endpos_ne_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ne : 'tv_not_eqe = Obj.magic ne in
        let _startpos = _startpos_ne_ in
        let _endpos = _endpos_ne_ in
        let _v : 'tv_re_or_not_eqe_or_sub = 
# 2341 "parser_cocci_menhir.mly"
                  (Ast0.NotExpCstrt ne)
# 35289 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : 'tv_sub = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_re_or_not_eqe_or_sub = 
# 2342 "parser_cocci_menhir.mly"
                  (Ast0.SubExpCstrt s)
# 35313 "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 = re;
          MenhirLib.EngineTypes.startp = _startpos_re_;
          MenhirLib.EngineTypes.endp = _endpos_re_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let re : 'tv_regexp_eqid = Obj.magic re in
        let _startpos = _startpos_re_ in
        let _endpos = _endpos_re_ in
        let _v : 'tv_re_or_not_eqid = 
# 2282 "parser_cocci_menhir.mly"
                    (Ast.IdRegExpConstraint re)
# 35337 "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 = ne;
          MenhirLib.EngineTypes.startp = _startpos_ne_;
          MenhirLib.EngineTypes.endp = _endpos_ne_;
          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 ne : 'tv_idcstr = Obj.magic ne in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_ne_ in
        let _v : 'tv_re_or_not_eqid = 
# 2283 "parser_cocci_menhir.mly"
                    (Ast.IdPosIdSet (fst ne,snd ne))
# 35365 "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 = ne;
          MenhirLib.EngineTypes.startp = _startpos_ne_;
          MenhirLib.EngineTypes.endp = _endpos_ne_;
          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 ne : 'tv_idcstr = Obj.magic ne in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_ne_ in
        let _v : 'tv_re_or_not_eqid = 
# 2284 "parser_cocci_menhir.mly"
                    (Ast.IdNegIdSet (fst ne,snd ne))
# 35393 "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 = re;
          MenhirLib.EngineTypes.startp = _startpos_re_;
          MenhirLib.EngineTypes.endp = _endpos_re_;
          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 re : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35418 "parser_cocci_menhir.ml"
        ) = Obj.magic re in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_re_ in
        let _v : 'tv_regexp_eqid = 
# 2291 "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,Regexp.regexp s)
	 )
# 35430 "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 = re;
          MenhirLib.EngineTypes.startp = _startpos_re_;
          MenhirLib.EngineTypes.endp = _endpos_re_;
          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 re : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35455 "parser_cocci_menhir.ml"
        ) = Obj.magic re in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_re_ in
        let _v : 'tv_regexp_eqid = 
# 2298 "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,Regexp.regexp s)
	 )
# 35467 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_decl__ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = 
# 1332 "parser_cocci_menhir.mly"
    ( [ x ] )
# 35491 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = s;
            MenhirLib.EngineTypes.startp = _startpos_s_;
            MenhirLib.EngineTypes.endp = _endpos_s_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = xs;
              MenhirLib.EngineTypes.startp = _startpos_xs_;
              MenhirLib.EngineTypes.endp = _endpos_xs_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_decl__ = Obj.magic x in
        let s : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35523 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let xs : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = Obj.magic xs in
        let _startpos = _startpos_xs_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = 
# 1334 "parser_cocci_menhir.mly"
    ( x :: (Separator s) :: xs )
# 35531 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = s;
              MenhirLib.EngineTypes.startp = _startpos_s_;
              MenhirLib.EngineTypes.endp = _endpos_s_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = xs;
                MenhirLib.EngineTypes.startp = _startpos_xs_;
                MenhirLib.EngineTypes.endp = _endpos_xs_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_decl__ = Obj.magic x in
        let s : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35567 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let xs : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = Obj.magic xs in
        let _startpos = _startpos_xs_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_decl___ = 
# 1336 "parser_cocci_menhir.mly"
    ( x :: Nothing :: (Separator s) :: xs )
# 35575 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_name_opt_decl__ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = 
# 1332 "parser_cocci_menhir.mly"
    ( [ x ] )
# 35599 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = s;
            MenhirLib.EngineTypes.startp = _startpos_s_;
            MenhirLib.EngineTypes.endp = _endpos_s_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = xs;
              MenhirLib.EngineTypes.startp = _startpos_xs_;
              MenhirLib.EngineTypes.endp = _endpos_xs_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_name_opt_decl__ = Obj.magic x in
        let s : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35631 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let xs : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = Obj.magic xs in
        let _startpos = _startpos_xs_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = 
# 1334 "parser_cocci_menhir.mly"
    ( x :: (Separator s) :: xs )
# 35639 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = s;
              MenhirLib.EngineTypes.startp = _startpos_s_;
              MenhirLib.EngineTypes.endp = _endpos_s_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = xs;
                MenhirLib.EngineTypes.startp = _startpos_xs_;
                MenhirLib.EngineTypes.endp = _endpos_xs_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let x : 'tv_argorellipsis_one_arg_name_opt_decl__ = Obj.magic x in
        let s : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35675 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let xs : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = Obj.magic xs in
        let _startpos = _startpos_xs_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_reverse_separated_nonempty_llist_TComma_argorellipsis_one_arg_name_opt_decl___ = 
# 1336 "parser_cocci_menhir.mly"
    ( x :: Nothing :: (Separator s) :: xs )
# 35683 "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_decl_var = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_rule_elem_statement = 
# 1523 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
# 35707 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35733 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_option_expr_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_rule_elem_statement = 
# 1524 "parser_cocci_menhir.mly"
                       ( P.exp_stm _1 _2 )
# 35741 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35772 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 35778 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_rule_elem_statement = 
# 1525 "parser_cocci_menhir.mly"
                        ( P.ret_exp _1 _2 _3 )
# 35785 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35811 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 35816 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_rule_elem_statement = 
# 1526 "parser_cocci_menhir.mly"
                  ( P.ret _1 _2 )
# 35823 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35849 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 35854 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_rule_elem_statement = 
# 1527 "parser_cocci_menhir.mly"
                 ( P.break _1 _2 )
# 35861 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 35887 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 35892 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_rule_elem_statement = 
# 1528 "parser_cocci_menhir.mly"
                    ( P.cont _1 _2 )
# 35899 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35930 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35936 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_rule_elem_statement = 
# 1530 "parser_cocci_menhir.mly"
    ( let (mids,code) = _2 in
    Ast0.wrap
      (Ast0.Disj(P.id2mcode _1,
		 List.map (function x -> Ast0.wrap [x]) code,
		 mids, P.id2mcode _3)) )
# 35947 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35978 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 35984 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_rule_elem_statement = 
# 1536 "parser_cocci_menhir.mly"
    ( let (mids,code) = _2 in
    Ast0.wrap
      (Ast0.Conj(P.id2mcode _1,
		 List.map (function x -> Ast0.wrap [x]) code,
		 mids, P.id2mcode _3)) )
# 35995 "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 = ee;
            MenhirLib.EngineTypes.startp = _startpos_ee_;
            MenhirLib.EngineTypes.endp = _endpos_ee_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = a;
                MenhirLib.EngineTypes.startp = _startpos_a_;
                MenhirLib.EngineTypes.endp = _endpos_a_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = i;
                  MenhirLib.EngineTypes.startp = _startpos_i_;
                  MenhirLib.EngineTypes.endp = _endpos_i_;
                  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.startp = _startpos__1_;
                      MenhirLib.EngineTypes.endp = _endpos__1_;
                      MenhirLib.EngineTypes.next = _menhir_stack;
                      };
                    };
                  };
                };
              };
            };
          } = _menhir_stack in
        let ee : 'tv_is_expression = Obj.magic ee in
        let e : 'tv_exists = Obj.magic e in
        let a : 'tv_loption_disable_ = Obj.magic a in
        let i : 'tv_loption_choose_iso_ = Obj.magic i in
        let d : 'tv_depends = Obj.magic d in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__7_ in
        let _v : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36051 "parser_cocci_menhir.ml"
        ) = let nm =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 36056 "parser_cocci_menhir.ml"
          
        in
        
# 395 "parser_cocci_menhir.mly"
      ( P.make_cocci_rule_name_result nm d i a e ee )
# 36062 "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__8_;
          MenhirLib.EngineTypes.endp = _endpos__8_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = ee;
            MenhirLib.EngineTypes.startp = _startpos_ee_;
            MenhirLib.EngineTypes.endp = _endpos_ee_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = a;
                MenhirLib.EngineTypes.startp = _startpos_a_;
                MenhirLib.EngineTypes.endp = _endpos_a_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = i;
                  MenhirLib.EngineTypes.startp = _startpos_i_;
                  MenhirLib.EngineTypes.endp = _endpos_i_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.semv = d;
                    MenhirLib.EngineTypes.startp = _startpos_d_;
                    MenhirLib.EngineTypes.endp = _endpos_d_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.startp = _startpos__2_;
                      MenhirLib.EngineTypes.endp = _endpos__2_;
                      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 ee : 'tv_is_expression = Obj.magic ee in
        let e : 'tv_exists = Obj.magic e in
        let a : 'tv_loption_disable_ = Obj.magic a in
        let i : 'tv_loption_choose_iso_ = Obj.magic i in
        let d : 'tv_depends = Obj.magic d in
        let x0 : 'tv_pure_ident = Obj.magic x0 in
        let _startpos = _startpos_x0_ in
        let _endpos = _endpos__8_ in
        let _v : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36124 "parser_cocci_menhir.ml"
        ) = let nm =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 36130 "parser_cocci_menhir.ml"
          
        in
        
# 395 "parser_cocci_menhir.mly"
      ( P.make_cocci_rule_name_result nm d i a e ee )
# 36136 "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__8_;
          MenhirLib.EngineTypes.endp = _endpos__8_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = ee;
            MenhirLib.EngineTypes.startp = _startpos_ee_;
            MenhirLib.EngineTypes.endp = _endpos_ee_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = e;
              MenhirLib.EngineTypes.startp = _startpos_e_;
              MenhirLib.EngineTypes.endp = _endpos_e_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = a;
                MenhirLib.EngineTypes.startp = _startpos_a_;
                MenhirLib.EngineTypes.endp = _endpos_a_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.semv = i;
                  MenhirLib.EngineTypes.startp = _startpos_i_;
                  MenhirLib.EngineTypes.endp = _endpos_i_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.semv = d;
                    MenhirLib.EngineTypes.startp = _startpos_d_;
                    MenhirLib.EngineTypes.endp = _endpos_d_;
                    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 ee : 'tv_is_expression = Obj.magic ee in
        let e : 'tv_exists = Obj.magic e in
        let a : 'tv_loption_disable_ = Obj.magic a in
        let i : 'tv_loption_choose_iso_ = Obj.magic i in
        let d : 'tv_depends = Obj.magic d in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__8_ in
        let _v : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36196 "parser_cocci_menhir.ml"
        ) = 
# 400 "parser_cocci_menhir.mly"
      ( P.make_generated_rule_name_result None d i a e ee )
# 36200 "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 : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36242 "parser_cocci_menhir.ml"
        ) = let nm =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 36247 "parser_cocci_menhir.ml"
          
        in
        
# 402 "parser_cocci_menhir.mly"
      ( P.make_script_rule_name_result lang nm d )
# 36253 "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 : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36301 "parser_cocci_menhir.ml"
        ) = let nm =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 36307 "parser_cocci_menhir.ml"
          
        in
        
# 402 "parser_cocci_menhir.mly"
      ( P.make_script_rule_name_result lang nm d )
# 36313 "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 : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36355 "parser_cocci_menhir.ml"
        ) = 
# 404 "parser_cocci_menhir.mly"
      ( P.make_initial_script_rule_name_result lang d )
# 36359 "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 : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 36401 "parser_cocci_menhir.ml"
        ) = 
# 406 "parser_cocci_menhir.mly"
      ( P.make_final_script_rule_name_result lang d )
# 36405 "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 = 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 : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36433 "parser_cocci_menhir.ml"
        ) = 
# 2953 "parser_cocci_menhir.mly"
  ( ((Some (P.id2name py), None), None, Ast.NoMVInit) )
# 36437 "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.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_ext = 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 : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36471 "parser_cocci_menhir.ml"
        ) = 
# 2955 "parser_cocci_menhir.mly"
  ( ((Some (P.id2name py), None), Some (fst _2), snd _2) )
# 36475 "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.semv = ast;
                MenhirLib.EngineTypes.startp = _startpos_ast_;
                MenhirLib.EngineTypes.endp = _endpos_ast_;
                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 _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__7_ in
        let _v : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36525 "parser_cocci_menhir.ml"
        ) = 
# 2957 "parser_cocci_menhir.mly"
  ( ((None, Some (P.id2name ast)), Some _6, Ast.NoMVInit) )
# 36529 "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__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 = 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 _6 : 'tv_script_name_decl_ext = 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 : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36579 "parser_cocci_menhir.ml"
        ) = 
# 2959 "parser_cocci_menhir.mly"
  ( ((Some (P.id2name str), None), Some (fst _6), snd _6) )
# 36583 "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.semv = ast;
                MenhirLib.EngineTypes.startp = _startpos_ast_;
                MenhirLib.EngineTypes.endp = _endpos_ast_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.startp = _startpos__3_;
                  MenhirLib.EngineTypes.endp = _endpos__3_;
                  MenhirLib.EngineTypes.next = {
                    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 _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 : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36635 "parser_cocci_menhir.ml"
        ) = 
# 2961 "parser_cocci_menhir.mly"
  ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6, Ast.NoMVInit) )
# 36639 "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.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_virt_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 : (
# 345 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 36673 "parser_cocci_menhir.ml"
        ) = 
# 3001 "parser_cocci_menhir.mly"
  ( ((Some (P.id2name py), None), Some _2, Ast.NoMVInit) )
# 36677 "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 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 36712 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_cocci_ in
        let _v : 'tv_script_name_decl = 
# 2965 "parser_cocci_menhir.mly"
      ( let nm = P.id2name cocci in
        let mv = Parse_aux.lookup _2 nm in
        ((_2, nm), mv) )
# 36721 "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 = 
# 2969 "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) )
# 36763 "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_script_name_decl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_script_name_decl_ext = 
# 2978 "parser_cocci_menhir.mly"
                     ( (_1,Ast.NoMVInit) )
# 36787 "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.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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 36817 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _1 : 'tv_script_name_decl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_script_name_decl_ext = 
# 2980 "parser_cocci_menhir.mly"
    ( let (nm,mv) = _1 in
      match mv with
	Ast.MetaPosDecl _ ->
	  raise
	    (Semantic_cocci.Semantic
	       "default value of position variable should be a list")
      | _ ->
	  let (s,clt) = _3 in
	  (_1,Ast.MVInitString s) )
# 36833 "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.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 = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let _1 : 'tv_script_name_decl = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_script_name_decl_ext = 
# 2990 "parser_cocci_menhir.mly"
    ( let (nm,mv) = _1 in
      match mv with
	Ast.MetaPosDecl _ ->
	  (_1,Ast.MVInitPosList) (* just empty, so nothing to record *)
      | _ ->
	  raise
	    (Semantic_cocci.Semantic
	       "default value of non-position variable should be a string") )
# 36876 "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_virt_name_decl = 
# 3005 "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) )
# 36918 "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 : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 36939 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_seed_elem = 
# 2227 "parser_cocci_menhir.mly"
          ( let (x,_) = _1 in Ast.SeedString x )
# 36946 "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 : (
# 222 "parser_cocci_menhir.mly"
       (Parse_aux.midinfo)
# 36967 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_seed_elem = 
# 2228 "parser_cocci_menhir.mly"
          ( let (x,_,_,_,_) = _1 in Ast.SeedId x )
# 36974 "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 = 
# 2229 "parser_cocci_menhir.mly"
        (failwith "tmeta")
# 36996 "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.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 _3 : 'tv_pure_ident = Obj.magic _3 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_seed_elem = 
# 2231 "parser_cocci_menhir.mly"
    ( let nm = ("virtual",P.id2name _3) in
     Iteration.parsed_virtual_identifiers :=
       Common.union_set [snd nm]
	 !Iteration.parsed_virtual_identifiers;
    try Ast.SeedString (List.assoc (snd nm) !Flag.defined_virtual_env)
    with Not_found -> Ast.SeedId nm )
# 37033 "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.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_pure_ident = Obj.magic _3 in
        let _1 : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 37064 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_seed_elem = 
# 2238 "parser_cocci_menhir.mly"
    ( let nm = (_1,P.id2name _3) in
      P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
      Ast.SeedId nm )
# 37073 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 37094 "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 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37101 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
        let x : (
# 255 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 37132 "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 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37139 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_any_strict = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37163 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
        let x : 'tv_any_strict = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37197 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_assignment_operator = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_assignment_operator_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37221 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_assignment_operator_ = Obj.magic xs in
        let x : 'tv_assignment_operator = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_assignment_operator_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37255 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_binary_operator = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_binary_operator_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37279 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_binary_operator_ = Obj.magic xs in
        let x : 'tv_binary_operator = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_binary_operator_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37313 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_ctype = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37337 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
        let x : 'tv_ctype = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37371 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_d_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37395 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
        let x : 'tv_d_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37429 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_ident_or_const = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37453 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
        let x : 'tv_ident_or_const = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37487 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_meta_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37511 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
        let x : 'tv_meta_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37545 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37569 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
        let x : 'tv_pure_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37603 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37627 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37661 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_assignop_constraint = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_assignop_constraint_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37685 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_assignop_constraint_ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_assignop_constraint = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_assignop_constraint_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37719 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_binop_constraint = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_binop_constraint_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37743 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_binop_constraint_ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_binop_constraint = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_binop_constraint_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37777 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37801 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37835 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37859 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37893 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_only_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_only__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37917 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_only__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_only_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_only__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 37951 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 37975 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38009 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 38033 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38067 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 38091 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38125 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 38149 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
        let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38183 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_typedef_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 38207 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
        let x : 'tv_typedef_ident = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38241 "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 = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let x : 'tv_seed_elem = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
# 144 "/usr/share/menhir/standard.mly"
    ( [ x ] )
# 38265 "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.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.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
        let x : 'tv_seed_elem = Obj.magic x in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
# 146 "/usr/share/menhir/standard.mly"
    ( x :: xs )
# 38299 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38320 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_signable_types = 
# 880 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
# 38327 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38348 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_signable_types = 
# 882 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
# 38355 "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 = ty2;
          MenhirLib.EngineTypes.startp = _startpos_ty2_;
          MenhirLib.EngineTypes.endp = _endpos_ty2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = ty1;
            MenhirLib.EngineTypes.startp = _startpos_ty1_;
            MenhirLib.EngineTypes.endp = _endpos_ty1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty2 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38381 "parser_cocci_menhir.ml"
        ) = Obj.magic ty2 in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38386 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty2_ in
        let _v : 'tv_signable_types = 
# 884 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.BaseType
	   (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) )
# 38395 "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 = ty;
          MenhirLib.EngineTypes.startp = _startpos_ty_;
          MenhirLib.EngineTypes.endp = _endpos_ty_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38416 "parser_cocci_menhir.ml"
        ) = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_ty_ in
        let _v : 'tv_signable_types = 
# 888 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
# 38423 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let p : (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 38444 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let _startpos = _startpos_p_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_signable_types = 
# 890 "parser_cocci_menhir.mly"
    ( let (nm,pure,clt) = p in
      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
# 38452 "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 = p;
          MenhirLib.EngineTypes.startp = _startpos_p_;
          MenhirLib.EngineTypes.endp = _endpos_p_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = r;
              MenhirLib.EngineTypes.startp = _startpos_r_;
              MenhirLib.EngineTypes.endp = _endpos_r_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let p : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 38482 "parser_cocci_menhir.ml"
        ) = Obj.magic p in
        let r : (
# 205 "parser_cocci_menhir.mly"
      (string)
# 38487 "parser_cocci_menhir.ml"
        ) = Obj.magic r in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_p_ in
        let _v : 'tv_signable_types = 
# 893 "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*))) )
# 38499 "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 = ty1;
          MenhirLib.EngineTypes.startp = _startpos_ty1_;
          MenhirLib.EngineTypes.endp = _endpos_ty1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38520 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty1_ in
        let _v : 'tv_signable_types = 
# 900 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) )
# 38527 "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 = ty2;
          MenhirLib.EngineTypes.startp = _startpos_ty2_;
          MenhirLib.EngineTypes.endp = _endpos_ty2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = ty1;
            MenhirLib.EngineTypes.startp = _startpos_ty1_;
            MenhirLib.EngineTypes.endp = _endpos_ty1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty2 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38553 "parser_cocci_menhir.ml"
        ) = Obj.magic ty2 in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38558 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty2_ in
        let _v : 'tv_signable_types = 
# 902 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.BaseType
	   (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) )
# 38567 "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 = ty2;
          MenhirLib.EngineTypes.startp = _startpos_ty2_;
          MenhirLib.EngineTypes.endp = _endpos_ty2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = ty1;
            MenhirLib.EngineTypes.startp = _startpos_ty1_;
            MenhirLib.EngineTypes.endp = _endpos_ty1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let ty2 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38593 "parser_cocci_menhir.ml"
        ) = Obj.magic ty2 in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38598 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty2_ in
        let _v : 'tv_signable_types = 
# 906 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.BaseType
	   (Ast.LongLongType,
	    [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
# 38608 "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 = ty3;
          MenhirLib.EngineTypes.startp = _startpos_ty3_;
          MenhirLib.EngineTypes.endp = _endpos_ty3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = ty2;
            MenhirLib.EngineTypes.startp = _startpos_ty2_;
            MenhirLib.EngineTypes.endp = _endpos_ty2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = ty1;
              MenhirLib.EngineTypes.startp = _startpos_ty1_;
              MenhirLib.EngineTypes.endp = _endpos_ty1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let ty3 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38639 "parser_cocci_menhir.ml"
        ) = Obj.magic ty3 in
        let ty2 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38644 "parser_cocci_menhir.ml"
        ) = Obj.magic ty2 in
        let ty1 : (
# 207 "parser_cocci_menhir.mly"
      (Data.clt)
# 38649 "parser_cocci_menhir.ml"
        ) = Obj.magic ty1 in
        let _startpos = _startpos_ty1_ in
        let _endpos = _endpos_ty3_ in
        let _v : 'tv_signable_types = 
# 911 "parser_cocci_menhir.mly"
    ( Ast0.wrap
	(Ast0.BaseType
	   (Ast.LongLongIntType,
	    [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2;
	      P.clt2mcode "int" ty3])) )
# 38660 "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_statement = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_single_statement = 
# 1544 "parser_cocci_menhir.mly"
                                      ( _1 )
# 38684 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 38715 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 38721 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_single_statement = 
# 1548 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap
	  (Ast0.Disj(P.id2mcode _1,
		     List.map (function x -> Ast0.wrap [x]) code,
		     mids, P.id2mcode _3)) )
# 38732 "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 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 38763 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_andzero_list_statement_statement_ = Obj.magic _2 in
        let _1 : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 38769 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_single_statement = 
# 1556 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap
	  (Ast0.Conj(P.id2mcode _1,
		     List.map (function x -> Ast0.wrap [x]) code,
		     mids, P.id2mcode _3)) )
# 38780 "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_includes = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_statement = 
# 1457 "parser_cocci_menhir.mly"
           ( _1 )
# 38804 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 38825 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_statement = 
# 1458 "parser_cocci_menhir.mly"
        ( tmeta_to_statement _1)
# 38832 "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 : (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 38853 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_statement = 
# 1460 "parser_cocci_menhir.mly"
    ( P.meta_stm _1 )
# 38860 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 38886 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : 'tv_option_expr_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_statement = 
# 1462 "parser_cocci_menhir.mly"
    ( P.exp_stm _1 _2 )
# 38894 "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 = _5;
          MenhirLib.EngineTypes.startp = _startpos__5_;
          MenhirLib.EngineTypes.endp = _endpos__5_;
          MenhirLib.EngineTypes.next = {
            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 _5 : 'tv_single_statement = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 38936 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 38942 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 38947 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_statement = 
# 1464 "parser_cocci_menhir.mly"
    ( P.ifthen _1 _2 _3 _4 _5 )
# 38954 "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 = _7;
          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.semv = _5;
              MenhirLib.EngineTypes.startp = _startpos__5_;
              MenhirLib.EngineTypes.endp = _endpos__5_;
              MenhirLib.EngineTypes.next = {
                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 _7 : 'tv_single_statement = Obj.magic _7 in
        let _6 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39006 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_single_statement = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39012 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39018 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39023 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__7_ in
        let _v : 'tv_statement = 
# 1466 "parser_cocci_menhir.mly"
    ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
# 39030 "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 = _9;
          MenhirLib.EngineTypes.startp = _startpos__9_;
          MenhirLib.EngineTypes.endp = _endpos__9_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _8;
            MenhirLib.EngineTypes.startp = _startpos__8_;
            MenhirLib.EngineTypes.endp = _endpos__8_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = _7;
              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.semv = _5;
                  MenhirLib.EngineTypes.startp = _startpos__5_;
                  MenhirLib.EngineTypes.endp = _endpos__5_;
                  MenhirLib.EngineTypes.next = {
                    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 _9 : 'tv_single_statement = Obj.magic _9 in
        let _8 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39092 "parser_cocci_menhir.ml"
        ) = Obj.magic _8 in
        let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
        let _6 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39098 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
        let _4 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39104 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39110 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39115 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__9_ in
        let _v : 'tv_statement = 
# 1469 "parser_cocci_menhir.mly"
    ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
# 39122 "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 = _8;
          MenhirLib.EngineTypes.startp = _startpos__8_;
          MenhirLib.EngineTypes.endp = _endpos__8_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _7;
            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.semv = _5;
                MenhirLib.EngineTypes.startp = _startpos__5_;
                MenhirLib.EngineTypes.endp = _endpos__5_;
                MenhirLib.EngineTypes.next = {
                  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 _8 : 'tv_single_statement = Obj.magic _8 in
        let _7 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39179 "parser_cocci_menhir.ml"
        ) = Obj.magic _7 in
        let _6 : 'tv_option_eexpr_ = Obj.magic _6 in
        let _5 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39185 "parser_cocci_menhir.ml"
        ) = Obj.magic _5 in
        let _4 : 'tv_option_eexpr_ = Obj.magic _4 in
        let _3 : 'tv_one_decl_var = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39192 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39197 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__8_ in
        let _v : 'tv_statement = 
# 1472 "parser_cocci_menhir.mly"
    ( P.forloop2 _1 _2 _3 _4 _5 _6 _7 _8 )
# 39204 "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 = _5;
          MenhirLib.EngineTypes.startp = _startpos__5_;
          MenhirLib.EngineTypes.endp = _endpos__5_;
          MenhirLib.EngineTypes.next = {
            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 _5 : 'tv_single_statement = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39246 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39252 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39257 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__5_ in
        let _v : 'tv_statement = 
# 1474 "parser_cocci_menhir.mly"
    ( P.whileloop _1 _2 _3 _4 _5 )
# 39264 "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 = _7;
          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.semv = _5;
              MenhirLib.EngineTypes.startp = _startpos__5_;
              MenhirLib.EngineTypes.endp = _endpos__5_;
              MenhirLib.EngineTypes.next = {
                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 _7 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39315 "parser_cocci_menhir.ml"
        ) = Obj.magic _7 in
        let _6 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39320 "parser_cocci_menhir.ml"
        ) = Obj.magic _6 in
        let _5 : 'tv_eexpr = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39326 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39331 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_single_statement = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39337 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__7_ in
        let _v : 'tv_statement = 
# 1476 "parser_cocci_menhir.mly"
    ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
# 39344 "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 = _5;
          MenhirLib.EngineTypes.startp = _startpos__5_;
          MenhirLib.EngineTypes.endp = _endpos__5_;
          MenhirLib.EngineTypes.next = {
            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 _5 : 'tv_single_statement = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39386 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39392 "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 = 
# 1478 "parser_cocci_menhir.mly"
    ( P.iterator _1 _2 _3 _4 _5 )
# 39400 "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 = _8;
          MenhirLib.EngineTypes.startp = _startpos__8_;
          MenhirLib.EngineTypes.endp = _endpos__8_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = _7;
            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.semv = _5;
                MenhirLib.EngineTypes.startp = _startpos__5_;
                MenhirLib.EngineTypes.endp = _endpos__5_;
                MenhirLib.EngineTypes.next = {
                  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 _8 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 39456 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 39463 "parser_cocci_menhir.ml"
        ) = Obj.magic _5 in
        let _4 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39468 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_eexpr = Obj.magic _3 in
        let _2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39474 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39479 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__8_ in
        let _v : 'tv_statement = 
# 1480 "parser_cocci_menhir.mly"
    ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
# 39486 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39517 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_eexpr = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39523 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_statement = 
# 1481 "parser_cocci_menhir.mly"
                        ( P.ret_exp _1 _2 _3 )
# 39530 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39556 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 39561 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_statement = 
# 1482 "parser_cocci_menhir.mly"
                  ( P.ret _1 _2 )
# 39568 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39594 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 39599 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_statement = 
# 1483 "parser_cocci_menhir.mly"
                 ( P.break _1 _2 )
# 39606 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39632 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 39637 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_statement = 
# 1484 "parser_cocci_menhir.mly"
                    ( P.cont _1 _2 )
# 39644 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 39670 "parser_cocci_menhir.ml"
        ) = 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_statement = 
# 1485 "parser_cocci_menhir.mly"
                 ( P.label _1 _2 )
# 39678 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39709 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_disj_ident = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 39715 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_statement = 
# 1486 "parser_cocci_menhir.mly"
                           ( P.goto _1 _2 _3 )
# 39722 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 39753 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_fun_start = Obj.magic _2 in
        let _1 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 39759 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_statement = 
# 1488 "parser_cocci_menhir.mly"
    ( P.seq _1 _2 _3 )
# 39766 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 39802 "parser_cocci_menhir.ml"
        ) = Obj.magic _4 in
        let _3 : 'tv_exec_list = Obj.magic _3 in
        let _2 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 39808 "parser_cocci_menhir.ml"
        ) = Obj.magic _2 in
        let _1 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 39813 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_statement = 
# 1490 "parser_cocci_menhir.mly"
    ( Ast0.wrap(
      Ast0.Exec(P.clt2mcode "EXEC" _1,P.clt2mcode (fst _2) (snd _2),
		Ast0.wrap _3,P.clt2mcode ";" _4)) )
# 39822 "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 = w;
          MenhirLib.EngineTypes.startp = _startpos_w_;
          MenhirLib.EngineTypes.endp = _endpos_w_;
          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 w : 'tv_list_whenppdecs_ = Obj.magic w in
        let _1 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 39849 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_w_ in
        let _v : 'tv_stm_dots = 
# 1496 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
# 39856 "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 = b;
            MenhirLib.EngineTypes.startp = _startpos_b_;
            MenhirLib.EngineTypes.endp = _endpos_b_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = w;
              MenhirLib.EngineTypes.startp = _startpos_w_;
              MenhirLib.EngineTypes.endp = _endpos_w_;
              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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 39892 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 39899 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_stm_dots = 
# 1498 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
			  P.clt2mcode "...>" c, List.concat w, false)) )
# 39907 "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 = b;
            MenhirLib.EngineTypes.startp = _startpos_b_;
            MenhirLib.EngineTypes.endp = _endpos_b_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = w;
              MenhirLib.EngineTypes.startp = _startpos_w_;
              MenhirLib.EngineTypes.endp = _endpos_w_;
              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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 39943 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 39950 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_c_ in
        let _v : 'tv_stm_dots = 
# 1501 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
			  P.clt2mcode "...+>" c, List.concat w, true)) )
# 39958 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 39979 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_storage = 
# 1418 "parser_cocci_menhir.mly"
                        ( P.clt2mcode Ast.Static s )
# 39986 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 40007 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_storage = 
# 1419 "parser_cocci_menhir.mly"
                        ( P.clt2mcode Ast.Auto s )
# 40014 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 40035 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_storage = 
# 1420 "parser_cocci_menhir.mly"
                        ( P.clt2mcode Ast.Register s )
# 40042 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : (
# 212 "parser_cocci_menhir.mly"
      (Data.clt)
# 40063 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_storage = 
# 1421 "parser_cocci_menhir.mly"
                        ( P.clt2mcode Ast.Extern s )
# 40070 "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_struct_decl = 
# 1017 "parser_cocci_menhir.mly"
                      ( [] )
# 40092 "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_one = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_struct_decl = 
# 1018 "parser_cocci_menhir.mly"
                      ( [_1] )
# 40116 "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_list_start = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_struct_decl_list = 
# 1046 "parser_cocci_menhir.mly"
                          ( Ast0.wrap _1 )
# 40140 "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_struct_decl_list_start = 
# 1049 "parser_cocci_menhir.mly"
                                     ( _1 )
# 40164 "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_struct_decl_list_start = 
# 1050 "parser_cocci_menhir.mly"
                                     ( _1@_2 )
# 40194 "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_continue_struct_decl_list = Obj.magic r 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 = 
# 1052 "parser_cocci_menhir.mly"
    ( (P.mkddots_one "..." d)::r )
# 40224 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 40245 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_struct_decl_one = 
# 1021 "parser_cocci_menhir.mly"
                 ( P.meta_field _1 )
# 40252 "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 : (
# 231 "parser_cocci_menhir.mly"
       (Parse_aux.list_info)
# 40273 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_struct_decl_one = 
# 1022 "parser_cocci_menhir.mly"
                     ( P.meta_field_list _1 )
# 40280 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 40301 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_struct_decl_one = 
# 1023 "parser_cocci_menhir.mly"
            ( tmeta_to_field _1 )
# 40308 "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.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 rp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 40339 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_midzero_list_struct_decl_one_struct_decl_one_ = Obj.magic t in
        let lp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 40345 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let _startpos = _startpos_lp_ in
        let _endpos = _endpos_rp_ in
        let _v : 'tv_struct_decl_one = 
# 1025 "parser_cocci_menhir.mly"
 ( let (mids,code) = t in
	Ast0.wrap
	  (Ast0.DisjDecl(P.id2mcode lp,code,mids, P.id2mcode rp)) )
# 40354 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 40385 "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 = 
# 1029 "parser_cocci_menhir.mly"
  ( let (id,fn) = d in
	 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
# 40395 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 40456 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let rp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 40461 "parser_cocci_menhir.ml"
        ) = Obj.magic rp2 in
        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
        let lp2 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 40467 "parser_cocci_menhir.ml"
        ) = Obj.magic lp2 in
        let rp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 40472 "parser_cocci_menhir.ml"
        ) = Obj.magic rp1 in
        let d : 'tv_d_ident = Obj.magic d in
        let st : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 40478 "parser_cocci_menhir.ml"
        ) = Obj.magic st in
        let lp1 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 40483 "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 = 
# 1033 "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)) )
# 40497 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 40528 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = Obj.magic i in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_pv_ in
        let _v : 'tv_struct_decl_one = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 40538 "parser_cocci_menhir.ml"
          
        in
        
# 1041 "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)) )
# 40546 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 40582 "parser_cocci_menhir.ml"
        ) = Obj.magic pv in
        let d : 'tv_d_ident = Obj.magic d in
        let i : 'tv_pure_ident_or_symbol = 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 "/usr/share/menhir/standard.mly"
    ( Some x )
# 40594 "parser_cocci_menhir.ml"
          
        in
        
# 1041 "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)) )
# 40602 "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 = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let s : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 40623 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : 'tv_struct_or_union = 
# 1013 "parser_cocci_menhir.mly"
                 ( P.clt2mcode Ast.Struct s )
# 40630 "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 = u;
          MenhirLib.EngineTypes.startp = _startpos_u_;
          MenhirLib.EngineTypes.endp = _endpos_u_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let u : (
# 209 "parser_cocci_menhir.mly"
      (Data.clt)
# 40651 "parser_cocci_menhir.ml"
        ) = Obj.magic u in
        let _startpos = _startpos_u_ in
        let _endpos = _endpos_u_ in
        let _v : 'tv_struct_or_union = 
# 1014 "parser_cocci_menhir.mly"
                 ( P.clt2mcode Ast.Union u )
# 40658 "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 = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          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 i : 'tv_meta_ident = Obj.magic i in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : 'tv_sub = 
# 2386 "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 i =
	     P.check_inherited_constraint i
	       (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
	   [i] )
# 40693 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic l0 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_sub = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 40731 "parser_cocci_menhir.ml"
          
        in
        
# 2395 "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");
           List.map
	     (function i ->
	       P.check_inherited_constraint i
		 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
	     l)
# 40745 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 40766 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2829 "parser_cocci_menhir.mly"
          ( P.clt2mcode "+" _1 )
# 40773 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 40794 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2830 "parser_cocci_menhir.mly"
           ( P.clt2mcode "-" _1 )
# 40801 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 40822 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2831 "parser_cocci_menhir.mly"
         ( P.clt2mcode "*" _1 )
# 40829 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 40850 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2832 "parser_cocci_menhir.mly"
          ( P.clt2mcode "==" _1 )
# 40857 "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 : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 40878 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2833 "parser_cocci_menhir.mly"
           ( P.clt2mcode "!=" _1 )
# 40885 "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 : (
# 266 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 40906 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2834 "parser_cocci_menhir.mly"
          ( P.clt2mcode (arithOp(fst _1)) (snd _1) )
# 40913 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 40934 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2835 "parser_cocci_menhir.mly"
           ( P.clt2mcode (arithOp(fst _1)) (snd _1) )
# 40941 "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 : (
# 265 "parser_cocci_menhir.mly"
       (Ast_cocci.arithOp * Data.clt)
# 40962 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2836 "parser_cocci_menhir.mly"
           ( P.clt2mcode (arithOp(fst _1)) (snd _1) )
# 40969 "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 : (
# 264 "parser_cocci_menhir.mly"
       (Ast_cocci.logicalOp * Data.clt)
# 40990 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2837 "parser_cocci_menhir.mly"
           ( P.clt2mcode (logicalOp(fst _1)) (snd _1) )
# 40997 "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 : (
# 260 "parser_cocci_menhir.mly"
       (Data.clt)
# 41018 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2838 "parser_cocci_menhir.mly"
        ( P.clt2mcode "|" _1 )
# 41025 "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 : (
# 261 "parser_cocci_menhir.mly"
       (Data.clt)
# 41046 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2839 "parser_cocci_menhir.mly"
         ( P.clt2mcode "+" _1 )
# 41053 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 41074 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2840 "parser_cocci_menhir.mly"
         ( P.clt2mcode "&" _1 )
# 41081 "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 : (
# 258 "parser_cocci_menhir.mly"
       (Data.clt)
# 41102 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2841 "parser_cocci_menhir.mly"
           ( P.clt2mcode "||" _1 )
# 41109 "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 : (
# 259 "parser_cocci_menhir.mly"
       (Data.clt)
# 41130 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2842 "parser_cocci_menhir.mly"
            ( P.clt2mcode "&&" _1 )
# 41137 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 41158 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2843 "parser_cocci_menhir.mly"
            ( P.clt2mcode "{" _1 )
# 41165 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 41186 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2844 "parser_cocci_menhir.mly"
            ( P.clt2mcode "}" _1 )
# 41193 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 41214 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2845 "parser_cocci_menhir.mly"
          ( P.clt2mcode "[" _1 )
# 41221 "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 : (
# 271 "parser_cocci_menhir.mly"
       (Data.clt)
# 41242 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2846 "parser_cocci_menhir.mly"
          ( P.clt2mcode "]" _1 )
# 41249 "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 : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 41270 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2847 "parser_cocci_menhir.mly"
        ( P.clt2mcode "=" _1 )
# 41277 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 41298 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2848 "parser_cocci_menhir.mly"
         ( P.clt2mcode "?" _1 )
# 41305 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 41326 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2849 "parser_cocci_menhir.mly"
          ( P.clt2mcode "!" _1 )
# 41333 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 41354 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2850 "parser_cocci_menhir.mly"
          ( P.clt2mcode "(" _1 )
# 41361 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 41382 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2851 "parser_cocci_menhir.mly"
          ( P.clt2mcode ")" _1 )
# 41389 "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 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 41410 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2852 "parser_cocci_menhir.mly"
        ( P.clt2mcode "if" _1 )
# 41417 "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 : (
# 217 "parser_cocci_menhir.mly"
       (Data.clt)
# 41438 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_token = 
# 2853 "parser_cocci_menhir.mly"
          ( P.clt2mcode "else" _1 )
# 41445 "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_top_ctype = 
# 976 "parser_cocci_menhir.mly"
        ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1)))) )
# 41469 "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_eexpr = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_top_eexpr = 
# 1874 "parser_cocci_menhir.mly"
        ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
# 41493 "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_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_top_ident = 
# 2484 "parser_cocci_menhir.mly"
             ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopId(_1)))) )
# 41517 "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 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 41548 "parser_cocci_menhir.ml"
        ) = Obj.magic _3 in
        let _2 : 'tv_initialize_list = Obj.magic _2 in
        let _1 : (
# 270 "parser_cocci_menhir.mly"
       (Data.clt)
# 41554 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_top_init = 
# 2660 "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)) )
# 41566 "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_toplevel_after_dots = 
# 2648 "parser_cocci_menhir.mly"
                                     ([])
# 41583 "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_toplevel_after_exp = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_toplevel_after_dots = 
# 2649 "parser_cocci_menhir.mly"
                                     (_2)
# 41611 "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_toplevel_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_toplevel_after_dots = 
# 2650 "parser_cocci_menhir.mly"
                                     ((Ast0.wrap(Ast0.Exp(_1)))::_2)
# 41641 "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_toplevel_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_toplevel_after_dots = 
# 2651 "parser_cocci_menhir.mly"
                                          (_1@_2)
# 41671 "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_toplevel_after_exp = Obj.magic _2 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_toplevel_after_dots_init = 
# 2639 "parser_cocci_menhir.mly"
                                     (_2)
# 41699 "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_toplevel_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_toplevel_after_dots_init = 
# 2640 "parser_cocci_menhir.mly"
                                     ((Ast0.wrap(Ast0.Exp(_1)))::_2)
# 41729 "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_toplevel_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_toplevel_after_dots_init = 
# 2641 "parser_cocci_menhir.mly"
                                          (_1@_2)
# 41759 "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_toplevel_after_exp = 
# 2644 "parser_cocci_menhir.mly"
                                     ([])
# 41776 "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_toplevel_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_toplevel_after_exp = 
# 2645 "parser_cocci_menhir.mly"
                                     (_1::_2)
# 41806 "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_toplevel_after_stm = 
# 2654 "parser_cocci_menhir.mly"
                                     ([])
# 41823 "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_toplevel_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_toplevel_after_stm = 
# 2655 "parser_cocci_menhir.mly"
                                     (_1::_2)
# 41853 "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_toplevel_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_toplevel_after_stm = 
# 2656 "parser_cocci_menhir.mly"
                                     (_1@_2)
# 41883 "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_toplevel_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_toplevel_seq_start_toplevel_after_dots_ = 
# 2634 "parser_cocci_menhir.mly"
                                     ( _1::_2 )
# 41913 "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_toplevel_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_toplevel_seq_start_toplevel_after_dots_ = 
# 2635 "parser_cocci_menhir.mly"
                                     ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
# 41943 "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_toplevel_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_toplevel_seq_start_toplevel_after_dots_ = 
# 2636 "parser_cocci_menhir.mly"
                                          ( _1@_2 )
# 41973 "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.semv = w0;
            MenhirLib.EngineTypes.startp = _startpos_w0_;
            MenhirLib.EngineTypes.endp = _endpos_w0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = a0;
              MenhirLib.EngineTypes.startp = _startpos_a0_;
              MenhirLib.EngineTypes.endp = _endpos_a0_;
              MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          } = _menhir_stack in
        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
        let a0 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42006 "parser_cocci_menhir.ml"
        ) = Obj.magic a0 in
        let _startpos = _startpos_a0_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
          let w = w0 in
          let a = a0 in
          
# 1506 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
# 42016 "parser_cocci_menhir.ml"
          
        in
        
# 2627 "parser_cocci_menhir.mly"
                                             ( a::b )
# 42022 "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.semv = c0;
            MenhirLib.EngineTypes.startp = _startpos_c0_;
            MenhirLib.EngineTypes.endp = _endpos_c0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = b0;
              MenhirLib.EngineTypes.startp = _startpos_b0_;
              MenhirLib.EngineTypes.endp = _endpos_b0_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = w0;
                MenhirLib.EngineTypes.startp = _startpos_w0_;
                MenhirLib.EngineTypes.endp = _endpos_w0_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = a0;
                  MenhirLib.EngineTypes.startp = _startpos_a0_;
                  MenhirLib.EngineTypes.endp = _endpos_a0_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
        let c0 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42064 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42071 "parser_cocci_menhir.ml"
        ) = Obj.magic a0 in
        let _startpos = _startpos_a0_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
          let c = c0 in
          let b = b0 in
          let w = w0 in
          let a = a0 in
          
# 1510 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
			  P.clt2mcode "...>" c, List.concat w, false)) )
# 42084 "parser_cocci_menhir.ml"
          
        in
        
# 2628 "parser_cocci_menhir.mly"
                                              ( a::b )
# 42090 "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.semv = c0;
            MenhirLib.EngineTypes.startp = _startpos_c0_;
            MenhirLib.EngineTypes.endp = _endpos_c0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = b0;
              MenhirLib.EngineTypes.startp = _startpos_b0_;
              MenhirLib.EngineTypes.endp = _endpos_b0_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.semv = w0;
                MenhirLib.EngineTypes.startp = _startpos_w0_;
                MenhirLib.EngineTypes.endp = _endpos_w0_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = a0;
                  MenhirLib.EngineTypes.startp = _startpos_a0_;
                  MenhirLib.EngineTypes.endp = _endpos_a0_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          } = _menhir_stack in
        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
        let c0 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42132 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42139 "parser_cocci_menhir.ml"
        ) = Obj.magic a0 in
        let _startpos = _startpos_a0_ in
        let _endpos = _endpos_b_ in
        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
          let c = c0 in
          let b = b0 in
          let w = w0 in
          let a = a0 in
          
# 1513 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
			  P.clt2mcode "...+>" c, List.concat w, true)) )
# 42152 "parser_cocci_menhir.ml"
          
        in
        
# 2628 "parser_cocci_menhir.mly"
                                              ( a::b )
# 42158 "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 = c0;
          MenhirLib.EngineTypes.startp = _startpos_c0_;
          MenhirLib.EngineTypes.endp = _endpos_c0_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = b0;
            MenhirLib.EngineTypes.startp = _startpos_b0_;
            MenhirLib.EngineTypes.endp = _endpos_b0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = w0;
              MenhirLib.EngineTypes.startp = _startpos_w0_;
              MenhirLib.EngineTypes.endp = _endpos_w0_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = a0;
                MenhirLib.EngineTypes.startp = _startpos_a0_;
                MenhirLib.EngineTypes.endp = _endpos_a0_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let c0 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42194 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42201 "parser_cocci_menhir.ml"
        ) = Obj.magic a0 in
        let _startpos = _startpos_a0_ in
        let _endpos = _endpos_c0_ in
        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
          let c = c0 in
          let b = b0 in
          let w = w0 in
          let a = a0 in
          
# 1510 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
			  P.clt2mcode "...>" c, List.concat w, false)) )
# 42214 "parser_cocci_menhir.ml"
          
        in
        
# 2629 "parser_cocci_menhir.mly"
                                       ( [a] )
# 42220 "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 = c0;
          MenhirLib.EngineTypes.startp = _startpos_c0_;
          MenhirLib.EngineTypes.endp = _endpos_c0_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.semv = b0;
            MenhirLib.EngineTypes.startp = _startpos_b0_;
            MenhirLib.EngineTypes.endp = _endpos_b0_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = w0;
              MenhirLib.EngineTypes.startp = _startpos_w0_;
              MenhirLib.EngineTypes.endp = _endpos_w0_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = a0;
                MenhirLib.EngineTypes.startp = _startpos_a0_;
                MenhirLib.EngineTypes.endp = _endpos_a0_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let c0 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42256 "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 : (
# 240 "parser_cocci_menhir.mly"
       (Data.clt)
# 42263 "parser_cocci_menhir.ml"
        ) = Obj.magic a0 in
        let _startpos = _startpos_a0_ in
        let _endpos = _endpos_c0_ in
        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
          let c = c0 in
          let b = b0 in
          let w = w0 in
          let a = a0 in
          
# 1513 "parser_cocci_menhir.mly"
    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
			  P.clt2mcode "...+>" c, List.concat w, true)) )
# 42276 "parser_cocci_menhir.ml"
          
        in
        
# 2629 "parser_cocci_menhir.mly"
                                       ( [a] )
# 42282 "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_toplevel_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_toplevel_seq_startne_toplevel_after_dots_init_ = 
# 2630 "parser_cocci_menhir.mly"
                                     ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
# 42312 "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_toplevel_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_toplevel_seq_startne_toplevel_after_dots_init_ = 
# 2631 "parser_cocci_menhir.mly"
                                          ( _1@_2 )
# 42342 "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_disj_ident = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_type_ident = 
# 2486 "parser_cocci_menhir.mly"
                       ( _1 )
# 42366 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 42387 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_type_ident = 
# 2488 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
# 42394 "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 = ty;
            MenhirLib.EngineTypes.startp = _startpos_ty_;
            MenhirLib.EngineTypes.endp = _endpos_ty_;
            MenhirLib.EngineTypes.next = _menhir_stack;
            };
          } = _menhir_stack in
        let m : 'tv_list_TMul_ = Obj.magic m in
        let ty : 'tv_all_basic_types = Obj.magic ty in
        let _startpos = _startpos_ty_ in
        let _endpos = _endpos_m_ in
        let _v : 'tv_typedef_ctype = let cv =
          
# 39 "/usr/share/menhir/standard.mly"
    ( None )
# 42425 "parser_cocci_menhir.ml"
          
        in
        
# 1003 "parser_cocci_menhir.mly"
    ( P.pointerify (P.make_cv cv ty) m )
# 42431 "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 = ty;
            MenhirLib.EngineTypes.startp = _startpos_ty_;
            MenhirLib.EngineTypes.endp = _endpos_ty_;
            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 ty : 'tv_all_basic_types = Obj.magic ty 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 cv =
          let x = x0 in
          
# 41 "/usr/share/menhir/standard.mly"
    ( Some x )
# 42469 "parser_cocci_menhir.ml"
          
        in
        
# 1003 "parser_cocci_menhir.mly"
    ( P.pointerify (P.make_cv cv ty) m )
# 42475 "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.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 rp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 42506 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
        let lp : (
# 244 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 42512 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let _startpos = _startpos_lp_ in
        let _endpos = _endpos_rp_ in
        let _v : 'tv_typedef_ctype = 
# 1005 "parser_cocci_menhir.mly"
    ( let (mids,code) = t in
      Ast0.wrap
	(Ast0.DisjType(P.id2mcode lp,code,mids, P.id2mcode rp)) )
# 42521 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 42542 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_typedef_ctype = 
# 1008 "parser_cocci_menhir.mly"
        ( tmeta_to_type _1 )
# 42549 "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_symbol = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_typedef_ident = 
# 2506 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
# 42573 "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 : (
# 229 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 42594 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_typedef_ident = 
# 2507 "parser_cocci_menhir.mly"
             ( tmeta_to_type _1 )
# 42601 "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 : (
# 228 "parser_cocci_menhir.mly"
       (Parse_aux.info)
# 42622 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_typedef_ident = 
# 2509 "parser_cocci_menhir.mly"
         ( let (nm,pure,clt) = _1 in
	 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
# 42630 "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_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
# 2036 "parser_cocci_menhir.mly"
                                         ( _1 )
# 42654 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 42681 "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_ = 
# 2038 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
# 42688 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 42715 "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_ = 
# 2040 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
# 42722 "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_eexpr_dot_expressions_ = 
# 2042 "parser_cocci_menhir.mly"
      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
# 42752 "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 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 42779 "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_ = 
# 2044 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
# 42786 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 42822 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 42828 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let s : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 42833 "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_ = 
# 2046 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                   P.clt2mcode "(" lp,t,
                                   P.clt2mcode ")" rp)) )
# 42842 "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_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_expr_eexpr_invalid_ = 
# 2036 "parser_cocci_menhir.mly"
                                         ( _1 )
# 42866 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 42893 "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_ = 
# 2038 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
# 42900 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 42927 "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_ = 
# 2040 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
# 42934 "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_invalid_ = 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_eexpr_invalid_ = 
# 2042 "parser_cocci_menhir.mly"
      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
# 42964 "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 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 42991 "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_ = 
# 2044 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
# 42998 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43034 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43040 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let s : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43045 "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_ = 
# 2046 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                   P.clt2mcode "(" lp,t,
                                   P.clt2mcode ")" rp)) )
# 43054 "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_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
# 2036 "parser_cocci_menhir.mly"
                                         ( _1 )
# 43078 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43105 "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_ = 
# 2038 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
# 43112 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43139 "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_ = 
# 2040 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
# 43146 "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_nest_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_eexpr_nest_expressions_ = 
# 2042 "parser_cocci_menhir.mly"
      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
# 43176 "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 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43203 "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_ = 
# 2044 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
# 43210 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43246 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43252 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let s : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43257 "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_ = 
# 2046 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                   P.clt2mcode "(" lp,t,
                                   P.clt2mcode ")" rp)) )
# 43266 "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_postfix_expr_expr_invalid_ = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_expr_expr_invalid_ = 
# 2036 "parser_cocci_menhir.mly"
                                         ( _1 )
# 43290 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43317 "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_ = 
# 2038 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
# 43324 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43351 "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_ = 
# 2040 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
# 43358 "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_expr_invalid_ = 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_expr_invalid_ = 
# 2042 "parser_cocci_menhir.mly"
      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
# 43388 "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 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43415 "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_ = 
# 2044 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
# 43422 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43458 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43464 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let s : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43469 "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_ = 
# 2046 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                   P.clt2mcode "(" lp,t,
                                   P.clt2mcode ")" rp)) )
# 43478 "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_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 = 
# 2052 "parser_cocci_menhir.mly"
                                                          ( _1 )
# 43502 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43529 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_unary_expr_bis = 
# 2054 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
# 43536 "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 : (
# 253 "parser_cocci_menhir.mly"
       (Data.clt)
# 43563 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_unary_expr_bis = 
# 2056 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
# 43570 "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 = 
# 2058 "parser_cocci_menhir.mly"
      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
# 43600 "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 : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43627 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_unary_expr_bis = 
# 2060 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
# 43634 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43670 "parser_cocci_menhir.ml"
        ) = Obj.magic rp in
        let t : 'tv_ctype = Obj.magic t in
        let lp : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43676 "parser_cocci_menhir.ml"
        ) = Obj.magic lp in
        let s : (
# 218 "parser_cocci_menhir.mly"
       (Data.clt)
# 43681 "parser_cocci_menhir.ml"
        ) = Obj.magic s in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_rp_ in
        let _v : 'tv_unary_expr_bis = 
# 2062 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                   P.clt2mcode "(" lp,t,
                                   P.clt2mcode ")" rp)) )
# 43690 "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 : (
# 262 "parser_cocci_menhir.mly"
       (Data.clt)
# 43711 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2066 "parser_cocci_menhir.mly"
                  ( P.clt2mcode Ast.GetRef _1 )
# 43718 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 43739 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2067 "parser_cocci_menhir.mly"
           ( P.clt2mcode Ast.DeRef _1 )
# 43746 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 43767 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2068 "parser_cocci_menhir.mly"
           ( P.clt2mcode Ast.UnPlus _1 )
# 43774 "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 : (
# 267 "parser_cocci_menhir.mly"
       (Data.clt)
# 43795 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2069 "parser_cocci_menhir.mly"
           ( P.clt2mcode Ast.UnMinus _1 )
# 43802 "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 : (
# 268 "parser_cocci_menhir.mly"
       (Data.clt)
# 43823 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2070 "parser_cocci_menhir.mly"
           ( P.clt2mcode Ast.Tilde _1 )
# 43830 "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 : (
# 243 "parser_cocci_menhir.mly"
       (Data.clt)
# 43851 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_unary_op = 
# 2071 "parser_cocci_menhir.mly"
           ( P.clt2mcode Ast.Not _1 )
# 43858 "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_toplevel_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_when_start = 
# 2758 "parser_cocci_menhir.mly"
    ( Ast0.wrap((Ast0.wrap(Ast0.Exp(_1)))::_2) )
# 43888 "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_toplevel_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_when_start = 
# 2760 "parser_cocci_menhir.mly"
    ( Ast0.wrap(_1@_2) )
# 43918 "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 = w;
          MenhirLib.EngineTypes.startp = _startpos_w_;
          MenhirLib.EngineTypes.endp = _endpos_w_;
          MenhirLib.EngineTypes.next = _menhir_stack;
          } = _menhir_stack in
        let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
        let _startpos = _startpos_w_ in
        let _endpos = _endpos_w_ in
        let _v : 'tv_whenppdecs = 
# 1517 "parser_cocci_menhir.mly"
    ( w )
# 43942 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            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 = t;
                MenhirLib.EngineTypes.startp = _startpos_t_;
                MenhirLib.EngineTypes.endp = _endpos_t_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_when_start = Obj.magic w in
        let e : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 43978 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 43983 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
# 2882 "parser_cocci_menhir.mly"
      ( [Ast0.WhenNot (P.clt2mcode "when" t, P.clt2mcode "!=" e, w)] )
# 43990 "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 = w;
            MenhirLib.EngineTypes.startp = _startpos_w_;
            MenhirLib.EngineTypes.endp = _endpos_w_;
            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 = t;
                MenhirLib.EngineTypes.startp = _startpos_t_;
                MenhirLib.EngineTypes.endp = _endpos_t_;
                MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          } = _menhir_stack in
        let w : 'tv_rule_elem_statement = Obj.magic w in
        let e : (
# 276 "parser_cocci_menhir.mly"
       (Data.clt)
# 44026 "parser_cocci_menhir.ml"
        ) = Obj.magic e in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 44031 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
# 2884 "parser_cocci_menhir.mly"
      ( [Ast0.WhenAlways (P.clt2mcode "when" t, P.clt2mcode "=" e, w)] )
# 44038 "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 = l0;
            MenhirLib.EngineTypes.startp = _startpos_l0_;
            MenhirLib.EngineTypes.endp = _endpos_l0_;
            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 l0 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic l0 in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 44069 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos__3_ in
        let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = let l =
          let l = l0 in
          
# 2859 "parser_cocci_menhir.mly"
                                         ( l )
# 44078 "parser_cocci_menhir.ml"
          
        in
        
# 2886 "parser_cocci_menhir.mly"
      ( List.map (function x -> Ast0.WhenModifier(P.clt2mcode "when" t,x)) l )
# 44084 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = ee;
              MenhirLib.EngineTypes.startp = _startpos_ee_;
              MenhirLib.EngineTypes.endp = _endpos_ee_;
              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 e : 'tv_eexpr = Obj.magic e in
        let ee : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 44120 "parser_cocci_menhir.ml"
        ) = Obj.magic ee in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 44125 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
# 2888 "parser_cocci_menhir.mly"
      ( [Ast0.WhenNotTrue (P.clt2mcode "when" t, P.clt2mcode "!=" ee, e)] )
# 44132 "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 = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.semv = ee;
              MenhirLib.EngineTypes.startp = _startpos_ee_;
              MenhirLib.EngineTypes.endp = _endpos_ee_;
              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 e : 'tv_eexpr = Obj.magic e in
        let ee : (
# 263 "parser_cocci_menhir.mly"
       (Data.clt)
# 44168 "parser_cocci_menhir.ml"
        ) = Obj.magic ee in
        let t : (
# 241 "parser_cocci_menhir.mly"
       (Data.clt)
# 44173 "parser_cocci_menhir.ml"
        ) = Obj.magic t in
        let _startpos = _startpos_t_ in
        let _endpos = _endpos__4_ in
        let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
# 2890 "parser_cocci_menhir.mly"
      ( [Ast0.WhenNotFalse (P.clt2mcode "when" t, P.clt2mcode "!=" ee, e)] )
# 44180 "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 : (
# 219 "parser_cocci_menhir.mly"
       (string * Data.clt)
# 44201 "parser_cocci_menhir.ml"
        ) = Obj.magic _1 in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_wrapped_sym_ident = 
# 2216 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.Id(P.sym2mcode _1)) )
# 44208 "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;
          });
      |]
  
  let recovery =
    false
  
  let trace =
    None
  
  end)

let rec script_meta_virt_nofresh_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 2161 lexer lexbuf) : (
# 345 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 44232 "parser_cocci_menhir.ml"
    ))

and script_meta_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 2126 lexer lexbuf) : (
# 344 "parser_cocci_menhir.mly"
       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option * Ast_cocci.mvinit)
# 44240 "parser_cocci_menhir.ml"
    ))

and rule_name =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 2047 lexer lexbuf) : (
# 338 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 44248 "parser_cocci_menhir.ml"
    ))

and plus_ty_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 2039 lexer lexbuf) : (
# 325 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44256 "parser_cocci_menhir.ml"
    ))

and plus_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 2003 lexer lexbuf) : (
# 319 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44264 "parser_cocci_menhir.ml"
    ))

and plus_id_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1995 lexer lexbuf) : (
# 328 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44272 "parser_cocci_menhir.ml"
    ))

and plus_exp_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1987 lexer lexbuf) : (
# 322 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44280 "parser_cocci_menhir.ml"
    ))

and never_used =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1979 lexer lexbuf) : (
# 354 "parser_cocci_menhir.mly"
      (unit)
# 44288 "parser_cocci_menhir.ml"
    ))

and minus_ty_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1970 lexer lexbuf) : (
# 313 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44296 "parser_cocci_menhir.ml"
    ))

and minus_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1886 lexer lexbuf) : (
# 307 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44304 "parser_cocci_menhir.ml"
    ))

and minus_id_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1877 lexer lexbuf) : (
# 316 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44312 "parser_cocci_menhir.ml"
    ))

and minus_exp_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1865 lexer lexbuf) : (
# 310 "parser_cocci_menhir.mly"
      (Ast0_cocci.rule)
# 44320 "parser_cocci_menhir.ml"
    ))

and meta_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1862 lexer lexbuf) : (
# 342 "parser_cocci_menhir.mly"
      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
# 44328 "parser_cocci_menhir.ml"
    ))

and iso_rule_name =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1858 lexer lexbuf) : (
# 334 "parser_cocci_menhir.mly"
      (Ast_cocci.rulename)
# 44336 "parser_cocci_menhir.ml"
    ))

and iso_meta_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 1482 lexer lexbuf) : (
# 351 "parser_cocci_menhir.mly"
      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
# 44344 "parser_cocci_menhir.ml"
    ))

and iso_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 17 lexer lexbuf) : (
# 348 "parser_cocci_menhir.mly"
      (Ast0_cocci.anything list list)
# 44352 "parser_cocci_menhir.ml"
    ))

and include_main =
  fun lexer lexbuf ->
    (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
# 331 "parser_cocci_menhir.mly"
      (Data.incl_iso list)
# 44360 "parser_cocci_menhir.ml"
    ))



